<div>Hi,</div><div><br></div><div>I&#39;ve implemented a very simple application using drools planner consisting of a bunch of activities. My rule file is very simple too and just counts the number of activities not assigned. When I run Solver.solve(), I get the following error message:</div>
<div><br></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">Exception in thread &quot;AWT-EventQueue-0&quot; java.lang.IllegalStateException: The presumedScore (-10hard/0soft) is corrupted because it is not the realScore  (0hard/0soft).</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">Presumed workingMemory:</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Score rule (remainingActivitiesCount) has count (1) and weight total (11).</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">Real workingMemory:</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Score rule (remainingActivitiesCount) has count (1) and weight total (0).</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">I&#39;ve tracked down this message and found this piece of code @DefaultLocalSearchSolver.solveImplementation():</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><div style="font-family: &#39;courier new&#39;, monospace; "><div>// there is no need to recalculate the score, but we still need to set it</div>
<div>localSearchSolverScope.getWorkingSolution().setScore(localSearchStepScope.getScore());</div><div>if (assertStepScoreIsUncorrupted) {</div><div>    localSearchSolverScope.assertWorkingScore(localSearchStepScope.getScore());</div>
<div>}</div></div><div style="font-family: &#39;courier new&#39;, monospace; "><br></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">It seems that the working score is never updated along the algorithm, but the score in the working memory changes. Thus, when we use the DEBUG environment, assertStepScoreIsUncorrupted is turned on and the assertion fails. </font></div>
</div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Should the score be updated or am I using the library incorrectly?</font></div>
<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Thanks,</font></div>