0

OptaPlanner デモ例 (NurseRostering アプリケーション) の 1 つに実装されている Drools ルールを理解する上で問題に直面しています。以下のルールがどのように機能するかを誰でも説明できますか:

// a nurse can only work one shift per day, i.e. no two shift can be assigned to the same nurse on a day.
rule "oneShiftPerDay"
when
    $leftAssignment : ShiftAssignment($leftId : id, $employee : employee, $shiftDate : shiftDate)
    $rightAssignment : ShiftAssignment(employee == $employee, shiftDate == $shiftDate, id > $leftId)
then
    insertLogical(new IntConstraintOccurrence("oneShiftPerDay", ConstraintType.NEGATIVE_HARD,
            1,
            $leftAssignment, $rightAssignment));
end

ルールの説明とその実装方法について詳しく説明しているリソースはありますか? オンラインや本でいくつかの例を確認すると、非常に理解しやすいと思いますが、Drools で提供されているサンプルを確認すると、アイデアを得ることができません。

4

2 に答える 2