[Coin-ipopt] Re: IPOPT AMPL INTERFACE

Andreas Waechter andreasw at watson.ibm.com
Tue Aug 24 15:13:46 EDT 2004


Dear Yahia,

I don't think there is a way to use the AMPL interface for what you want.
You want to obtain derivative information for your functions
automatically, and I don't know of a way how to "fill" the AMPL solver
interface data structures so that you can use its automatic
differentiation techniques.

But what might be of interest to you is the NLPAPI, which is also
available in COIN-OR.  It is a collection of C functions that allow you to
formulate nonlinear optimization problems.  The mathematical functions
appearing in your problem statement can either be specified as C-function
pointers (including C-functions that compute derivatives - which you would
have to write), or you can specify the problem statement functions as
strings, in which case the NLPAPI will compute the derivatives for you.

Once you have formulated your optimization problem with the right NLPAPI
function calls, you can use IPOPT to solve that problem, and retrieve the
solution from the NLPAPI again.

If you use the NLPAPI, you would not have to write any file and call the
AMPL interpreter, but instead you would just build up the problem
statement by calling a set of C functions.

The NLPAPI has been written by a colleague of mine, Michael Henderson.
You can find more information about the NLPAPI at

http://www-124.ibm.com/developerworks/opensource/coin/NLPAPI/

I hope this helps.

Best regards, and thanks for your interest!

Andreas


On Tue, 24 Aug 2004, LEBBAH Yahia wrote:

> Hi IPOPT community,
>
> I'm using IPOPT to implement a rigorous and safe global optimization package.
> I have obtained a very good performances compared with other known solvers
> such as Lancelot and Minos.
>
> My implementation (in C++) needs to call frequently IPOPT. My interface to
> IPOPT is very rudimentary: I generate an AMPL text file and call AMPL to
> solve it with IPOPT, then I catch the text output of IPOPT and parse it to
> get the solution. This enables to test quickly IPOPT, but it is of course
> very costly and not clean. But now, I want to do a real interface to IPOPT.
> My question is : what's the simplest way to integrate IPOPT library in my
> solver by providing only the problem description (no jacobians or hessians) ?
> Is it possible to exploit the AMPL interface to IPOPT to do the job ? And
> without generating any intermediate file ?
>
> With best wishes,
>
> ---
> Yahia LEBBAH
> Assistant professor at Oran University, Algeria
> Associate researcher, COPRIN Team, INRIA Sophia-Antipolis, France
>
>





More information about the Coin-ipopt mailing list