Difference in function evaluations between ga and gamultiobj
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
mpmiller91
el 26 de Jul. de 2016
Respondida: Alan Weiss
el 27 de Jul. de 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 comentarios
Respuesta aceptada
Alan Weiss
el 27 de Jul. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Particle Swarm en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!