まず、会議の要件について考えてみます。
会議の要件
- 会議資格者(スタッフプロパティで設定する。副看護師長等)だけが会議に参加する
- 会議は日勤時に行う
- 会議は、全会議資格者が揃ってはじめて開催可能
- 会議が長引く可能性があるので深夜入り(次の勤務が深夜)は入れない
- その月の会議回数は、複数回があり得る
- "会"というシフトを設ける。性質は日勤に準じる
- その月の会議回数はマクロ(今月の会議回数)で指定する
- 資格者はスタッフプロパティで設定
- 会議の後は深夜を禁止する
- 資格者は、今月の会議回数、過不足なく会議を行う
- "資格者が揃って" ー>ペア強制を使う
という感じでプログラムしていきます。
”今月の会議数”というマクロを設定しています。(次月以降はここだけを変えればよい。)
会議というシフト変数を作ります。名前をC、ラベルを”会”としています。
会議に参加する人プロパティリンクを変更します。 (青色部)
Day制約は、祝日でも、休診日でもない日にCを追加します。
会議のパターンを定義(青部)しています。
日勤の定義をmとしています。m=N | C です。Nは、今までの日勤定義でしたが、
一般化した日勤をmとして、mに関する制約にしています。
今月の会議数を2に設定したときに得られた解です。
12日に設定するとTimeout(20秒)で見つかりませんでした。
スケジューリングソフト スケジュールナースでこの求解に109秒かかりました。
0 件のコメント:
コメントを投稿