[rules-users] [Planner] How to fix score corruption (answer)

Geoffrey De Smet ge0ffrey.spam at gmail.com
Fri Apr 5 06:27:02 EDT 2013


In the past few months, several users have reported on this mailing list 
that they ran into score corruption issues,
so I've been working to improve the situation for 6.0.x.

Like in 5.x, by putting the <environmentMode> in ASSERT mode,
it's easy to detect such an issue (and often even the offending score rule),
but it's been generally hard to understand what's the cause on how to 
fix it.

There are generally 3 common causes of score corruption:

  * Bug in your cloning method.
      o In 6.0.0.Beta1 you no longer need to write the cloning method:
          + http://blog.athico.com/2013/02/automatic-solution-cloning-in-planner.html
  * Bug in the causes parameter you supply to ConstraintOccurrence or a
    planner-incompatible hashcode/equals method of any those objects
      o In 6.0.0.Beta1 there is no cause parameter and it no longer
        cares about the hashcode/equals method of your objects during
        score calculation
          + http://blog.athico.com/2013/04/score-drl-faster-and-easier-in.html
  * Bug in our Drools Expert's statefull working memory
      o Most of these bugs were fixed for Drools 5.1 and 5.2. I am not
        aware of any in Drools 5.3 and 5.4.
          + Mario and I are looking into a very exotic bug in
            5.5/6.0.0.Beta1 now, which is unlikely to affect you: it
            only affects 1 dataset of 1 example in OptaPlanner.
      o As always, we welcome detailed bug reports (especially with
        reproducers) if you believe you 've discovered another bug.

Hope that helps :)

wkr,
Geoffrey De Smet
http://www.optaplanner.org



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130405/9c724ad1/attachment.html 


More information about the rules-users mailing list