[Ipopt] ipopt: The problem FAILED

Stefan Vigerske stefan at math.hu-berlin.de
Wed Apr 3 06:42:17 EDT 2013


Hi,

On 04/02/2013 07:01 PM, Joris Kinable wrote:
> Dear,
>
> I've implemented a small NLP model into ipopt using the Java interface.
> When I hit solve, the program terminates with the following message:
>
> "The problem FAILED".
>
> I'm trying to debug the model to see what's wrong. Hence, I've set the
> objective function to a fixed constant, thereby turning the optimization
> problem into a constraint satisfaction problem. Next, I've initialized the
> problem with a feasible solution, i.e. a solution which satisfies all
> constraints. So basically, the optimizer could return the initial solution
> immediately; no optimization is required. Still, I get the message that the
> problem fails (part of the log is included at the end of this mail).
>
> 1. Why doesn't the solver return the initial solution, as it is a feasible
> solution?

Ipopt may have moved your initial point, if it was close to the bounds.
Try setting the options bound_push and bound_frac to 0.0:
http://www.coin-or.org/Ipopt/documentation/node97.html
http://www.coin-or.org/Ipopt/documentation/node98.html

> 2. What could cause ipopt to return 'The problem Failed', i.e. what should
> I debug? I manually checked that all my constraints are feasible, as well
> as the variable bounds.

The problem failed message is written by the Java interface and not 
really helpful. Look at the messages from Ipopt itself (e.g., after 
EXIT) to see why Ipopt stopped. There you also see which infeasibility 
(primal, dual, or complementarity) is still too high to have Ipopt 
stopping successfully.

> 3. The logger mentions that the search direction becomes too small. Why
> can't it identify that it has found a local/global optimum?

Maybe your implementation of gradients or hessians is wrong. Try the 
derivative checker:
http://www.coin-or.org/Ipopt/documentation/node53.html

Stefan

>
> br,
>
> Joris
>
>
>
> ===============================
>
> Number of Iterations....: 263
>
>                                     (scaled)                 (unscaled)
> Objective...............:   1.0000000000000000e+00    1.0000000000000000e+00
> Dual infeasibility......:   1.0999505370964350e-05    1.0999505370964350e-05
> Constraint violation....:   0.0000000000000000e+00    0.0000000000000000e+00
> Complementarity.........:   9.0909090909090941e-10    9.0909090909090941e-10
> Overall NLP error.......:   1.0999505370964350e-05    1.0999505370964350e-05
>
>
> Number of objective function evaluations             = 289
> Number of objective gradient evaluations             = 55
> Number of equality constraint evaluations            = 0
> Number of inequality constraint evaluations          = 289
> Number of equality constraint Jacobian evaluations   = 0
> Number of inequality constraint Jacobian evaluations = 266
> Number of Lagrangian Hessian evaluations             = 264
> Total CPU secs in IPOPT (w/o function evaluations)   =      0.180
> Total CPU secs in NLP function evaluations           =      0.016
>
> EXIT: Search Direction is becoming Too Small.
> Obj: 1.0
> Circle 0: (-41.30054873354737,3.222049686239637), r:10.0
> Circle 1: (0.49442322310794523,-26.773758302392906), r:10.0
> Circle 2: (-44.843610818313735,-23.277936648765795), r:10.0
> Circle 3: (-22.36952325252463,-36.936746537913145), r:10.0
>
>
> *** The problem FAILED!
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>



More information about the Ipopt mailing list