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

1 Ansicht (letzte 30 Tage)
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!

Akzeptierte Antwort

Matt J
Matt J am 5 Nov. 2021
Bearbeitet: Matt J am 5 Nov. 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)];

Weitere Antworten (0)

Kategorien

Mehr zu Multiobjective Optimization 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!

Translated by