[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 05:00:06 EDT 2013


Geoffrey De Smet created DROOLS-142:
---------------------------------------

             Summary: 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