Solvers#

AMPL connects with most commercial and open-source solvers and provides an easy way to switch between them.

Linear-Quadratic Solvers#

Traditional Linear-Quadratic solvers are advancing into the nonlinear domain (MINLP, Mixed Integer NonLinear Programming).

LP

MILP

QP

MIQP

Convex
(MI)QCP

Non-convex
(MI)QCP

Conic

(MI)NLP

MP

Gurobi

✅[1]

✅

✅

✅

✅

✅

✅

✅

✅

FICO XPRESS

✅[1]

✅

✅

✅

✅

✅

✅

✅

✅

IBM CPLEX

✅

✅

✅

✅

✅

❌

✅

≈[3]

✅

COPT

✅[1]

✅

✅

✅

✅

✅

✅[2]

≈[3] [4]

✅

MOSEK

✅

✅

✅

✅

✅

❌

✅[2]

≈[3]

✅

NVIDIA cuOpt

✅[1]

✅[1]

❌

❌

❌

❌

❌

≈[3]

✅

HiGHS

✅[1]

✅

✅

❌

❌

❌

❌

≈[3]

✅

CBC

✅

✅

✅

✅

❌

❌

❌

≈[3]

✅

SCIP

✅

✅

✅

✅

✅

✅

✅

✅

✅

GCG

✅

✅

✅

✅

✅

✅

✅

✅

✅

Footnotes

Nonlinear Solvers#

Nonlinear solvers traditionally target smooth problems with continuous variables. However, some solvers accept integer variables (MINLP), and some target global optimality (vs returning only locally optimal solutions for non-convex problems.)

NLP

MINLP

Global [5]

MP

Knitro

✅

✅

❌

✅[6]

BARON

✅

✅

✅

✅

LINDO Global Solver

✅

✅

✅

✅[6]

RAPOSa

✅

✅

✅

✅[6]

LGO

✅

❌

✅

✅[6]

CONOPT

✅

❌

❌

✅[6]

LOQO

✅

❌

❌

✅[6]

MINOS

✅

❌

❌

✅[6]

SNOPT

✅

❌

❌

✅[6]

IPOPT

✅

❌

❌

✅[6]

BONMIN

✅

✅

❌

✅[6]

COUENNE

✅

✅

✅

✅[6]

Footnotes

Constraint Programming Solvers#

Complementarity Solvers#

NEOS Server#

Try NEOS directly from Google Colab here: Open in Google Colab.