OptaPlanner了解规则

时间:2017-11-15 00:28:26

标签: java drools rule-engine optaplanner

我们在规则文件中有以下规则,我试图了解规则的LHS部分,有两行RoomAssignment和Schedule。有人可以解释它的评估方式吗?在RoomAssignment和Schedule之间使用AND或OR运算符?

Rule "Test"
when
        RoomAssignment(schedule.isFixed == true, startingTimeGrain != null, room != null, manager != null, $startingTimeGrainIndex : startingTimeGrainIndex, $room: room, $manager: manager, $schedule: schedule)
        Schedule(id == $schedule.id, fixedDateTime == true, startTimeGrainIndex != $startingTimeGrainIndex)
    then
        scoreHolder.addHardConstraintMatch(kcontext, -100000);

        end

1 个答案:

答案 0 :(得分:1)

逻辑and隐含在模式之间。工作记忆必须包含(至少)一个RoomAssignment和(至少)一个具有合适字段值的Schedule对象。对于每个匹配的事实对象组合,规则将触发一次。