[jboss-svn-commits] JBL Code SVN: r32361 - labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Apr 1 14:29:35 EDT 2010


Author: ge0ffrey
Date: 2010-04-01 14:29:35 -0400 (Thu, 01 Apr 2010)
New Revision: 32361

Modified:
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver/nurseRosteringScoreRules.drl
Log:
nurse rostering: hack to fix wierd TMS

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver/nurseRosteringScoreRules.drl
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver/nurseRosteringScoreRules.drl	2010-04-01 18:27:22 UTC (rev 32360)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver/nurseRosteringScoreRules.drl	2010-04-01 18:29:35 UTC (rev 32361)
@@ -39,6 +39,16 @@
             $assignment : EmployeeAssignment(shift == $shift),
             count($assignment)
         );
+
+        // HACK to fix wierd truth maintenance behavior in drools
+        // because making weight part of the equals/hashcode doesn't cut it
+        // Vote for https://jira.jboss.org/jira/browse/JBRULES-1804
+        not IntConstraintOccurrence(
+            ruleId == "requiredEmployeeSizePerShift",
+            constraintType == ConstraintType.NEGATIVE_HARD,
+            causes contains $shift,
+            eval(weight != Math.abs($requiredEmployeeSize - $totalEmployeeSize.intValue()))
+        );
     then
         insertLogical(new IntConstraintOccurrence("requiredEmployeeSizePerShift", ConstraintType.NEGATIVE_HARD,
                 Math.abs($requiredEmployeeSize - $totalEmployeeSize.intValue()),



More information about the jboss-svn-commits mailing list