[jboss-jira] [JBoss JIRA] (DROOLS-142) RETE score corruptions: NQueens, Exam set 3
Geoffrey De Smet (JIRA)
jira-events at lists.jboss.org
Sun May 19 13:32:06 EDT 2013
[ https://issues.jboss.org/browse/DROOLS-142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12775227#comment-12775227 ]
Geoffrey De Smet commented on DROOLS-142:
-----------------------------------------
The exam set 3 is a false negative, due to the custom initializer inserting the same entity twice.
As for the nqueens problem, I need to first verify this isn't a false negative either. Ignore this issue for now.
> 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: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list