[jboss-svn-commits] JBL Code SVN: r27257 - in labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main: java/org/drools/solver/examples/patientadmissionschedule/persistence and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Jun 28 16:43:38 EDT 2009


Author: ge0ffrey
Date: 2009-06-28 16:43:38 -0400 (Sun, 28 Jun 2009)
New Revision: 27257

Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionschedule/domain/Patient.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionschedule/persistence/PatientAdmissionScheduleInputConvertor.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/patientadmissionschedule/solver/patientAdmissionScheduleScoreRules.drl
Log:
pas: preferredRoomCapacity

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionschedule/domain/Patient.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionschedule/domain/Patient.java	2009-06-28 20:12:00 UTC (rev 27256)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionschedule/domain/Patient.java	2009-06-28 20:43:38 UTC (rev 27257)
@@ -13,7 +13,7 @@
     private String name;
     private Gender gender;
     private int age;
-    private int preferredMaximumRoomCapacity;
+    private Integer preferredMaximumRoomCapacity;
 
     private List<RequiredPatientEquipment> requiredPatientEquipmentList;
 

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionschedule/persistence/PatientAdmissionScheduleInputConvertor.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionschedule/persistence/PatientAdmissionScheduleInputConvertor.java	2009-06-28 20:12:00 UTC (rev 27256)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionschedule/persistence/PatientAdmissionScheduleInputConvertor.java	2009-06-28 20:43:38 UTC (rev 27257)
@@ -330,7 +330,9 @@
                 patient.setName(patientTokens[1]);
                 patient.setAge(Integer.parseInt(patientTokens[2]));
                 patient.setGender(Gender.valueOfCode(patientTokens[3]));
-                patient.setPreferredMaximumRoomCapacity(Integer.parseInt(lineTokens[3]));
+                int preferredMaximumRoomCapacity = Integer.parseInt(lineTokens[3]);
+                patient.setPreferredMaximumRoomCapacity(preferredMaximumRoomCapacity == 0
+                        ? null : preferredMaximumRoomCapacity);
                 patientList.add(patient);
 
                 String[] nightTokens = splitBySpace(lineTokens[1], 2);

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/patientadmissionschedule/solver/patientAdmissionScheduleScoreRules.drl
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/patientadmissionschedule/solver/patientAdmissionScheduleScoreRules.drl	2009-06-28 20:12:00 UTC (rev 27256)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/patientadmissionschedule/solver/patientAdmissionScheduleScoreRules.drl	2009-06-28 20:43:38 UTC (rev 27257)
@@ -44,7 +44,7 @@
         $rightBedDesignation : BedDesignation(admissionPart == $rightAdmissionPart, bed == $bed);
     then
         insertLogical(new IntConstraintOccurrence("sameBedInSameNight",
-                ConstraintType.NEGATIVE_HARD, 100 * $admissionPartConflict.getNightSize(),
+                ConstraintType.NEGATIVE_HARD, 1000 * $admissionPartConflict.getNightSize(),
                 $leftBedDesignation, $rightBedDesignation));
 end
 
@@ -59,7 +59,10 @@
         $rightBedDesignation : BedDesignation(room == $room, admissionPart == $rightAdmissionPart);
     then
         insertLogical(new IntConstraintOccurrence("differentGenderInSameGenderRoomInSameNight",
-                ConstraintType.NEGATIVE_HARD, 50 * $admissionPartConflict.getNightSize(),
+                // TODO this would be better for the problem
+                // ConstraintType.NEGATIVE_HARD,
+                ConstraintType.NEGATIVE_SOFT,
+                50 * $admissionPartConflict.getNightSize(),
                 $leftBedDesignation, $rightBedDesignation));
 end
 
@@ -91,12 +94,15 @@
 // Patient preferredMaximumRoomCapacity
 rule "preferredMaximumRoomCapacity"
     when
-        $bedDesignation : BedDesignation(patientPreferredMaximumRoomCapacity < roomCapacity);
-        // TODO bugged (we want jess like behaviour!)
+        $bedDesignation : BedDesignation(patientPreferredMaximumRoomCapacity != null,
+                patientPreferredMaximumRoomCapacity < roomCapacity);
     then
         insertLogical(new IntConstraintOccurrence("preferredMaximumRoomCapacity",
                 ConstraintType.NEGATIVE_SOFT,
-                8 * ($bedDesignation.getRoomCapacity() - $bedDesignation.getPatientPreferredMaximumRoomCapacity()),
+                // TODO this would be better for the problem
+                // 8 * ($bedDesignation.getRoomCapacity() - $bedDesignation.getPatientPreferredMaximumRoomCapacity())
+                // * $bedDesignation.getAdmissionPart().getNightCount(),
+                8 * $bedDesignation.getAdmissionPart().getNightCount(),
                 $bedDesignation));
 end
 




More information about the jboss-svn-commits mailing list