GAを用いた最適化の途中経過を可視化しようとすると世代数のカウントがおかしい
Show older comments
ga関数を使って最適化問題を解き、以下のサイトを参考に最適化の途中経過を動画化しようとしています。
評価関数は
で制約条件は
です。
で制約条件は
です。rosenbrock.mが目的関数、constraint.mが制約関数、myfun.mが出力関数で、ga_main.mで最適化を実行しています。
最適化自体は上手くいっているようなのですが、出力されるfigureの下半分、世代を表すプロットの様子がおかしく、確認のためstate.Generationで現在の世代数を取得すると数が飛んだりもう一度1世代目から始まったりします。
非線形制約を入れていることが影響しているらしく、ga_main.mの27行目で制約条件を外してみると問題なく動きます。しかし根本的な解決策が分かりません。
Accepted Answer
More Answers (0)
Categories
Find more on Genetic Algorithm in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!