Question

Calling AIMMS from Python with academic license


Badge

Hi everyone,

I have been trying to call an AIMMS (academic license) procedure from python although this doesn't seem to work. I got the following code from another thread, which seems to work with a paid license. I also saw on another post that the academic licence might have some limitations in this regard.

 

Is there an API in another language, were I can make Python wrapper around this other language?

or

Is it possible that AIMMS internally allows to run scripts in some language, in which case a script can be built  in such a way that they exchange model parameters/inputs/results with the outside world?

 

Best regards,


3 replies

Userlevel 5
Badge +2

@rhserna21 

 

Are you receiving any specific error message when you try this code ? 

 

  1. What happens when you execute the code you have in command, directly in Windows cmd ? If this executes successfully, you’ll know that it is not an issue with your license.
  2. Did you try subprocess.run instead of subprocess.call ? To my knowledge, subprocess.call does not support arguments.
Badge

Hi Mohan, 

Thanks for your reply, I tried running it in the windows cmd and I get the next error (this line I also ran in a paid license and it worked):


C:\Users\hernandezsernar>"C:\Users\hernandezsernar\AppData\Local\AIMMS\IFA\Aimms\4.79.3.10-x64-VS2017\Bin\AimmsCmd.exe" "C:\Users\hernandezsernar\Documents\COMPETES\Competes_2020.aimms --run-only examplespine"
Error: Unable to open AIMMS with "--as-server --ignore-dialogs --hidden  "C:\Users\hernandezsernar\Documents\COMPETES\Competes_2020.aimms --run-only examplespine"": Starting up Aimms failed. Program initialization error.

 

Userlevel 2
Badge +1

@rhserna21 

You are correct that AimmsCmd does not work with the new licensing scheme for Academic Licenses and the Community License. These new types of licenses deliberately do not allow running headless AIMMS sessions, as would be the case with AimmsCmd. 

However, we will shortly be releasing a new version of the DataExchange library which will allow procedures in AIMMS models to be run through a REST API. This will form the basis for running AIMMS models through a REST API from our cloud platform later this year, but this functionality will also allow you to access interactive AIMMS sessions on your desktop from e.g. Python. Such a setup will also enable debugging such REST calls, e.g. to figure out possible data problems in your input from Python.

Reply


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

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