AIMMS 3.14 – New Features

AIMMS 3.14 Feature Releases

After launching our AIMMS 3.13 Production Release in February 2013, we have started delivering Feature Releases of AIMMS 3.14 for our users with maintenance. Currently, the second Feature Release of AIMMS 3.14 is available for download. The list below highlights the changes in the first two Feature Release. We aim to release the AIMMS 3.14 Production Release early 2014.

Features introduced in AIMMS 3.14 FR2 (October 2013)

Features introduced in AIMMS 3.14 FR1 (July 2013)

A more detailed overview is available in the release notes. The AIMMS 3.14 Feature Releases and their release notes can be downloaded here. If you have any questions on these new or improved features, please contact us at and we can discuss how we can help you.

AIMMS 3.14 Feature Release 2

In AIMMS 3.14 FR2, the following major new and extended functionalities have been added to the system:

Indexed sets allowed in element parameter’s/variable’s range

A small change in the AIMMS language may make significant impact throughout the system as illustrated by the range attribute of element parameters and element variables. This attribute may now be an indexed set. The impact is best explained by means of an example. Consider the states of the USA, and finding a route through these states. From state s, in a step you’ll go to an adjacent state nextState(s). The set of adjacent states is the indexed set adjacentStates(s). The difference in declaration is rather small; only contents in the range attribute change.


Previous AIMMS versions:

AIMMS 3.14 FR2:



    identifier :



    index domain :



    range :



The modeling language will ensure that any assignment to nextState(s) is not only a state in the set USAStates, but also in the set AdjacentStates(s). However, consider a data page for these two identifiers, and selecting an element for the next state of Connecticut. With the declaration of oldNextState, you’ll be offered all states, whereas with the declaration of nextState, you’ll only be offered the relevant choices:


Figure 4.1: Selection in previous AIMMS versions vs. AIMMS 3.14 FR2

Moreover, once a selection is made, with the declaration of oldNextState, you should add code to check whether a proper selection has been made by the user. With the declaration of nextState, this is ensured from within AIMMS and you do not have to add code to check this yourself. Finally, changing nextState into an element variable and optimizing, AIMMS will automatically add the constraint nextState_range(s) with definition nextState(s) in AdjacentStates(s).

Multi-variants of several GMP update procedures

Multi-variants of several GMP update procedures have been added, which will be more efficient if much data for columns and/or rows has to be updated. These new procedures are:

  • GMP::Coefficient::SetMulti
  • GMP::Column::FreezeMulti
  • GMP::Column::UnfreezeMulti
  • GMP::Column::SetLowerBoundMulti
  • GMP::Column::SetUpperBoundMulti
  • GMP::Row::SetRightHandSideMulti

Solver updates

In this second Feature Release of AIMMS 3.14, a number of solver updates are included.

  • CBC 2.8.0. This new version fixes several issues including an issue where CBC 2.7.5 returned ’infeasible’ for a feasible MIP model.
  • CPLEX 12.5.1.
  • BARON 12. The new version does better memory management and reduces memory requirements for large or difficult problems. BARON 12 automatically sets many options based on problem characteristics and learning algorithms and, as a consequence, many options have been eliminated.
  • KNITRO 8.1.
  • IPOPT 3.11.

AIMMS 3.14 Feature Release 1

In AIMMS 3.14 FR1, the following major new and extended functionalities have been added to the system:

UTF8 and other encodings

In order to further the internationalization of AIMMS projects, AIMMS 3.14 projects can now be exchanged between locales without change; the standard text encoding UTF8 is used for all files. The distinction between the ASCII and Unicode flavor of AIMMS is lost; AIMMS 3.14 is only provided in the UTF8 flavor. With this change, AIMMS follows the trend of adopting UTF8 by many software vendors, which eases the communication between AIMMS and other programs. To enable data exchange with legacy programs, AIMMS is able to read in/write to files using various other encodings, allowing the encoding to be selected on a per file basis. The conversion of both ASCII AIMMS 3.13 and Unicode AIMMS 3.13 projects to UTF8 AIMMS 3.14 projects is automated; for details see the AIMMS Release Notes, chapter Installation Instructions, section Conversion of projects developed in Aimms 3.13 and before.

Modern Styling

As a follow-up on the completely new IDE, introduced in AIMMS 3.13, we now completed the new look by applying the ‘Visual Styles’ on many of the common controls that are used throughout AIMMS, such as buttons, check boxes, tab strips, dialog boxes, etc. These controls are now displayed according to the style that is dictated by the Windows version on which AIMMS is running. Slight drawback is that it is much harder and sometimes impossible, to style a page object to your specific preferences. 


Multiple Text Lines on Buttons

The button object has been changed in the way it displays text that is too long button.jpgto fit within its width. In previous versions, the text was simply cut-off, but in this new version the text will automatically be wrapped to the following line.

Automatic Benders

Benders decomposition is a solution method for solving certain difficult optimization problems. Instead of considering all decision variables and constraints of a problem simultaneously, Benders decomposition partitions the problem into multiple smaller problems and solves them iteratively, which can sometimes be more efficient. The new Automatic Benders module is easy to use and implements several variants of the Benders decomposition algorithm. The implementation is an open algorithm which can be customized in order to obtain better performance and/or a better solution for a particular problem.

Gurobi Solver

There is a new version of GUROBI, i.e. GUROBI 5.5. GUROBI 5.5 includes a new automatic option tuning tool. GUROBI 5.5 introduces the concurrent MIP solver, which performs several independent MIP solves in parallel, reporting the best results obtained by any of them. GUROBI 5.5 can use one or more Gurobi Compute Servers for its computations. A Gurobi Compute Server license is required. This functionality is only available for the 'link-only' Gurobi license.