[Ipopt] advice? solver fails - non-convex region
Sean C McDuffee
scmcduff at blueskystudios.com
Thu Sep 19 08:58:02 EDT 2013
Hi
I have a problem instance I can't get Ipopt to solve. When it does
succeed it's starting with high inf_du:
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
0 -5.8274862e+00 1.40e-11 1.00e+02 0.0 0.00e+00 - 0.00e+00
0.00e+00 0
1 -6.0495801e+00 1.40e-11 3.54e+01 -11.0 4.37e-04 - 1.00e+00
1.00e+00f 1
2 -6.0822241e+00 1.40e-11 6.88e+00 -11.0 4.20e-04 - 1.00e+00
1.00e+00f 1
3 -6.0851091e+00 1.40e-11 1.46e-02 -11.0 7.10e-06 - 1.00e+00
1.00e+00f 1
4 -6.0849812e+00 1.40e-11 3.40e-03 -11.0 2.00e-06 - 1.00e+00
1.00e+00h 1
5 -6.0849588e+00 1.40e-11 9.18e-06 -11.0 9.19e-08 - 1.00e+00
1.00e+00h 1
but then diverges while attempting regularization:
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
0 -5.8985474e+00 1.40e-11 1.00e+02 0.0 0.00e+00 - 0.00e+00
0.00e+00 0
1 5.0264484e+04 1.40e-11 1.81e+05 -11.0 5.51e-03 - 1.00e+00
1.00e+00h 1
2 5.6406676e+04 1.40e-11 1.20e+05 -11.0 6.54e-04 8.0 1.00e+00
1.00e+00h 1
3 2.5769720e+04 1.40e-11 3.56e+04 -11.0 1.30e-03 7.5 1.00e+00
1.00e+00f 1
4 1.2220915e+04 1.40e-11 1.46e+04 -11.0 1.77e-03 7.0 1.00e+00
1.00e+00f 1
5 5.2373752e+03 1.40e-11 5.40e+03 -11.0 2.12e-03 6.6 1.00e+00
1.00e+00f 1
6 1.6645722e+03 1.40e-11 3.09e+03 -11.0 2.02e-03 6.1 1.00e+00
1.00e+00f 1
7 4.0639587e+02 1.40e-11 1.05e+03 -11.0 2.48e-03 5.6 1.00e+00
1.00e+00f 1
8 1.1531399e+02 1.40e-11 2.48e+02 -11.0 2.27e-03 5.1 1.00e+00
1.00e+00f 1
9 4.9084406e+01 1.40e-11 1.01e+02 -11.0 1.77e-03 4.7 1.00e+00
1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
10 1.1180017e+04 1.40e-11 6.26e+04 -11.0 1.23e-02 - 1.00e+00
1.00e+00h 1
11 1.7136659e+04 1.40e-11 4.48e+05 -11.0 9.31e-04 6.9 1.00e+00
1.00e+00h 1
12 5.7363781e+03 1.40e-11 6.32e+04 -11.0 2.43e-04 8.2 1.00e+00
1.00e+00f 1
13 2.9816699e+03 1.40e-11 1.26e+04 -11.0 2.97e-04 7.7 1.00e+00
1.00e+00f 1
14 2.1439551e+03 1.40e-11 2.89e+04 -11.0 4.01e-04 7.3 1.00e+00
1.00e+00f 1
15 6.5268231e+04 1.40e-11 1.58e+07 -11.0 6.78e-04 6.8 1.00e+00
1.00e+00h 1
16 2.5070366e+04 1.40e-11 1.16e+05 -11.0 5.01e-05 9.0 1.00e+00
1.00e+00f 1
17 3.1035443e+04 1.40e-11 3.83e+05 -11.0 2.09e-05 9.4 1.00e+00
1.00e+00h 1
18 3.4330863e+04 1.40e-11 4.45e+05 -11.0 5.66e-05 9.0 1.00e+00
1.00e+00h 1
19 4.2965913e+04 1.40e-11 1.50e+06 -11.0 1.89e-04 8.5 1.00e+00
1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
20 4.7743065e+04 1.40e-11 3.86e+05 -11.0 3.47e-04 8.0 1.00e+00
1.00e+00h 1
Any advice? I've tried a number of different starting points. I
haven't tried warm starting because I was under the impression it's not
really helpful for interior point methods. I've tried enabling line
searches and allowing thousands of iterations. It just can't solve the
problem the way I've set it up.
Thanks
Sean
More information about the Ipopt
mailing list