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

org.drools.planner.examples.pas.solver.patientAdmissionScheduleSolverConfig.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.pas.domain.PatientAdmissionSchedule</solutionClass>
  <planningEntityClass>org.drools.planner.examples.pas.domain.BedDesignation</planningEntityClass>

  <scoreDirectorFactory>
    <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
    <scoreDrl>/org/drools/planner/examples/pas/solver/patientAdmissionScheduleBaseScoreRules.drl</scoreDrl>
    <!-- TODO SameBedInSameNightScoreRule should only be checked for construction heuristics -->
    <!--<scoreDrl>/org/drools/planner/examples/pas/solver/patientAdmissionScheduleSameBedInSameNightScoreRule.drl</scoreDrl>-->
  </scoreDirectorFactory>

  <termination>
    <!--
       On Geoffrey De Smet's PC: 372 (short run), 3720 (long run).
       On Peter Demeester's PC: 300 (short run), 3000 (long run).
    -->
    <maximumSecondsSpend>3720</maximumSecondsSpend>
  </termination>
  <customSolverPhase>
    <!-- TODO use BEST_FIT_DECREASING instead (saves up to 10 minutes), but deal with the extra scoreDRL problem -->
    <customSolverPhaseCommandClass>org.drools.planner.examples.pas.solver.solution.initializer.PatientAdmissionScheduleSolutionInitializer</customSolverPhaseCommandClass>
  </customSolverPhase>
  <localSearch>
    <!--<unionMoveSelector>-->
      <!--<changeMoveSelector/>-->
      <!--<swapMoveSelector/>-->
    <!--</unionMoveSelector>-->
    <moveListFactory>
      <moveListFactoryClass>org.drools.planner.examples.pas.solver.move.factory.BedDesignationPillarPartSwapMoveFactory</moveListFactoryClass>
    </moveListFactory>
    <acceptor>
      <solutionTabuSize>1000</solutionTabuSize>
      <undoMoveTabuSize>3</undoMoveTabuSize>
    </acceptor>
    <forager>
      <minimalAcceptedSelection>500</minimalAcceptedSelection><!-- TODO tweak me -->
    </forager>
  </localSearch>
</solver>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy