opta计划课程课程为课程分配特定的房间



我有一个场景,课程应该分配到一个特定的房间。

,

课程是Java编程,老师名字:James,教室:ROOM1,LAB1,ROOM2。

因为这门课是编程课,所以我想把这门课布置给Lab。我可以提供实验室作为教室。如何限制呢,这门课应该进入特定的Room (Lab)

建议:添加一个类型字段到房间(或类型列表),并创建一个分数约束来惩罚每一个课程,需要一个实验室,并没有被分配到一个。当然,在course中添加所需类型的room字段。

我这样做了,效果很好。

rule "..."
    when
         $room : Room($roomType : getRoomType())
         $course : Course($courseType : getCourseType())
         Lecture(room==$room ,course==$course , $roomType!=$courseType )
    then scoreHolder.addHardConstraintMatch(kcontext, -10);
end

最新更新