# [Ipopt] IPOPT terminatess

Xiaoming Yu xiaoming.yu at mscsoftware.com
Mon Jun 30 02:32:03 EDT 2008

```Hi Dear Dr. Waechter :

1) On your paper, the IPOPT overall algorithm terminates if the solution
satisfying Equation (6).

E0(~x;~; ~z) < epsilon tol

However, you said on " Introduction to Ipopt"

tol: Desired convergence tolerance (relative).
Determines the convergence tolerance for the algorithm. The algorithm
terminates successfully, if the
(scaled) NLP error becomes smaller than this value, and if the
(absolute) criteria according to "dual inf tol",
"primal inf tol", and "cmpl inf tol" are met. (This is epsilon tol in
Eqn. (6) in implementation paper).

Looks like three satisfying Equations (dual inf tol, primal inf tol,
cmpl inf tol are added to Equation (6). However, I cannot find your
definitions for dual inf tol, primal inf tol, cmpl inf tol on your
paper. Can you please tell me what they are.

2) IPOPT.OUT prints a summary table.

I like the summary table
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  IS

Is  inf_pr for primal inf tol and inf_du for dual inf tol? But I cannot
see

Equation (6) and the term for cmpl inf tol. In addition, I cannot see
the maximum constraints for each iteration. How can I see it

3)In most my problems, inf_pr converges fast but inf_du converges very
slow (please see an example below). Do you see why and any suggestions?
For this case, I would like to stop at iteration =20 since the objective
does not change much after this iteration but I cannot see the maximum
constraints at this iteration. Can I set inf_du = 0.1 to stop for this
purpose?  In my case,  many design variables reach the upper or lower
bounds. The design variables vary in 0.001 to 1.0 range.

Thanks a lot!

Xiaoming

Number of nonzeros in equality constraint Jacobian...:        0
Number of nonzeros in inequality constraint Jacobian.:   301501
Number of nonzeros in Lagrangian Hessian.............:        0

Total number of variables............................:   301501
variables with only lower bounds:        0
variables with lower and upper bounds:   301501
variables with only upper bounds:        0
Total number of equality constraints.................:        0
Total number of inequality constraints...............:        1
inequality constraints with only lower bounds:        0
inequality constraints with lower and upper bounds:        0
inequality constraints with only upper bounds:        1

iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
0  1.2107184e+04 9.84e+00 6.19e+02   0.0 0.00e+00    -  0.00e+00
0.00e+00   0
1  1.1805381e+04 4.55e-07 2.94e+02  -1.9 9.85e+00    -  5.26e-01
1.00e+00f  1
2  1.1641564e+04 4.57e-07 8.09e+01  -1.8 7.75e-01    -  7.24e-01
2.08e-01f  1
3  1.0950188e+04 6.62e-08 4.44e+01  -1.7 5.24e-01    -  4.51e-01
3.70e-01f  1
4  1.0061938e+04 1.81e-07 1.14e+00  -2.1 1.81e-01    -  9.74e-01
7.71e-01f  1
5  9.2689697e+03 2.40e-07 1.80e-01  -3.6 9.34e-02    -  8.69e-01
9.06e-01f  1
6  8.8466201e+03 2.96e-07 9.85e-02  -3.9 8.70e-02    -  8.86e-01
8.11e-01f  1
7  8.6915000e+03 1.24e-07 7.99e-02  -4.4 7.64e-02    -  1.00e+00
6.84e-01f  1
8  8.6360547e+03 1.14e-07 7.16e-02  -4.4 7.03e-02    -  1.00e+00
5.28e-01f  1
9  8.6272754e+03 9.78e-07 6.68e-02  -4.5 6.58e-02    -  1.00e+00
1.38e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
10  8.6373047e+03 8.36e-08 5.62e-02  -4.3 7.18e+00    -  2.71e-03
2.48e-03h  1
11  8.6354502e+03 5.33e-07 4.35e-02  -4.4 5.57e-02    -  2.94e-01
1.57e-01f  1
12  8.6315137e+03 1.33e-07 3.54e-02  -4.4 8.54e-02    -  3.94e-01
1.86e-01f  1
13  8.6275957e+03 5.05e-07 3.95e-02  -4.5 7.30e-02    -  5.01e-01
1.86e-01f  1
14  8.6214590e+03 8.66e-08 4.78e-02  -4.6 5.03e-02    -  8.21e-01
3.15e-01f  1
15  8.6140801e+03 2.25e-07 4.61e-02  -4.8 4.44e-02    -  9.78e-01
4.72e-01f  1
16  8.6085547e+03 1.16e-07 3.82e-02  -5.1 3.77e-02    -  1.00e+00
5.18e-01f  1
17  8.6052129e+03 1.31e-07 3.35e-02  -5.5 3.29e-02    -  9.64e-01
4.99e-01f  1
18  8.6035029e+03 3.06e-07 3.18e-02  -5.7 3.12e-02    -  1.00e+00
4.11e-01f  1
19  8.6023633e+03 1.84e-07 3.11e-02  -5.8 3.06e-02    -  1.00e+00
3.94e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
20  8.6015508e+03 4.51e-08 3.05e-02  -5.9 3.00e-02    -  1.00e+00
3.77e-01f  1
21  8.6010098e+03 1.32e-07 3.36e-02  -6.0 3.38e-02    -  1.00e+00
3.21e-01f  1
22  8.6005098e+03 5.21e-07 2.90e-02  -6.2 2.85e-02    -  1.00e+00 3.5
22  8.6005098e+03 5.21e-07 2.90e-02  -6.2 2.85e-02    -  1.00e+00
3.55e-01f  1
23  8.6001250e+03 2.16e-07 2.88e-02  -6.3 2.84e-02    -  1.00e+00
3.37e-01f  1
24  8.5998096e+03 3.16e-08 2.85e-02  -6.3 2.81e-02    -  1.00e+00
3.30e-01f  1
25  8.5995977e+03 5.84e-08 2.84e-02  -6.4 2.81e-02    -  1.00e+00
2.66e-01f  1
26  8.5993320e+03 2.67e-07 2.85e-02  -6.6 2.81e-02    -  1.00e+00
3.36e-01f  1
27  8.5991504e+03 2.31e-07 2.85e-02  -6.6 2.81e-02    -  1.00e+00
2.87e-01f  1
28  8.5989648e+03 3.48e-07 2.85e-02  -6.7 2.82e-02    -  1.00e+00
3.01e-01f  1
29  8.5988057e+03 4.91e-07 3.76e-02  -6.8 3.73e-02    -  1.00e+00
2.95e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
30  8.5986621e+03 9.57e-08 2.90e-02  -6.9 2.90e-02    -  1.00e+00
3.02e-01f  1
31  8.5985430e+03 2.50e-07 2.86e-02  -7.0 2.84e-02    -  1.00e+00
2.42e-01f  1
32  8.5984160e+03 3.22e-07 2.87e-02  -7.1 2.84e-02    -  1.00e+00
2.83e-01f  1
33  8.5983066e+03 3.28e-08 3.25e-02  -7.1 3.25e-02    -  1.00e+00
2.68e-01f  1
34  8.5981924e+03 1.54e-08 7.33e-02  -7.1 7.30e-02    -  1.00e+00
2.70e-01f  1
35  8.5980918e+03 2.26e-07 4.36e-02  -7.2 4.36e-02    -  1.00e+00
2.84e-01f  1
36  8.5979941e+03 9.58e-09 4.52e-02  -7.2 4.51e-02    -  1.00e+00
2.65e-01f  1
37  8.5979004e+03 5.02e-07 2.67e-02  -7.3 2.66e-02    -  1.00e+00
2.59e-01f  1
38  8.5978164e+03 2.42e-08 4.07e-02  -7.3 4.08e-02    -  1.00e+00
2.32e-01f  1
39  8.5977158e+03 1.64e-07 2.63e-02  -7.5 2.61e-02    -  1.00e+00
2.76e-01f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
40  8.5976484e+03 2.89e-07 3.14e-02  -7.5 3.13e-02    -  1.00e+00
2.17e-01f  1

-----Original Message-----
From: ipopt-bounces at list.coin-or.org
[mailto:ipopt-bounces at list.coin-or.org] On Behalf Of Andreas Waechter
Sent: Sunday, June 29, 2008 3:53 PM
To: Ma Yudong
Cc: ipopt at list.coin-or.org
Subject: Re: [Ipopt] Questions about IPOPT

Yudong Ma,

Did you have a look at the Ipopt documentation?  It describes a number
of
different ways to compile Ipopt under Windows.

Andreas

On Sat, 28 Jun 2008, Ma Yudong wrote:

> Hi guys
> I am trying to create a library files of IPOPT for windows instead of
Linux.
> by following all the procedures, we can get libipopt.a and
libipopt.la,
> which are library files for Linux
> and how can I get libipopt.lib which is for windows from the files in
> \$HOME/Ipopt/MSVisualStudio/v9/
>
>
> --
> Thank you very much
>
> Yours
> Yudong Ma
>
_______________________________________________
Ipopt mailing list
Ipopt at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/ipopt

```