[Ipopt] Trouble with getting ipopt tutorial example to work

MuraliR murali at mavericks.cc
Sat Jun 19 16:48:18 EDT 2010


Never mind. I think I found a bug in computing the hessian of the
lagrangian.

On Sat, Jun 19, 2010 at 12:03 PM, MuraliR <murali at mavericks.cc> wrote:

> Hello,
> I am having trouble getting the tutorial example<http://www.coin-or.org/Ipopt/documentation/node28.html>
> to work. Unfortunately, giving my code is probably not helpful as I am
> calling a C++ layer written on top of ipopt by someone else.
>
> The problem is that ipopt reaches the max. iterations (3000) and then dumps
> core.
> even though it passes the derivative checks, the objective and constraint
> functions return correct values, and the problem summary printed by ipopt
> looks right.
>
> I am hoping someone can give me a pointer on what to try next.
>
> The relevant info:
>
> I don't have control over the initial point. The library always uses a
> vector of zeroes.
>
> Evaluating my objective and constraint functions at the known optimal point
> gives correct values.
>
> Running with "derivative_test second-order" gives "No errors detected by
> derivative checker".
>
> initial point of [0,0,0,0] doesn't appear to be the problem (I found that a
> different implementation of the example works fine with that initial point)
>
> The derivative checker, contrary to the doc, doesn't use a the given
> initial point even when it is feasible. It uses a random looking point that
> is the same each time I run the program, but different for the two
> implementations I am trying.
>
> The problem summaries for the two implementation are identical.
>
> Here are the first two iterations:
> Non-working implementation
> iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
> alpha_pr  ls
>    0  4.1009029e+00 3.59e+01 1.54e+00  -1.0 0.00e+00    -  0.00e+00
> 0.00e+00   0
>    1  6.3736464e+00 3.43e+01 2.36e+01  -1.0 5.89e+00    -  2.19e-03
> 4.20e-02f  1
> [...]
>
> Working implementation:
> iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
> alpha_pr  ls
>    0  4.1009029e+00 3.59e+01 1.54e+00   0.0 0.00e+00    -  0.00e+00
> 0.00e+00   0
>    1  6.3052937e+00 3.43e+01 2.38e+01  -5.7 5.89e+00    -  2.16e-03
> 4.20e-02h  1
> [...]
>
> Thanks,
> MuraliR
>



-- 
mrD
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/ipopt/attachments/20100619/fe0aca54/attachment.html 


More information about the Ipopt mailing list