[Ipopt] Full Object Oriented Python wrapper of Ipopt?

Andreas Waechter andreasw at watson.ibm.com
Wed Nov 3 16:43:14 EDT 2010


Hi Herb,

Thanks for the update.  I don't think it will be very difficult to add the 
intermediate_callback feature to the C interface (Fortran may be a bit 
more difficult).  If you want to take a look at this, look at 
IpStdCInterface.* and IpStdInterfaceTNLP.* in Ipopt/src/Interfaces.

I could also probably do it relatively quickly, but I would need to find 
some block of time to do it.  It would also change the C interface exposed 
to all users, so it will create some incapability from a user's 
perspective with previous versions.  However, I guess it is generally a 
good idea, and if you think that this will enable you to use the existing 
python interface, it makes sense to do it.

I'm copying this reply to the mailing list, in case someone else had 
looked into this and has suggestions...

Regards,

Andreas

On Wed, 3 Nov 2010, Herb Schilling wrote:

> Hi Andreas,
>
> On Oct 27, 2010, at 10:57 AM, Andreas Waechter wrote:
>
>> I do not know the details of the pyipopt interface, since I'm not a python
>> user.  However, if there is only one feature missing (e.g., access to the
>> intermediate_callback method), you might want to contact the developer of
>> the pyipopt package and see if (s)he can help you to add this feature (or
>> even add this feature him/herself), to save yourself some work.
>
>
> Just so you know, I did contact Eric and he didn't know how to add it. He is depending on the C interface to ipopt to do the Python wrapping. Since the C interface doesn't support the intermediate_callback feature, his wrapper cannot support it. So, as you can probably guess :-), this leads me to my question. How difficult would it be to add the intermediate_callback feature to the C interface to ipopt? I haven't looked at the code at all. I just want to see what it might take for me to add it.
>
> Thanks!
>
> -----------------------
> Herb Schilling
> hschilling at nasa.gov
>
>
>
>



More information about the Ipopt mailing list