実装方法としては、2種類ありますが、後者の方法をお勧めします。
1)同数カウント制約を用いる方法
深夜(A)と準夜(C)の回数をA==C+2で指定します
確かに深夜回数は、準夜回数+2になっています。
2)深夜回数を指定する方法
同数カウント制約を用いずに夜勤回数と深夜回数を指定します。
解説
1)で夜勤回数6を指定していることから
6=A+C
一方、同数カウント制約で
A=C+2
上記連立方程式の解は、A=4,C=2、と一意に決まります。従い、2)の方法と等価になります。制約論理的には同じです。
しかし、実装的には、
■妊婦という条件が加わり、同数制約管理が必要 メンテナンスが手間
■同数カウント制約の実装が重い
という二つのデメリットが1)にはあります。
同じ結果をもたらすならば、メンテナンスし易い2)をお勧めします。
0 件のコメント:
コメントを投稿