私は多くのチュートリアル、論文を読み、遺伝的アルゴリズムの概念を理解しましたが、Matlab で問題を実装するにはいくつかの問題があります。
要約すると、私は持っています:
3 つの遺伝子 [ abc ] を含み、各遺伝子がいくつかの異なる制限によって制約されている染色体。
最適解を見つけるために評価する目的関数
私がしたこと:
a、b、c の生成されたランダム値、たとえば 20 個の母集団。すなわち
[a1 b1 c1] [a2 b2 c2]…..[a20 b20 c20]各解で、目的関数を評価し、解を最良のものから最悪のものまでランク付けしました。
私が直面した困難:
では、なぜ交叉と突然変異を行う必要があるのでしょうか。私が見つけた最善の解決策は十分ではありませんか?
クロスオーバー (乱数の生成、確率など) の概念は知っていますが、クロスオーバーまたは突然変異を行うために、どの親とその数が選択されるのでしょうか?
20 個のソリューション全体 (親) に対してクロスオーバーを行うべきですか、それとも 2 つだけに対して行うべきですか?