[Ipopt] Modification of the example hs071_c: case without constraints
Andreas Waechter
andreasw at watson.ibm.com
Tue Mar 24 19:01:31 EDT 2009
Hi Minh,
I tried to modifications that you describe, used the option
hessian_approximation limited-memory
and the algorithm converged in 11 iterations to the solution you describe.
So, it looks all fine.
I assume there is something wrong in your local setup. I suggest you make
sure that 'make test' works properly, and that the examples as they are in
the distribution work.
If that still doesn't work you can submit a ticket at the Ipopt Trac page,
including all information: which operating system, which compilers, the
config.log file from the Ipopt subdirectory, some code the preplicate your
issue, and the all.out output file generate with
file_print_level 7
output_File all.out
But I can't promise that by looking at this imformation I or someone else
can quickly help you.
Andreas
On Tue, 24 Mar 2009 tmtuan at laas.fr wrote:
> Hi all again,
>
> Thinking about a simple example of non-constraint optimization with Ipopt,
> I just modified the example hs071_c.c by setting m=0, nele_jac=0,
> nele_hess=0. I also removed the part /* set the values of the constraint
> bounds */ and modified the gradient functions as follows:
>
> Bool eval_g(...)
> {
> return TRUE;
> }
>
> Bool eval_jac_g(...)
> {
> return TRUE;
> }
>
> Bool eval_h(...)
> {
> return FALSE; // using approximated hessian in option
> }
>
> In this case, the obvious optimum is x1 = x2 = x3 = x4 = 1 which gives 4
> as optimal value for the objective function.
>
> However, I got this result:
>
> =====
> ...
> 533 4.0498668e+00 0.00e+00 5.13e+09 -1.7 1.39e+14 -20.0 2.81e-14
> 2.81e-16w 1
> 534 4.0693547e+00 0.00e+00 2.04e+08 -1.7 4.51e+23 -20.0 1.68e-21
> 4.16e-23f 14
> Warning: Cutting back alpha due to evaluation error
> ...
> Restoration phase is called at point that is almost feasible,
> with constraint violation 0.000000e+00. Abort.
>
> Number of Iterations....: 534
>
> (scaled) (unscaled)
> Objective...............: 4.0693546701813865e+00 4.0693546701813865e+00
> Dual infeasibility......: 2.0382053748458204e+08 2.0382053748458204e+08
> Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
> Complementarity.........: 2.0581959617183902e+06 2.0581959617183902e+06
> Overall NLP error.......: 7.9999998816327331e+02 2.0382053748458204e+08
>
>
> Number of objective function evaluations = 4138
> Number of objective gradient evaluations = 535
> 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.968
> Total CPU secs in NLP function evaluations = 0.007
>
> EXIT: Restoration Failed!
> =====
>
> After 534 iterations, the optimal cost converged to 4 but no explicit
> optimal values X1->X4 was found.
>
> When I changed initial values to X=(1,2,2,1), I got this:
>
> =====
> 84 5.3833428e+00 0.00e+00 4.25e+00 -1.3 6.72e+05 -20.0 2.22e-08
> 2.40e-08f 8
> 85 4.9866527e+00 0.00e+00 8.89e-01 -1.3 9.29e-01 -20.0 1.00e+00
> 6.54e-02f 1
> ERROR: Problem in step computation, but emergency mode cannot be activated.
>
> Number of Iterations....: 85
>
> (scaled) (unscaled)
> Objective...............: 4.9866526748311717e+00 4.9866526748311717e+00
> Dual infeasibility......: 8.8935433599997316e-01 8.8935433599997316e-01
> Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
> Complementarity.........: 4.5557198993150250e-01 4.5557198993150250e-01
> Overall NLP error.......: 8.8935433599997316e-01 8.8935433599997316e-01
>
>
> Number of objective function evaluations = 394
> Number of objective gradient evaluations = 86
> 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.198
> Total CPU secs in NLP function evaluations = 0.001
>
> EXIT: Error in step computation (regularization becomes too large?)!
> =====
>
> After 85 iterations, the program converged to 5.
>
> So, could you please explain me how to overcome this simple problem ? How
> to "design" a non-constraint optimization program which works ?
>
> Thanks a lot,
> Minh
>
>
>
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
More information about the Ipopt
mailing list