Run Batch Commands with AIMMS Command Line Tool
This article was originally posted to the AIMMS Tech Blog.
In the integrated environment, or on a Linux system, you can control an AIMMS project externally using a command line tool.
To start using the command line tool open the terminal and run
AimmsCmd program is not part of your environment variables, you may find
Basic commands available
AIMMS command line tool offers a the following commands.
Let p_Demand := 100;
Displaying the contents:
Exiting the tool
Running batch commands
Instead of running each command one by one, you can also run batch commands by writing all the commands you want to execute in a text file.
For example, let’s say the file
cmds.txt contains the following code.
1Let p_Demand := 100; 2Display p_Revenue; 3Run MainExecution; 4Quit ;
You can run the following command in the terminal to execute all the commands contained in the file.
1AimmsCmd ExampleProject.aimms < cmds.txt
By doing this, all the running results will be displayed on the command window. If you want to redirect the output to a text file, you can add it to the running command as well.
1AimmsCmd ExampleProject.aimms < cmds.txt > log.txt
Windows Powershell doesn’t support the
<operator to redirect input. You can get around that using:
Get-Content cmds.txt | AimmsCmd.exe ExampleProject.aimms > log.txt
Calling AIMMS from Python and printing the logs could be done using the following script and the Download example
import subprocess path_to_AimmsCmd = 'C:\\Users\\Arthur.AIMMS\\AppData\\Local\\AIMMS\\IFA\\Aimms\\22.214.171.124-x64-VS2017\\Bin\\AimmsCmd.exe' command = path_to_AimmsCmd + ' StandAlone.aimms < cmds.txt > log.txt' ret = subprocess.call(command, shell=True) log_file = open('log.txt','r') print(log_file.read()) log_file.close()
The example model used in this article can be downloaded below: