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

3 次查看(过去 30 天)
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.

采纳的回答

Alan Weiss
Alan Weiss 2021-4-29
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multiobjective Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by