Finding Pareto Front of Shaffer's 2nd function.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Ba Ba Black Sheep!
am 8 Jan. 2017
Beantwortet: brikh lamine
am 12 Okt. 2017
I couldn't understand what was wrong with the following code of mine,
main.m
x = -5:0.1:5;
y = schaffer2(x);
plot(x,y(:,1),'.r');
hold on
plot(x,y(:,2),'.b');
lb = -5;
ub = 5;
fminuncOptions = optimoptions(@fminunc, ...
'Display','iter', ...
'Algorithm','quasi-newton');
options = optimoptions('HybridFcn',{@fminunc, fminuncOptions});
options = optimoptions(options, 'gamultiobj', ...
'PopulationSize',60, ...
'PlotFcns',@gaplotpareto);
[x,f,exitflag] = gamultiobj(@schaffer2,1,[],[],[],[],lb,ub,options);
This code is generating the following error,
>> main
Error using optimoptions (line 114)
Invalid solver specified. Provide a solver name or handle (such as 'fmincon' or @fminunc).
Type DOC OPTIMOPTIONS for a list of solvers.
Error in main (line 15)
options = optimoptions('HybridFcn',{@fminunc, fminuncOptions});
>>
Can somebody explain why is this code generating error?
_____
schaffer2.m
function y = schaffer2(x) % y has two columns
% Initialize y for two objectives and for all x
y = zeros(length(x),2); % ready for vectorization
% Evaluate first objective.
% This objective is piecewise continuous.
for i = 1:length(x)
if x(i) <= 1
y(i,1) = -x(i);
elseif x(i) <=3
y(i,1) = x(i) -2;
elseif x(i) <=4
y(i,1) = 4 - x(i);
else
y(i,1) = x(i) - 4;
end
end
% Evaluate second objective
y(:,2) = (x -5).^2;
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 9 Jan. 2017
options = optimoptions(@gamultiobj, 'HybridFcn',{@fminunc, fminuncOptions});
0 Kommentare
Weitere Antworten (1)
brikh lamine
am 12 Okt. 2017
hello, I search the vector of the front Pareto real of the function of test Schaffer 2?
0 Kommentare
Siehe auch
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!