Q.
拘束のみで休日の25日、26日と2日連続している点が気になります。ただし、こちらも、実際の予定表にあるケースで、さらに、今回は、実際の予定表がこれと同じになっていますが、休日は拘束のみであれば連続していない方が望ましいです。
Ans.
実装しましたが、今回の例では、回避することが出来ず同じになります。
証明は、以下に示しますが、結論的には、予定をハード制約と考えると、物理的必然となるからです。
<実装>
以下が追加した制約になります。
<解>
依然として休日2連勤拘束のままです。
<ハード制約化>
言うことを聞かないときの最終手段は、ハード制約化です。ソフト制約のレベルを空白にするとハード制約となります。
<解>
すると次のようなエラーとなりました。この状態は、解がないことを示しています。解がない理由は、ハード制約同士に矛盾があるからです。矛盾要因は通常、複数あります。要因がヒントとして列挙されています。
特に、茶色枠部に着目します。クリックすると当該予定にマークが付き飛びます。
<解析>
以下の予定を見ると、X大医師の当直があり、なおかつ他の整形の先生方が両日共休みになっています。
他の整形の先生方は、全てハード予定休みであり、かつX大医師が2日共、宿・当直ですので、希望を出していないX先生が2日共、拘束勤務を行うしかない状況です。つまり、
■X先生が2日共、拘束をやる
選択一択しかありません。しかし、ハード制約で2連拘束休日禁止にしたので、矛盾となり解が存在しません。
以上、ハード制約化することにより、要因が列挙され原因が特定できました。
予定をセル毎に任意のレベルのソフト制約化すれば、回避できますが、予定はハード制約のまま、制約もソフト制約にしておいて、必要がある場合のみ上記のような解析を行うのが通常です。いずれにせよ、このシステムを使いこなすには、制約に対する深い理解が必要である、ということです。GUI操作自体は、誰でも出来ますが、エラーメッセージを理解して原因を理解するには、ハード制約とソフト制約を理解する必要があります。
また、今回追加実装した程度の制約追加は、造作ないことですので、ユーザ様ご自身が必要に応じて追加することも可能です。
0 件のコメント:
コメントを投稿