そこで、
- 勤務は最大で4日連続
スケジュールナースで、タイムアウトが出ていないときは、厳密解です。この場合タイムアウトは出ていませんでしたので物理的に配置不可能な場合が存在する、という結論です。
解決案としては、二つあり
- 最大の努力をし配置不能のときは諦める(最大5日も可とする。配置不能の数を最小にするソフト制約)
- 年休を割り当てる(配置できないときは、年休を割り当て最大4日連続をKeepする)
まず、1からプログラムしましょう。
5日連続勤務を不可とし、それをソフト制約とすればよさそうです。
”不可”=最大でその数が0
であるので、xを休みとすると、なんらかの勤務はその否定!xになります。
5日連続勤務は、
!x!x!x!x!x 最大数 0
という制約になります。これをソフト制約とすればよいのです。
(勤務表ソフト、スケジュールナースは、制約プログラミングでスケジュール制約を記述します。)
職場は、ICUです。
結構、スタッフ希望と予定を入れても組めるようですね。
勤務表ソフト、スケジュールナースで自動作成した結果は下図です。
ちゃんと4日MAXになっています。この求解に要した時間は3秒でした。
0 件のコメント:
コメントを投稿