2023年10月8日日曜日

夜勤3名以下なら 男性スタッフ1名以下

 

このように複雑なペア制約は、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 件のコメント:

コメントを投稿