Why each time algorithm "interior point" is shown in output even if I use different algorithm?

1 次查看(过去 30 天)
My fitness function is as below:
function out=myfitness(b)
u = [1 2 3 4];
out1 = u-b;
out = sum(out1.^2,2);
end
When I use the following code
clear all
clc
FUN = @myfitness;
%OPTIONS =optimoptions('fmincon','Algorithm','sqp'); % For SQP
%OPTIONS =optimoptions('fmincon','Algorithm','sqp-legacy'); % For SQP-Legacy
%OPTIONS =optimoptions('fmincon','Algorithm','trust-region-reflective'); % For Trust-region reflective
OPTIONS =optimoptions('fmincon','Algorithm','active-set'); % For Active Set
xo = [pi/2 pi/2 pi/2 pi/2]; % Starting point
%[x,fval] = patternsearch(ObjectiveFunction,x0); % For patternsearch
[x,fval,exitflag,output]= fmincon(FUN,xo);
It gives me my result. But when I check output variable "output", I see that each time "interior-point" is written in the algorithm inspite of the fact I use active-set or sqp or sqp-legacy i.e.,
output =
struct with fields:
iterations: 2
funcCount: 15
constrviolation: 0
stepsize: 2.9075
algorithm: 'interior-point'
firstorderopt: 3.9890e-08
cgiterations: 0
message: 'Local minimum found that satisfies the constra…'
Why it is so?

采纳的回答

Alan Weiss
Alan Weiss 2021-4-22
You didn't pass the options to fmincon.
[x,fval,exitflag,output]= fmincon(FUN,xo,[],[],[],[],[],[],[],OPTIONS);
Alan Weiss
MATLAB mathematical toolbox documentation
  8 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by