数十人のパートタイム従業員がいる小さな地元のビジネス(私の場合は犬の託児所)を想像してください。目標は、毎週のスタッフスケジュールを自動的に作成することです。私の質問は、この問題についてどのアルゴリズム的アプローチを検討するかについてです。
心に留めておくべき多くの制約があります。主に(1)スタッフの可用性と(2)各シフトのニーズ。各シフトのスタッフ数だけでなく、各シフトに必要なスキル(例えば、特定のシフト、犬の送迎を行うための運転方法を知っている人が必要な場合があります。また、犬の入浴方法を知っている人が必要な場合もあります。
他の制約としては、特定のスタッフのコンボを回避または必要とすることなどがあります-おそらく一方の人格の衝突、または他方では先輩から後輩のスタッフへの浸透によるトレーニングの必要性が原因です。
また、考慮すべき設定があります。一部のスタッフは、月曜日や木曜日などと言うよりも、2日連続で午前中を好む場合があります。実際、従業員が自分の選択を最初に受ける階層があります。
この問題を既存の解決済みのアルゴリズムに還元または表現する方法があると思います。しかし、どのアルゴリズムを探索するのかわかりません。どの既存の特定のアルゴリズムが最も有望ですか?
4
en.wikipedia.org/wiki/Schedule_%28workplace%29およびen.wikipedia.org/wiki/Nurse_scheduling_problem
JBossのDroolsのサイトから入手できる完全なソリューションがあります:optaplanner.orgは -あなたは、このような週あたりの最大時間などのスケジュールの制約、などを成文化する必要がある
—
BobDalgleish
これは、NP完全であることが知られているSAT問題と同等であると思われますが、合理的な結果を得る良いアルゴリズムは間違いありません。
—
デビッドコンラッド14