[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,


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