MATLAB Answers

How can I define fitness limit for multiple objectives when using gamultiobj

3 views (last 30 days)
Veector on 27 Apr 2021
Commented: Veector on 4 May 2021
Hello, please pardon my rusty matlab skills...
In working with single objective genetic optimization tool, I am able to define limit on the fitness function using:
opts.FitnessLimit = -100;
[x,fval] = ga(@objfunEff,nvars,A,B,Aeq,Beq,lb,ub,@confun,IntCon,opts);
However, I am working on multiobjective functions using gamultiobj but I do not know how to the fitness limit for the fitness functions.
I know this is not right, but this describes what I want to do
opts.FitnessLimit (1) = -100; %fitness limit for f(1)
opts.FitnessLimit (2) = -10; %fitness limit for f(2)
[x,fval] = ga(@objfunEff,nvars,A,B,Aeq,Beq,lb,ub,@confun,IntCon,opts);
Any help or link would be appreciated.

Accepted Answer

Alan Weiss
Alan Weiss on 29 Apr 2021
You can set Nonlinear Constraints in gamultiobj to keep the objective functions within the limits you like. Or you can simply postprocess the resulting Pareto set to discard all points that do not satisfy your constraints. But, of course, that might cause you to end up with too few points.
Alan Weiss
MATLAB mathematical toolbox documentation

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!