[Coin-ipopt] limited-memory quasi-Newton approximation
Andreas Waechter
andreasw at watson.ibm.com
Tue Jan 8 10:04:40 EST 2008
Hi Susana,
Just to add to what Tran wrote:
If you modeled your problem in C or C++ (and not in AMPL or GAMS), you
definitely should run the derivative checker to make sure you didn't make
a mistake assembling the first derivatives (it is so easy to have a
typo here... :-) )
But even if the first derivatives are correct, the limited-memory
approximation might not lead to convergence. It is definitely not as
robust as if you are using exact second derivatives.
I searched the web, and I found an implementation of the goddard problem
in AMPL by Bob Vanderbei, at http://www.princeton.edu/~rvdb/goddard.html.
Of course, I'm not sure if you re using a similar model, but I simply
tried to run it:
If I just use Ipopt's default options, the problem is solved well (AMPL
automatically computes all derivatives for you). However, if I specify
the option to use the limit-memory BFGS approximation, Ipopt doesn't
converge; it can't find a feasible point.
The quasi-Newton version of Ipopt is definitely less robust than the exact
derivative one. There is no theory ensuring convergence for the
quasi-Newton option (while there is for the default version), and it is
mainly thought to be a heuristic for the case there second derivatives are
not available. It works in many cases (in fact, we use it every day to
optimize computer chips), but there are limits, and you might just have
found such as case ;-)
So, if I were you, I would consider providing second derivatives to Ipopt
(maybe automatic differential tools can be helpful... such as ADOLC, CppAD
and others). If that is really impossible, it might be worth trying a
number of different starting points, equivalent problem formulations,
playing with Ipopt options...
There are other optimization codes out there (mainly commercial) which
might have better quasi-Newton implementations, but I have no experience
with those. (Ok, on the NEOS solver I just tried the problem with one of
the quasi-Newton algorithms, I won't way which one, and it didn't solve...
;-) )
I hope this helps,
Andreas
On Tue, 8 Jan 2008, Tran Minh Tuan wrote:
> Hi,
>
> You can get a (nicely) approximated solution for an optimal control
> problem with Ipopt and limited-memory quasi-Newton for Hessian is not
> source of "problem failed".
> From my experience, you'd better to check first derivatives before
> solving your problem. This option is quite useful and available in
> Ipopt.
>
> Regards,
>
> On 8 Jan 2008, at 11:49 AM, Susana Lera wrote:
>
>> Hi,
>>
>> I'm trying to solve the known Goddard sounding rocket problem with
>> Ipopt, but I can't reach to an optimal solution. It stops after 270
>> iterations saying the problem failed.
>> I'm using the Mumps solver and I choosed the option limited-memory
>> quasi-Newton approximation to get the Hessian.
>> Can this let to an unaccurate solution?
>>
>> Thanks,
>>
>> Susana Lera
>>
>> _______________________________________________
>> Coin-ipopt mailing list
>> Coin-ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/coin-ipopt
>
> _______________________________________________
> Coin-ipopt mailing list
> Coin-ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-ipopt
>
More information about the Coin-ipopt
mailing list