[Ipopt] Less Optimum solution for successive runs
Udit Gupta
gupta117 at umn.edu
Thu Apr 10 02:08:00 EDT 2014
Hi,
I am using IpOpt to optimize a problem with 5 decision variables in
successive runs. My first run involves using all 5 variables (relaxing all
variables simultaneously). IpOpt terminates successfully and gives an
optimum solution. Next I relax only one variable (4th) of the 5 (keeping
other 4 variables constant from the earlier run). I find that IpOpt
provides a relatively "bad" optimum solution with higher objective value (i
am minimising my obj fn). NLP functions are being evaluated using a DAE
solver.
*First Run:*
Total number of variables............................: 5
variables with only lower bounds: 0
variables with lower and upper bounds: 5
variables with only upper bounds: 0
Total number of equality constraints.................: 0
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 3.4059520e-001 0.00e+000 1.26e-001 0.0 0.00e+000 - 0.00e+000
0.00e+000 0
1 3.3227739e-001 0.00e+000 5.39e-002 -5.0 6.09e-002 - 9.86e-001
1.00e+000f 1
2 2.8068876e-001 0.00e+000 2.95e-002 -2.5 5.58e-001 - 9.75e-001
8.79e-001f 1
3 2.7651747e-001 0.00e+000 7.72e-003 -2.6 1.62e-001 - 9.93e-001
1.00e+000f 1
4 2.6969369e-001 0.00e+000 9.19e-003 -4.1 2.00e-001 - 9.98e-001
9.85e-001f 1
5 2.6371187e-001 0.00e+000 1.16e-002 -4.0 7.34e-001 - 1.00e+000
5.35e-001f 1
6 2.5342676e-001 0.00e+000 2.66e-002 -4.9 3.35e+000 - 1.00e+000
3.31e-001f 1
7 2.3664505e-001 0.00e+000 5.43e-002 -4.2 5.52e+000 - 8.07e-001
1.00e+000f 1
8 2.3213622e-001 0.00e+000 1.01e-002 -5.1 1.97e+000 - 1.00e+000
1.00e+000f 1
9 2.3155882e-001 0.00e+000 6.38e-003 -3.9 5.49e-001 - 1.00e+000
1.00e+000f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
10 2.3030322e-001 0.00e+000 6.01e-003 -4.6 1.16e+000 - 9.98e-001
1.00e+000f 1
11 2.3008095e-001 0.00e+000 4.60e-002 -2.6 3.02e+001 - 5.36e-001
2.27e-001f 2
12 2.2783106e-001 0.00e+000 1.06e-001 -2.4 2.06e+001 - 1.00e+000
2.02e-001f 2
13 2.1571297e-001 0.00e+000 5.67e-002 -2.3 8.77e+000 - 1.00e+000
2.21e-001f 3
14 1.8078192e-001 0.00e+000 5.68e-002 -2.9 7.69e+000 - 9.97e-001
3.62e-001f 2
15 1.4540550e-001 0.00e+000 8.58e-002 -3.8 6.54e+000 - 1.00e+000
3.26e-001f 1
16 1.5533380e-001 0.00e+000 1.25e-001 -2.4 5.58e+000 - 9.45e-001
5.00e-001f 2
17 1.4003026e-001 0.00e+000 4.40e-002 -2.6 1.05e+000 - 1.00e+000
2.93e-001f 2
18 1.1513233e-001 0.00e+000 3.28e-002 -3.5 1.65e+000 - 1.00e+000
1.00e+000f 1
19 1.1058175e-001 0.00e+000 5.58e-002 -3.5 7.25e-001 - 1.00e+000
1.83e-001f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
20 1.0840715e-001 0.00e+000 2.40e-002 -4.6 5.04e-001 - 1.00e+000
5.00e-001f 2
21 1.0730184e-001 0.00e+000 2.59e-003 -4.7 8.46e-002 - 1.00e+000
4.43e-001f 1
22 1.0693632e-001 0.00e+000 1.15e-003 -6.2 1.83e-002 - 1.00e+000
1.00e+000f 1
23 1.0692761e-001 0.00e+000 3.95e-005 -8.0 1.93e-003 - 1.00e+000
9.85e-001f 1
24 1.0692755e-001 0.00e+000 1.11e-004 -11.0 1.05e-003 - 1.00e+000
1.00e+000f 1
25 1.0692753e-001 0.00e+000 1.09e-006 -11.0 6.86e-004 - 1.00e+000
1.00e+000f 1
Number of Iterations....: 25
(scaled) (unscaled)
Objective...............: *1.0692753478330776e-001 *
1.0692753478330776e-001
Dual infeasibility......: 1.0936467431047899e-006 1.0936467431047899e-006
Constraint violation....: 0.0000000000000000e+000 0.0000000000000000e+000
Complementarity.........: 1.0027270245806282e-011 1.0027270245806282e-011
Overall NLP error.......: 1.0936467431047899e-006 1.0936467431047899e-006
Number of objective function evaluations = 62
Number of objective gradient evaluations = 26
Number of equality constraint evaluations = 0
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 0
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 0
Total CPU secs in IPOPT (w/o function evaluations) = 25.657
Total CPU secs in NLP function evaluations = 1809.632
Optimal Solution : 5.24069, 1.21765, 5.77537e-10, *3.33815e-10*, 3.99296e-10
*Second Run: (The bold variable is changed in this run)*
Total number of variables............................: 1
variables with only lower bounds: 0
variables with lower and upper bounds: 1
variables with only upper bounds: 0
Total number of equality constraints.................: 0
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.0692753e-001 0.00e+000 2.99e-002 0.0 0.00e+000 - 0.00e+000
0.00e+000 0
1 1.0998169e-001 0.00e+000 6.45e-002 -1.1 8.05e-002 - 9.98e-001
1.00e+000f 1
2 1.6595396e-001 0.00e+000 2.03e-002 -1.1 5.84e-001 - 1.00e+000
1.00e+000f 1
3 1.3200249e-001 0.00e+000 4.12e-003 -1.8 2.83e-001 - 1.00e+000
1.00e+000f 1
4 1.1346410e-001 0.00e+000 5.79e-003 -2.7 2.35e-001 - 1.00e+000
1.00e+000f 1
5 1.0877403e-001 0.00e+000 1.68e-003 -4.0 9.49e-002 - 1.00e+000
1.00e+000f 1
6 1.0735574e-001 0.00e+000 3.01e-004 -4.0 3.88e-002 - 1.00e+000
1.00e+000f 1
7 1.0696293e-001 0.00e+000 3.89e-005 -6.0 1.25e-002 - 1.00e+000
1.00e+000f 1
8 1.0692884e-001 0.00e+000 9.98e-007 -6.0 1.14e-003 - 1.00e+000
1.00e+000f 1
Number of Iterations....: 8
(scaled) (unscaled)
Objective...............: *1.0692884325163618e-001*
1.0692884325163618e-001
Dual infeasibility......: 9.9778841742863659e-007 9.9778841742863659e-007
Constraint violation....: 0.0000000000000000e+000 0.0000000000000000e+000
Complementarity.........: 1.3088189011168833e-006 1.3088189011168833e-006
Overall NLP error.......: 1.3088189011168833e-006 1.3088189011168833e-006
Number of objective function evaluations = 9
Number of objective gradient evaluations = 9
Number of equality constraint evaluations = 0
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 0
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 0
Total CPU secs in IPOPT (w/o function evaluations) = 20.861
Total CPU secs in NLP function evaluations = 228.325
EXIT: Optimal Solution Found.
Objective fn value changed from *1.0692753478330776e-001 ---> *
*1.0692884325163618e-001*
Variable value changed from *3.33815e-10 ---> 4.36996e-5*
I presume that for the second run, the optimal dual is calculated in the 8
iterations but my solution degrades from the starting point.
My options:
app->Options()->SetNumericValue("tol", 1e-5);
app->Options()->SetNumericValue("constr_viol_tol", 1e-10);
app->Options()->SetNumericValue("bound_frac", 1e-15);
app->Options()->SetNumericValue("bound_push", 1e-15);
app->Options()->SetNumericValue("tiny_step_tol", 1e-10);
app->Options()->SetNumericValue("tiny_step_y_tol", 1e-10);
app->Options()->SetNumericValue("bound_relax_factor", 0);
app->Options()->SetStringValue("mu_strategy", "adaptive");
app->Options()->SetStringValue("hessian_approximation", "limited-memory");
Is there a way to avoid calculating new iterations or considering the
initial solution as the final solution?
Thank You
Regards
Udit Gupta
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20140410/b078784d/attachment.html>
More information about the Ipopt
mailing list