[Coin-ipopt] "Restoration phase is called at point that is almost feasible"
Sebastian Nowozin
nowozin at gmail.com
Mon Jan 14 13:00:26 EST 2008
Hello,
I am using IpOpt 3.3.4 together with the Matlab interface. As linear
solver I use MUMPS. I use IpOpt to solve a convex optimization
problem with strictly convex objective and linear equality and
inequality constraints.
The options used are:
jac_c_constant=yes
mu_strategy=adaptive
tol=1e-7
Everything worked fine but now I can reproduce a solver failure where
the problem is not particularly ill-scaled. A very similar problem
(slightly perturbed) works, but this one problem does not. In the
mailing list archive there was a similar error output, however there
was never a reply to the original mail.
The output upon failure is as follows.
Number of nonzeros in equality constraint Jacobian...: 1680
Number of nonzeros in inequality constraint Jacobian.: 80
Number of nonzeros in Lagrangian Hessian.............: 40
Total number of variables............................: 81
variables with only lower bounds: 80
variables with lower and upper bounds: 0
variables with only upper bounds: 0
Total number of equality constraints.................: 41
Total number of inequality constraints...............: 40
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 40
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 2.3025851e+00 1.00e-01 9.76e-01 0.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 6.9077652e+00 1.00e-03 2.45e+01 -7.1 1.00e-01 - 9.90e-01 9.90e-01h 1
2 1.1513926e+01 9.99e-06 2.45e+03 -2.2 5.87e-01 - 9.90e-01 9.90e-01h 1
3 1.6223433e+01 9.00e-08 2.73e+05 -0.9 1.16e+03 - 1.00e+00 9.91e-01f 1
4 2.5111654e+01 2.27e-13 2.42e+09 -7.4 3.37e-02 - 9.90e-01 1.00e+00h 1
5 2.4418639e+01 1.86e-11 1.21e+09 -3.5 2.90e+04 - 2.20e-01 1.00e+00f 1
6 2.4588951e+01 1.23e-11 8.41e+08 -3.5 2.43e+04 - 4.04e-01 3.42e-01h 1
7 2.4724478e+01 7.44e-12 5.45e+08 -3.5 2.90e+04 - 5.74e-01 3.93e-01h 1
8 2.4443038e+01 2.11e-11 1.32e+08 -3.5 3.39e+04 - 1.00e+00 1.00e+00f 1
9 2.5038225e+01 1.46e-11 5.00e+08 -3.5 1.62e+04 - 4.90e-01 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 2.5032575e+01 1.46e-11 4.86e+08 -3.5 1.67e+00 - 1.00e+00 2.82e-02f 4
11 2.4853064e+01 1.16e-11 8.95e+07 -3.5 2.37e-01 - 1.00e+00 1.00e+00f 1
12 2.4814884e+01 1.43e-11 4.34e+06 -3.5 9.12e-02 - 1.00e+00 1.00e+00f 1
13 2.4813334e+01 1.41e-11 1.12e+04 -3.5 1.18e-02 - 1.00e+00 1.00e+00f 1
14 2.4813346e+01 1.77e-11 3.44e-01 -3.9 2.26e-01 - 1.00e+00 1.00e+00s 22
15 2.4813348e+01 1.84e-11 5.74e-03 -4.0 4.61e-02 - 1.00e+00 1.00e+00s 22
Restoration phase is called at point that is almost feasible,
with constraint violation 4.695219e-10. Abort.
What options can I use to allow a constraint violation of 1e-8 or
smaller or disable restoration in this case? It seems the options
listed in the documentation only refer to constraint violation as
convergence check condition.
I would not like to switch the linear solver because they do not come
under a CPL-compatible license.
Thanks in advance,
Sebastian
More information about the Coin-ipopt
mailing list