[jboss-svn-commits] JBL Code SVN: r19211 - in labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main: resources/org/drools/solver/examples/itc2007/curriculumcourse/solver and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Mar 23 06:33:28 EDT 2008


Author: ge0ffrey
Date: 2008-03-23 06:33:27 -0400 (Sun, 23 Mar 2008)
New Revision: 19211

Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Lecture.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/curriculumcourse/solver/curriculumCourseScoreRules.drl
Log:
RoomCapacity

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Lecture.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Lecture.java	2008-03-23 09:35:37 UTC (rev 19210)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Lecture.java	2008-03-23 10:33:27 UTC (rev 19211)
@@ -50,6 +50,10 @@
     }
 
 
+    public int getStudentSize() {
+        return course.getStudentSize();
+    }
+
     public int compareTo(Lecture other) {
         return new CompareToBuilder()
                 .append(period, other.period)

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/curriculumcourse/solver/curriculumCourseScoreRules.drl
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/curriculumcourse/solver/curriculumCourseScoreRules.drl	2008-03-23 09:35:37 UTC (rev 19210)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/curriculumcourse/solver/curriculumCourseScoreRules.drl	2008-03-23 10:33:27 UTC (rev 19211)
@@ -89,6 +89,15 @@
 // RoomCapacity: For each lecture, the number of students that attend the course must be less or equal
 // than the number of seats of all the rooms that host its lectures.
 // Each student above the capacity counts as 1 point of penalty.
+rule "roomCapacity"
+    when
+        $room : Room($capacity : capacity);
+        $lecture : Lecture(room == $room, studentSize > $capacity, $studentSize : studentSize)
+    then
+        insertLogical(new IntConstraintOccurrence("roomCapacity", ConstraintType.NEGATIVE_SOFT,
+                ($studentSize - $capacity),
+                $room, $lecture));
+end
 
 // MinimumWorkingDays: The lectures of each course must be spread into a minimum number of days.
 // Each day below the minimum counts as 5 points of penalty.




More information about the jboss-svn-commits mailing list