<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><span><span style="color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);"><span>Hi,</span></span><span style="font-weight: bold;"><br><br></span><span style="color: rgb(0, 0, 0);"><span>I noticed something really strange in my trace logging: certain moves are made multiple times, even consecutive.<br>How is this possible?<br>I am using Planner 5.5.0.Final and no custom move factories (see config below).<br><br></span></span><span style="font-weight: bold;"><br>TRACE: [2013-01-25 14:12:28,309] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (12), score (-515hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#1 [7->7] Jesse IV} => (P4) ).</span></span><br>TRACE: [2013-01-25 14:12:28,309] main
org.drools.planner.core.localsearch.decider.DefaultDecider - Ignoring not doable move ({T= Inspect A380-TR1.I#0 [5->6] Kristof IV} => IV).<br>TRACE: [2013-01-25 14:12:28,310] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (14), score (-2090hard/0soft), accepted (true) for move ({T= Inspect A380-TR1.I#1 [5->6] Gerald IV} => (P9) ).<br>TRACE: [2013-01-25 14:12:28,310] main org.drools.planner.core.localsearch.decider.DefaultDecider - Ignoring not doable move ({T= Inspect A320-CZ4.I#0 [7->9] Kristof IV} => IV).<br>TRACE: [2013-01-25 14:12:28,310] main org.drools.planner.core.localsearch.decider.DefaultDecider - Ignoring not doable move ({T= Inspect A380-TR1.I#1 [5->6] Gerald IV} => IV).<br>TRACE: [2013-01-25
14:12:28,311] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (17), score (-230hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#1 [7->7] Jesse IV} => Andy).<br><span style="color: rgb(0, 0, 255);"><span style="font-weight: bold;">TRACE: [2013-01-25 14:12:28,312] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (18), score (-120hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#0 [5->5] Andy IV} => (P7) ).<br>TRACE: [2013-01-25 14:12:28,313] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (19), score (-120hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#0 [5->5] Andy IV} => (P7) ).</span></span><br>TRACE: [2013-01-25 14:12:28,313] main
org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (20), score (-30hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#1 [7->7] Jesse IV} => TL).<br>TRACE: [2013-01-25 14:12:28,315] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (21), score (-2180hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#0 [5->5] Andy IV} => (P1) ).<br><span style="color: rgb(255, 0, 0);"><span style="font-weight: bold;">TRACE: [2013-01-25 14:12:28,316] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (22), score (-515hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#1 [7->7] Jesse IV} => (P4) ).<br>TRACE: [2013-01-25 14:12:28,317] main org.drools.planner.core.localsearch.decider.DefaultDecider
- Move index (23), score (-515hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#1 [7->7] Jesse IV} => (P4) ).</span></span><br>TRACE: [2013-01-25 14:12:28,318] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (24), score (-3180hard/0soft), accepted (true) for move ({T= Inspect A320-CZ4.I#1 [7->8] Andy IV} => (P1) ).<br>TRACE: [2013-01-25 14:12:28,318] main org.drools.planner.core.localsearch.decider.DefaultDecider - Ignoring not doable move ({T= Inspect B747-AX1.I#1 [7->7] Jesse IV} => IV).<br>TRACE: [2013-01-25 14:12:28,320] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (26), score (-120hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#1 [7->7] Jesse IV} =>
(P5) ).<br>TRACE: [2013-01-25 14:12:28,322] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (27), score (-45hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#1 [7->7] Jesse IV} => (P8) ).<br>TRACE: [2013-01-25 14:12:28,323] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (28), score (-30hard/0soft), accepted (true) for move ({T= Inspect A380-TR1.I#0 [5->6] Kristof IV} => TL).<br>TRACE: [2013-01-25 14:12:28,324] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (29), score (-2635hard/0soft), accepted (true) for move ({T= Inspect A320-CZ4.I#1 [7->8] Andy IV} => (P2) ).<br>TRACE: [2013-01-25 14:12:28,325] main org.drools.planner.core.localsearch.decider.DefaultDecider
- Move index (30), score (-650hard/0soft), accepted (true) for move ({T= Inspect A320-CZ4.I#0 [7->9] Kristof IV} => (P6) ).<br>TRACE: [2013-01-25 14:12:28,334] main org.drools.planner.core.localsearch.decider.DefaultDecider - Ignoring not doable move ({T= Inspect A380-TR1.I#2 [5->6] Jesse IV} => Jesse).<br>TRACE: [2013-01-25 14:12:28,335] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (32), score (-230hard/0soft), accepted (true) for move ({T= Inspect B747-AX1.I#0 [5->5] Andy IV} => Gerald).<br><span style="color: rgb(255, 0, 0);"><span style="font-weight: bold;">TRACE: [2013-01-25 14:12:28,336] main org.drools.planner.core.localsearch.decider.DefaultDecider - Move index (33), score (-515hard/0soft), accepted (true)
for move ({T= Inspect B747-AX1.I#1 [7->7] Jesse IV} => (P4) ).</span></span></span><span style="color: rgb(255, 0, 0);"><span style="font-weight: bold;"><span></span></span></span><span style="font-weight: bold;"><br></span><div> <br>Config:<br><br><?xml version="1.0" encoding="UTF-8"?><br><solver><br> <environmentMode>DEBUG</environmentMode><br><br> <!-- Domain model configuration --><br> <solutionClass>be.axi.planner.app.InspectionSchedule</solutionClass><br> <planningEntityClass>be.axi.planner.domain.Task</planningEntityClass><br><br> <!-- Score configuration --><br> <scoreDirectorFactory><br> <scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType><br>
<scoreDrl>/inspectionRules.drl</scoreDrl><br> </scoreDirectorFactory><br> <br> <constructionHeuristic><br> <constructionHeuristicType>BEST_FIT_DECREASING</constructionHeuristicType><br> <constructionHeuristicPickEarlyType>FIRST_LAST_STEP_SCORE_EQUAL_OR_IMPROVING</constructionHeuristicPickEarlyType><br> </constructionHeuristic><br> <br> <!--customSolverPhase><br> <customSolverPhaseCommandClass>be.axi.planner.solution.SolutionInitializer</customSolverPhaseCommandClass><br> </customSolverPhase--><br> <br> <localSearch><br>
<termination><br> <terminationCompositionStyle>OR</terminationCompositionStyle><br> <maximumSecondsSpend>3600</maximumSecondsSpend><br> <scoreAttained>0hard/0soft</scoreAttained><br> </termination><br> <unionMoveSelector><br> <changeMoveSelector><br> <valueSelector><br> <planningVariableName>type</planningVariableName><br>
</valueSelector><br> </changeMoveSelector><br> <changeMoveSelector><br> <valueSelector><br> <planningVariableName>spector</planningVariableName><br> </valueSelector><br> </changeMoveSelector><br> <changeMoveSelector><br> <valueSelector><br>
<planningVariableName>period</planningVariableName><br> </valueSelector><br> </changeMoveSelector><br> </unionMoveSelector><br><br> <acceptor><br> <planningEntityTabuSize>7</planningEntityTabuSize><br> </acceptor><br> <forager><br> <minimalAcceptedSelection>1000</minimalAcceptedSelection><br> </forager><br> </localSearch><br></solver><br><br>Thanks,<br><br>Michiel<br></div><div>-----------------<br>http://www.codessentials.com -
Your essential software, for free!<br>Follow us at http://twitter.com/#!/Codessentials</div></div></body></html>