[Ipopt] Observe Nonlinear Constraints in IPOPT's output

Drosos Kourounis drosos at stanford.edu
Fri Apr 23 19:23:04 EDT 2010


Thanks for the info Andreas,
I observed something else which is a bit weird. 
Below you see the inf_pr getting stack to 1e-13
and thus, the rest cannot improve much. It takes
many iterations for the inf_du to fall below the
threshold which was set to 1e-4. In another example
I different bounds for the controls and the constraint
and there the inf_pr is of the order of 1e-14. This
problem never achieves the tol=1e-4 no matter how
many the iterations. 

I have fixed the convergence by either using the 
acceptable criteria or making the tol~=3e-4. But
don't you think that if some important variable
like the inf_pr, or ||d|| has reached closed to
machine precision, and inf_du is far away from 
the desired tolerance there is definitely no way
to terminate? Some times the same thing happens
with ||d|| instead of the inf_du.

What can we do in these cases?


iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
   0  4.0883771e-02 0.00e+00 1.37e-04  -1.0 0.00e+00    -  0.00e+00 0.00e+00   0
   1  4.0924899e-02 3.16e-07 8.11e-02  -1.0 8.17e-02    -  9.93e-01 1.00e+00f  1
   2  4.0948182e-02 1.35e-07 5.18e-02  -1.7 5.18e-02    -  1.00e+00 1.00e+00f  1
   3  4.0951511e-02 2.56e-09 7.21e-03  -2.5 7.21e-03    -  1.00e+00 1.00e+00f  1
   4  4.0951754e-02 1.09e-11 4.65e-04  -3.8 4.65e-04    -  1.00e+00 1.00e+00h  1
   5  4.4719390e-02 3.00e-04 4.18e-04  -5.7 1.72e+02    -  9.96e-02 1.22e-01f  1
   6  4.6092597e-02 3.22e-04 3.52e-04  -5.7 6.84e+01    -  1.58e-01 2.34e-01h  1
   7  4.6835824e-02 4.66e-04 1.83e-04  -5.7 1.17e+02    -  7.78e-01 9.56e-02h  1
   8  4.6834120e-02 2.39e-10 2.59e-02  -5.7 2.59e-02    -  1.00e+00 1.00e+00h  1
   9  4.6834139e-02 2.56e-13 2.03e-04  -5.7 2.03e-04    -  1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  10  4.6834159e-02 2.52e-13 1.94e-04  -5.7 1.94e-04    -  1.00e+00 1.00e+00h  1
  11  4.6834179e-02 2.53e-13 1.87e-04  -5.7 1.87e-04    -  1.00e+00 1.00e+00h  1
  12  4.6834200e-02 2.51e-13 1.80e-04  -5.7 1.80e-04    -  1.00e+00 1.00e+00h  1
  13  4.6834221e-02 2.49e-13 1.73e-04  -5.7 1.73e-04    -  1.00e+00 1.00e+00h  1
  14  4.6834243e-02 2.56e-13 1.67e-04  -5.7 1.67e-04    -  1.00e+00 1.00e+00h  1
  15  4.6834265e-02 2.46e-13 1.62e-04  -5.7 1.62e-04    -  1.00e+00 1.00e+00h  1
  16  4.6834287e-02 2.49e-13 1.57e-04  -5.7 1.57e-04    -  1.00e+00 1.00e+00h  1
  17  4.6834310e-02 2.57e-13 1.52e-04  -5.7 1.52e-04    -  1.00e+00 1.00e+00h  1
  18  4.6834334e-02 2.53e-13 1.47e-04  -5.7 1.47e-04    -  1.00e+00 1.00e+00h  1
  19  4.6834357e-02 2.48e-13 1.43e-04  -5.7 1.43e-04    -  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.6834381e-02 2.61e-13 1.39e-04  -5.7 1.39e-04    -  1.00e+00 1.00e+00h  1
  21  4.6834405e-02 2.41e-13 1.36e-04  -5.7 1.36e-04    -  1.00e+00 1.00e+00h  1
  22  4.6834430e-02 2.51e-13 1.32e-04  -5.7 1.32e-04    -  1.00e+00 1.00e+00h  1
  23  4.6834455e-02 2.53e-13 1.29e-04  -5.7 1.29e-04    -  1.00e+00 1.00e+00h  1
  24  4.6834480e-02 2.48e-13 1.26e-04  -5.7 1.26e-04    -  1.00e+00 1.00e+00h  1
  25  4.6834505e-02 2.46e-13 1.23e-04  -5.7 1.23e-04    -  1.00e+00 1.00e+00h  1
  26  4.6834531e-02 2.57e-13 1.20e-04  -5.7 1.20e-04    -  1.00e+00 1.00e+00h  1
  27  4.6834556e-02 2.51e-13 1.17e-04  -5.7 1.17e-04    -  1.00e+00 1.00e+00h  1
  28  4.6834582e-02 2.49e-13 1.15e-04  -5.7 1.15e-04    -  1.00e+00 1.00e+00h  1
  29  4.6834608e-02 2.54e-13 1.12e-04  -5.7 1.12e-04    -  1.00e+00 1.00e+00h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  30  4.6834634e-02 2.45e-13 1.10e-04  -5.7 1.10e-04    -  1.00e+00 1.00e+00h  1
  31  4.6834661e-02 2.45e-13 1.08e-04  -5.7 1.08e-04    -  1.00e+00 1.00e+00h  1
  32  4.6834687e-02 2.55e-13 1.06e-04  -5.7 1.06e-04    -  1.00e+00 1.00e+00h  1
  33  4.6834714e-02 2.54e-13 1.04e-04  -5.7 1.04e-04    -  1.00e+00 1.00e+00h  1
  34  4.6834741e-02 2.46e-13 1.02e-04  -5.7 1.02e-04    -  1.00e+00 1.00e+00h  1
  35  4.6834768e-02 2.48e-13 9.97e-05  -5.7 9.97e-05    -  1.00e+00 1.00e+00h  1

Number of Iterations....: 35

                                   (scaled)                 (unscaled)
Objective...............:  -4.6834767675979563e-02    4.6834767675979563e-02
Dual infeasibility......:   9.9734570274342239e-05    9.9734570274342239e-05
Constraint violation....:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   1.8449144625279292e-06   -1.8449144625279292e-06
Overall NLP error.......:   9.9734570274342239e-05    9.9734570274342239e-05


Number of objective function evaluations             = 36
Number of objective gradient evaluations             = 36
Number of equality constraint evaluations            = 0
Number of inequality constraint evaluations          = 36
Number of equality constraint Jacobian evaluations   = 0
Number of inequality constraint Jacobian evaluations = 36
Number of Lagrangian Hessian evaluations             = 0
Total CPU secs in IPOPT (w/o function evaluations)   =      0.028
Total CPU secs in NLP function evaluations           =     80.997

EXIT: Optimal Solution Found.



More information about the Ipopt mailing list