第 5 章 ナーススケジューリング問題
5.6 第 5 章のまとめ
本章では,ナーススケジューリング問題の厳密解に対する効率的な解法について研究した.
まず,MILPとSATによる解法を提案して,実験的に効率を比較した.MILPによるNSPの
98 第5章 ナーススケジューリング問題
表 5.5: 論理和表現と一対一表現の実行時間の比較
問題 論理和表現
最大ペナルティ 変数数 条件数 前処理時間(秒) SAT実行時間(秒)
S01 3 21527 151119 12.9 44.3
S02 14 * 41965 466107 14.7 18.1
S03 4 24882 177947 10.4 61.5
S04 4 24982 178547 10.3 51.9
S05 3 21578 151260 12.0 69.1
M01 1 59369 434100 * *
M02 1 49942 377532 71.6 1278.3
M03 1 39534 338666 40.2 229.6
M04 1 49656 374746 72.7 985.3
M05 1 60429 435796 * *
問題 一対一表現
最大ペナルティ 変数数 条件数 前処理時間(秒) SAT実行時間(秒)
S01 3 21747 131097 12.8 15.4
S02 14 63571 2732669 97.7 40.8
S03 4 25022 147768 12.2 12.3
S04 4 25122 148148 12.0 11.7
S05 3 21798 131118 12.7 18.2
M01 1 51585 658620 813.2 634.4
M02 1 51482 675378 849.1 1051.7
M03 1 46142 656784 768.0 180.4
M04 1 51465 657568 817.8 315.4
M05 1 51881 693960 868.1 610.1
記述は,比較的直接的に行える.これは,MILPの記述性の高さによるが,SATによる記述 では和の表現が大きな障害となる.そこで,非常に多くの論理変数を必要とするのだが,論 理表現によって和を表現した.実験結果としては,MILPはシフト数の少ない問題について は有効であるが,これは,MILPを解く際に実行されるLPの解が小数になりにくいことが 原因である.SATの場合は,シフト数が多くても,効率的に問題を解けることがわかった.
特に,ペナルティの数が少なく,シフト数が多い場合は,MILPでは最適解の証明に困難が あったが,SATの場合は問題を短時間で解くことができた.
しかし,SATの場合は,やはり,和の表現に問題があることがわかった.そこで,論理表 現に対して,一対一表現を導入した.この結果,実行時間を短縮できることがわかった.こ れは,一対一表現が和を直接的に表現していることに理由があると考えられる.
ナーススケジューリング問題は,現実的に重要な問題である.勤務表は一度求められても,
様々な理由により,何度も修正されることが予想される.このようなときに,近似解である 勤務表よりも厳密解である勤務表のほうが説得力があるため,本章で述べたような厳密解法 は意味がある.しかしながら,インタラクティブに勤務表を作成する場合は,より短時間で コンピュータは人間に解を提示する必要があると思われるため,さらなる効率化,例えば,
並列処理の導入,などが実用的に必要となると考えられる.
第 6 章 おわりに
本論文では,三つの組合せ最適化問題について,厳密解を効率良く求める手法を研究した.
本章では,各問題における結論をまとめると共に,組合せ最適化問題の厳密解法について考 察する.