[Ipopt] Sequence of optimization problems / Avoiding restauration phase starting from feasible point
Andreas Waechter
andreasw at watson.ibm.com
Mon Mar 14 09:50:46 EDT 2011
Hi Uwe,
For such warm starts, you probably also want to decrease the values of the
options bound_push and bound_frac to make sure that Ipopt does not
perturb your initial point too much to make it fit well into the bounds.
Also, maybe setting mu_strategy=adaptive (and playing with mu_oracle)
might something to try.
Andreas
On Tue, 8 Mar 2011, Uwe Nowak wrote:
> Hello!
>
> I solve a sequence of optimization problems, call them P1 ... Pn
> They have all the same structure (non zero entries etc. are the same).
> Each following optimization problem is only a slight modification of the
> previous one, where the solution of the previous one is always feasible
> to the next one
>
> From a previous optimization run Q (with a different model) I get a
> solution that is known to be a local optimum of P1. However I do not
> have the dual variables for P1
>
> Now I am solving P1 with this solution (I know, I am at the local
> optimum). To avoid the primal solution to be pushed in the interior, I set
> mu_init = 1E-4.
> In the finalize_solution I copy the variable bounds and lambda.
>
> Then I subsequently solve P2 to Pn by setting
> warm_start_init_point = yes
> mu_init = (mu of the last optimization run)
> and calling the ReOptimizeTNLP method.
>
>
> First question. Is there something I have forgotten? Do I have to set
> some additional parameters (e.g. at the beginning I did not set mu_init,
> so each solution was pushed into the interior first an then converged again)
>
>
>
> Second question:
> Sometimes the algorithm, starting from an feasible primal point, become
> primal infeasible and starts a restauration phase. This yields a
> solution much worse then the previous feasible.
> Is there a maybe less aggressive strategy forcing IPOPT to remain almost
> feasible all the time?
>
>> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
>> 70 1.5682727e+02 8.57e-02 3.44e-01 -5.0 3.52e+00 -3.4 3.98e-01 1.00e+00h 1
>> 71 1.5675160e+02 5.22e-02 4.02e-01 -5.0 7.36e+00 -3.9 1.00e+00 4.05e-01h 1
>> 72 1.5666212e+02 1.56e-01 1.90e-01 -5.0 1.05e+01 -4.4 5.98e-01 1.00e+00h 1
>> 73 1.5656510e+02 1.00e-01 1.15e-02 -5.0 8.20e+00 -4.8 1.00e+00 1.00e+00h 1
>> 74 1.5650007e+02 4.40e-01 7.39e-04 -5.0 3.30e+00 -4.4 1.00e+00 1.00e+00h 1
>> 75 1.5649592e+02 2.27e-01 1.26e-03 -5.0 5.28e+00 -4.9 1.00e+00 1.00e+00h 1
>> 76 1.5649478e+02 1.33e+01 3.57e-03 -5.0 7.36e+00 -5.4 4.47e-01 5.16e-01h 1
>> 77 1.5649281e+02 1.11e+02 2.70e-03 -5.0 2.51e+01 -5.8 3.32e-01 2.37e-01H 1
>> 78 1.5649225e+02 9.01e+01 3.86e-02 -5.0 1.37e+01 -4.5 6.44e-01 5.98e-01h 1
>> 79 1.5649209e+02 5.69e+01 7.25e-03 -5.0 3.20e+01 -5.0 6.57e-02 6.29e-01h 1
>> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
>> 80 1.5649203e+02 1.03e+02 1.01e-01 -5.0 2.64e+02 -4.6 4.53e-04 1.10e-01h 1
>> 81 1.5649203e+02 1.03e+02 1.01e-01 -5.0 7.79e+02 -4.1 4.88e-03 4.12e-04h 1
>> 82 1.5649203e+02 1.53e+02 1.26e-01 -5.0 3.22e+03 -4.6 1.69e-02 1.92e-02f 1
>> 83 1.5649200e+02 1.65e+02 4.44e-01 -5.0 7.95e+01 -3.3 3.34e-01 1.26e-01h 2
>> 84 1.5649197e+02 1.78e+02 1.35e+00 -5.0 6.37e+01 -2.9 1.23e-01 1.65e-01h 2
>> 85 1.5649197e+02 1.72e+02 7.19e-01 -5.0 5.86e+01 -2.4 3.11e-01 6.13e-02h 2
>> 86 1.5649197e+02 1.72e+02 7.18e-01 -5.0 2.68e+01 -1.1 2.88e-02 4.10e-04h 7
>> 87r 1.5649197e+02 1.72e+02 9.99e+02 2.2 0.00e+00 -1.6 0.00e+00 2.53e-07R 18
>> 88r 1.5653028e+02 1.72e+02 9.99e+02 2.2 1.08e+06 - 4.79e-07 1.32e-06f 1
>> 89r 1.5653716e+02 1.70e+02 9.99e+02 0.8 1.71e+05 - 1.53e-04 1.07e-05f 1
>> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
>> 90r 1.5727519e+02 1.65e+02 9.99e+02 0.8 1.49e+05 - 1.50e-04 8.06e-05f 1
>> 91r 1.5813662e+02 1.59e+02 9.98e+02 0.8 1.28e+05 - 5.08e-04 6.56e-05f 1
>> 92r 1.6414260e+02 1.39e+02 9.98e+02 0.8 9.78e+04 - 8.55e-06 3.01e-04f 1
>> 93r 1.6602517e+02 1.28e+02 9.96e+02 0.8 7.75e+04 - 2.26e-03 1.68e-04f 1
>> 94r 1.8269041e+02 6.18e+01 9.95e+02 0.8 2.91e+04 - 1.15e-03 2.29e-03f 1
>> 95r 2.1761773e+02 6.03e+01 9.95e+02 0.8 4.89e+05 - 2.29e-05 1.48e-04f 1
>> 96r 2.1929903e+02 4.07e+01 9.94e+02 0.8 9.65e+03 - 1.19e-03 2.03e-03f 1
>> 97r 2.3744708e+02 1.30e+01 9.91e+02 0.8 1.42e+04 - 3.20e-03 5.88e-03f 1
>> 98r 2.5295068e+02 1.25e+01 9.88e+02 0.8 1.49e+04 - 3.07e-03 3.97e-03f 1
>> 99r 2.9942219e+02 1.73e+01 9.83e+02 0.8 1.29e+04 - 4.61e-03 9.79e-03f 1
>> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
>> 100r 3.3993981e+02 2.09e+01 9.79e+02 0.8 1.85e+04 - 4.37e-03 5.75e-03f 1
>> 101r 4.1211055e+02 3.10e+01 9.75e+02 0.8 2.67e+04 - 3.60e-03 6.14e-03f 1
>> 102r 4.1310090e+02 3.04e+01 9.15e+02 0.8 5.20e+01 0.0 6.25e-02 2.59e-02f 1
>> 103r 4.2195318e+02 2.80e+01 7.60e+02 0.8 8.77e+00 0.4 1.71e-01 9.18e-02f 1
>> 104r 4.2176146e+02 1.96e+01 2.42e+02 0.8 7.60e+00 1.8 1.00e+00 3.00e-01f 1
>> 105r 4.2099592e+02 1.71e+01 3.62e+02 0.1 5.61e+00 2.2 6.35e-01 1.28e-01f 1
>> 106r 4.1882400e+02 8.13e+00 1.18e+03 0.1 5.05e+00 2.6 5.57e-01 5.26e-01f 1
>> 107r 4.1775430e+02 1.87e+00 2.21e+03 0.1 2.34e+00 3.0 1.19e-01 7.70e-01f 1
>> 108r 4.1748080e+02 5.32e-01 1.61e+03 0.1 5.52e-01 3.5 9.43e-01 9.70e-01f 1
>> 109r 4.1755413e+02 3.90e-01 1.23e+03 0.1 5.27e-01 3.0 1.00e+00 2.59e-01f 1
>> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
>> 110r 4.1766642e+02 2.08e-01 1.10e+03 0.1 1.59e+00 2.5 1.00e+00 1.14e-01f 1
>> 111r 4.1771327e+02 4.82e-02 1.03e+03 0.1 2.92e+00 2.0 9.57e-01 6.64e-02f 1
>> 112r 4.1883072e+02 4.00e-02 6.83e+02 0.1 2.57e-01 1.6 1.00e+00 3.38e-01f 1
>> 113r 4.2636433e+02 6.30e-02 2.88e+01 0.1 2.21e-01 1.1 9.71e-01 1.00e+00f 1
>> 114r 4.2698938e+02 1.54e-03 9.49e-01 -0.6 2.19e-02 1.5 1.00e+00 1.00e+00f 1
>> 115 4.1348536e+02 5.65e-02 3.11e+01 -5.0 1.15e+01 -1.2 4.17e-01 8.17e-02f 2
>> 116 4.0494088e+02 5.30e-02 2.87e+01 -5.0 6.90e+00 -1.6 5.12e-01 7.62e-02F 1
>
> ...
>
>> 238 1.5781566e+02 1.74e+01 4.57e-01 -5.0 1.04e+02 -3.9 1.03e-01 4.41e-01h 1
>> 239 1.5778549e+02 1.72e+01 1.20e+00 -5.0 2.41e+01 -4.3 5.83e-01 1.26e-02h 1
>> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
>> 240 1.5633017e+02 2.55e+01 9.25e-01 -5.0 5.87e+01 -4.8 7.83e-01 4.68e-01h 1
>> 241 1.5632957e+02 2.55e+01 2.56e+00 -5.0 8.92e+01 -5.3 8.49e-01 8.54e-05h 1
>> 242 1.5432647e+02 1.77e+01 1.44e+00 -5.0 1.29e+02 -5.8 6.10e-02 3.14e-01h 1
>> 243 1.5394238e+02 1.62e+01 1.62e+00 -5.0 1.03e+02 -6.2 2.57e-01 8.51e-02h 1
>> 244 1.5388488e+02 1.59e+01 1.84e+00 -5.0 6.18e+01 -4.9 8.11e-01 1.90e-02h 1
>> 245 1.5388445e+02 1.59e+01 6.87e-01 -5.0 4.38e+00 -3.6 1.00e+00 2.79e-04h 1
>> 246 1.5350298e+02 1.25e+01 5.42e-01 -5.0 1.00e+01 -4.1 1.00e+00 2.23e-01h 1
>> 247 1.5325127e+02 1.01e+01 6.52e-01 -5.0 3.48e+01 -4.5 6.23e-01 1.90e-01h 1
>> 248 1.5270523e+02 7.71e+00 3.38e-01 -5.0 3.44e+01 -5.0 4.33e-01 2.47e-01h 1
>> 249 1.5251127e+02 7.00e+00 1.34e+00 -5.0 4.77e+01 -5.5 1.00e+00 9.94e-02h 1
>> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
>> 250 1.5187417e+02 5.42e+00 3.58e-01 -5.0 5.14e+01 -6.0 1.17e-01 8.79e-01h 1
>> 251 1.5181891e+02 4.79e+00 2.37e-01 -5.0 1.78e+01 -6.4 1.00e+00 1.17e-01h 1
>> 252 1.5164263e+02 6.05e-01 3.34e-02 -5.0 1.60e+01 -6.9 1.00e+00 8.79e-01h 1
>> 253 1.5156578e+02 2.03e+00 2.56e-02 -5.0 1.21e+01 -7.4 1.00e+00 1.00e+00h 1
>> 254 1.5146227e+02 2.63e+01 5.99e-03 -5.0 2.05e+01 -7.9 1.00e+00 1.00e+00h 1
>> 255 1.5144122e+02 2.93e+02 7.39e-03 -5.0 7.12e+01 -8.3 4.55e-01 9.49e-01h 1
>> 256 1.5143650e+02 1.44e+02 5.14e-03 -5.0 1.92e+02 -8.8 3.44e-01 4.29e-01h 1
>> 257 1.5143020e+02 4.94e+02 4.60e-03 -5.0 2.84e+02 -8.4 3.75e-01 1.00e+00h 1
>> 258 1.5143005e+02 1.04e+02 5.04e-05 -5.0 4.72e+02 -8.9 1.00e+00 7.85e-01h 1
>> 259 1.5143001e+02 3.96e+01 2.93e-06 -5.0 1.45e+01 -9.4 1.00e+00 1.00e+00h 1
>> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
>> 260 1.5143001e+02 2.06e-01 1.16e-06 -5.0 5.36e+01 -8.9 1.00e+00 1.00e+00h
>
> and then exit with "Optimal Solution Found".
>
>
> Thank you very much,
> Uwe
>
>
>
> --
> Uwe Nowak
> Fraunhofer-Institut für Techno- und Wirtschaftsmathematik
> Abteilung Optimierung
> Fraunhofer-Platz 1
> D-67663 Kaiserslautern
> Telefon: +49(0)631/31600-4458
> E-Mail: uwe.nowak at itwm.fraunhofer.de
> Internet: www.itwm.fraunhofer.de
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
>
>
More information about the Ipopt
mailing list