現実的には、どれ位の規模なら最適解は、求まるか?
ナーススケジューリング問題とは? では、規模が大きくなると、現実的な時間内に最適解が求められなくなる問題であることを説明しました。では、一体どれ位の規模ならば、最適解は求まるのか?について見てみましょう。
次の表は、スケジューリングベンチマークサイト
における、各インスタンスの最適解発見の年を表にしたものです。
このベンチマーク集の発表は、2014年ですので、2014年度に求まっているインスタンスについては、簡単な問題であると考えて差し支えありません。 このインスタンス群(スケジュールナース上では、プロジェクト群と言い換えてもOKです。)は、下に行くに従って規模が大きくなっていきます。例えば、Instance1は、2週間、スタッフ8人、シフト数1という問題ですが、Instance24は、52週(1年),スタッフ数150、シフト数32となっています。
未解決の問題は、インスタンス23,24のみとなっていますが、下に行くほど、発見年が最近になっていることがお分かりでしょう。 このベンチマークは、PC性能やテスト時間の制限はありません。それでも、スタッフ数100人を超え、期間1年といった超大規模の問題では、最適解は分かっていません。
このベンチマークに挑んでいるのは、最新性能の現代最高のソルバ群です。それでも、規模が大きくなれば、現実的な時間内に、最適解を見つけるのは、難しい、それがナーススケジューリング問題です。
それよりも、規模は小さくなりますが、毎月そのナーススケジューリング問題を解いているのが皆さんです。
例えば、インスタンス8は、皆さんが普段解いている問題の規模(期間4週、スタッフ数30、シフト数8)に近いものです。それでも最適解の発見は、2017です。つまり、皆さんが普通に解いている規模でも、最適解を得るのが難しい問題があり得ることを示しています。要するに、最新性能のソルバを持ってしても、最適解を得るのは、現代でも難しい、それがナーススケジューリング問題です。 一方で、それより規模が大きくても、発表年度と同時期に解けている問題もあります。規模が大きくなれば難しくなる、という傾向は、間違いではないのですが、規模が小さいから簡単に解ける筈、ということでもないのです。
インスタンス名 | 週 | スタッフ数 | シフト数 | 発見年 | 備考 |
---|---|---|---|---|---|
Instance1 | 2 | 8 | 1 | 2014 | |
Instance2 | 2 | 14 | 2 | 2014 | |
Instance3 | 2 | 20 | 3 | 2014 | |
Instance4 | 4 | 10 | 2 | 2014 | |
Instance5 | 4 | 16 | 2 | 2014 | |
Instance6 | 4 | 18 | 3 | 2014 | |
Instance7 | 4 | 20 | 3 | 2014 | |
Instance8 | 4 | 30 | 4 | 2017 | |
Instance9 | 4 | 36 | 4 | 2017 | |
Instance10 | 4 | 40 | 5 | 2014 | |
Instance11 | 4 | 50 | 6 | 2014 | |
Instance12 | 4 | 60 | 10 | 2014 | |
Instance13 | 4 | 120 | 8 | 2017 | |
Instance14 | 6 | 32 | 4 | 2017 | |
Instance15 | 6 | 45 | 6 | 2022 | |
Instance16 | 8 | 20 | 3 | 2017 | |
Instance17 | 8 | 32 | 4 | 2017 | |
Instance18 | 12 | 22 | 3 | 2017 | |
Instance19 | 12 | 40 | 5 | 2020 | |
Instance20 | 26 | 50 | 6 | 2020 | |
Instance21 | 26 | 100 | 8 | 2021 | 菅原システムズ |
Instance22 | 52 | 50 | 10 | 2022 | 菅原システムズ |
Instance23 | 52 | 100 | 16 | ||
Instance24 | 52 | 150 | 32 |
自分達の問題が難しいのか、難しくないのかは、普通のシフト勤務表ソフトでは、知りえません。ただ出てきた答えが最良だと信じるしかない、という方が殆どではないでしょうか?