]
Geoffrey De Smet commented on DROOLS-142:
-----------------------------------------
I believe it's related to the unmatchListener usage since 6.0.0.Beta1, as otherwise
this should have been seen way before 6.0.0.Beta1 and me or [~lpetrovicky]'s team
would have likely noticed it already.
RETE score corruptions: NQueens, Exam set 3
-------------------------------------------
Key: DROOLS-142
URL:
https://issues.jboss.org/browse/DROOLS-142
Project: Drools
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Reporter: Geoffrey De Smet
Assignee: Mario Fusco
To reproduce, run NQueensSolveAllTurtleTest with "-DrunTurtleTests=true":
{code}
2013-05-18 23:22:29,769 [main] INFO Loaded: data/nqueens/unsolved/unsolvedNQueens04.xml
2013-05-18 23:22:29,807 [main] INFO Solving started: time spend (5), score (null), new
best score (-6), random seed (0).
java.lang.IllegalStateException: Score corruption: the workingScore (-3) is not the
uncorruptedScore (0):
Score corruption analysis could not be generated because either corrupted
constraintMatchEnabled (true) or uncorrupted constraintMatchEnabled (false) is disabled.
Check your score constraints manually.
at
org.optaplanner.core.impl.score.director.AbstractScoreDirector.assertWorkingScoreFromScratch(AbstractScoreDirector.java:315)
at
org.optaplanner.core.impl.solver.scope.DefaultSolverScope.assertWorkingScoreFromScratch(DefaultSolverScope.java:109)
at
org.optaplanner.core.impl.phase.AbstractSolverPhaseScope.assertWorkingScoreFromScratch(AbstractSolverPhaseScope.java:136)
at
org.optaplanner.core.impl.constructionheuristic.greedyFit.DefaultGreedyFitSolverPhase.solve(DefaultGreedyFitSolverPhase.java:79)
at
org.optaplanner.core.impl.solver.DefaultSolver.runSolverPhases(DefaultSolver.java:190)
at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:155)
at
org.optaplanner.examples.common.app.SolveAllTurtleTest.buildAndSolve(SolveAllTurtleTest.java:120)
{code}
Also run ExaminationSolveAllTurtleTest and hack it to run only exam_comp_set3 (which is
the only one that fails):
{code}
2013-05-18 20:46:45,566 [main] INFO Loaded:
data/examination/unsolved/exam_comp_set3.xml
2013-05-18 20:46:48,299 [main] INFO Solving started: time spend (2576), score (null),
new best score (0hard/0soft), random seed (0).
2013-05-18 20:46:52,773 [main] INFO Phase (0) custom ended: step total (1), time spend
(7050), best score (-154hard/-14341soft).
2013-05-18 20:51:46,278 [main] INFO Phase (1) localSearch ended: step total (98), time
spend (300555), best score (-102hard/-12819soft).
2013-05-18 20:51:46,278 [main] INFO Solving ended: time spend (300555), best score
(-102hard/-12819soft), average calculate count per second (1591).
2013-05-18 20:51:49,019 [main] INFO Solving started: time spend (2586), score
(-102hard/-12819soft), new best score (-102hard/-12819soft), random seed (0).
java.lang.IllegalStateException: The score (-1373hard/-39974soft) cannot be higher than
unscheduledScore (-1373hard/-39990soft).
at
org.optaplanner.examples.examination.solver.solution.initializer.ExaminationSolutionInitializer.scheduleLeader(ExaminationSolutionInitializer.java:145)
at
org.optaplanner.examples.examination.solver.solution.initializer.ExaminationSolutionInitializer.initializeExamList(ExaminationSolutionInitializer.java:95)
at
org.optaplanner.examples.examination.solver.solution.initializer.ExaminationSolutionInitializer.changeWorkingSolution(ExaminationSolutionInitializer.java:51)
at
org.optaplanner.core.impl.phase.custom.DefaultCustomSolverPhase.solve(DefaultCustomSolverPhase.java:59)
at
org.optaplanner.core.impl.solver.DefaultSolver.runSolverPhases(DefaultSolver.java:190)
at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:155)
at
org.optaplanner.examples.common.app.SolveAllTurtleTest.buildAndSolve(SolveAllTurtleTest.java:120)
{code}
Note: the exam one might be due to the custom initializer inserts the same entity twice
problem.
Ping me when you have time to work on this (It's RETE not PHREAK - PHREAK is ok) and
I 'll isolate the nqueens one.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: