Limiting function evaluations in gamultiobj

4 visualizaciones (últimos 30 días)
David Conkie
David Conkie el 2 de Abr. de 2018
Respondida: Alan Weiss el 2 de Abr. de 2018
Hi there,
I am trying to perform a multi-objective optimisation of a function with gamultiobj to obtain a pareto front. Part of the specification of the optimisation is that no more than 50,000 function evaluations should be completed. Is there a way to limit funccount so that it is always less than 50,000? I know it is based on population size and maximum generations but I am unsure what the relationship is.
Thanks in advance!

Respuestas (1)

Alan Weiss
Alan Weiss el 2 de Abr. de 2018
It depends on whether you perform vectorized function evaluations ( options.UseVectorized = true ) and whether you have nonlinear constraints. With no vectorization and no nonlinear constraints, then I believe that the fitness function is evaluated once per generation per individual. When there are nonlinear constraints, the process is much more involved. When there is vectorization and no nonlinear constraints, the fitness function is evaluated once per generation, all individuals at once. See How The Genetic Algorithm Works. So with no nonlinear constraints, you can limit the function count by limiting the number of generations.
I do not know how to limit this number effectively in the presence of nonlinear constraints.
Alan Weiss
MATLAB mathematical toolbox documentation

Categorías

Más información sobre Genetic Algorithm 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!

Translated by