[Ipopt] Best and free way of interacting with IPOPT on Linux

Sebastian Nowozin nowozin at gmail.com
Sun Apr 13 07:42:25 EDT 2008


On Sun, Apr 13, 2008 at 12:42 PM, Stefan Vigerske <stefan at vigerske.de> wrote:

>  As far as I know, there are several interfaces available:
>  - C, C++, Fortran
>  - Java
>  - Matlab
>  - AMPL, GAMS

> [...]
>  Also the Java and Matlab interfaces I have never tried, but they also
>  require you to implement derivative evaluation methods. It might also be
>  that the communication between the Java or Matlab world on the one side
>  and the C++ world on the Ipopt side has an impact on the efficiency.
>  With the AMPL and GAMS interfaces specification of the model is more
>  convenient, but they might not fit into the "free" category. Even though
>  the interfaces are for free, the compiler for the algebraic model to an
>  instance that the interface can understand is not free for larger
>  models. Note that Ipopt is also included the GAMS distribution.

The Matlab interface is great and works like a charm (thanks to
Peter), I have used it often in the last few months.  However, usually
it is not the most efficient because all the different computations
are split up across functions (computeObjective, computeGradient,
computeJacobian, computeHessian).  For most problems I have worked
with you could do this calculation more efficiently if you could
calculate them together.  As Matlab's function interface is strictly
functional (i.e. no side effects), this is not possible with the
current interface, except by using hacks such as global variables and
checking if recomputation is necessary.

Sebastian


More information about the Ipopt mailing list