[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