[Ipopt] Iteration info

Andreas Waechter andreasw at watson.ibm.com
Wed Jun 10 20:23:22 EDT 2009


Hi Adela,

> Now I have another problem. Most of my problems ends with a problem of 
> restoration, and usually there is a high dual infeasibility.
>
> The derivative checker does not find errors, and I tried to solve the 
> problem directly from an .nl file with the same "results".
>
> I suspect that I have to tune some parameters to solve my model. The 
> model is not very hard, it is quadratic but not convex, so I'm just 
> trying to find a local optima. Also some times I have good (primal) 
> starting point (read good as point close to an optimum), which I would 
> expect few iterations to converge but it fails. Any recomendation of 
> which parameters are the most helpful?
>
> PS: Example of the output I get:
>
>
>
> WARNING: Problem in step computation; switching to emergency mode.
> Restoration phase is called at point that is almost feasible,
>  with constraint violation 1.674242e-10. Abort.
>
>
>
> Number of Iterations....: 87
>
>                                   (scaled)                 (unscaled)
> Objective...............:   1.7361700482095586e+01    1.7361700482095586e+01
> Dual infeasibility......:   1.5927196841453206e+14    1.5927196841453206e+14
> Constraint violation....:   2.2204460492503131e-16    2.2204460492503131e-16
> Complementarity.........:   8.6335610358611384e-03    8.6335610358611384e-03
> Overall NLP error.......:   8.6335610358611384e-03    1.5927196841453206e+14

I think this usually happens if constraint qualifications don't hold at 
the point where Ipopt converges to.  (Theoretically, Ipopt requires that 
the gradients of the equality constraints and the active inequality 
constraints are linear independent - it might also work in practice if a 
weaker constraint qualification holds).  The option bound_relax_factor is 
trying to cheat a little in case the problem is caused by the inequality 
constraints, by relaxing them a little bit, so maybe a somewhat larger 
value helps (but of course you are then changing the problem that is 
solved!).

Maybe the thing to look for if you have constraints that are redundant, or 
bounds that are not necessary.

Regards,

Andreas



More information about the Ipopt mailing list