# [Ipopt] Options that control the value of mu

Sun Feb 19 15:56:19 EST 2012

```I am having some trouble understanding the Ipopt optionss that control
the value of mu during optimization. According to equation (7) of the
reference:
`On the implementation of an interior-point filter line-search
algorithm for large-scale nonlinear programming'
we have
mu_{j+1} = max { epsilon/10 , min [ kappa mu_j , mu_j^theta ] }

In the Ipopt trace below, it seems that kappa is the linear scaling
factor and theta is the superlinear scaling factor. The initial mu = .5
and corresponding log10(mu) = -.3 which agrees with iter = 0 in the
trace below.

The problem is at iter = 8, the
log10(mu_j) = -.3, i.e., mu_j = 0.5
log10(mu_{j+1) = -1.5, i.e., mu_{j+1} = 0.032
But the value of kappa=.5 and the value of theta=1.1 and so the value of
mu_{j+1} should be
min[ .5 * .5 , .5^1.1 ] = min[ .25 , .467 ] = .25
so the conclusion is that mu_{j+1} = .032 >= .25 which is false.

Can someone explain what is going on here ?

List of user-set options:

Name   Value                used
hessian_approximation = exact                 yes
max_iter = 50                    yes
mu_init = 0.5                   yes
mu_linear_decrease_factor = 0.5                   yes
mu_strategy = monotone              yes
mu_superlinear_decrease_power = 1.1                   yes
nlp_lower_bound_inf = -1e+19                yes
nlp_upper_bound_inf = 1e+19                 yes
print_level = 5                     yes
print_user_options = yes                   yes
tol = 0.001                 yes
This is Ipopt version 3.10, running with linear solver mumps.

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

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

iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
0  1.7336986e+03 9.06e-01 9.76e+01  -0.3 0.00e+00    -  0.00e+00
0.00e+00   0
1  7.3646697e+02 2.98e-01 6.25e+02  -0.3 1.46e+00   2.0 4.12e-01
9.95e-01f  1
2  6.1674749e+02 2.71e-01 7.48e+02  -0.3 6.53e+00   1.5 2.32e-01
8.95e-02f  1
3  5.5840255e+02 2.15e-01 6.11e+02  -0.3 2.43e+00    -  3.46e-02
2.03e-01f  1
4  3.3685504e+02 1.42e-01 3.55e+02  -0.3 1.10e+00    -  1.83e-01
4.21e-01f  1
5  1.9885799e+02 9.32e-02 5.83e+01  -0.3 8.30e-01    -  7.44e-01
9.90e-01f  1
6  2.0559440e+02 1.41e-01 1.11e+04  -0.3 1.05e+00    -  3.31e-01
1.00e+00f  1
7  1.9305692e+02 5.79e-02 4.31e+03  -0.3 3.53e+00    -  4.83e-01
7.42e-01h  1
8  1.8984018e+02 1.82e-02 1.51e+00  -0.3 1.06e+00    -  1.00e+00
1.00e+00f  1
9  1.9125490e+02 4.80e-03 1.11e+02  -1.5 4.82e-01    -  6.92e-01
9.99e-01H  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
10  1.9256817e+02 3.67e-03 1.06e-01  -1.5 4.53e-01    -  1.00e+00
1.00e+00h  1
11  1.9468436e+02 1.58e-03 3.03e+00  -2.7 4.07e-01    -  9.53e-01
8.80e-01h  1
12  1.9691723e+02 3.31e-04 5.15e+00  -2.7 2.17e-01    -  1.00e+00
8.78e-01h  1
13  1.9754316e+02 2.49e-04 3.16e+01  -2.7 1.39e+00    -  1.00e+00
2.50e-01h  3
14  1.9818965e+02 2.51e-04 3.16e+01  -2.7 1.12e+00    -  1.00e+00
2.50e-01h  3
15  2.0326698e+02 2.38e-04 3.16e+01  -2.7 7.36e-01    -  3.99e-01
1.00e+00H  1
16  2.0756761e+02 1.41e-04 4.30e+01  -2.7 2.77e-01    -  6.27e-01
1.00e+00H  1
17  2.1225000e+02 2.33e-04 2.27e-01  -2.7 1.63e-01    -  1.00e+00
1.00e+00H  1
18  2.1412225e+02 1.50e-04 5.02e-02  -3.3 1.22e-01    -  1.00e+00
1.00e+00h  1
19  2.1637687e+02 5.51e-05 3.67e+00  -4.0 1.98e-01    -  1.82e-01
8.65e-01h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
20  2.1642148e+02 5.51e-05 1.96e+00  -4.0 1.31e+00    -  1.98e-01
1.56e-02h  7
21  2.1646676e+02 5.53e-05 9.60e-01  -4.0 1.58e+00    -  4.09e-01
1.56e-02h  7
22  2.1651160e+02 5.55e-05 2.46e+00  -4.0 1.46e+00    -  3.57e-01
1.56e-02h  7
23  2.1655600e+02 5.55e-05 3.39e+00  -4.0 1.36e+00    -  3.47e-01
1.56e-02h  7
24  2.1660010e+02 5.54e-05 4.67e+00  -4.0 1.28e+00    -  6.83e-01
1.56e-02h  7
25  2.1664380e+02 5.53e-05 4.82e+00  -4.0 1.20e+00    -  3.21e-01
1.56e-02h  7
26  2.1668729e+02 5.51e-05 5.31e+00  -4.0 1.14e+00    -  1.00e+00
1.56e-02h  7
27  2.1673041e+02 5.48e-05 5.25e+00  -4.0 1.07e+00    -  3.46e-01
1.56e-02h  7
28  2.1681642e+02 5.54e-05 5.22e+00  -4.0 1.03e+00    -  1.00e+00
3.12e-02h  6
29  2.1690138e+02 5.56e-05 5.13e+00  -4.0 9.25e-01    -  4.39e-01
3.12e-02h  6
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
alpha_pr  ls
30  2.1971251e+02 2.26e-03 8.45e-02  -4.0 8.59e-01    -  1.00e+00
1.00e+00w  1
31  2.2195925e+02 1.71e-04 4.66e-02  -4.0 2.08e-01    -  1.00e+00
1.00e+00w  1
32  2.2479027e+02 1.12e-04 7.42e-02  -4.4 1.52e-01    -  1.00e+00
1.00e+00h  1
33  2.2749869e+02 8.63e-05 6.49e-02  -4.4 1.29e-01    -  1.00e+00
1.00e+00h  1
34  2.3009148e+02 5.67e-05 5.57e-02  -4.4 1.00e-01    -  1.00e+00
1.00e+00h  1

Number of Iterations....: 34

(scaled)                 (unscaled)
Objective...............:   2.3009147704253428e+02    2.3009147704253428e+02
Dual infeasibility......:   5.5729744609665358e-02    5.5729744609665358e-02
Constraint violation....:   5.6684216535626365e-05    5.6684216535626365e-05
Complementarity.........:   3.9139910972968873e-05    3.9139910972968873e-05
Overall NLP error.......:   7.9497813272578718e-04    5.5729744609665358e-02

Number of objective function evaluations             = 126
Number of objective gradient evaluations             = 35
Number of equality constraint evaluations            = 126
Number of inequality constraint evaluations          = 0
Number of equality constraint Jacobian evaluations   = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations             = 34
Total CPU secs in IPOPT (w/o function evaluations)   =      1.517
Total CPU secs in NLP function evaluations           =    246.303

EXIT: Optimal Solution Found.

```