[Coin-ipopt] INTERNAL ERROR: Unknown SolverReturn value - Notify IPOPT Authors.

Carl Damon Laird claird at andrew.cmu.edu
Fri Feb 3 10:51:16 EST 2006


Hi Sonia,

I had a look at this code. In cases where the inertia of the KKT system is 
not correct, we add a perturbation to the Hessian term (i.e. adding 
delta*I to the diagonal). Usually, this happens when the problem has some 
non-convexity and we are correcting in order to take a valid step. When 
the inertia is incorrect, we use a small value for the perturbation and 
try again. If it is still incorrect, then we increase the perturbation and 
so on.

The exception you see here happens when the perturbation reaches its 
maximum value - it keeps increasing, but the linear system still does not 
have the correct inertia.

This can happen if there are some serious problems in the hessian or the 
jacobian that you give to IPOPT. I would check these matrices and make 
sure that the structure is correct and that there are no NAN's or INF's in 
the matrices. You can check for these internally in your own code or you 
can increase the print level for IPOPT to see these values.

Hope this helps,

Carl.


On Fri, 3 Feb 2006, Sonia Singhal wrote:

> Hi,
>
> I have integrated IPOpt in my code. It runs fine for smaller test
> cases, but for all
> bigger test cases ( variables > 1000 ) it executes for a long time and
> gives me the
> following error.
>
> ==========================================================================
>
> Total number of variables............................:     6704
>                     variables with only lower bounds:        0
>                variables with lower and upper bounds:     6704
>                     variables with only upper bounds:        0
> Total number of equality constraints.................:     2271
> Total number of inequality constraints...............:     7145
>        inequality constraints with only lower bounds:        0
>   inequality constraints with lower and upper bounds:     6704
>        inequality constraints with only upper bounds:      441
>
> iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
>   0  4.1255458e+003 2.10e-001 1.34e+000   0.0 0.00e+000    -
> 0.00e+000 0.00e+000   0
> Exception of type: INTERNAL_ABORT in file
> "IpPDPerturbationHandler.cpp" at line 253:
> Exception message: retval evaluated false:
> get_deltas_for_wrong_inertia returns false.
>
> Number of Iterations....: 0
>
>                                   (scaled)                 (unscaled)
> Objective...............:  4.1255458316100949e+003   4.1255458316100949e+003
> Dual infeasibility......:  1.3383911269052646e+000   1.3383911269052646e+000
> Constraint violation....:  1.0999978900000862e-001   1.0999978900000862e-001
> Complementarity.........:  1.0000000099999999e+001   1.0000000099999999e+001
> Overall NLP error.......:  1.0000000099999999e+001   1.0000000099999999e+001
>
>
> Number of objective function evaluations             = 1
> Number of objective gradient evaluations             = 1
> Number of equality constraint evaluations            = 1
> Number of inequality constraint evaluations          = 1
> Number of equality constraint Jacobian evaluations   = 1
> Number of inequality constraint Jacobian evaluations = 1
> Number of Lagrangian Hessian evaluations             = 2
>
> EXIT: INTERNAL ERROR: Unknown SolverReturn value - Notify IPOPT Authors.
> IPOpt TIME : 12263 s
>
> =========================================================================
>
> Any ideas ?
>
> Thanks,
> ~ Sonia
>



More information about the Coin-ipopt mailing list