勤務の偏りを抑える 
   -自動勤務表作成ソフトの賢い使い方を考える-

夜勤がある週に集中していたり、2連続休みが近接していたりした場合の制約の追加方法について述べます。このデザインパターンは、他の早番や遅番といったシフトにも応用が可能です。

1.夜勤間隔

下の2交代勤務表を見ると夜勤間隔が短いところが散見されます。夜勤が局所に偏るのは好ましくないので、制約を追加することにしましょう。


行制約のページで、下の青部をチェックします。これらのパターンを禁止すれば、夜勤間隔はこれより大きくなるはずです。やりすぎると「解がない」ことになってしまうので、求解速度の低下がない程度に止めておきましょう。


この例の場合、全部チェックすると以下のようになります。一応解は、求まっていますが、ちょっとやりすぎのような気がします。


2.連続休みの間隔


このプロジェクトの場合、2連休が2回以上という制約が必要です。下図は、これに関しなんら制約が入っていませんが、近接しているところもあります。


連続休み2回以上で、かつ、休みが密集しないようにするには、次のように記述します。

3連休を2連休2回とカウントしないようにしています。

この制約を適用するときは、適用にチェック入れます。一気に関連制約が効きます。(このようなまとめ方をした方がメンテナンスが楽かと思います。)



ここで、前の月からの流れも考慮すると、新しい曜日集合が必要になります。「制約日の7日前から」という曜日集合は、以下で定義を追加しました。



前の月の分も厳密に考慮するならば、「制約開始日8日前から」、、といった曜日集合定義を追加する必要がありますが、そこまで、「厳密にしなくても、、」 ということで、このように記述しました。





結果、2連休は、最小10日間隔となります。この例の場合、潤沢な公休があるので、求解に支障はないですが、入れすぎると、求解が苦しくなってくるので、求解速度の変化を見ながら負担にならないように設計してください。

[Prev] [Next] [Index] [Home]