Solvers availability

AIMMS, as a complete optimization modeling system, comes with all functionality to develop and create complete optimization applications. This means that a large set of mathematical model types (Linear, Mixed Integer, Nonlinear, Mixed Integer Nonlinear, etc.) can be formulated within AIMMS. AIMMS uses solvers to optimize mathematical models. Depending on the solvers available with your license, you are able to solve the models at a requested performance (high and medium performance solvers do exist for most model types).

The standard license of AIMMS includes the world-class solver CPLEX. The installation package of AIMMS also has the COIN-OR solvers CBC (LP/MIP) and IPOPT (NLP) included; these two solvers are not owned or serviced by the AIMMS company – they are by the open source community – but can be also used by any AIMMS user. This set of solvers, together with the freely available Advanced Algorithms for Mathematical Programs set of AIMMS such as AIMMS Outer Approximation, Benders Decomposition and more – offers a great start for creating optimization applications. Of course, the set of solvers available in a license can be extended by other commercial solver add-ons.

All solvers are connected to AIMMS by using the AIMMS Open Solver Interface, which link solvers through a collection of C++ interfaces.

Contents

Available Solvers in AIMMS

Solver

Description

Available on AIMMS Cloud *

AOA

White box AIMMS Outer Approximation module for solving mixed integer nonlinear programming

✔

BARON

Branch-And-Reduce Optimization solver for global optimization

✖ (on Roadmap to add)

CBC

Open source linear programming / mixed integer programming solver at COIN-OR

✖ (use CPLEX)

CONOPT

Large-scale nonlinear programming solver from Arki Consulting

✔

COPT

High performance linear programming / mixed integer programming solver from Cardinal Operations

✔

CP Optimizer

State-of-the-art constraint programming solver from IBM ILOG

✔

CPLEX

High performance linear programming / mixed integer programming solver from IBM ILOG

✔

GUROBI

High performance linear programming / mixed integer programming solver from Gurobi Optimization

✔ (requires Gurobi Web License Service)

IPOPT

Open source Interior Point optimizer for large-scale nonlinear optimization at COIN-OR

✖ (use CONOPT or Knitro)

Knitro

Large-scale nonlinear programming solver from Artelys

✔

MINOS

Nonlinear programming solver from Stanford University

✖ (use CONOPT or Knitro)

ODH-CPLEX

High performance mixed integer programming CPLEX solver add-on from Optimization Direct

✔

PATH

Newton-based solver for solving mixed complementarity programming

✖ (use Knitro)

RO

Robust Optimization Add-on (see below)

✔

SNOPT

Nonlinear programming solver from Stanford University

✖ (use CONOPT or Knitro)

*

Because the AIMMS Cloud is a serviced platform we did not include all solvers that are available in an AIMMS Developer setup. At this moment, we added the most common solvers used in production setups and have a minimal requirement that a solver support team is available to handle issues that might arise (hence Open Source solvers are not part of the AIMMS Cloud setup). If you have any requests, please contact us via support@aimms.com.

Robust Optimization Add-on

AIMMS offers a commercial Robust Optimization Add-on (RO) to incorporate uncertainty (e.g. development of the energy price) into your model. AIMMS RO considers data uncertainties against whose realizations the solution is required to remain feasible. This uncertainty may occur in any part of the model data. Partial feasibility can be included by adding probabilities to constraints (e.g. the chance that demand is met is at least 95%).

You can add this add-on upon purchase of your AIMMS licenses, or add it later; please be advised that the RO Add-on recommends an AIMMS license that also contains the CPLEX Solver.

Note: This Robust Optimization add-on was built in co-operation with professor Aharon Ben-Tal and the Technion Institute.

Supported Math Program Types

If you would like to extend the power of AIMMS (beyond the open source COIN-OR solvers and AOA algorithm) with commercial solvers, we offer you the possibility to add commercial solvers to AIMMS. If you already have a license for one of the available additional solvers (in the form of a callable library), you can also request a Solver Link and use your existing solver license with AIMMS.

Solver

LP

MIP

QP

MIQP

QCP

MIQCP

NLP

MINLP

MCP

MPCC

GO

CP

CBC

✔

✔

IPOPT

✔

✔

✔

✔

AOA

✔

✔

✔

Commercial Solver

LP

MIP

QP

MIQP

QCP

MIQCP

NLP

MINLP

MCP

MPCC

GO

CP

CPLEX*

✔

✔

✔

✔

✔

✔

GUROBI*

✔

✔

✔

✔

✔

✔

✔

✔

✔

ODH-CPLEX*

✔

✔

✔

COPT*

✔

✔

✔

✔

CP Optimizer*

✔

CONOPT*

✔

✔

✔

✔

Knitro*

✔

✔

✔

✔

✔

✔

✔

SNOPT

✔

✔

✔

MINOS

✔

✔

✔

BARON*

✔

✔

✔

✔

✔

✔

✔

✔

PATH

✔

* Includes the use of parallel threads without any extra charge

Math Program Types Explanation

Abbreviations

Mathematical Program Type

LP

Linear Program

MIP

Mixed Integer Program

QP

Quadratic Program

MIQP

Mixed Integer Quadratic Program

QCP

Quadratically Constrained Program

MIQCP

Mixed Integer Quadratically Constrained Program

NLP

NonLinear Program

MINLP

Mixed Integer NonLinear Program

MCP

Mixed Complementarity Program

MPCC

Mathematical Program with Complementarity Constraints

GO

Global Optimalization

CP

Constraint Program

LP and MIP Solver Features

General Features

CPLEX

GUROBI

COPT

CBC

Handle updates

✔

✔

✔

✔

Tuning tool

✔

✔

Benders decomposition

✔

Network algorithm

✔

✔

Multiple models

✔

✔

✔

Parallel solver sessions

✔

✔

✔

Ranged constraints

✔

✔

✔

✔

Modeling assistance

✔

Presolve status information

✔

Solve MPS file

✔

✔

✔

✔

LP Features

CPLEX

GUROBI

COPT

CBC

Barrier

✔

✔

✔

✔

Barrier crossover

✔

✔

✔

✔

Parallel solving barrier

✔

✔

✔

Concurrent LP

✔

✔

✔

Load basis

✔

✔

✔

✔

IIS

✔

✔

✔

Range RHS

✔

✔

Range objective

✔

✔

Extreme / unbounded ray

✔

✔

✔

Farkas infeasibility proof

✔

✔

✔

Subgradient sensitivity

✔

✔

MIP Features

CPLEX

GUROBI

COPT

CBC

Parallel solving MIP

✔

✔

✔

Concurrent MIP

✔

Non-traditional search

✔

✔

Callback incumbent (intermediate solutions)

✔

✔

Callback branch

✔

Callback candidate

✔

Callback heuristic

✔

✔

Callback user cut

✔

✔

Callback lazy constraint

✔

✔

User cut pool

✔

Lazy constraint pool

✔

✔

Indicator constraints

✔

✔

SOS 1

✔

✔

✔

SOS 2

✔

✔

✔

Solution pool

✔

✔

✔

MIP start

✔

✔

✔

✔

Variable hints

✔

Solution improvement heuristic

✔

✔

Feasibility pump

✔

✔

✔

RINS heuristic

✔

✔

✔

Display cuts and/or presolved model

✔

Nonlinear Features

CPLEX

GUROBI

COPT

CBC

QP

✔

✔

✔

MIQP

✔

✔

QCP

✔

✔

✔

MIQCP

✔

✔

Non-convex QP & MIQP

✔

✔

Non-convex QCP & MIQCP

✔

SOCP (second order cone)

✔

✔

✔

MISOCP (mixed integer SOCP)

✔

✔

Global optimization

✔