遺伝的アルゴリズム(GA)を使用して時刻表を生成するための解決策を探しています。私のシナリオでは、6 日間のタイムテーブルを表示しています。月曜日から土曜日。
1日を講義数・時間帯に分けています。
教師、学生グループ(セット)、および講義で構成されるクラスを表現しようとしました。私は、可能な教師、可能な科目、可能な学生グループのプールを維持しています。そして、それらをこれらのクラスにランダムに割り当てます。
したがって、クラスはこれらすべての参照のコレクションです。そのため、タイムスロットごとに Class オブジェクト表現が含まれています。同様に、1 日は講義の数で構成されています クラス オブジェクトの表現。など、1 週間は 6 日間です。
私が持っている可能な制約のセットは次のとおりです。
1. 教師は 1 つの時間枠で 1 つの講義しか受講できない
2. 教師は一連の科目を受講できる (有限)
3. 教師は特定の日に不在である
ことができる 4. 教師は特定の時間帯で不在であることができる
また、最近含まれる可能性のあるその他の制約。
これらの制約を表現したり、これらの制約を処理したりする方法について、誰かが私にアイデアを与えることができますか? 制約に応じてフィットネススコアを計算する方法は?