Solver Manuals

A large number of solvers for mathematical programming models have been hooked up to GAMS. The tables below provide a brief description of each solver, the model types each solver is cabable of solving, and the platforms supported by each solver. For general information on using GAMS solvers, see Solver Usage.

Solver Vendor Description
ALPHAECP 2.11 Abo University MINLP solver based on the extended cutting plane (ECP) method
ANTIGONE 1.1 Princeton University Deterministic global optimization for MINLP
BARON The Optimization Firm, LLC Branch-And-Reduce Optimization Navigator for proven global solutions
CBC 2.10 COIN-OR Foundation High-performance LP/MIP solver
CONOPT 3 ARKI Consulting and Development Large scale NLP solver
CONOPT 4 ARKI Consulting and Development Large scale NLP solver
CONVERT GAMS Development Corp Framework for translating modes into scalar models of other languages
COPT 5.0 Cardinal Operations High-performance LP/MIP solver
CPLEX 22.1 IBM ILOG High-performance LP/MIP solver
DE GAMS Development Corp Generates and solves the deterministic equivalent of a stochastic program, included in EMP/SP
DECIS G. Infanger, Inc. Large scale stochastic programming solver
DICOPT 2 EDRC, Carnegie Mellon University Framework for solving MINLP models
EXAMINER GAMS Development Corp A tool for examining solution points and assessing their merit
GAMSCHK Bruce McCarl A System for Examining the Structure and Solution Properties of Linear Programming Problems Solved using GAMS
GUROBI 9.5 Gurobi Optimization High performance LP/MIP solver
GUSS GAMS Development Corp A framework for solving many instances of related models efficiently (Gather-Update-Solver-Scatter)
HiGHS 1.2 ERGO High performance LP/MIP solver
IPOPT 3.14 COIN-OR Foundation Interior Point Optimizer for large scale nonlinear programming
JAMS GAMS Development Corp Solver to reformulate extended mathematical programs (incl. LogMIP)
KESTREL NEOS Framework for using remote NEOS solvers with a local GAMS system
KNITRO 13.1 Artelys Large scale NLP solver
LINDO 14.0 Lindo Systems Inc. A stochastic solver from Lindo Systems, Inc. Includes an unrestricted version of LINDOGLOBAL
LINDOGLOBAL 14.0 Lindo Systems Inc. MINLP solver for proven global solutions
MILES University of Colorado at Boulder MCP solver
MINOS 5.6 Stanford University NLP solver
MOSEK 10 MOSEK ApS Large scale mixed-integer conic programming solver
NLPEC GAMS Development Corp MPEC to NLP translator that uses other GAMS NLP solvers
OCTERACT 4 Octeract MINLP solver for proven global solutions
ODHCPLEX 6 Optimization Direct Inc ODHeuristic on top of Cplex
OsiCplex COIN-OR Foundation Bare-Bone link to CPLEX
OsiGurobi COIN-OR Foundation Bare-Bone link to Gurobi
OsiMosek COIN-OR Foundation Bare-Bone link to Mosek
OsiXpress COIN-OR Foundation Bare-Bone link to Xpress
PATHNLP University of Wisconsin - Madison Large scale NLP solver for convex problems
PATH University of Wisconsin - Madison Large scale MCP solver
SBB ARKI Consulting and Development Branch-and-Bound algorithm for solving MINLP models
SCIP 8.0 Zuse Institute Berlin et.al. High-performance Constraint Integer Programming solver
SELKIE University of Wisconsin - Madison Decomposition and parallel solution for EMP
SHOT 1.1 Abo Akademi University MINLP solver based on the extended supporting hyperplane (ESH) method
SNOPT 7.7 Stanford University Large scale SQP based NLP solver
SOPLEX 6.0 Zuse Institute Berlin High-performance LP solver
XPRESS 40.01 FICO High performance LP/MIP and SLP based MINLP solver

# Model Types

GAMS is able to formulate models in many different types of problem classes or model types. Typically, a solver will be capable of solving (i.e. will accept as input) more than one model type. The solver/model type matrix shows which solver is capable of which model type:

LP MIP NLP MCP MPEC CNS DNLP MINLP QCP MIQCP Stoch. Global
ALPHAECP
ANTIGONE ✔ *
BARON ✔ *
CBC
CONOPT 3
CONOPT 4
COPT
CPLEX
DECIS
DICOPT
GUROBI
GUSS
IPOPT
HiGHS
KESTREL
KNITRO
LINDO ✔ *
LINDOGLOBAL ✔ *
MILES
MINOS
MOSEK
NLPEC
OCTERACT ✔ *
ODHCPLEX
PATH
SBB
SCIP ✔ *
SHOT
SNOPT
SOPLEX
XPRESS

* deterministic global solver

When choosing a solver, some judgement should be applied when considering the listed model type capabilities for the solver - the same capability "check boxes" does not imply equality in capacity or suitability. For example, take a hypothetical solver WeOpt designed to solve MINLP models. Since the problem class MINLP includes NLP, MIP, and LP as subclasses, solver WeOpt could include these capabilities also. If WeOpt is also a good performer on NLP models, it would include that capability. But if it does not shine at all as a MIP or LP solver, we would choose not to include MIP and LP in the capability list for WeOpt. In such a case one can always solve using a more general model type (e.g. solve an LP model as NLP so WeOpt can be used), but WeOpt will not advertise itself as an LP solver. Since the WeOpt solver does not even recognize MCP or MPEC models, we don't include those capabilities.

There are two types of non-linear solvers: local and global. A local solver can find a local optimum but generally cannot comment on global optimality of the solution. A local optimum is a point where the objective value is better than its neighboring points but could be worse than a distant point. On the other hand, a global solver can find and prove that the obtained solution is a global optimum i.e., there is no feasible solution that would result in a better objective value. It is worth noting that a local solver can solve a model to global optimality in some special cases. In the table shown, the entries with * in the column Global indicate solvers that can solve a model to global optimality.

There are other differences in solvers that are difficult to quantify or cannot be captured by a capability table like the one shown. For example, for nonconvex NLP or QCP models, one solver could look only for first-order stationary points, another for local solutions, a third for local solutions using a scatter search or similar search heuristic, and a fourth could do a true global search for the global optimum. The relative merits (measured typically by speed alone) of solvers is the subject of considerable benchmarking activity and discussion.

# Supported Platforms

The solver/platform matrix shows which platforms each solver is supported on. In addition, where a vendor has discontinued solver support for a particular platform and we continue to ship the last available supported version, this version number is indicated as well.

x86 64bit
MS Windows
x86 64bit
Linux
x86 64bit
macOS
ALPHAECP 2.11
ANTIGONE 1.1
BARON
CBC 2.10
CONOPT 3
CONOPT 4
COPT 5.0
CPLEX 22.1
DECIS
DICOPT 2
GUROBI 9.5
GUSS
IPOPT 3.14
HiGHS 1.2
KESTREL
KNITRO 13.1
LINDO 14.0
LINDOGLOBAL 14.0
MILES
MINOS 5.6
MOSEK 10
NLPEC
OCTERACT 4
ODHCPLEX 6
PATH