[Ipopt] Slow convergence
Praveen C
3me5aqb02 at sneakemail.com
Mon Oct 12 12:10:45 EDT 2009
I have a problem with one non-linear constraint. I have attached the output of an optimization. The constraint is very easily satisfied from the first iteration itself. But ipopt seems to converge very slowly for this problem. In fact I do not get convergence in 30 iterations and about 100 function evaluations. Is it possible to find out what is causing this slow convergence ?
Thanks
praveen
List of user-set options:
Name Value used
acceptable_tol = 0.01 yes
compl_inf_tol = 0.01 yes
constr_viol_tol = 0.01 yes
dual_inf_tol = 0.01 yes
hessian_approximation = limited-memory yes
limited_memory_max_history = 6 yes
max_iter = 30 yes
mu_strategy = monotone yes
output_file = ipopt.out yes
print_level = 5 yes
print_user_options = yes yes
tol = 0.01 yes
******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
Ipopt is released as open source code under the Common Public License (CPL).
For more information visit http://projects.coin-or.org/Ipopt
******************************************************************************
This is Ipopt version 3.7.0, running with linear solver ma27.
Number of nonzeros in equality constraint Jacobian...: 10
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 0
Total number of variables............................: 10
variables with only lower bounds: 0
variables with lower and upper bounds: 10
variables with only upper bounds: 0
Total number of equality constraints.................: 1
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.0000000e+00 0.00e+00 2.92e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
Warning: Cutting back alpha due to evaluation error
1 9.3218634e-01 4.83e-14 9.43e-01 -1.0 7.11e-02 - 1.00e+00 8.70e-02f 4
2 9.2273589e-01 1.04e-13 4.19e+00 -1.7 1.42e-02 - 1.00e+00 1.25e-01f 4
3 9.2166788e-01 5.53e-13 2.00e+00 -1.7 1.81e-03 - 1.00e+00 1.00e+00f 1
4 9.2109032e-01 9.21e-13 2.13e+00 -1.7 1.40e-03 - 1.00e+00 5.00e-01f 2
5 9.1805379e-01 2.65e-12 6.82e-01 -1.7 5.32e-04 - 1.00e+00 1.00e+00f 1
6 9.1754089e-01 6.65e-12 6.74e-01 -1.7 2.84e-04 - 1.00e+00 1.00e+00f 1
7 9.1636554e-01 6.59e-12 1.06e+00 -1.7 2.73e-02 - 1.00e+00 3.12e-02f 6
8 9.1085596e-01 1.97e-11 1.61e+00 -1.7 4.81e-03 - 1.00e+00 1.00e+00f 1
9 9.0634559e-01 5.47e-11 2.32e+00 -1.7 5.73e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 9.0338670e-01 1.48e-10 7.97e-01 -1.7 3.77e-03 - 1.00e+00 1.00e+00f 1
11 9.0299679e-01 9.07e-12 2.23e+00 -1.7 3.42e-03 - 1.00e+00 2.50e-01f 3
12 9.0078352e-01 4.21e-12 5.74e-01 -1.7 4.11e-03 - 1.00e+00 5.00e-01f 2
13 9.0048649e-01 2.95e-12 2.81e+00 -1.7 5.07e-03 - 1.00e+00 6.25e-02f 5
14 8.9893907e-01 4.81e-12 1.21e+00 -1.7 1.86e-03 - 1.00e+00 1.00e+00f 1
15 8.9909228e-01 3.19e-12 1.26e+00 -1.7 1.22e-03 - 1.00e+00 2.50e-01f 3
16 8.9912056e-01 4.68e-12 7.54e-01 -1.7 6.43e-04 - 1.00e+00 5.00e-01f 2
17 8.9953878e-01 5.25e-12 2.71e-01 -1.7 1.29e-03 - 1.00e+00 5.00e-01f 2
18 8.9957048e-01 1.16e-12 4.83e-01 -1.7 2.87e-03 - 1.00e+00 6.25e-02f 5
19 8.9950272e-01 2.88e-12 5.58e-01 -1.7 6.06e-04 - 1.00e+00 2.50e-01f 3
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 8.9943346e-01 1.11e-11 5.58e-01 -1.7 3.95e-04 - 1.00e+00 1.00e+00f 1
21 8.9943889e-01 1.11e-11 2.31e-01 -1.7 1.83e-03 - 1.00e+00 7.81e-03f 8
22 8.9951131e-01 1.46e-11 3.59e-01 -1.7 6.37e-04 - 1.00e+00 5.00e-01f 2
23 8.9951224e-01 9.32e-12 5.61e-01 -1.7 9.48e-04 - 1.00e+00 6.25e-02f 5
24 8.9942348e-01 7.51e-12 5.12e-01 -1.7 7.24e-04 - 1.00e+00 5.00e-01f 2
25 8.9941830e-01 6.04e-12 3.69e-01 -1.7 4.64e-04 - 1.00e+00 6.25e-02f 5
26 8.9937708e-01 1.49e-11 1.73e-01 -1.7 1.49e-04 - 1.00e+00 1.00e+00f 1
27 8.9830206e-01 4.05e-11 1.49e+00 -2.5 2.12e-03 - 1.00e+00 1.00e+00f 1
28 8.9801104e-01 3.49e-11 2.44e+00 -2.5 4.08e-02 - 1.00e+00 2.83e-02f 6
29 8.9535303e-01 9.35e-11 1.63e+00 -2.5 7.12e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 8.9523790e-01 5.23e-11 1.63e+00 -2.5 1.46e-02 - 1.00e+00 1.25e-01f 4
Number of Iterations....: 30
(scaled) (unscaled)
Objective...............: 8.9523789616951255e-01 8.9523789616951255e-01
Dual infeasibility......: 1.6296134728676277e+00 1.6296134728676277e+00
Constraint violation....: 5.2255866300754406e-11 5.2255866300754406e-11
Complementarity.........: 3.5541737998279169e-03 3.5541737998279169e-03
Overall NLP error.......: 1.6296134728676277e+00 1.6296134728676277e+00
Number of objective function evaluations = 103
Number of objective gradient evaluations = 31
Number of equality constraint evaluations = 103
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 31
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 0
Total CPU secs in IPOPT (w/o function evaluations) = 0.103
Total CPU secs in NLP function evaluations = 0.043
EXIT: Maximum Number of Iterations Exceeded.
More information about the Ipopt
mailing list