Useful for visualizing the best solver configuration.
Solver | Total | Average | Standard Deviation | Problem | |||
---|---|---|---|---|---|---|---|
medium01 | medium02 | medium_hint01 | medium_hint02 | ||||
Simulated Annealing (Phreak (Drools 6.0)) 1 | 0hard/-656soft | 0hard/-164soft | 0.0/91.78 | 0hard/-259soft 3 | 0hard/-249soft 0 | 0hard/-49soft 0 | 0hard/-99soft 1 |
Simulated Annealing (ReteOO (Drools 6.0)) 0 | 0hard/-645soft | 0hard/-162soft | 0.0/90.71 | 0hard/-249soft 0 | 0hard/-253soft 3 | 0hard/-53soft 1 | 0hard/-90soft 0 |
Tabu Search (Phreak (Drools 6.0)) 2 | 0hard/-695soft | 0hard/-174soft | 0.0/81.70 | 0hard/-251soft 1 | 0hard/-249soft 0 | 0hard/-56soft 2 | 0hard/-139soft 2 |
Tabu Search (ReteOO (Drools 6.0)) 3 | 0hard/-700soft | 0hard/-175soft | 0.0/81.68 | 0hard/-252soft 2 | 0hard/-251soft 2 | 0hard/-58soft 3 | 0hard/-139soft 2 |
Useful for visualizing the scalability of each solver configuration.
Useful for zooming in on the results of the best score summary.
Solver | Total | Average | Problem | |||
---|---|---|---|---|---|---|
medium01 | medium02 | medium_hint01 | medium_hint02 | |||
Simulated Annealing (Phreak (Drools 6.0)) 1 | 0hard/-19soft | 0hard/-5soft | 0hard/-10soft 3 | 0hard/0soft 0 | 0hard/0soft 0 | 0hard/-9soft 1 |
Simulated Annealing (ReteOO (Drools 6.0)) 0 | 0hard/-8soft | 0hard/-2soft | 0hard/0soft 0 | 0hard/-4soft 3 | 0hard/-4soft 1 | 0hard/0soft 0 |
Tabu Search (Phreak (Drools 6.0)) 2 | 0hard/-58soft | 0hard/-15soft | 0hard/-2soft 1 | 0hard/0soft 0 | 0hard/-7soft 2 | 0hard/-49soft 2 |
Tabu Search (ReteOO (Drools 6.0)) 3 | 0hard/-63soft | 0hard/-16soft | 0hard/-3soft 2 | 0hard/-2soft 2 | 0hard/-9soft 3 | 0hard/-49soft 2 |
Useful for visualizing the return on investment (ROI) to decision makers.
Solver | Average | Problem | |||
---|---|---|---|---|---|
medium01 | medium02 | medium_hint01 | medium_hint02 | ||
Simulated Annealing (Phreak (Drools 6.0)) 1 | 0.00%/11.47% | 0.00%/0.00% 3 | 0.00%/1.58% 0 | 0.00%/15.52% 0 | 0.00%/28.78% 1 |
Simulated Annealing (ReteOO (Drools 6.0)) 0 | 0.00%/11.93% | 0.00%/3.86% 0 | 0.00%/0.00% 3 | 0.00%/8.62% 1 | 0.00%/35.25% 0 |
Tabu Search (Phreak (Drools 6.0)) 2 | 0.00%/2.03% | 0.00%/3.09% 1 | 0.00%/1.58% 0 | 0.00%/3.45% 2 | 0.00%/0.00% 2 |
Tabu Search (ReteOO (Drools 6.0)) 3 | 0.00%/0.87% | 0.00%/2.70% 2 | 0.00%/0.79% 2 | 0.00%/0.00% 3 | 0.00%/0.00% 2 |
Useful for comparing different score calculators and/or score rule implementations (presuming that the solver configurations do not differ otherwise). Also useful to measure the scalability cost of an extra constraint.
Solver | Average | Problem | |||
---|---|---|---|---|---|
medium01 | medium02 | medium_hint01 | medium_hint02 | ||
Problem scale | 15,844 | 18,848 | 18,848 | 12,840 | 12,840 |
Simulated Annealing (Phreak (Drools 6.0)) 1 | 3,454/s | 3,525/s | 3,466/s | 3,296/s | 3,532/s |
Simulated Annealing (ReteOO (Drools 6.0)) 0 | 2,830/s | 2,618/s | 2,690/s | 2,866/s | 3,148/s |
Tabu Search (Phreak (Drools 6.0)) 2 | 3,620/s | 3,780/s | 3,695/s | 3,415/s | 3,593/s |
Tabu Search (ReteOO (Drools 6.0)) 3 | 3,029/s | 2,946/s | 2,895/s | 3,020/s | 3,256/s |
Useful for visualizing the performance of construction heuristics (presuming that no other solver phases are configured).
Solver | Average | Problem | |||
---|---|---|---|---|---|
medium01 | medium02 | medium_hint01 | medium_hint02 | ||
Problem scale | 15,844 | 18,848 | 18,848 | 12,840 | 12,840 |
Simulated Annealing (Phreak (Drools 6.0)) 1 | 700,000 | 700,000 | 700,000 | 700,000 | 700,000 |
Simulated Annealing (ReteOO (Drools 6.0)) 0 | 700,000 | 700,000 | 700,000 | 700,000 | 700,000 |
Tabu Search (Phreak (Drools 6.0)) 2 | 700,000 | 700,000 | 700,000 | 700,000 | 700,000 |
Tabu Search (ReteOO (Drools 6.0)) 3 | 700,000 | 700,000 | 700,000 | 700,000 | 700,000 |
Useful for extrapolating the scalability of construction heuristics (presuming that no other solver phases are configured).
Useful for visualizing trade-off between the best score versus the time spend for construction heuristics (presuming that no other solver phases are configured).
<solver> <solutionClass>org.optaplanner.examples.nurserostering.domain.NurseRoster</solutionClass> <planningEntityClass>org.optaplanner.examples.nurserostering.domain.ShiftAssignment</planningEntityClass> <scoreDirectorFactory> <scoreDefinitionType>HARD_SOFT</scoreDefinitionType> <scoreDrl>/org/optaplanner/examples/nurserostering/solver/nurseRosteringScoreRules.drl</scoreDrl> </scoreDirectorFactory> <termination> <maximumSecondsSpend>700</maximumSecondsSpend> </termination> <constructionHeuristic> <constructionHeuristicType>BEST_FIT</constructionHeuristicType> </constructionHeuristic> <localSearch> <unionMoveSelector> <moveListFactory> <cacheType>PHASE</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.EmployeeChangeMoveFactory</moveListFactoryClass> </moveListFactory> <moveListFactory> <cacheType>PHASE</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.ShiftAssignmentSwapMoveFactory</moveListFactoryClass> </moveListFactory> <moveListFactory> <cacheType>STEP</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.ShiftAssignmentPillarPartSwapMoveFactory</moveListFactoryClass> </moveListFactory> </unionMoveSelector> <acceptor> <entityTabuSize>5</entityTabuSize> <simulatedAnnealingStartingTemperature>0hard/8soft</simulatedAnnealingStartingTemperature> </acceptor> <forager> <acceptedCountLimit>4</acceptedCountLimit> </forager> </localSearch> </solver>
<solver> <solutionClass>org.optaplanner.examples.nurserostering.domain.NurseRoster</solutionClass> <planningEntityClass>org.optaplanner.examples.nurserostering.domain.ShiftAssignment</planningEntityClass> <scoreDirectorFactory> <scoreDefinitionType>HARD_SOFT</scoreDefinitionType> <scoreDrl>/org/optaplanner/examples/nurserostering/solver/nurseRosteringScoreRules.drl</scoreDrl> </scoreDirectorFactory> <termination> <maximumSecondsSpend>700</maximumSecondsSpend> </termination> <constructionHeuristic> <constructionHeuristicType>BEST_FIT</constructionHeuristicType> </constructionHeuristic> <localSearch> <unionMoveSelector> <moveListFactory> <cacheType>PHASE</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.EmployeeChangeMoveFactory</moveListFactoryClass> </moveListFactory> <moveListFactory> <cacheType>PHASE</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.ShiftAssignmentSwapMoveFactory</moveListFactoryClass> </moveListFactory> <moveListFactory> <cacheType>STEP</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.ShiftAssignmentPillarPartSwapMoveFactory</moveListFactoryClass> </moveListFactory> </unionMoveSelector> <acceptor> <entityTabuSize>5</entityTabuSize> <simulatedAnnealingStartingTemperature>0hard/8soft</simulatedAnnealingStartingTemperature> </acceptor> <forager> <acceptedCountLimit>4</acceptedCountLimit> </forager> </localSearch> </solver>
<solver> <solutionClass>org.optaplanner.examples.nurserostering.domain.NurseRoster</solutionClass> <planningEntityClass>org.optaplanner.examples.nurserostering.domain.ShiftAssignment</planningEntityClass> <scoreDirectorFactory> <scoreDefinitionType>HARD_SOFT</scoreDefinitionType> <scoreDrl>/org/optaplanner/examples/nurserostering/solver/nurseRosteringScoreRules.drl</scoreDrl> </scoreDirectorFactory> <termination> <maximumSecondsSpend>700</maximumSecondsSpend> </termination> <constructionHeuristic> <constructionHeuristicType>BEST_FIT</constructionHeuristicType> </constructionHeuristic> <constructionHeuristic> <constructionHeuristicType>BEST_FIT</constructionHeuristicType> </constructionHeuristic> <localSearch> <unionMoveSelector> <moveListFactory> <cacheType>PHASE</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.EmployeeChangeMoveFactory</moveListFactoryClass> </moveListFactory> <moveListFactory> <cacheType>PHASE</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.ShiftAssignmentSwapMoveFactory</moveListFactoryClass> </moveListFactory> <moveListFactory> <cacheType>STEP</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.ShiftAssignmentPillarPartSwapMoveFactory</moveListFactoryClass> </moveListFactory> </unionMoveSelector> <acceptor> <entityTabuSize>7</entityTabuSize> </acceptor> <forager> <acceptedCountLimit>800</acceptedCountLimit> </forager> </localSearch> </solver>
<solver> <solutionClass>org.optaplanner.examples.nurserostering.domain.NurseRoster</solutionClass> <planningEntityClass>org.optaplanner.examples.nurserostering.domain.ShiftAssignment</planningEntityClass> <scoreDirectorFactory> <scoreDefinitionType>HARD_SOFT</scoreDefinitionType> <scoreDrl>/org/optaplanner/examples/nurserostering/solver/nurseRosteringScoreRules.drl</scoreDrl> </scoreDirectorFactory> <termination> <maximumSecondsSpend>700</maximumSecondsSpend> </termination> <constructionHeuristic> <constructionHeuristicType>BEST_FIT</constructionHeuristicType> </constructionHeuristic> <constructionHeuristic> <constructionHeuristicType>BEST_FIT</constructionHeuristicType> </constructionHeuristic> <localSearch> <unionMoveSelector> <moveListFactory> <cacheType>PHASE</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.EmployeeChangeMoveFactory</moveListFactoryClass> </moveListFactory> <moveListFactory> <cacheType>PHASE</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.ShiftAssignmentSwapMoveFactory</moveListFactoryClass> </moveListFactory> <moveListFactory> <cacheType>STEP</cacheType> <moveListFactoryClass>org.optaplanner.examples.nurserostering.solver.move.factory.ShiftAssignmentPillarPartSwapMoveFactory</moveListFactoryClass> </moveListFactory> </unionMoveSelector> <acceptor> <entityTabuSize>7</entityTabuSize> </acceptor> <forager> <acceptedCountLimit>800</acceptedCountLimit> </forager> </localSearch> </solver>
Name | 2014-01-23_113523 |
---|---|
Aggregation | true |
startingTimestamp | Jan 23, 2014 11:35:23 AM |
warmUpTimeMillisSpend | 30,000 ms |
parallelBenchmarkCount / availableProcessors | 2 / 4 |
benchmarkTimeMillisSpend | ms |
failureCount | 0 |
VM max memory (as in -Xmx but lower) | 1,431,699,456 bytes |
Operating system | Linux i386 3.2.0-57-generic-pae |
Java version | Java 1.7.0_25 (Oracle Corporation) |
Java VM | Java OpenJDK Server VM 23.7-b01 (Oracle Corporation) |
OptaPlanner version | Unjarred development snapshot |
Report locale | en_US |