遺伝的アルゴリズム (GA) を使用して解決したいパラメーター選択の問題に直面しています。3000 の可能なパラメーターから 4 つ以下のパラメーターを選択することになっています。バイナリ染色体表現を使用することは、自然な選択のように思えます。評価関数は、あまりにも多くの「選択された」属性を罰し、属性の数が許容できる場合は、選択を評価します。
問題は、これらのまばらな条件では、GA が人口をほとんど改善できないことです。平均フィットネス コストも、「最悪」の個人のフィットネスも世代を超えて向上しません。私が見ているのは、最良の個人のスコアがわずかに (ごくわずかでも) 改善されていることだけです。これは、ランダム サンプリングの結果であると思います。
パラメータのインデックスを使用して問題をエンコードしても機能しません。これはおそらく、染色体には方向性があるが、選択の問題には方向性がないためです (つまり、染色体 [1, 2, 3, 4]; [4, 3, 2, 1]; [3, 2, 4, 1] 等は同一)
どのような問題表現を提案しますか?
PSこれが重要な場合は、PyEvolveを使用します。