Benchmark report

Result summary

Best score summary

Solver comp01 comp02 comp03 comp04 comp05 comp06 comp07 comp08 comp09 comp10 Average Ranking
cartesianProduct First Fit Decreasing  2 -1hard/-1425soft  2 -6hard/-451soft  2 -1hard/-464soft  2 0hard/-339soft  2 -7hard/-507soft  2 -3hard/-566soft  2 -3hard/-576soft  2 0hard/-359soft  2 0hard/-445soft  2 0hard/-466soft  2 -3hard/-560soft 2
union First Fit Decreasing  3 -33hard/-1113soft  3 -20hard/-1441soft  3 -4hard/-1305soft  3 -16hard/-1852soft  3 -9hard/-984soft  3 -52hard/-1457soft  3 -62hard/-2191soft  3 -43hard/-903soft  3 -10hard/-1058soft  3 -39hard/-1561soft  3 -29hard/-1387soft 3
cartesianProduct First Fit Decreasing with LS  1 0hard/-34soft  1 -1hard/-303soft  0 -1hard/-284soft  1 0hard/-149soft  0 -3hard/-449soft  0 -1hard/-300soft  1 0hard/-344soft  0 0hard/-191soft  0 0hard/-258soft  1 0hard/-238soft  1 -1hard/-255soft 1
union First Fit Decreasing with LS  0 0hard/-11soft  0 -2hard/-253soft  1 0hard/-270soft  0 0hard/-183soft  1 -3hard/-611soft  1 0hard/-286soft  0 0hard/-361soft  1 0hard/-194soft  1 0hard/-232soft  0 0hard/-233soft  0 -1hard/-264soft 0

Winning score difference summary

Solver comp01 comp02 comp03 comp04 comp05 comp06 comp07 comp08 comp09 comp10 Average
cartesianProduct First Fit Decreasing  2 -1hard/-1414soft  2 -5hard/-148soft  2 -1hard/-194soft  2 0hard/-190soft  2 -4hard/-58soft  2 -3hard/-280soft  2 -3hard/-232soft  2 0hard/-168soft  2 0hard/-213soft  2 0hard/-233soft  2 -2hard/-313soft
union First Fit Decreasing  3 -33hard/-1102soft  3 -19hard/-1138soft  3 -4hard/-1035soft  3 -16hard/-1703soft  3 -6hard/-535soft  3 -52hard/-1171soft  3 -62hard/-1847soft  3 -43hard/-712soft  3 -10hard/-826soft  3 -39hard/-1328soft  3 -29hard/-1140soft
cartesianProduct First Fit Decreasing with LS  1 0hard/-23soft  1 0hard/0soft  0 -1hard/-14soft  1 0hard/0soft  0 0hard/0soft  0 -1hard/-14soft  1 0hard/0soft  0 0hard/0soft  0 0hard/-26soft  1 0hard/-5soft  1 -1hard/-9soft
union First Fit Decreasing with LS  0 0hard/0soft  0 -1hard/50soft  1 0hard/0soft  0 0hard/-34soft  1 0hard/-162soft  1 0hard/0soft  0 0hard/-17soft  1 0hard/-3soft  1 0hard/0soft  0 0hard/0soft  0 -1hard/-17soft

Worst score difference percentage summary

Solver comp01 comp02 comp03 comp04 comp05 comp06 comp07 comp08 comp09 comp10 Average
cartesianProduct First Fit Decreasing  2 96,97%/-28,03%  2 70,00%/68,70%  2 75,00%/64,44%  2 100,00%/81,70%  2 22,22%/48,48%  2 94,23%/61,15%  2 95,16%/73,71%  2 100,00%/60,24%  2 100,00%/57,94%  2 100,00%/70,15%  2 85,36%/55,85%
union First Fit Decreasing  3 0,00%/0,00%  3 0,00%/0,00%  3 0,00%/0,00%  3 0,00%/0,00%  3 0,00%/0,00%  3 0,00%/0,00%  3 0,00%/0,00%  3 0,00%/0,00%  3 0,00%/0,00%  3 0,00%/0,00%  3 0,00%/0,00%
cartesianProduct First Fit Decreasing with LS  1 100,00%/96,95%  1 95,00%/78,97%  0 75,00%/78,24%  1 100,00%/91,95%  0 66,67%/54,37%  0 98,08%/79,41%  1 100,00%/84,30%  0 100,00%/78,85%  0 100,00%/75,61%  1 100,00%/84,75%  1 93,47%/80,34%
union First Fit Decreasing with LS  0 100,00%/99,01%  0 90,00%/82,44%  1 100,00%/79,31%  0 100,00%/90,12%  1 66,67%/37,91%  1 100,00%/80,37%  0 100,00%/83,52%  1 100,00%/78,52%  1 100,00%/78,07%  0 100,00%/85,07%  0 95,67%/79,43%

Performance summary

Time spend summary

Solver comp01 comp02 comp03 comp04 comp05 comp06 comp07 comp08 comp09 comp10
Problem scale 28.800 113.200 100.400 128.700 49.248 162.450 217.000 145.800 125.550 166.500
cartesianProduct First Fit Decreasing  2 2.834 14.690 12.806 14.365 9.898 20.880 29.296 16.655 15.480 21.499
union First Fit Decreasing  3 503 1.078 970 1.052 966 1.412 1.824 1.158 1.048 1.495
cartesianProduct First Fit Decreasing with LS  1 120.000 120.000 120.000 120.000 120.000 120.000 120.000 120.000 120.000 120.000
union First Fit Decreasing with LS  0 120.000 120.000 120.000 120.000 120.001 120.000 120.000 120.000 120.000 120.001

Scalability summary

Average calculate count summary

Solver comp01 comp02 comp03 comp04 comp05 comp06 comp07 comp08 comp09 comp10 Average
Problem scale 28.800 113.200 100.400 128.700 49.248 162.450 217.000 145.800 125.550 166.500 123.764
cartesianProduct First Fit Decreasing  2 10.163/s 7.706/s 7.840/s 8.959/s 4.975/s 7.780/s 7.407/s 8.754/s 8.110/s 7.744/s 7.943/s
union First Fit Decreasing  3 11.455/s 10.765/s 10.611/s 11.692/s 7.082/s 10.995/s 10.708/s 12.032/s 11.449/s 10.643/s 10.743/s
cartesianProduct First Fit Decreasing with LS  1 10.925/s 6.036/s 6.193/s 7.225/s 3.847/s 5.967/s 5.704/s 7.157/s 6.362/s 5.964/s 6.538/s
union First Fit Decreasing with LS  0 10.705/s 5.767/s 5.973/s 6.836/s 3.728/s 5.538/s 5.190/s 6.699/s 6.121/s 5.562/s 6.211/s

comp01

comp02

comp03

comp04

comp05

comp06

comp07

comp08

comp09

comp10

cartesianProduct First Fit Decreasing  2

<solver>
  <solutionClass>org.drools.planner.examples.curriculumcourse.domain.CurriculumCourseSchedule</solutionClass>
  <planningEntityClass>org.drools.planner.examples.curriculumcourse.domain.Lecture</planningEntityClass>
  <scoreDirectorFactory>
    <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
    <scoreDrl>/org/drools/planner/examples/curriculumcourse/solver/curriculumCourseScoreRules.drl</scoreDrl>
  </scoreDirectorFactory>
  <termination>
    <maximumSecondsSpend>120</maximumSecondsSpend>
  </termination>
  <constructionHeuristic>
    <termination/>
    <constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType>
  </constructionHeuristic>
</solver>

union First Fit Decreasing  3

<solver>
  <solutionClass>org.drools.planner.examples.curriculumcourse.domain.CurriculumCourseSchedule</solutionClass>
  <planningEntityClass>org.drools.planner.examples.curriculumcourse.domain.Lecture</planningEntityClass>
  <scoreDirectorFactory>
    <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
    <scoreDrl>/org/drools/planner/examples/curriculumcourse/solver/curriculumCourseScoreRules.drl</scoreDrl>
  </scoreDirectorFactory>
  <termination>
    <maximumSecondsSpend>120</maximumSecondsSpend>
  </termination>
  <constructionHeuristic>
    <termination/>
    <queuedEntityPlacer>
      <entitySelector>
        <cacheType>PHASE</cacheType>
        <sorterWeightFactoryClass>org.drools.planner.examples.curriculumcourse.domain.solver.LectureDifficultyWeightFactory</sorterWeightFactoryClass>
        <sorterOrder>DESCENDING</sorterOrder>
      </entitySelector>
      <valuePlacer>
        <valueSelector>
          <planningVariableName>period</planningVariableName>
        </valueSelector>
      </valuePlacer>
      <valuePlacer>
        <valueSelector>
          <planningVariableName>room</planningVariableName>
        </valueSelector>
      </valuePlacer>
    </queuedEntityPlacer>
  </constructionHeuristic>
</solver>

cartesianProduct First Fit Decreasing with LS  1

<solver>
  <solutionClass>org.drools.planner.examples.curriculumcourse.domain.CurriculumCourseSchedule</solutionClass>
  <planningEntityClass>org.drools.planner.examples.curriculumcourse.domain.Lecture</planningEntityClass>
  <scoreDirectorFactory>
    <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
    <scoreDrl>/org/drools/planner/examples/curriculumcourse/solver/curriculumCourseScoreRules.drl</scoreDrl>
  </scoreDirectorFactory>
  <termination>
    <maximumSecondsSpend>120</maximumSecondsSpend>
  </termination>
  <constructionHeuristic>
    <termination/>
    <constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType>
  </constructionHeuristic>
  <localSearch>
    <termination/>
    <unionMoveSelector>
      <moveListFactory>
        <cacheType>PHASE</cacheType>
        <selectionOrder>SHUFFLED</selectionOrder>
        <moveListFactoryClass>org.drools.planner.examples.curriculumcourse.solver.move.factory.PeriodChangeMoveFactory</moveListFactoryClass>
      </moveListFactory>
      <moveListFactory>
        <cacheType>PHASE</cacheType>
        <selectionOrder>SHUFFLED</selectionOrder>
        <moveListFactoryClass>org.drools.planner.examples.curriculumcourse.solver.move.factory.RoomChangeMoveFactory</moveListFactoryClass>
      </moveListFactory>
      <moveListFactory>
        <cacheType>PHASE</cacheType>
        <selectionOrder>SHUFFLED</selectionOrder>
        <moveListFactoryClass>org.drools.planner.examples.curriculumcourse.solver.move.factory.LectureSwapMoveFactory</moveListFactoryClass>
      </moveListFactory>
    </unionMoveSelector>
    <acceptor>
      <planningEntityTabuSize>7</planningEntityTabuSize>
    </acceptor>
    <forager>
      <deciderScoreComparatorFactory/>
      <minimalAcceptedSelection>900</minimalAcceptedSelection>
    </forager>
  </localSearch>
</solver>

union First Fit Decreasing with LS  0

<solver>
  <solutionClass>org.drools.planner.examples.curriculumcourse.domain.CurriculumCourseSchedule</solutionClass>
  <planningEntityClass>org.drools.planner.examples.curriculumcourse.domain.Lecture</planningEntityClass>
  <scoreDirectorFactory>
    <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
    <scoreDrl>/org/drools/planner/examples/curriculumcourse/solver/curriculumCourseScoreRules.drl</scoreDrl>
  </scoreDirectorFactory>
  <termination>
    <maximumSecondsSpend>120</maximumSecondsSpend>
  </termination>
  <constructionHeuristic>
    <termination/>
    <queuedEntityPlacer>
      <entitySelector>
        <cacheType>PHASE</cacheType>
        <sorterWeightFactoryClass>org.drools.planner.examples.curriculumcourse.domain.solver.LectureDifficultyWeightFactory</sorterWeightFactoryClass>
        <sorterOrder>DESCENDING</sorterOrder>
      </entitySelector>
      <valuePlacer>
        <valueSelector>
          <planningVariableName>period</planningVariableName>
        </valueSelector>
      </valuePlacer>
      <valuePlacer>
        <valueSelector>
          <planningVariableName>room</planningVariableName>
        </valueSelector>
      </valuePlacer>
    </queuedEntityPlacer>
  </constructionHeuristic>
  <localSearch>
    <termination/>
    <unionMoveSelector>
      <moveListFactory>
        <cacheType>PHASE</cacheType>
        <selectionOrder>SHUFFLED</selectionOrder>
        <moveListFactoryClass>org.drools.planner.examples.curriculumcourse.solver.move.factory.PeriodChangeMoveFactory</moveListFactoryClass>
      </moveListFactory>
      <moveListFactory>
        <cacheType>PHASE</cacheType>
        <selectionOrder>SHUFFLED</selectionOrder>
        <moveListFactoryClass>org.drools.planner.examples.curriculumcourse.solver.move.factory.RoomChangeMoveFactory</moveListFactoryClass>
      </moveListFactory>
      <moveListFactory>
        <cacheType>PHASE</cacheType>
        <selectionOrder>SHUFFLED</selectionOrder>
        <moveListFactoryClass>org.drools.planner.examples.curriculumcourse.solver.move.factory.LectureSwapMoveFactory</moveListFactoryClass>
      </moveListFactory>
    </unionMoveSelector>
    <acceptor>
      <planningEntityTabuSize>7</planningEntityTabuSize>
    </acceptor>
    <forager>
      <deciderScoreComparatorFactory/>
      <minimalAcceptedSelection>900</minimalAcceptedSelection>
    </forager>
  </localSearch>
</solver>
startingTimestamp 16-jan-2013 12:34:18
warmUpTimeMillisSpend 30.000 ms
parallelBenchmarkCount / availableProcessors 2 / 4
benchmarkTimeMillisSpend 1.324.073 ms
failureCount 0
VM max memory (as in -Xmx but lower) 1.431.699.456 bytes
Operating system Linux i386 3.2.0-35-generic-pae
Java version Java 1.7.0_09 (Oracle Corporation)
Java VM Java OpenJDK Server VM 23.2-b09 (Oracle Corporation)
Planner version Unjarred development snapshot
Report locale nl_BE