How to choose DiffMinChange value?

5 visualizaciones (últimos 30 días)
Selvaprakash Vijayaraman
Selvaprakash Vijayaraman el 16 de Mayo de 2020
Respondida: Alan Weiss el 20 de Mayo de 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 comentarios
Walter Roberson
Walter Roberson el 16 de Mayo de 2020
Remember that fmincon() is not a global optimizer. You probably need better initial conditions.
Selvaprakash Vijayaraman
Selvaprakash Vijayaraman el 19 de Mayo de 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?

Iniciar sesión para comentar.

Respuestas (1)

Alan Weiss
Alan Weiss el 20 de Mayo de 2020
Alan Weiss
MATLAB mathematical toolbox documentation

Categorías

Más información sobre Problem-Based Optimization Setup en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by