[Ipopt] Limited-memory quasi-newton option
Andreas Waechter
andreasw at watson.ibm.com
Thu Dec 16 14:56:49 EST 2010
Hi Andre,
> First of all: @ Andreas, Thank you very much for your comments! The
> derivative checker as well as the limited-memory bfgs option are working now.
Glad to hear it is working now.
> Unfortunately, I ran into two new problems (questions).
> 1.) How can I stop ipopt if the objective is just below the primal_inf_tol
> (but not below the dual_inf_tol)?
Not sure I understand - primal_inf_tol is not a tolerance for the
objective function value, it is the tolerance for primal infeasibility.
> The acceptable_obj_change_tol option does
> not seem to work properly and I tried all the other options without success.
You need to set a number of termination criteria in an organized way to
get what you want. Please make sure you read the description of the
termination criteria (regular and "acceptable") carefully. If that does
not help, please include the options you set an another posting.
> 2.) Does anyone know why the objective jumps during the interation (see
> below)? (How can I circumvent this problem?) Is there any maximum step size
> implented in ipopt? Or might it be the restoration phase of the Hessian
> approximation. (By the way, what does 1.00e+000w mean in the alpha_pr row?
> More precisely the w?)
"w" stands for "watchdog". This is a temporarily non-monotone line search
procedure, with the goal of overcoming the so-called Maratos-effect. It
might not make much sense to use it for a problem without constraints.
In any case, you can swtich the watchdog procedure off by setting the
option
watchdog_shortened_iter_trigger 0
Regards,
Andreas
>
> Any help would be very nice!
>
> Best regards,
> Andre Loerx
>
> PS: In my problems I consider a least squares formulation, such that the
> objective (and gradient) become(s) very small.
>
> ******************************************************************************
> 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.9.1, running with linear solver ma27.
>
> No errors detected by derivative checker.
>
> Number of nonzeros in equality constraint Jacobian...: 0
> Number of nonzeros in inequality constraint Jacobian.: 0
> Number of nonzeros in Lagrangian Hessian.............: 0
>
> Total number of variables............................: 16
> variables with only lower bounds: 0
> variables with lower and upper bounds: 0
> 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 4.1541153e-002 0.00e+000 5.95e+001 0.0 0.00e+000 - 0.00e+000
> 0.00e+000 0
> 1 9.6285819e-003 0.00e+000 1.56e+001 -11.0 5.95e+001 - 1.00e+000
> 9.77e-004f 11
> 2 7.3407467e-003 0.00e+000 5.24e+000 -11.0 1.17e-002 - 1.00e+000
> 1.00e+000f 1
>
> ...
>
> 35 5.3918130e-005 0.00e+000 3.29e-001 -11.0 1.20e-001 - 1.00e+000
> 1.25e-001f 4
> 36 5.3046731e-005 0.00e+000 1.59e-001 -11.0 1.79e+000 - 1.00e+000
> 3.91e-003f 9
> 37 5.1043452e-005 0.00e+000 7.42e-002 -11.0 1.65e-001 - 1.00e+000
> 1.25e-001f 4
> 38 1.0373930e-003 0.00e+000 1.33e+000 -11.0 2.68e-001 - 1.00e+000
> 1.00e+000w 1
> 39 6.4342966e-004 0.00e+000 1.39e+000 -11.0 1.15e-001 - 1.00e+000
> 1.00e+000w 1
> 40 1.1531169e-002 0.00e+000 2.07e+001 -11.0 5.85e-001 - 1.00e+000
> 1.00e+000w 1
> 41 4.9804859e-005 0.00e+000 8.41e-002 -11.0 3.76e+000 - 1.00e+000
> 6.25e-002f 4
> 42 4.9566540e-005 0.00e+000 1.97e-001 -11.0 2.14e-001 - 1.00e+000
> 3.13e-002f 6
>
> ...
>
> 57 1.9789168e-005 0.00e+000 1.21e-001 -11.0 1.08e+001 - 1.00e+000
> 9.77e-004f 11
> 58 2.1811281e-003 0.00e+000 4.33e+000 -11.0 5.55e-001 - 1.00e+000
> 1.00e+000w 1
> 59 2.1245950e-002 0.00e+000 4.15e+001 -11.0 4.78e-001 - 1.00e+000
> 1.00e+000w 1
> 60 7.3051082e-003 0.00e+000 3.79e+000 -11.0 1.12e+000 - 1.00e+000
> 1.00e+000w 1
> 61 1.9132157e-005 0.00e+000 1.35e-001 -11.0 1.38e+000 - 1.00e+000
> 6.25e-002f 4
>
>
> ...
>
> (scaled) (unscaled)
> Objective...............: 2.4851902739530113e-009 2.4851902739530112e-011
> Dual infeasibility......: 5.3455618178850871e-005 5.3455618178850870e-007
> Constraint violation....: 0.0000000000000000e+000 0.0000000000000000e+000
> Complementarity.........: 0.0000000000000000e+000 0.0000000000000000e+000
> Overall NLP error.......: 5.3455618178850871e-005 5.3455618178850870e-007
>
>
> Number of objective function evaluations = 29513
> Number of objective gradient evaluations = 3001
> 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) = 179.341
> Total CPU secs in NLP function evaluations = 11448.251
>
> ...
>
> --
>
>
> +-- --- --- --- --- --- --- --- --- --- --- --- --+
> Andre Loerx
>
> University of Trier
> FB IV - Department of Mathematics
> 54286 Trier, Germany
>
> phone: +49 651 201 3468
> fax: +49 651 201 3973
> email: loerx at uni-trier.de
> www: http://www.mathematik.uni-trier.de/~loerx
> +-- --- --- --- --- --- --- --- --- --- --- --- --+
>
>
More information about the Ipopt
mailing list