Skip to main content

Is there any proposal or plan to extend the functionality of aimmspy so that we can build the entire model directly from Python, similar to a solver’s native Python interface?

At present, the interface seems to only provide functionality to interact with an existing model — such as updating or assigning data and running procedures. For example, I am currently unable to add a new variable or parameter from the Python interface.

However, it would be extremely useful if the interface were extended to support full model creation in Python. This would provide greater control over the model and help bring more structure to the development process.

NewDiscussion ongoing

Hi JGOpt,

Thanks for your message and interest in our new aimmspy library. 

You are expressing an interest for functionality for full model creation in Python and we understand that wish. 

We have built some prototypes for model declaration (as we call it) from within Python. The basics were easy to get working, but exposing the full power of the AIMMS modeling language and modeling tools would be a very large undertaking. And we were not sure that building ‘industrial-scale’ optimization models with Python code would ever become as effective as using our own proprietary tooling for that. 

Therefore we decided that in phase 1 we will focus on scenarios where the math program / model is declared using our IDE and the procedural code is written in Python. That is what we now released.

And we will keep closely monitoring use cases and feedback to sense how much value we would add by offering math program declaration with Python and how much of our modeling functionality we would have to expose to make it sufficiently meaningful. I hope you can understand our line of thinking.

Meanwhile I am curious about your use case and background. Could you maybe share a bit more about that, either in this post or via a private message or email to j.w.van.crevel@aimms.com?

Best regards,

Jan-Willem van Crevel


Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator