2016-05-14 12 views
0

遺伝的アルゴリズムを使用してこの問題を解決しようとしています。しかし、フィットネス値を計算する方法を見つけることができません。私はプログラムを書いているのではなく、ただ紙でこれを解決しています。
問題点私は衝突を克服するフィットネス値を見つけることができません。例えばclass1とclass2を同じ日にすることはできません。遺伝的アルゴリズムを使用した小時間テーブル

各教授は一度に1つのクラスのみを教えることができます。


月曜日
水曜日
金曜日

クラスは次のとおりです。
クラス1 - プログラミング入門:00-9:00am 8から満たしています。
クラス2 - 人工知能入門:8から満たしている:30-9:30AM
クラス3 - 自然言語処理:9から満たしている:00-10:00am
クラス4 - コンピュータビジョン:9:00から満たしています-10:00am
クラス5 - 機械学習:9から満たしている:30-10:30AM

教授は、次のとおりです。提供されています
教授Aは、クラス3および4
教授Bを教えるために、クラス2、3、4、5を教えることができます。
教授C、who isクラス1,2,3,4,5を教えることができます。

どのような助けもあります。

+0

お手伝いをしてください:あなたのフィットネス機能は、現在どのようになっていますか? – Ray

答えて

0

あなたのシナリオでは、フィットネス関数は、ソリューションによって作成される衝突の数を示す必要があるため、負の値のようなものがあります。例えば。クラスが衝突すると-100、Profsが衝突すると-50となります。フィットネス値0は、すべての必要な制約を満たすソリューションになります。

教授のワークロードのバランスを考慮して、ソリューションを尊重するロジックを追加することもできます。シンプルな考え方は、最低と最高のprofワークロードの差を考慮に入れることです。差が小さいほど、適応度が高くなければなりません。制約の場合と同じように、差をもう一度減算するか、逆にします。 100/diff。

関連する問題