I’m trying to deploy a message-ix model via a Streamlit Cloud app. The gams-streamlit repo uses GAMSPy + Engine, but message-ix uses ixmp + GAMSModel internally. Is there any supported way to route ixmp’s solve call through GAMS Engine, or is the recommended approach a dedicated VM with GAMS installed? Moreover, if I try setting up GAMS in a docker container on a local/cloud VM, will my community license work on it, or do I need to obtain a different kind of license for that?
There is a GAMS.py in the is the file where message-ix calls GAMS from. It looks like it is doing so by calling a subprocess. To use anything else, you will have to update this workflow (or ask the developers at IIASA about it). In general, you should be able to use GAMS from streamlit applications using GAMS Python control API. If this works, then you will likely not need any Engine or docker just to circumvent a GAMS call.
For licensing questions, please contact sales@gams.com. They are best positioned to answer your questions based on the specific license that you have.
Hi, you can also refer the cutting stock problem in the repo that uses GAMS Python control API and Streamlit.