TRY NOW!
AMPL > >Products > >Solvers > >All Solvers for AMPL

ALL SOLVERS FOR AMPL

Many solver developers have used the AMPL-solver library to create AMPL-enabled solvers that they distribute. The following table provides a compresensive list of available solvers and links to further information. For convenience this table also links to solvers available directly from us and free open-source solvers that are descrbed more fully on separate pages.

Additions or corrections to this listing may be sent to support@ampl.com.

Hooking new solvers to AMPL

New solver hookups are encouraged though AMPL’s use of freely available interface routines to support flexible and fully documented file formats for problems and results. Detailed instructions and examples are available to help you (or your favorite solver’s developer) to write an AMPL driver. AMPL can then switch to your solver, set up its algorithmic options, send it a problem to be solved and retrieve the results, all in the same way that you work with currently supported solvers. See our instructions on for further details.

Key to solver table

Algorithm Types.

  • Linear (simplex): Linear objective and constraints, by some version of the simplex method.

  • Linear (interior): Linear objective and constraints, by some version of an interior (or barrier) method.

  • Network: Linear objective and network flow constraints, by some version of the network simplex method.

  • Quadratic: Convex or concave quadratic objective and linear constraints, by either a simplex-type or interior-type method.

  • Nonlinear: Continuous but not all-linear objective and constraints, by any of several methods including reduced gradient, quasi-newton, augmented lagrangian and interior-point. Unless other indication is given (see below), possibly optimal over only some local neighborhood.

    • Nonlinear convex: Nonlinear with an objective that is convex (if minimized) or concave (if maximized) and constraints that define a convex region. Guaranteed to be optimal over the entire feasible region.

    • Nonlinear global: Nonlinear but requiring a solution that is optimal over all points in the feasible region.

  • Complementarity: Linear or nonlinear as above, with additional complementarity conditions.

  • Integer linear: Linear objective and constraints and some or all integer-valued variables, by a branch-and-bound approach that applies a linear solver to successive subproblems.

  • Integer nonlinear: Continuous but not all-linear objective and constraints and some or all integer-valued variables, by a branch-and-bound approach that applies a nonlinear solver to successive subproblems.

Vendor or Download Site. Sources of further information for obtaining and using the solver. This entry may be a link to a developer’s or vendor’s web site, or (where indicated) to a site from which the solver and documentation can be downloaded.

Driver Code. Where available, a link to a directory in www.netlib.org/ampl/solvers from which you can download C source code to make an AMPL-enabled version of the solver.

Documentation. Links to instructions for accessing the solver and solver options from within the AMPL environment.

Solver

Algorithm Types

Vendor or
Download Site

Driver Code

Documentation

ACRS

Nonlinear global

Contact G. Liuzzi

 

 

ALGENCAN

Nonlinear

See the TANGO site

 

 

BLMVM

Nonlinear
bounded-variable

Download from the Toolkit for Advanced Optimization

 

directives table

Bonmin

Integer nonlinear

Download page

 

Bonmin Users’ Manual

BPMPD

Linear (interior)

Download from netlib/opt

main.c

README.bpmpd

directives table

CBC

Linear (simplex)
Integer linear

Download page

 

CBC User Guide

directives guide

CONDOR

Nonlinear
nondifferentiable

See the Kranf Site

 

 

CONOPT

Nonlinear

Order directly from us

 

README.conopt

Using CONOPT with AMPL

Couenne

Integer nonlinear

Download page

 

User’s manual

CPLEX

Linear (simplex)
Linear (interior)
Network
Quadratic
Integer linear
Integer quadratic

Order directly from us

cplex.c

README.1st README.cplex

IBM ILOG AMPL CPLEX 12.2 User’s Guide

DONLP2

Nonlinear

DONLP2 information page

 

README.donlp2

DONLP2 Users Guide and
directives table

FilMINT

Integer nonlinear

Contact authors of FilMINT slides and paper

 

Slides and Paper

FilMINT
directives tables

FILTER /
MINLP

Nonlinear
Integer nonlinear

Dundee solvers for MINLP/NLP/QP

 

FILTER and MINLP
directives tables

FortMP

Linear (simplex)
Linear (interior)
Quadratic
Integer linear
Integer quadratic

OptiRisk Systems

 

directives table

FSQP

Nonlinear

AEM Design

fsqp.c

README.fsqp

Gecode

Constraint programming Download page GitHub Gecode options

Gurobi

Linear (simplex)
Linear (interior)
Quadratic
Integer linear
Integer quadratic

Order directly from us

gurobi.c

README.1st README.gurobi

AMPL-Gurobi 4.6 Guide

IBM ILOG CPLEX CP Optimizer

Constraint programming Order directly from us GitHub IlogCP options

IPOPT

Nonlinear

Download page

 

 

JaCoP

Constraint programming Download page GitHub JaCoP options

KNITRO

Nonlinear

Order directly from us

 

directives table

LANCELOT

Nonlinear

Download from the LANCELOT site

lancelot.c

README.lancelot

directives table

L-BFGS-B

Nonlinear
bounded-variable

See the L-BFGS-B page

 

directives table

LGO

Nonlinear global

Contact Pintér Consulting Services

 

AMPL-LGO-readme.txt

LocalSolver

Integer nonlinear LocalSolver homepage GitHub LocalSolver options

LOQO

Linear (interior)
Quadratic
Nonlinear

See the LOQO site for downloads and availability

 

directives table

LP_SOLVE

Linear (simplex)
Integer linear

See the lpsolve homepage

lpsolve files @SourceForge

Using lp_solve

MINLP

Integer nonlinear

see entry for FILTER/MINLP

 

 

MINOS

Linear (simplex)
Nonlinear

Order binaries directly from us

Source code from Stanford Business Software

m551.c

README.1st
README.minos

Using AMPL/MINOS

MINTO

Linear (simplex)
Integer linear

MINTO at COR@L

 

directives table

MOSEK

Linear (simplex)
Linear (interior)
Quadratic, nonlinear convex
Integer linear, integer quadratic

See the MOSEK homepage

 

directives table

NPSOL

Nonlinear

Source code from Stanford Business Software

npsol.c

README.npsol

NSIPS

Nonlinear semi-infinite

See the NSIPS homepage

 

directives table

OOQP

Linear
Quadratic convex

See the OOQP homepage

 

 

PATH

Complementarity

Downloads:
32-bit Linux
64-bit Linux
OS X
32-bit Windows
64-bit Windows

path.c

README.path

directives table

PCx

Linear (interior)

See the PCx homepage

 

 

PENNON

Nonlinear

See the PENNON homepage

 

User’s Guide (version 1.3)

SNOPT

Nonlinear

Order binaries directly from us

Source code from Stanford Business Software

snopt.c

README.snopt

directives table

SOPT

Linear (simplex)
Quadratic
Nonlinear convex
Integer linear

SAITECH, Inc.

 

 

Sulum Linear (simplex)
Integer linear
Sulum Optimization GitHub Sulum options

TRON

Nonlinear
bounded-variable

See the TRON homepage

 

directives table

WSAT(OIP)

Integer linear constraints

Download from Joachim P. Walser

 

 

XA

Linear (simplex)
Integer linear

Sunset Software Technology

 

 

XLSOL
LS-XLSOL

Linear (simplex)
Quadratic
Integer linear

Frontline Systems, Inc.

 

 

Xpress

Linear (simplex)
Linear (interior)
Quadratic
Integer linear

Order directly from us

xpress.c

README.1st
README.xpress
directives table