[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