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.
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.
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 | Driver Code | Documentation |
ACRS | Nonlinear global | Contact G. Liuzzi |
|
|
ALGENCAN | Nonlinear | See the TANGO site |
|
|
Global nonlinear |
| |||
BLMVM | Nonlinear | Download from the Toolkit for Advanced Optimization |
| |
Integer nonlinear | Download page |
| ||
BPMPD | Linear (interior) | Download from netlib/opt | ||
Linear (simplex) | Download page |
| ||
CONDOR | Nonlinear | See the Kranf Site |
|
|
Nonlinear |
| |||
Integer nonlinear | Download page |
| ||
Linear (simplex) | ||||
DONLP2 | Nonlinear |
| ||
FilMINT | Integer nonlinear | Contact authors of FilMINT slides and paper |
| FilMINT |
FILTER / | Nonlinear |
| ||
FortMP | Linear (simplex) |
| ||
FSQP | Nonlinear | AEM Design | ||
Constraint programming | Download page | GitHub | Gecode options | |
Linear (simplex) | ||||
Constraint programming | Order directly from us | GitHub | IlogCP options | |
Nonlinear | Download page |
|
| |
Constraint programming | Download page | GitHub | JaCoP options | |
Nonlinear |
| |||
LANCELOT | Nonlinear | Download from the LANCELOT site | ||
L-BFGS-B | Nonlinear | See the L-BFGS-B page |
| |
Nonlinear global |
| LGO for AMPL User’s Guide | ||
LOQO | Linear (interior) | See the LOQO site for downloads and availability |
| |
LP_SOLVE | Linear (simplex) | See the lpsolve homepage | lpsolve files @SourceForge | |
MINLP | Integer nonlinear | see entry for FILTER/MINLP |
|
|
Linear (simplex) | Order binaries directly from us Source code from Stanford Business Software | |||
MINTO |
| |||
MOSEK | Linear (simplex) | See the MOSEK homepage |
| |
NPSOL | Nonlinear | Source code from Stanford Business Software | ||
NSIPS | See the NSIPS homepage |
| ||
OOQP | Linear | See the OOQP homepage |
|
|
Complementarity | Download binaries: 32-bit Linux 64-bit Linux OS X 32-bit Windows 64-bit Windows | |||
PCx | Linear (interior) | See the PCx homepage |
|
|
PENNON | Nonlinear | See the PENNON homepage |
| User’s Guide (version 1.3) |
Nonlinear | Order binaries directly from us Source code from Stanford Business Software | |||
SOPT |
|
| ||
Sulum | Linear (simplex) Integer linear | Sulum Optimization | GitHub | Sulum options |
TRON | Nonlinear | See the TRON homepage |
| |
WSAT(OIP) | Integer linear constraints |
|
| |
XA | Linear (simplex) |
|
| |
XLSOL | Linear (simplex) |
|
| |
Xpress |