[Ipopt] Upgrade to C++ version

Andreas Waechter awaechter.iems at gmail.com
Fri Nov 18 11:37:38 EST 2011

Hi Sundar,

> Hello,
> We have Ipopt 2.2.1 (Fortran based) and we would like to move a newer version.
> 1) What are the crucial differences between the C++ and Fortran versions?
The Fortran version is no longer maintained.  The C++ version has a few 
features, such as a dynamic barrier parameter update, and more 
interfaces to different programming environments and different linear 

> 2) What are some key reasons to  upgrade?
Getting the latest version of the code and having access to the new 

> 3) Does the C++ version have quasi-Newton strategies implemented for
> Hessian approximation?
>      I think the answer is yes, but the FAQ (outdated?) found at
> https://projects.coin-or.org/Ipopt/wiki/FAQ says it is slated for
> development. Could someone clarify and point me to the latest FAQ?
The FAQ is somewhat out-dated.

The C++ version has a limited-memory quasi-Newton option (see the option 
"hessian_approximation").  The Fortran version also has a regular 
quasi-Newton option, where the dense reduced Hessian approximation is 
maintained (this makes only sense if the reduced space is small).  There 
are not plans to integrate the reduced-space quasi-Newton option in the 
C++ version, since the limited-memory version seems to perform reasonably.

> 4) Is Complementarity Handling by constraint relaxation implemented in C++?
>    This is important for my work.  If yes, could you please point me to
> an example (preferably C++) that shows how to use Ipopt to solve a
> model with complementarities?
In contrast to the Fortran version, the C++ version does not handle 
complementarity constraints, and there is currently no plan in implement 
this features in the C++ version.

> 5) Is there a list of known issues with Ipopt? How frequent are the
> bug fixes&  releases?

To me it seems that the code is rather stable at this point, and there 
are not many bug fixes necessary to handle the algorithm part.  Most 
current effort goes into making sure that the code works on new 
platforms and into the integration of linear solvers or interfaces to 
other modeling systems or programming languages.

I hope this helps,


> Thanks
> Sundar
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt

More information about the Ipopt mailing list