All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.drools.planner.examples.examination.solver.examinationSolverConfig.xml Maven / Gradle / Ivy

Go to download

Drools Planner optimizes automated planning by combining metaheuristic search algorithms with rule engine powered score calculation. This is the drools-planner-examples module which contains examples on how to use Drools Planner.

There is a newer version: 6.0.0.Alpha9
Show newest version
<?xml version="1.0" encoding="UTF-8"?>
<solver>
  <!--<environmentMode>DEBUG</environmentMode>-->
  <solutionClass>org.drools.planner.examples.examination.domain.Examination</solutionClass>
  <planningEntityClass>org.drools.planner.examples.examination.domain.Exam</planningEntityClass>

  <scoreDirectorFactory>
    <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
    <scoreDrl>/org/drools/planner/examples/examination/solver/examinationScoreRules.drl</scoreDrl>
  </scoreDirectorFactory>

  <termination>
    <!--
      Official benchmark maximumSecondsSpend allowed on:
      - ge0ffrey's main pc: 429
      - ge0ffrey's old pc: 1152
    -->
    <maximumSecondsSpend>429</maximumSecondsSpend>
    <!--<scoreAttained>-0hard/-999999soft</scoreAttained>-->
  </termination>
  <customSolverPhase>
    <customSolverPhaseCommandClass>org.drools.planner.examples.examination.solver.solution.initializer.ExaminationSolutionInitializer</customSolverPhaseCommandClass>
  </customSolverPhase>
  <localSearch>
    <selector>
      <!--<selector>-->
        <!--<topSize>10</topSize>-->
      <!--</selector>-->
      <!--<selector class="org.drools.planner.examples.examination.solver.selector.AllMovesOfOneExamSelectorConfig"/>-->
      <selector>
        <moveFactoryClass>org.drools.planner.examples.examination.solver.move.factory.PeriodChangeMoveFactory</moveFactoryClass>
      </selector>
      <selector>
        <moveFactoryClass>org.drools.planner.examples.examination.solver.move.factory.RoomChangeMoveFactory</moveFactoryClass>
      </selector>
      <selector>
        <moveFactoryClass>org.drools.planner.examples.examination.solver.move.factory.ExamSwapMoveFactory</moveFactoryClass>
      </selector>
    </selector>
    <acceptor>
      <solutionTabuSize>1000</solutionTabuSize>
      <planningEntityTabuSize>10</planningEntityTabuSize>
    </acceptor>
    <forager>
      <!--<deciderScoreComparatorFactory>-->
        <!--<deciderScoreComparatorFactoryType>SHIFTING_HARD_PENALTY</deciderScoreComparatorFactoryType>-->
        <!--<hardScoreActivationThreshold>0</hardScoreActivationThreshold>-->
        <!--<successiveNoHardChangeMinimum>2</successiveNoHardChangeMinimum>-->
        <!--<successiveNoHardChangeMaximum>20</successiveNoHardChangeMaximum>-->
        <!--<successiveNoHardChangeRepetitionMultiplicand>20.0</successiveNoHardChangeRepetitionMultiplicand>-->
        <!--<hardWeightSurvivalRatio>0.2</hardWeightSurvivalRatio>-->
        <!--<startingHardWeight>1000</startingHardWeight>-->
      <!--</deciderScoreComparatorFactory>-->
      <pickEarlyType>NEVER</pickEarlyType>
      <minimalAcceptedSelection>1400</minimalAcceptedSelection><!-- TODO tweak me -->
    </forager>
    <!--<selector>-->
      <!--<moveFactoryClass>org.drools.planner.examples.examination.solver.move.factory.PeriodChangeExaminationMoveFactory</moveFactoryClass>-->
      <!--<shuffleMovesEveryStep>true</shuffleMovesEveryStep>-->
    <!--</selector>-->
    <!--<acceptor>-->
      <!--<acceptorType>SIMULATED_ANNEALING</acceptorType>-->
    <!--</acceptor>-->
    <!--<forager>-->
      <!--<minimalAcceptedSelection>4</minimalAcceptedSelection>-->
    <!--</forager>-->
  </localSearch>
</solver>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy