AIMMS SDK

AIMMS SDK

The AIMMS SDK (Software Development Kit) extends the integration capabilities of your AIMMS applications. It allows you to integrate an AIMMS optimization model with your custom application through a Java, C# or C++ interface. Typically you would use the AIMMS SDK to start an AIMMS session (either locally or remote), assign data to AIMMS identifiers, run an AIMMS procedure to solve the AIMMS optimization model, and retrieve the (solution) data. Of course, this flow can be adjusted to your preference. For example, you can import data from databases directly into the AIMMS model by calling AIMMS procedures. The AIMMS SDK is backwards compatible and runs with all currently supported AIMMS versions. More details, as well as examples about the AIMMS SDK, can be found in the AIMMS SDK documentation.

 

Download the latest version of the AIMMS SDK or AIMMS SDK Server

You need to install the AIMMS SDK for developing and locally running Java, C# or C++ projects that use AIMMS. You need to install the AIMMS SDK Server on each remote machine, if you want to use your Java, C# or C++ projects to communicate with remote AIMMS sessions. We advise you to always use the most recent version of the AIMMS SDK. This brings you the advantage of improvements and bug fixes, and ensures maximal stability. The latest SDK also works with the installation free AIMMS versions, which we have been releasing from AIMMS 4.3.1 onwards. You can download the latest version of the AIMMS SDK/SDK Server by clicking on one of the download links below.

Version 1.3.1.0 contained the following change:

When setting the HostLoggerConfigfile in the CPP front-end, the file could not be found if it contained a space in its name.
 
Version 1.3.0.0 contained the following change:
 
Due to a compiler change for linux of AIMMS, the older versions of the SDK do not support the Aimms versions 4.29 and higher. This version of the SDK supports all Aimms versions 4.3 and higher.
 
NOTE: If you are using the SDK Server on linux, you will need to use the rules provided in this version if you are using an AIMMS version 4.29 or newer. The rule for 4.29 is provided, for newer AIMMS versions you will need to (copy and) adapt the 4.29 rule See also the documentation on how to do this.

Version 1.2.5.0 contained the following change:

Upon a timeout while awaiting data to be written to AIMMS, an identifier is closed. When the host then tried to send the data to AIMMS afterwards, an error "No correct handle" was issued, and communicated to the user even before the timeout was communicated. This problem was solved in version 1.2.5.0 by canceling the sending of data to AIMMS on an already closed identifier.

SDK version, 1.2.4.0 (only SDK, the compatible version of the SDK Server with SDK 1.2.4.0 is still 1.2.3.0), contains the following changes:

  • When a procedure was run with a timeout, the timeout fired immediately.
  • This timeout was documented as being in seconds, while in reality it is in milliseconds.

 

Version 1.2.3.0 contained the following change:

  • We added the possibility to abort a running procedure. For more information, please see the SDK documentation.
 

Version 1.2.2.0 contained the following changes:

  • We added an option to the IConfig to pass command line options to the host. Note: if the session connects to an already running host, this configuration has no effect.
  • We added an option to the IConfig to not wait for AIMMS/the host to acknowledge a cancel on a running procedure, and also changed the default behavior when running a procedure with a timeout: when the procedure is not finished before the timeout runs out, the SDK no longer waits indefinitely for AIMMS/the host to acknowledge the cancel, but uses the provided timeout.
  • From this version on, the SDK on Windows requires AIMMS 4.3 or newer.

Version 1.1.2.8, contained json.net version 8.0.1 for the .net front end.