AIMMS 3.14 Production Release

On this page you can read about the new features in AIMMS 3.14. Two Feature Releases have preceded the Production Release of AIMMS 3.14. More details can be found in the release notes. AIMMS 3.14 and its release notes can be downloaded here.

Features introduced in AIMMS 3.14 FR1 (July 2013)

Features introduced in AIMMS 3.14 FR2 (October 2013)

Solver updates introduced in AIMMS 3.14 PR (March 2014)

  • The 64-bit Installation-free version of AIMMS is now available.
  • CPLEX 12.6 has been added. CPLEX 12.6 can find global solutions for Improvements non-convex quadratic programs (QP and MIQP).
  • CP Optimizer 12.6 has been added. CP Optimizer 12.6 can use failure directed search.
  • There is a new version of GUROBI, i.e. GUROBI 5.6.
  • KNITRO 9.0 has been added. KNITRO 9.0 introduces the Tuner which can be used to test a variety of different option settings and automatically suggest non-default user option settings for a user model for improved performance.

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.

New Features AIMMS 3.14

Below, you can find a description of all new features that have been introduced in AIMMS 3.14. The Feature Release in which the features have first been introduced, are mentioned after the feature name, in brackets, where FRx means Feature Release x.

UTF8 and other encodings (FR1)

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 (FR1)

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 (FR1)

The button object has been changed in the way it displays text that is too long to 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 (FR1)

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 (FR1)

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.

Indexed sets allowed in element parameter’s/variable’s range (FR2)

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 : oldNextState NextState
index domain : s cs
range : USAStates AdjacentStates(cs)

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:

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 (FR2)

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 (FR2)

A number of solver updates are included in AIMMS 3.14:

  • 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.