スタッフ勤務表システムの研究開発に着手しており、ミームアルゴリズムなどの提案されたアルゴリズムがいくつかあることは知っていますが、ウェブ上で追加情報を見つけることができません.
これらのアルゴリズムをより適切に説明する研究ジャーナルや疑似コードを知っている人はいますか?
ありがとう、デヴァン
スタッフ勤務表システムの研究開発に着手しており、ミームアルゴリズムなどの提案されたアルゴリズムがいくつかあることは知っていますが、ウェブ上で追加情報を見つけることができません.
これらのアルゴリズムをより適切に説明する研究ジャーナルや疑似コードを知っている人はいますか?
ありがとう、デヴァン
便利なドキュメントは次のとおりです。
少しの理論と擬似コードが含まれています。
スケジューリング問題はNP困難であり、通常は遺伝的アルゴリズム(GA)を使用して解決されます。
ウィキペディアの記事からGAの学習を開始できます
また、「シミュレーテッド アニーリング」と呼ばれる手法も参照してください。遺伝的アルゴリズムと同様に、これは評価関数を使用して候補解の品質を決定しますが、候補の生成はより単純になる傾向があります。各タイプのアルゴリズムは、特定の状況でより良い結果をもたらします。Google の簡単な調査によると、遺伝的アルゴリズムの方が優れているように感じますが、アニーリングの方が実装が速くなります。
これは比較論文です(スケジューリングではなく、別のドメイン用): http://www.ee.utulsa.edu/~tmanikas/Pubs/gasa-TR-96-101.pdf
大規模なスケジューリング アプリケーションでシミュレーテッド アニーリングを使用しましたが、うまく機能しました。
正直なところ、スタッフの数が約 40 人未満の場合は、名簿を視覚的に表現して、ユーザーにスケジュールを最終的に決めてもらうことをお勧めします。おそらく、最初にアルゴリズムを使用して候補スケジュールを作成し、ユーザーにそれを試してもらうでしょう。評価機能を使用して、ユーザーの作業をチェックし、ソリューションの良さについてフィードバックを提供することもできます。
名簿スケジュールを設定する際に考慮すべき問題は数多くあるため、遺伝的アルゴリズムに関する aku のヒントが最適です。
このようなアルゴリズムの名簿の品質を判断するには、優れた評価関数が必要です。次のようなことを検討できますし、検討する必要があります (ただし、これらに限定されません)。
私はしばらく前にこれらの人たちによる名簿のアルゴ紙を読みました。
または ORを使用して;)