[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