小規模多機能施設は、多くの場合、複数の介護関係施設からなる
一例として、次のようなシフトが定義されているものとします。
このプロジェクトでは、グループホームが二つあり、さらに訪問介護が3つ、デイサービスもあります。
シフト
項 | シフト名 |
---|---|
1 | グループホーム№1早番 |
2 | グループホーム№1日勤 |
3 | グループホーム№1遅番 |
4 | グループホーム№1夜勤 |
5 | グループホーム№2日勤 |
6 | グループホーム№2夜勤 |
7 | 調理A早番 |
8 | 調理A遅番 |
9 | 調理B早番 |
10 | 調理B遅番 |
11 | 訪問介護A早番 |
12 | 訪問介護A遅番 |
13 | 訪問介護C |
14 | 訪問介護B |
15 | 夜勤A |
16 | 夜勤B |
17 | デイサービス |
18 | デイサービス看護師 |
19 | 明け |
20 | 休み |
21 | 有給 |
上記が全ての制約の土台となります。
仕事をシフトと定義する場合、全てのスタッフが全ての仕事を仕事をこなせるスキルがあるとは考えられません。必要シフトのみが割りあてられるように記述する必要があります。 その目的のための記述が、次のスタッフ毎のシフトになります。
どのような施設形態、シフト形態であっても、それに応じて制約を記述していけばよいです。言わば「世界に一つだけのルールを持った職場」のルール構築がスケジュールナースでは可能となります。
スタッフ毎のシフト
次のような表をスケジュールナースに記述します。
スタッフ名 | グループホーム№1早番 | グループホーム№1日勤 | グループホーム№1遅番 | グループホーム№1夜勤 | グループホーム№2日勤 | グループホーム№2夜勤 | 調理A早番 | 調理A遅番 | 調理B早番 | 調理B遅番 | 訪問介護A早番 | 訪問介護A遅番 | 訪問介護C | 訪問介護B | 夜勤A | 夜勤B | デイサービス | デイサービス看護師 | 明け | 休み | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
スタッフ名1 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||||
スタッフ名2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||||
スタッフ名3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||||
スタッフ名4 | ✓ | ✓ | ✓ | ||||||||||||||||||
スタッフ名5 | ✓ | ✓ | ✓ | ||||||||||||||||||
スタッフ名6 | ✓ | ✓ | ✓ | ||||||||||||||||||
スタッフ名7 | ✓ | ✓ | ✓ | ✓ | |||||||||||||||||
スタッフ名8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||||
スタッフ名9 | ✓ | ✓ | ✓ | ||||||||||||||||||
スタッフ名10 | ✓ | ✓ | ✓ | ||||||||||||||||||
スタッフ名11 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||
スタッフ名12 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
スタッフ名13 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||||
スタッフ名14 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||
スタッフ名15 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||||
スタッフ名16 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
スタッフ名17 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
スタッフ名18 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||
スタッフ名19 | ✓ | ✓ | ✓ | ✓ | |||||||||||||||||
スタッフ名20 | ✓ | ✓ | ✓ | ||||||||||||||||||
スタッフ名21 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
スタッフ名22 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
スタッフ名23 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
スタッフ名24 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
スタッフ名25 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
スタッフ名26 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
スタッフ名27 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
スタッフ名28 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||
スタッフ名29 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||
スタッフ名30 | ✓ | ✓ | ✓ | ✓ | |||||||||||||||||
スタッフ名31 | ✓ | ✓ | ✓ | ✓ | |||||||||||||||||
スタッフ名32 | ✓ | ✓ | ✓ | ✓ | |||||||||||||||||
スタッフ名33 | ✓ | ✓ | ✓ | ||||||||||||||||||
スタッフ名34 | ✓ | ✓ | ✓ |
このようなシフトは、疎行列の形になっていて、求解時間の観点からも好ましいものとなります。できるだけ疎な方が求解時間は速くなる傾向になります。
これがそのまま、スケジュールナースで次になります。
大規模な表なので、Excelを利用して記述することをお勧めします。詳しくは、Kindle本
をご参照ください。
ここでの問題は、月毎に仕事の異動がある場合です。上表を書き換えることになりますが、その場合先月部にハードエラーが生じる可能性があります。
そこで、「先月部の矛盾する予定シフトをソフト制約化」のオプションにチェックしておくようにしましょう。こうしておくと、矛盾する先月予定はソフト制約化されるので、ハードエラーが生じることがなくなります。
プロジェクト
プロジェクトは、以下です。
ダウンロード
して、実装の参考にしてください。