[Coin-ipopt] Re: Bug report
Andreas Waechter
andreasw at watson.ibm.com
Tue Apr 4 16:02:14 EDT 2006
Hi Zhiwen,
In future, please send messages regarding Ipopt to the Ipopt mailing list
(see list.coin-or.org/mailman/listinfo/coin-ipopt)
The error message you get is not quite correct - it is not really a bug in
Ipopt. For some reason, Ipopt is not able to find a suitable perturbation
factor for your problem (in the Lagrangian Hessian in the KKT system).
This can happen, when there are invalid numbers (Inf or NaN) returned in
the Hessian from whatever computes its values. It can also happen, when
the problem is very degererate or badly scaled.
One think you could try is to use the option
linear_system_scaling mc19
In the new release, it will probably be on by default, since it makes
Ipopt more robust for badly scaled problems, even though the computation
time in general goes up.
I hope this helps,
Andreas
On Mon, 27 Mar 2006, Zhiwen Chong wrote:
> IPOPT version: 3.0.1 (Revision 685 in svn)
> AMPL Mod file: (attached) sealtank.ocfe.mod
> Error: Exception of type: INTERNAL_ABORT in file
> "IpPDPerturbationHandler.cpp" at line 181:
> Exception message: retval evaluated false: get_deltas_for_wrong_inertia
> returns false.
>
> Full Output:
>
> ILOG AMPL 9.100, licensed to "mcmaster-hamilton, canada".
> AMPL Version 20021038 (Linux 2.4.18-14)
> Ipopt 3.0.1: print_level=0
> acceptable_tol=1e-3
> expect_infeasible_problem=yes
>
> Total number of variables............................: 985
> variables with only lower bounds: 198
> variables with lower and upper bounds: 101
> variables with only upper bounds: 30
> Total number of equality constraints.................: 853
> Total number of inequality constraints...............: 0
> inequality constraints with only lower bounds: 0
> inequality constraints with lower and upper bounds: 0
> inequality constraints with only upper bounds: 0
>
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr
> ls
> 0 -4.9500000e+03 1.75e+04 4.11e-01 -1.0 0.00e+00 - 0.00e+00 0.00e+00
> 0
> MA27BD returned iflag=-4.
> Increase liw from 38850 to 388500 and la from 34790 to 351270 and factorize
> again.
> 1 -5.8088325e+03 1.75e+04 6.78e+01 -1.0 1.51e+04 -4.0 9.26e-06 6.34e-04f
> 1
> 2 -5.8247539e+03 1.75e+04 5.71e+01 -1.0 1.50e+04 -4.5 1.04e-04 1.18e-05f
> 1
> 3 -6.0942259e+03 1.75e+04 3.24e+02 -1.0 1.50e+04 -5.0 3.44e-03 1.99e-04f
> 1
> 4 -9.4947772e+03 1.74e+04 6.07e+02 -1.0 1.50e+04 -4.1 4.12e-03 2.52e-03f
> 1
> 5 -9.5304143e+03 1.74e+04 5.63e+03 -1.0 1.58e+04 -3.1 1.50e-04 2.66e-05f
> 1
> 6r -9.5304143e+03 1.74e+04 9.99e+02 4.2 0.00e+00 -2.2 0.00e+00 1.76e-07R
> 2
> 7r -9.5304606e+03 1.74e+04 8.40e+03 4.2 9.20e+06 - 8.57e-03 2.74e-07f
> 1
> 8r -9.9651636e+03 7.62e+03 8.35e+03 3.5 2.41e+06 - 4.16e-03 7.13e-03f
> 1
> 9r -1.0152454e+04 4.62e+03 8.28e+03 2.8 3.98e+05 - 1.09e-02 7.56e-03f
> 1
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr
> ls
> 10r -1.0422305e+04 2.65e+03 8.10e+03 2.1 1.62e+05 - 4.29e-02 1.21e-02f
> 1
> 11r -1.1181448e+04 9.97e+02 7.92e+03 1.4 5.59e+04 - 1.61e-02 2.96e-02f
> 1
> 12r -1.3302454e+04 7.13e+02 7.55e+03 1.4 2.86e+04 - 6.18e-02 1.69e-02f
> 1
> 13r -3.0618905e+04 9.37e+02 7.18e+03 1.4 8.55e+03 - 4.10e-02 6.69e-02f
> 1
> 14r -3.0791375e+04 9.39e+02 5.40e+03 1.4 2.12e+03 - 3.33e-01 5.33e-03f
> 1
> 15r -3.3493795e+04 6.82e+02 3.20e+03 1.4 5.56e+02 - 8.58e-01 3.37e-01f
> 1
> 16r -3.3067364e+04 4.06e+02 9.94e+02 1.4 3.58e+02 - 6.40e-01 6.88e-01f
> 1
> 17r -3.2983332e+04 4.11e+02 8.71e+02 0.7 2.98e+01 - 5.87e-01 2.90e-01f
> 1
> 18r -3.2923211e+04 4.05e+02 6.83e+02 0.7 1.21e+02 - 4.75e-01 2.16e-01f
> 1
> 19r -3.2870569e+04 4.00e+02 5.64e+02 0.7 9.90e+01 - 5.37e-01 1.74e-01f
> 1
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr
> ls
> 20r -3.2703740e+04 3.92e+02 4.78e+02 0.7 8.38e+01 - 2.17e-01 3.57e-01f
> 1
> 21r -3.2452353e+04 3.88e+02 4.09e+02 0.7 7.27e+01 - 5.31e-02 1.68e-01f
> 1
> 22r -3.2351574e+04 3.86e+02 4.28e+02 0.7 1.16e+02 - 2.71e-02 4.44e-02f
> 1
> 23r -3.2330878e+04 3.84e+02 6.83e+02 0.7 9.81e+01 - 8.36e-03 4.21e-02f
> 1
> 24r -3.2412228e+04 3.80e+02 1.06e+03 0.7 1.32e+02 - 5.35e-02 1.11e-01f
> 1
> 25r -3.2416767e+04 3.70e+02 7.16e+02 0.7 6.25e+01 - 3.12e-01 3.03e-01f
> 1
> 26r -3.2253359e+04 3.54e+02 3.53e+02 0.7 4.02e+01 - 5.42e-01 7.13e-01f
> 1
> 27 -3.2243902e+04 3.52e+02 5.23e+00 -1.0 3.57e+02 -1.3 2.50e-02 8.08e-03h
> 1
> 28 -3.2136785e+04 3.30e+02 1.86e+02 -1.0 3.54e+02 -0.4 3.35e-02 6.12e-02h
> 1
> 29 -3.2108241e+04 3.26e+02 2.27e+02 -1.0 3.32e+02 0.5 3.65e-03 1.33e-02h
> 1
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr
> ls
> 30 -3.2105718e+04 3.25e+02 8.25e+02 -1.0 3.28e+02 1.4 9.79e-03 1.14e-03h
> 1
> 31 -3.2102713e+04 3.25e+02 1.88e+03 -1.0 3.27e+02 2.3 2.48e-03 1.35e-03h
> 1
> 32 -3.2101855e+04 3.25e+02 1.04e+04 -1.0 3.27e+02 3.2 1.51e-03 3.85e-04h
> 1
> 33 -3.2101405e+04 3.25e+02 6.31e+04 -1.0 3.27e+02 4.1 1.07e-03 2.02e-04h
> 1
> 34 -3.2101083e+04 3.25e+02 1.83e+06 -1.0 3.27e+02 5.0 3.80e-03 1.45e-04h
> 1
> 35 -3.2100593e+04 3.25e+02 3.19e+08 -1.0 3.27e+02 5.9 8.23e-02 2.20e-04h
> 1
> 36 -3.2084435e+04 3.22e+02 1.09e+09 -1.0 3.27e+02 6.8 3.26e-02 7.25e-03h
> 1
> 37 -3.2074628e+04 3.21e+02 2.95e+10 -1.0 3.24e+02 7.7 1.21e-01 4.35e-03h
> 1
> 38 -3.2038932e+04 3.16e+02 2.95e+11 -1.0 3.23e+02 8.6 1.55e-01 1.57e-02h
> 1
> 2 Slacks too small, adjusting variable bounds
> 39 -3.1988205e+04 3.09e+02 3.30e+12 -1.0 3.18e+02 9.5 2.26e-01 2.18e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr
> ls
> 40 -3.1912310e+04 2.99e+02 3.37e+13 -1.0 3.11e+02 10.4 3.05e-01 3.14e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 41 -3.1804607e+04 2.86e+02 1.10e+14 -1.0 3.01e+02 11.3 1.36e-01 4.26e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 42 -3.1743067e+04 2.80e+02 4.69e+14 -1.0 2.88e+02 12.2 8.03e-02 2.29e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 43 -3.1707139e+04 2.76e+02 4.98e+15 -1.0 2.82e+02 13.1 1.05e-01 1.30e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 44 -3.1665766e+04 2.72e+02 1.18e+17 -1.0 2.78e+02 14.0 3.11e-01 1.48e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 45 -3.1549684e+04 2.61e+02 3.71e+17 -1.0 2.74e+02 14.9 1.29e-01 4.07e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 46 -3.1484932e+04 2.55e+02 7.76e+18 -1.0 2.63e+02 15.8 3.55e-01 2.16e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 47 -3.1340534e+04 2.43e+02 2.18e+19 -1.0 2.57e+02 16.7 1.33e-01 4.71e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 48 -3.1266914e+04 2.38e+02 5.96e+20 -1.0 2.45e+02 17.6 4.75e-01 2.28e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 49 -3.1062454e+04 2.23e+02 1.55e+21 -1.0 2.39e+02 18.5 1.68e-01 6.21e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr
> ls
> 50 -3.0961480e+04 2.17e+02 2.96e+22 -1.0 2.24e+02 19.4 4.25e-01 2.89e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 51 -3.0759759e+04 2.04e+02 1.33e+23 -1.0 2.18e+02 20.3 2.55e-01 5.64e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 52 -3.0615625e+04 1.97e+02 1.72e+24 -1.0 2.06e+02 21.2 4.39e-01 3.84e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 53 -3.0388934e+04 1.85e+02 1.05e+25 -1.0 1.98e+02 22.1 3.60e-01 5.88e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 54 -3.0183637e+04 1.76e+02 3.87e+25 -1.0 1.86e+02 23.0 4.76e-01 5.10e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 55 -3.0077300e+04 1.71e+02 4.91e+25 -1.0 1.77e+02 23.9 4.97e-01 2.56e-02h
> 1
> 8 Slacks too small, adjusting variable bounds
> 56 -3.0063384e+04 1.71e+02 5.74e+25 -1.0 1.72e+02 24.8 5.18e-01 3.30e-03h
> 1
> 8 Slacks too small, adjusting variable bounds
> 57 -3.0061635e+04 1.70e+02 1.02e+26 -1.0 1.72e+02 25.8 5.84e-01 4.15e-04h
> 1
> 8 Slacks too small, adjusting variable bounds
> 58 -3.0061417e+04 1.70e+02 1.47e+26 -1.0 1.72e+02 26.7 4.83e-01 5.19e-05h
> 1
> 59r -3.0061417e+04 1.70e+02 9.99e+02 2.2 0.00e+00 27.6 0.00e+00 4.05e-07R
> 5
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr
> ls
> 60r -3.0056250e+04 1.69e+02 9.91e+02 2.2 2.44e+03 - 8.52e-01 1.20e-03f
> 1
> 61r -2.9946489e+04 7.65e+01 9.11e+02 1.5 1.51e+03 - 2.17e-01 7.35e-02f
> 1
> 62 -2.9946489e+04 7.65e+01 1.85e+12 -1.0 8.04e-18 29.4 9.90e-01 1.00e+00t
> 0
> 63 -2.9946489e+04 7.65e+01 3.71e+12 -1.0 2.51e-19 31.2 1.00e+00 1.00e+00T
> 0
> 64 -2.9946489e+04 7.65e+01 5.56e+12 -1.7 5.89e-21 33.0 1.00e+00 1.00e+00T
> 0
> 65 -2.9946489e+04 7.65e+01 7.42e+12 -2.5 1.23e-22 34.8 1.00e+00 1.00e+00T
> 0
> 66 -2.9946489e+04 7.65e+01 9.27e+12 -3.8 2.39e-24 36.6 1.00e+00 1.00e+00T
> 0
> 67 -2.9946489e+04 7.65e+01 1.11e+13 -5.7 4.49e-26 38.4 1.00e+00 1.00e+00T
> 0
> Exception of type: INTERNAL_ABORT in file "IpPDPerturbationHandler.cpp" at
> line 181:
> Exception message: retval evaluated false: get_deltas_for_wrong_inertia
> returns false.
>
> Number of Iterations....: 67
>
> (scaled) (unscaled)
> Objective...............: -2.9946489130665639e+04 -2.9946489130665639e+04
> Dual infeasibility......: 1.1125465341957145e+13 1.1125465341957145e+13
> Constraint violation....: 7.6461359344493587e+01 7.6461359344493587e+01
> Complementarity.........: 1.8449144625279748e-06 1.8449144625279748e-06
> Overall NLP error.......: 5.2464378418944345e+05 1.1125465341957145e+13
>
>
> Number of objective function evaluations = 74
> Number of objective gradient evaluations = 47
> Number of equality constraint evaluations = 74
> Number of inequality constraint evaluations = 0
> Number of equality constraint Jacobian evaluations = 69
> Number of inequality constraint Jacobian evaluations = 0
> Number of Lagrangian Hessian evaluations = 69
>
> EXIT: INTERNAL ERROR: Unknown SolverReturn value - Notify IPOPT Authors.
> can't open /tmp/at1703.sol
>
>
More information about the Coin-ipopt
mailing list