Benchmark report

Best score summary

Solver cb-0100comp-0300proc cb-0200comp-0600proc cb-0400comp-1200proc cb-0800comp-2400proc Average Ranking
First Fit 0hard/-137440soft 0hard/-253960soft 0hard/-544680soft 0hard/-1115430soft 0hard/-512878soft 5
First Fit Decreasing 0hard/-132440soft 0hard/-244360soft 0hard/-529680soft 0hard/-1065950soft 0hard/-493108soft 4
Tabu Search with FFD for 5 minutes 0hard/-113930soft 0hard/-202400soft 0hard/-459120soft 0hard/-991300soft 0hard/-441688soft 1
Simulated Annealing with FFD for 5 minutes 0hard/-113470soft 0hard/-202830soft 0hard/-474160soft 0hard/-1041870soft 0hard/-458083soft 3
Tabu Search with FFD for 10 minutes 0hard/-113330soft 0hard/-200290soft 0hard/-455310soft 0hard/-975180soft 0hard/-436028soft 0
Simulated Annealing with FFD for 10 minutes 0hard/-112750soft 0hard/-202140soft 0hard/-469410soft 0hard/-1026040soft 0hard/-452585soft 2

Winning score difference summary chart

Time spend summary chart

Solver cb-0100comp-0300proc cb-0200comp-0600proc cb-0400comp-1200proc cb-0800comp-2400proc
First Fit 630 ms 1.483 ms 5.152 ms 20.962 ms
First Fit Decreasing 680 ms 1.513 ms 5.297 ms 20.836 ms
Tabu Search with FFD for 5 minutes 300.005 ms 300.024 ms 300.033 ms 300.175 ms
Simulated Annealing with FFD for 5 minutes 300.001 ms 300.004 ms 300.014 ms 300.112 ms
Tabu Search with FFD for 10 minutes 600.024 ms 600.028 ms 600.026 ms 600.171 ms
Simulated Annealing with FFD for 10 minutes 600.001 ms 600.007 ms 600.007 ms 600.114 ms

Scalability summary chart

Average calculate count summary

Solver cb-0100comp-0300proc cb-0200comp-0600proc cb-0400comp-1200proc cb-0800comp-2400proc
First Fit 31.082/sec 53.471/sec 58.789/sec 57.974/sec
First Fit Decreasing 30.029/sec 53.373/sec 57.894/sec 57.576/sec
Tabu Search with FFD for 5 minutes 41.657/sec 33.517/sec 18.203/sec 7.387/sec
Simulated Annealing with FFD for 5 minutes 12.901/sec 3.586/sec 1.728/sec 4.076/sec
Tabu Search with FFD for 10 minutes 40.789/sec 33.262/sec 17.815/sec 5.524/sec
Simulated Annealing with FFD for 10 minutes 13.126/sec 3.514/sec 1.217/sec 2.081/sec

cb-0100comp-0300proc

cb-0200comp-0600proc

cb-0400comp-1200proc

cb-0800comp-2400proc

First Fit

<solver>
  <solutionClass>org.drools.planner.examples.cloudbalancing.domain.CloudBalance</solutionClass>
  <planningEntityClass>org.drools.planner.examples.cloudbalancing.domain.CloudProcess</planningEntityClass>
  <scoreDirectorFactory>
    <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
    <scoreDrl>/org/drools/planner/examples/cloudbalancing/solver/cloudBalancingScoreRules.drl</scoreDrl>
  </scoreDirectorFactory>
  <termination/>
  <constructionHeuristic>
    <termination/>
    <constructionHeuristicType>FIRST_FIT</constructionHeuristicType>
    <constructionHeuristicPickEarlyType>FIRST_LAST_STEP_SCORE_EQUAL_OR_IMPROVING</constructionHeuristicPickEarlyType>
  </constructionHeuristic>
</solver>

First Fit Decreasing

<solver>
  <solutionClass>org.drools.planner.examples.cloudbalancing.domain.CloudBalance</solutionClass>
  <planningEntityClass>org.drools.planner.examples.cloudbalancing.domain.CloudProcess</planningEntityClass>
  <scoreDirectorFactory>
    <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
    <scoreDrl>/org/drools/planner/examples/cloudbalancing/solver/cloudBalancingScoreRules.drl</scoreDrl>
  </scoreDirectorFactory>
  <termination/>
  <constructionHeuristic>
    <termination/>
    <constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType>
    <constructionHeuristicPickEarlyType>FIRST_LAST_STEP_SCORE_EQUAL_OR_IMPROVING</constructionHeuristicPickEarlyType>
  </constructionHeuristic>
</solver>

Simulated Annealing with FFD for 5 minutes

<solver>
  <solutionClass>org.drools.planner.examples.cloudbalancing.domain.CloudBalance</solutionClass>
  <planningEntityClass>org.drools.planner.examples.cloudbalancing.domain.CloudProcess</planningEntityClass>
  <scoreDirectorFactory>
    <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
    <scoreDrl>/org/drools/planner/examples/cloudbalancing/solver/cloudBalancingScoreRules.drl</scoreDrl>
  </scoreDirectorFactory>
  <termination>
    <maximumMinutesSpend>5</maximumMinutesSpend>
  </termination>
  <constructionHeuristic>
    <termination/>
    <constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType>
    <constructionHeuristicPickEarlyType>FIRST_LAST_STEP_SCORE_EQUAL_OR_IMPROVING</constructionHeuristicPickEarlyType>
  </constructionHeuristic>
  <localSearch>
    <termination/>
    <selector>
      <selector>
        <moveFactoryClass>org.drools.planner.examples.cloudbalancing.solver.move.factory.CloudComputerChangeMoveFactory</moveFactoryClass>
      </selector>
      <selector>
        <moveFactoryClass>org.drools.planner.examples.cloudbalancing.solver.move.factory.CloudProcessSwapMoveFactory</moveFactoryClass>
      </selector>
    </selector>
    <acceptor>
      <simulatedAnnealingStartingTemperature>0hard/400soft</simulatedAnnealingStartingTemperature>
    </acceptor>
    <forager>
      <deciderScoreComparatorFactory/>
      <minimalAcceptedSelection>4</minimalAcceptedSelection>
    </forager>
  </localSearch>
</solver>

Simulated Annealing with FFD for 10 minutes

<solver>
  <solutionClass>org.drools.planner.examples.cloudbalancing.domain.CloudBalance</solutionClass>
  <planningEntityClass>org.drools.planner.examples.cloudbalancing.domain.CloudProcess</planningEntityClass>
  <scoreDirectorFactory>
    <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
    <scoreDrl>/org/drools/planner/examples/cloudbalancing/solver/cloudBalancingScoreRules.drl</scoreDrl>
  </scoreDirectorFactory>
  <termination>
    <maximumMinutesSpend>10</maximumMinutesSpend>
  </termination>
  <constructionHeuristic>
    <termination/>
    <constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType>
    <constructionHeuristicPickEarlyType>FIRST_LAST_STEP_SCORE_EQUAL_OR_IMPROVING</constructionHeuristicPickEarlyType>
  </constructionHeuristic>
  <localSearch>
    <termination/>
    <selector>
      <selector>
        <moveFactoryClass>org.drools.planner.examples.cloudbalancing.solver.move.factory.CloudComputerChangeMoveFactory</moveFactoryClass>
      </selector>
      <selector>
        <moveFactoryClass>org.drools.planner.examples.cloudbalancing.solver.move.factory.CloudProcessSwapMoveFactory</moveFactoryClass>
      </selector>
    </selector>
    <acceptor>
      <simulatedAnnealingStartingTemperature>0hard/400soft</simulatedAnnealingStartingTemperature>
    </acceptor>
    <forager>
      <deciderScoreComparatorFactory/>
      <minimalAcceptedSelection>4</minimalAcceptedSelection>
    </forager>
  </localSearch>
</solver>
startingTimestamp 13-mei-2012 14:47:08
parallelBenchmarkCount 2
warmUpTimeMillisSpend 30.000
failureCount 0
plannerVersion Unjarred development snapshot