How to pass several anonymous functions to the anonymous fitness function in gamultiobj()?

1 visualización (últimos 30 días)
Hi,
i want to optimize a problem with several objectives using gamultiobj(). I have 3 objective funtions, which i want to pass to the parameter fitnessfcn
The Matlab documentation for gamultiobj states, that this can e.g. be done like this:
fitnessfcn = @(x)[sin(x),2*cos(x)+2,4*tan(x)];
The actual objective functions, that I want to use are unfortunately not as straight forwart as sin(x) etc. and require more input:
objective1 = @(x) minimize_val1(x,input);
objective2 = @(x) minimize_val2(x,input);
objective3 = @(x) minimize_val3(x,input);
How do I pass those 3 anonymus functions to the fitnessfcn?
Thanks in advance!

Respuesta aceptada

Matt J
Matt J el 5 de Nov. de 2021
Editada: Matt J el 5 de Nov. de 2021
objective1 = @(x) minimize_val1(x,input1);
objective2 = @(x) minimize_val2(x,input2);
objective3 = @(x) minimize_val3(x,input3);
fitnessfcn = @(x)[objective1(x),objective2(x),objective3(x)];
or, even more directly,
fitnessfcn = @(x)[minimize_val1(x,input1),...
minimize_val2(x,input2),...
minimize_val3(x,input3)];

Más respuestas (0)

Categorías

Más información sobre Multiobjective Optimization 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