[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