<?xml version="1.0" encoding="UTF-8"?>
<solver>

  <solutionClass>org.kie.server.services.taskassigning.core.model.TaskAssigningSolution</solutionClass>
  <entityClass>org.kie.server.services.taskassigning.core.model.TaskOrUser</entityClass>
  <entityClass>org.kie.server.services.taskassigning.core.model.Task</entityClass>

  <daemon>true</daemon>

  <scoreDirectorFactory>
    <scoreDrl>org/kie/server/services/taskassigning/solver/taskAssigningScoreRules.drl</scoreDrl>
  </scoreDirectorFactory>

  <moveThreadCount>AUTO</moveThreadCount>

  <constructionHeuristic>
    <changeMoveSelector>
      <filterClass>org.kie.server.services.taskassigning.core.model.solver.filter.TaskByGroupAndSkillsChangeMoveFilter</filterClass>
    </changeMoveSelector>
  </constructionHeuristic>

  <localSearch>
    <termination>
      <!-- NOTE: please keep this termination period inside the localSearch configuration. -->
      <unimprovedSpentLimit>PT2M</unimprovedSpentLimit>
    </termination>
  </localSearch>

</solver>
