How can I find a Pareto optimal using weighted sum method in Multi objective optimization ?

4 次查看(过去 30 天)
Hi All,
I am new to the MOOP problem. I would like to find out pareto optimal front using weighted sum method. So I tried the following code,
objective1=x3+y2;
objective2=y2-4x;
x0=[1,1];
w1=linspace(0,1,N);
w2=1-w1;
sol=nan(3,N);
for i=1:N
FWS=@(x) w1(i)* (x).^3 +(y).^2 + w2(i)* (y).^2 - 4x;
%sol(:,i)=fminunc(FWS,x0(:));
[x,fval] = fminunc(FWS,x0);
end
Finally I got the error like,
Error using fminunc (line 368)
Supplied objective function must return a scalar value.
Can anyone help me to clear this problem really appreciated?
Thanks

回答(1 个)

Alan Weiss
Alan Weiss 2019-8-22
There are several approaches to finding Pareto fronts. This example uses fgoalattain, but you can easily modify it to use fminunc.
Alan Weiss
MATLAB mathematical toolbox documentation

类别

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