How to choose DiffMinChange value?

4 Ansichten (letzte 30 Tage)
Selvaprakash Vijayaraman
Selvaprakash Vijayaraman am 16 Mai 2020
Beantwortet: Alan Weiss am 20 Mai 2020
Dear all,
I am running an optimisation program with the Optimisation settings shown below :
%% Optimisation settings
lb = [];
ub = [];
options = optimoptions(@fmincon,'Algorithm','interior-point','DiffMinChange',0.00089205,'StepTolerance',1.0000e-12,'MaxFunctionEvaluations',100000,'plotFcns',{@optimplotx,@optimplotconstrviolation,@optimplotfval,@optimplotfirstorderopt});
[pos_opt,fval,exitflag,output,lambda,grad,hessian] = fmincon(@(pos_init) objective(pos_init,XX,YY),pos_init,[],[],[],[],lb,ub,@(pos_init) nonlinconst(pos_init),options);
I am ending up getting the first order optimality around 0.138524. In principal the first order optimality should me closer to zero. Is there any optimal value for DiffMinChange I have to take depending on the problem, so that the optimality will reach zero.
The optimisation is going in the proper direction but not reaching zero.
  2 Kommentare
Walter Roberson
Walter Roberson am 16 Mai 2020
Remember that fmincon() is not a global optimizer. You probably need better initial conditions.
Selvaprakash Vijayaraman
Selvaprakash Vijayaraman am 19 Mai 2020
I have chosen a better initial condition but even now I am getting the first order optimality around 0.01 (its a major improvement) which is not close to zero.
I rechecked all my formulations and I reached this point, Choose an even better Initial condition and choose different DiffMinChange value.
Should I go for any global optimiser?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Alan Weiss
Alan Weiss am 20 Mai 2020
Alan Weiss
MATLAB mathematical toolbox documentation

Kategorien

Mehr zu Problem-Based Optimization Setup 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!

Translated by