opencobra / optlang

optlang - sympy based mathematical programming language
http://optlang.readthedocs.org/
Apache License 2.0
248 stars 51 forks source link

IPOPT interface to OptLang #241

Open djinnome opened 2 years ago

djinnome commented 2 years ago

Checklist

I have an implementation of a nonlinear optimization problem for thermokinetic regulation using IPOPT, which is called through pyomo.

I would like to integrate that algorithm into CobraPy, but CobraPy uses OptLang, not Pyomo, and IPOPT is not supported in OptLang.

Describe the solution you would like.

The solution I would like is for someone to help me import the IPOPT interface to OptLang

Describe alternatives you considered

Another solution might be to provide Pyomo support for Cobrapy.

A third solution would be to ignore CobraPy and wrap the algorithm using the KBase SDK

Additional context

cdiener commented 2 years ago

I think the only real solutions would be the 1. and 3. proposal. 2 doesn't really work due to COBRAPY implementation details and requirements on the solver interface (fast modification mostly where libraries like Pyomo aren't great at since most of them make the low level problem formulation immutable). For 1 you would need to add a new interface and tests to optlang. That basically means implementing the classes and methods defined in the abstract interface. You can have a look at the already implemented interfaces to get an idea how that works. Not super easy and a decent amount of work unfortunately.