2025年11月1日土曜日

Q.平日の日勤者、長日2名時8名以上、長日3名時7名以上としたい

 仕様は以下です。

ここで、黄色部は、左脇の3年目以上2名の説明ではなく、その他にAチーム・Bチーム共2名ずつ別に欲しい、ということだそうです。

つまり、

長日時2名のとき、

Aチーム3年目以上2名+Bチーム3年目以上2名+Aチームその他2名+Bチームその他2名≧8名としたい


長日時3名のとき、

Aチーム3年目以上2名+Bチーム3年目以上2名+Aチームその他1名+Bチームその1名≧7名としたい

ということです。ここで3年目2名については、Mustでありハード制約もしくは、ソフト制約レベル7として、重篤エラーとして扱うことにします。出来ればということなので、総和部分は、ソフト制約にします。


<ペア制約AならばBは、出来るだけ控える>

どうしても、必要なら仕方ないのですが、ペア制約AならばBは、重い制約です。それ自体は、そんなに重くはないのですが、2名以上の基数制約が入ってくるととても重い制約となるので可能ならば、使用を控えてください。代替えの方法として以下を推奨します。

<等号の関係を見つける>

長日2+日勤8==10

長日3+日勤7==10

となっており、長日+日勤に着目すると、長日数によらず、一定の10という数になります。恐らくは、管理者に頭の中にある元々の意識は、上記の通りと推察されますが、仕様ヒアリングの過程で、上記仕様になったものと推察されます。

看護師長は長日をしないし、日勤のカウント要請も看護師長を除くとなっています。つまりどちらの対象集合も「看護師長を除く」で記述できます。なので、以下のように記述できます。




0 件のコメント:

コメントを投稿