The behaviour i'm seeing in the results is that two courses that can only be in one time period (like Monday 9am) is both being set in the same period anyway despite having a hard constraint. What I would like to happen is that one of them be set to null so i can retrieve them later on and inform the user.
Is there a configuration for this? If not, how should I handle cases like this? I'm expecting that hard constraints be broken in my applications but what's important to me is i can notify the user which courses cannot be scheduled, so he can schedule it himself (via UI).
Here's is the relevant hard constraint rule:
rule "roomOccupancy"
when
Lecture(period != null, $leftPeriod:period, room != null, $leftRoom: room)
Lecture(eval($leftPeriod.overlaps(period) == true), $leftRoom == room)
then
scoreHolder.addHardConstraintMatch(kcontext, -1);
end