2014年3月18日火曜日

5日連続日勤を回避するには? その2

前回は、ベストエフォットで、5日連続をなるべく回避しましたが、今回は、必ず回避する方法についてです。年休を使ってよい、という前提で制約設計を進めます。

年休といっても、スケジュールとして自動挿入する年休とスタッフ希望で取得する年休とは、違います。スケジュールして挿入する年休は、5日連続を回避するための年休なので、その数は、極小に抑える必要があります。(可能ならば0) 逆にそういう制約がないと年休だらけになってしまいます。

よって、スケジュールで生じる年休のラベルを”す”と表記することにしてラベルを分けます。

制約は、次のように記述しています。
休みxは、公休(Y)または、祝休(H)または、年休(y) または、スケジュールされた休み(h)になります。(一言で休みとは言っても、それぞれに制約式が異なるので、異なる名前をつけざるをえないのです。)
 
5日連続勤務がないことは、この場合MUSTですからソフト制約の列は空欄になります。
代わりにスケジュールされた休みをソフト制約としています。試しに、このソフト制約のチェック5を外して求解すると、下のように”す"でいっぱい入ってしまいます。前月で”す”が入っているのは、制約が効かないからです。
これではいけないので、やはりソフト制約5をEnableしてみると
ちゃんと最小化してくれて、”す”がない勤務表になりました。
今月は、たまたま、必要がありませんでしたが、この制約がないと、スタッフの希望や予定を入れたり、あるいは、休みの少ない月に”解がありません”、とスケジュールナースに言われる可能性があります。そうならないように、しっかり予防的制約を入れました。
ここまで、フレキシブルに対応できるのは、勤務表作成ソフト、スケジュールナースが、制約プログラミングを採用しているためだと思います。

0 件のコメント:

コメントを投稿