it seems that options for fmincon cannot be set by sdpsettings

50 views
Skip to first unread message

Xinwei Shen

unread,
Oct 9, 2017, 4:35:48 PM10/9/17
to YALMIP
ops = sdpsettings('solver','fmincon','usex0',1,'fmincon.TolCon',1e-2,'fmincon.TolFun',1,'fmincon.TolFunValue',1);
Firstly, which one is the FunctionTolerance as https://cn.mathworks.com/help/optim/ug/tolerances-and-stopping-criteria.html ? Or, 'fmincon.TolFun' or 'fmincon.TolFunValue'?

Secondly, according to the displayed progress, fmincon didn't stop when the tolerance of functionvalue step reach 1. Here are some rows at the end.

                                            First-order      Norm of
 Iter F-count            f(x)  Feasibility   optimality         step
  541    2899    1.181659e+04    5.626e-04    2.172e+02    2.210e-03
  542    2905    1.181659e+04    5.616e-04    2.172e+02    2.211e-03
  543    2911    1.181658e+04    5.608e-04    2.172e+02    2.210e-03
  544    2917    1.181658e+04    5.599e-04    2.172e+02    2.211e-03
  545    2923    1.181657e+04    5.592e-04    2.172e+02    2.210e-03
  546    2929    1.181657e+04    5.583e-04    2.172e+02    2.211e-03
  547    2935    1.181656e+04    5.576e-04    2.172e+02    2.209e-03
  548    2941    1.181655e+04    5.568e-04    2.172e+02    2.210e-03
  549    2947    1.181655e+04    5.561e-04    2.172e+02    2.209e-03
  550    2953    1.181654e+04    5.553e-04    2.172e+02    2.210e-03
  551    2959    1.181654e+04    5.547e-04    2.172e+02    2.209e-03
  552    2965    1.181653e+04    5.539e-04    2.172e+02    2.210e-03
  553    2971    1.181653e+04    5.533e-04    2.172e+02    2.208e-03
  554    2977    1.181652e+04    5.526e-04    2.172e+02    2.209e-03
  555    2983    1.181651e+04    5.520e-04    2.172e+02    2.208e-03
  556    2989    1.181651e+04    5.513e-04    2.172e+02    2.209e-03
  557    2995    1.181650e+04    5.508e-04    2.172e+02    2.207e-03


Johan Löfberg

unread,
Oct 10, 2017, 2:29:08 AM10/10/17
to YALMIP
The options for fmincon are created by ops.fmincon = fmincon('defaults'). For some weird reason, they have inconsistent constructors so fmincon('defaults') gives a completely different options structure compared to optimset('fmincon')

In that struct, the options are TolFun and TolFunval




Xinwei Shen

unread,
Oct 10, 2017, 7:32:55 PM10/10/17
to YALMIP
Hi Johan, I still confused, so, which one is FunctionTolerance, TolFun or TolFunval?

Johan Löfberg

unread,
Oct 11, 2017, 3:28:37 AM10/11/17
to YALMIP
Don't know
Reply all
Reply to author
Forward
0 new messages