Difference in function evaluations between ga and gamultiobj
5 ビュー (過去 30 日間)
古いコメントを表示
Hi everyone,
I currently have an optimization problem with 18 variables, Lower and upper bounds, as well as one constraint function specifying that -x(9)+x(10)<=0 (inequality). I normally use a population of 200, and 100 generations, however once I started noticing issues, I reduced the number of generations to 3.
When I run ga, and output the number of function evaluations I get 2600. This seems way too high as my function evaluations should equal to Population+(Population*Generations).
When I run gamultiobj, but I only calculate a single objective (I normally calculate 2 objectives but for the purpose of this comparison I changed it to 1), I get 800 function evaluations which seems correct.
Is there a fundamental difference between ga and gamultiobj that would explain the large discrepancy between the number of evaluations needed? The 2600 does not make sense to me...
Thanks in advance!
0 件のコメント
採用された回答
Alan Weiss
2016 年 7 月 27 日
You are probably specifying your inequality constraint as a nonlinear constraint. If you specify it as a linear constraint, then ga will take many fewer iterations and generations.
Alan Weiss
MATLAB mathematical toolbox documentation
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Particle Swarm についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!