[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