Difference in function evaluations between ga and gamultiobj
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
mpmiller91
am 26 Jul. 2016
Beantwortet: Alan Weiss
am 27 Jul. 2016
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 Kommentare
Akzeptierte Antwort
Alan Weiss
am 27 Jul. 2016
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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Particle Swarm finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!