このように複雑なペア制約は、AL3/4ではサポートしていません。しかし、リニアペア制約では、アルゴリズムによらず記述可能です。
まず、仕様を整理します。夜勤数2名以下と5名以上は別仕様によりありえません。すると、下のように、夜勤4名のときの規定がないことに気付きます。
夜勤 男性
-------------
1 x
2 x
3 <=1
4 -
二つの可能性があります。一つ目は、夜勤4名時も男性1名以下というものです。
夜勤 男性
-------------
3 <=1
4 <=1
夜勤 男性
-------------
3 <=1
4 <=1
二つ目は、夜勤4名時は、男性2名以下にする制約です。
夜勤 男性
-------------
3 <=1
4 <=2
リニア制約では、各々、次式となります。
A>=3B
A>=3B-2
上式が、上表を満足することを実際に確認しましょう。
A3人、B1人は、3>=3 、3>=3-2=>3>=1で成立
A3人、B2人は、3>=6不成立 、3>=3*2-2で不成立
A4人、B2人は、 3>=4不成立、4>=3*2-2で成立
となります。
実装は、定式をそのまま記述します。
0 件のコメント:
コメントを投稿