[Ipopt] Bound-constrained solution worst than initial guess
Rafael de Pelegrini Soares
rafael at vrtech.com.br
Thu Jun 5 13:12:54 EDT 2008
Hi all,
I've found a solution for my problem by adjusting the value of the
option bound_mult_init_val from 1 to 0.001.
I'm not sure about the actual meaning of that option but it did the
trick.
Regards.
On Thu, 2008-06-05 at 12:00 -0400, ipopt-request at list.coin-or.org wrote:
> Dear all,
>
> I'm trying to solve a small bound-constrained problem with Ipopt. I'm
> giving the analytic first-order derivatives and no hessian information.
>
> The problem is, I have a very good initial estimation of the optimum.
> With my initial estimative, the objective function evaluates to
> -2.6903480e+01. My initial estimate is feasible with respect to the
> bounds and there is no additional constraints. My doubt is: how can
> Ipopt find a solution which is worst ?(-2.6826471985692432e+01) than my
> initial guess, if the initial guess is a feasible solution? Is that
> something related with the tolerances or options?
>
> Thank you in advance.
>
> By the way, the derivative checker cannot find any errors on my
> derivatives.
>
> It follows the output for the problem:
>
>
> ******************************************************************************
> 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
> ******************************************************************************
>
> NOTE: You are using Ipopt by default with the MUMPS linear solver.
> Other linear solvers might be more efficient (see Ipopt
> documentation).
>
>
> This is Ipopt version 3.4trunk, running with linear solver mumps.
>
> 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............................: 6
> variables with only lower bounds: 0
> variables with lower and upper bounds: 6
> 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 -2.6903480e+01 0.00e+00 1.23e+00 0.0 0.00e+00 - 0.00e+00
> 0.00e+00 0
> 1 -2.6773883e+01 0.00e+00 1.25e+00 -0.8 1.58e-01 - 9.66e-01
> 1.00e+00f 1
> 2 -2.6762138e+01 0.00e+00 5.53e-01 -0.8 4.36e-01 - 1.00e+00
> 1.00e+00f 1
> 3 -2.6765537e+01 0.00e+00 2.97e-02 -1.5 2.85e-02 - 1.00e+00
> 1.00e+00f 1
> 4 -2.6782839e+01 0.00e+00 1.26e-01 -2.3 5.76e-02 - 1.00e+00
> 1.00e+00f 1
> 5 -2.6813428e+01 0.00e+00 9.97e-02 -2.3 1.12e-01 - 1.00e+00
> 1.00e+00f 1
> 6 -2.6818494e+01 0.00e+00 8.18e-02 -2.3 6.85e-02 - 1.00e+00
> 1.00e+00f 1
> 7 -2.6823893e+01 0.00e+00 3.77e-02 -2.3 5.74e-02 - 1.00e+00
> 1.00e+00f 1
> 8 -2.6826132e+01 0.00e+00 3.05e-02 -3.4 9.18e-02 - 9.46e-01
> 1.00e+00f 1
> 9 -2.6826319e+01 0.00e+00 1.36e-02 -3.4 2.51e-02 - 1.00e+00
> 1.00e+00f 1
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
> alpha_pr ls
> 10 -2.6826439e+01 0.00e+00 2.99e-02 -3.4 1.12e-02 - 1.00e+00
> 1.00e+00f 1
> 11 -2.6826454e+01 0.00e+00 8.72e-03 -3.4 9.73e-03 - 1.00e+00
> 5.00e-01f 2
> 12 -2.6826465e+01 0.00e+00 6.14e-04 -3.4 2.86e-03 - 1.00e+00
> 1.00e+00f 1
> 13 -2.6826472e+01 0.00e+00 3.36e-04 -5.2 2.59e-03 - 1.00e+00
> 1.00e+00f 1
> 14 -2.6826472e+01 0.00e+00 2.78e-04 -5.2 3.43e-04 - 1.00e+00
> 1.00e+00f 1
> 15 -2.6826472e+01 0.00e+00 3.52e-04 -5.2 3.10e-04 - 1.00e+00
> 1.00e+00f 1
> 16 -2.6826472e+01 0.00e+00 9.92e-06 -5.2 1.90e-04 - 1.00e+00
> 1.00e+00f 1
> 17 -2.6826472e+01 0.00e+00 2.95e-06 -7.0 6.05e-05 - 1.00e+00
> 1.00e+00f 1
> 18 -2.6826472e+01 0.00e+00 4.87e-06 -7.0 5.56e-06 - 1.00e+00
> 1.00e+00f 1
> 19 -2.6826472e+01 0.00e+00 4.47e-06 -7.0 3.50e-06 - 1.00e+00
> 1.00e+00f 1
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
> alpha_pr ls
> 20 -2.6826472e+01 0.00e+00 1.98e-06 -7.0 2.45e-06 - 1.00e+00
> 2.50e-01f 3
> 21 -2.6826472e+01 0.00e+00 7.27e-08 -7.0 6.95e-07 - 1.00e+00
> 1.00e+00f 1
>
> Number of Iterations....: 21
>
> (scaled) (unscaled)
> Objective...............: -2.6826471985692432e+01
> -2.6826471985692432e+01
> Dual infeasibility......: 7.2654462898683632e-08
> 7.2654462898683632e-08
> Constraint violation....: 0.0000000000000000e+00
> 0.0000000000000000e+00
> Complementarity.........: 9.0909090910064460e-08
> 9.0909090910064460e-08
> Overall NLP error.......: 9.0909090910064460e-08
> 9.0909090910064460e-08
>
>
> Number of objective function evaluations = 33
> Number of objective gradient evaluations = 22
> 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) = 0.676
> Total CPU secs in NLP function evaluations = 0.000
>
> EXIT: Optimal Solution Found.
More information about the Ipopt
mailing list