是否可以定义特定日期特定时间(例如,5和6)没有类?在opta课程课程计划。
尝试了以下方法,不起作用。
rule "saturdayHalfDay"
when
Lecture( period!=null, $day:period.getDay(),
$day!=null,$time:period.getTimeslot(),
$time!=null,
$day.getDayIndex()==5,
($time.getTimeslotIndex()==5 || $time.getTimeslotIndex()==4)
)
then
System.out.println(" $day " + $day + " $time " + $time);
scoreHolder.addHardConstraintMatch(kcontext, -1);
end
//假设$ day.getDayIndex()== 5(5是星期六)
答案 0 :(得分:0)
如果从课程课程安排示例开始,您会看到某些数据集在12:00到13:00之间没有时间段,因为午餐期间没有课程。所以这只是在这几个小时内没有添加时间段的问题。
如果在某个时段期间无法安排某些课程,那就更有趣了。只需创建一个TimeslotCoursePenatly
对象(请参阅其他示例中的Penatly
类),即可在数据集中添加不需要的组合。然后添加一个分数规则,用于检查是否会降低每个违反的Penalty
的分数。