[Ipopt] Ipopt not converging - step size too small?

Stefan Vigerske stefan at math.hu-berlin.de
Wed Sep 18 09:33:44 EDT 2013


Hi,

There are two options that specify the required tolerance for Ipopt to 
stop due to tiny steps:

tiny_step_tol:
Tolerance for detecting numerically insignificant steps. If the search 
direction in the primal variables (x and s) is, in relative terms for 
each component, less than this value, the algorithm accepts the full 
step without line search. If this happens repeatedly, the algorithm will 
terminate with a corresponding exit message. The default value is 10 
times machine precision.

tiny_step_y_tol:
Tolerance for quitting because of numerically insignificant steps.
If the search direction in the primal variables (x and s) is, in 
relative terms for each component, repeatedly less than tiny_step_tol, 
and the step in the y variables is smaller than this threshold, the 
algorithm will terminate. default: 0.01

So if you set tiny_step_tol to a larger value, you may make Ipopt stop 
when the steps become small enough.

Whether steps are tiny can also be observed from the Ipopt output 
(diagonistics in alpha_pr column):
http://www.coin-or.org/Ipopt/documentation/node35.html

Hope that helps,
Stefan

On 09/18/2013 03:10 PM, Damien Massart wrote:
> Dear all,
>
> I ran an optimisation with Matlab & fmincon and it found a solution. The
> exitflag value returned is 2 which means "change in x was less than
> options.tolx (default=1e-10) and maximum constraint violation was less than
> options.tolcon. if i put those "optimal" points into ipopt, it continues to
> iterate (>3000) but the obective function does not change much. Therefore i
> suspect steps size are very small and thus rhe optimizer is stuck. Is there
> a way in ipopt to tell him to stop if step size are too small (e.g. tolx
> parameter)?
>
> Many thanks for your help!
>
> Kind regards
>
> Damien
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>



More information about the Ipopt mailing list