よくある誤解で、
■ソルバが高速である
■高精度である
ことは、まったくの別物です。速ければ、最適解が出るのも早いだろう、というのは思いこみです。性能が劣るソルバは、
どんなに時間を掛けても大抵の場合、最適解に到達することはありません。
最適解にどれだけ近づけるか?というのは、ソルバ(人間含む)で決まります。その比較データを公開したいのですが、残念なことにスケジュールナース以外は、ベンチマークを公開していないので、比較することが出来ません。別途、A社、B社という形で論文にまとめたいと思っているので、他社データを提供してもよい、という方は、サポートまでご連絡ください。お礼は、スケジュールナース買い切り版(11万円)のプレゼントです。
大学病院関係のユーザさまにもご協力いただきたいと思っているので、お願いに伺うことがあると思いますが、その際はよろしくお願いします。(実際のところ、現在、題意に沿う評価データを有しているのは、ベンダではなくて各社を同一基準で評価した大病院だと思います。)
なぜ、他社を評価したことがないのに上が言い切れるか?というと、答えは探索空間にあります。まともに探索していたのでは、普段普通のインスタンスでさえ宇宙的な時間が必要であることは、前に説明しました。
https://schedule-nurse.blogspot.com/2026/05/blog-post_21.htm
そこで、ソフトウェアがやっていることは、不要な探索空間は探索しないことにする、です。これを枝刈り(pruning)と言っています。ソフトウェアの性能は、このアルゴリズム、枝刈り能力で決まるといっても過言ではありません。
最適化ソルバには、二つのアプローチがあります。
1)SAT的アプローチ(枝刈りは、ハード制約のみに限定される)
2)OR的(数理的線形制約アプローチ、枝刈りは、ソフト制約にも適用可能)
もうひとつ、メタヒューリスティクス的アプローチもあるのですが、厳密解が出ないためここでは除外します。ほとんどのナーススケジューリング問題のソフトウェアは、メタヒューリスティクスのアプローチを取っています。僅かなメーカだけが、2)手法を取っています。
0 件のコメント:
コメントを投稿