[Coin-ipopt] Need Help with an NLP

Andreas Waechter andreasw at watson.ibm.com
Mon Aug 13 13:07:30 EDT 2007


Hi Roy and Damien,

> what's the bit right at the top?
>
> Error in an AMPL evaluation. Run with "halt_on_ampl_error yes" to see details.
> Error evaluating objective gradient at user provided starting point.
>
> If your objective evaluation is wrong or broken, you won't get anywhere.

I think what happens here is that the starting point that is provided by 
the user is such that the objective function cannot be evaluated at the 
starting point (e.g., 1/x for x = 0 or so).

This user-given starting point is used at the very beginning to compute 
scaling factors for the objective and constraints.  Since Ipopt cannot 
evaluate the objective gradient at that point, no scaling parameter are 
computer, i.e., the default "1" is used.

Now, later on it seems that the problem was pretty much solved.  I 
suggest to use less tight convergence tolernaces (look at tol, 
acceptable_tol and related Ipopt options).

I hope this helps,

Andreas


>
> Damien
>  _____
>
> From: Roy Chen [mailto:ytboy0208 at gmail.com]
> To: coin-ipopt at list.coin-or.org
> Sent: Mon, 13 Aug 2007 08:02:03 -0600
> Subject: [Coin-ipopt] Need Help with an NLP
>
>
> Dear all:
>
>
> I am trying to solve an MINLP using Bonmin which uses IPOPT to solve the Nonlinear problem. But I am having trouble to solve the relaxed version of my MINLP using IPOPT solver. I interacted with IPOPT through AMPL and used AMPL external function to define the integration in my objective. The first order and second order derivative information was provided along with the function. The following is the error information:
>
>
>
> ******************************************************************************
> 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
> ******************************************************************************
>
> Number of nonzeros in equality constraint Jacobian...:      125
> Number of nonzeros in inequality constraint Jacobian.:      335
> Number of nonzeros in Lagrangian Hessian.............:      265
>
> Error in an AMPL evaluation. Run with "halt_on_ampl_error yes" to see details.
> Error evaluating objective gradient at user provided starting point.
>  No scaling factor for objective function computed!
> Total number of variables............................:      135
>                     variables with only lower bounds:       55
>                variables with lower and upper bounds:       80
>                     variables with only upper bounds:        0
> Total number of equality constraints.................:       50
> Total number of inequality constraints...............:      111
>        inequality constraints with only lower bounds:       50
>   inequality constraints with lower and upper bounds:        0
>        inequality constraints with only upper bounds:       61
>
> iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
>   0  8.7905295e+04 1.00e+01 8.35e+02  -1.0 0.00e+00    -  0.00e+00 0.00e+00   0
>   1  8.7910568e+04 9.98e+00   8.26e+02  -1.0 1.36e+01   4.0 1.27e-03 1.55e-03h  1
>   2  8.7910720e+04 9.98e+00 8.26e+02  -1.0 1.59e+01   3.5 1.91e-03 4.57e-05h  1
>   3  8.7914175e+04 9.98e+00 8.27e+02  -1.0 2.69e+01   3.0 1.54e-03 6.53e-04h  1
>     4  8.7951723e+04 9.89e+00 9.63e+02  -1.0 4.51e+01   2.6 1.09e-03 8.94e-03h  1
>   5  8.7953001e+04 9.84e+00 9.62e+02  -1.0 2.65e+01   2.1 1.49e-02 4.97e-03h  1
>   6  8.7951330e+04 9.59e+00 9.82e+02  -1.0 3.18e+01     1.6 3.12e-02 2.54e-02h  1
>   7  8.7826040e+04 8.73e+00 9.73e+02  -1.0 3.09e+01   1.1 8.71e-02 8.99e-02f  1
>   8  8.7415118e+04 7.33e+00 8.53e+02  -1.0 3.15e+01   0.7 7.17e-02 1.60e-01f  1
>   9  8.7196048e+04 6.93e+00   8.09e+02  -1.0 3.61e+01   0.2 7.30e-02 5.49e-02f  1
> iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
>  10  8.6753427e+04 6.43e+00 7.55e+02  -1.0 5.05e+01  -0.3 2.45e-02 7.21e-02f  1
>    11  8.6708455e+04 6.40e+00 7.52e+02  -1.0 8.43e+01  -0.8 2.93e-02 4.11e-03f  1
>  12  8.6223377e+04 6.25e+00 7.36e+02  -1.0 1.88e+02  -1.2 2.52e-03 2.36e-02f  1
>  13  8.6188855e+04 6.24e+00 7.35e+02  -1.0 6.50e+02  -   1.7 3.82e-03 9.22e-04f  1
>  14  8.6076313e+04 6.20e+00 7.30e+02  -1.0 1.40e+02  -1.3 3.01e-03 6.82e-03f  1
>  15  8.5958852e+04 6.13e+00 7.21e+02  -1.0 7.48e+01  -0.9 1.17e-02 1.18e-02f  1
>  16  8.5807339e+04 6.10e+00   7.18e+02  -1.0 2.81e+02  -1.4 1.13e-03 5.10e-03f  1
>  17  8.5740763e+04 6.10e+00 7.18e+02  -1.0 7.78e+03  -1.8 1.23e-04 1.53e-04f  1
>  18  8.5098085e+04 5.94e+00 7.00e+02  -1.0 2.57e+02  -1.4 1.42e-02 2.61e-02f  1
>    19  8.4984456e+04 5.93e+00 6.99e+02  -1.0 7.07e+02  -1.9 2.54e-03 1.98e-03f  1
> ......
>
> 150 -6.3420338e+04 9.40e-13 6.43e-04  -5.7 3.72e-02    -  1.00e+00 1.00e+00h  1
> 151 -6.3420338e+04 9.23e-13 7.89e-04  -5.7 1.49e-03    -  1.00e+00 1.00e+00h  1
> 152 -6.3420338e+04 1.06e-12   3.50e-04  -5.7 1.81e-03    -  1.00e+00 2.50e-01h  3
> 153 -6.3420338e+04 7.96e-13 4.29e-04  -5.7 8.02e-04    -  1.00e+00 1.00e+00h  1
> 154 -6.3420338e+04 9.40e-13 5.26e-04  -5.7 9.84e-04    -  1.00e+00 1.00e+00h  1
>   155 -6.3420338e+04 9.09e-13 8.17e-05  -5.7 1.21e-03    -  1.00e+00 5.00e-01h  2
> 156 -6.3420338e+04 9.40e-13 2.64e-05  -5.7 1.37e-04    -  1.00e+00 2.50e-01h  3
> 157 -6.3420338e+04 4.55e-13 3.24e-05  -5.7 6.06e-05    -    1.00e+00 1.00e+00H  1
> 158 -6.3420338e+04 9.09e-13 3.21e-05  -5.7 7.43e-05    -  1.00e+00 3.91e-03h  9
> Restoration phase is called at point that is almost feasible,
>  with constraint violation 5.442878e-12. Abort.
>
> Number of Iterations....: 158
>
>                                   (scaled)                 (unscaled)
> Objective...............:  -6.3420337528224874e+04   -6.3420337528224874e+04
> Dual infeasibility......:   3.2092465486712886e-05       3.2092465486712886e-05
> Constraint violation....:   1.1102230246251565e-16    1.1102230246251565e-16
> Complementarity.........:   1.8449147213693174e-06    1.8449147213693174e-06
> Overall NLP error.......:   3.2092465486712886e-05       3.2092465486712886e-05
>
>
> Number of objective function evaluations             = 230
> Number of objective gradient evaluations             = 160
> Number of equality constraint evaluations            = 230
> Number of inequality constraint evaluations          = 230
> Number of equality constraint Jacobian evaluations   = 160
> Number of inequality constraint Jacobian evaluations = 160
> Number of Lagrangian Hessian evaluations             = 159
> Total CPU secs in IPOPT (w/o function evaluations)   =        0.156
> Total CPU secs in NLP function evaluations           =      1.309
>
> EXIT: Restoration Failed!
> y [*] :=
> prod1  216.768
> prod2  177.989
> prod3  201.233
> prod4  189.046
> prod5  215.566
> ;
>
> As you can see, it still gives me one solution, but it also says restoration failed. I am just wondering is it because that the IPOPT solver is not specifically good for my problem or something else.
>
> Best



More information about the Coin-ipopt mailing list