TRY NOW!
AMPL > >Products > >Solvers > >Open Source Solvers

OPEN SOURCE SOLVERS

The most popular open-source solvers are available in versions that work with AMPL. These offer an alternative optimization resource for projects that do not require intensive or large-scale support and performance.

Open-source software is provided under a variety of licenses that differ significantly in their provisions, particularly regarding redistribution and commercial use. Each open-source solver’s website posts or links to specific license terms that should be consulted carefully.

Our open-source solver lineup is summarized below, with links to more detailed descriptions and download areas. We group the solvers into “linear” and “nonlinear” types according to the type of problem for which they are primarily used.

Linear solvers

These solvers all handle linear optimization problems in both continuous and integer variables. Their performance is not at the level of analogous commercial solvers, but can be sufficient for problems that are not too large or difficult.

CBC — from COIN-OR under the Eclipse Public License; available as source code and binaries for
32-bit Linux, 64-bit Linux, OS X, 32-bit Windows and 64-bit Windows.

GLPK — from the GNU Project under the GNU General Public License; available as source code. Includes an open-source subset of AMPL features.

lp_solve — from SourceForge under the GNU Library General Public License; available as source code and binaries.

Nonlinear solvers

The solvers in this category seek solutions to problems involving smooth nonlinear functions such as powers, logs, and ratios. They differ in the algorithms that they offer, and hence in their effectiveness for different problem types. Due to the difficulty of nonlinear optimization, these solvers are effective with smaller problems than their linear counterparts.

Ipopt — from COIN-OR under the Eclipse Public License; available as source code and binaries for 32-bit Linux, 64-bit Linux, OS X, 32-bit Windows and 64-bit Windows. Finds locally optimal solutions to continuous nonlinear problems, using an interior-point method.

Bonmin — from COIN-OR under the Eclipse Public License; available as source code and binaries for 32-bit Linux, 64-bit Linux, OS X, 32-bit Windows and 64-bit Windows. Finds globally optimal solutions to convex nonlinear problems in continuous and discrete variables, and may be applied heuristically to nonconvex problems.

Couenne — from COIN-OR under the Eclipse Public License; available as source code and binaries for 32-bit Linux, 64-bit Linux, OS X, 32-bit Windows and 64-bit Windows. Finds globally optimal solutions to nonlinear problems in continuous and discrete variables, regardless of convexity.

Constraint programming solvers

These solvers handle constraint programming problems usually in discrete variables. They support a wide variety of constraint types that may contain nonlinear and logical expressions. Constraint programming solvers can be more efficient than MIP solvers for some kinds of combinatorial optimization problems.

Gecode — under the MIT license; available as source code and binaries for 32-bit Linux, 64-bit Linux, OS X, 32-bit Windows and 64-bit Windows.

JaCoP — under the GNU Affero General Public License; available as source code and binaries for 32-bit Linux, 64-bit Linux, OS X, 32-bit Windows and 64-bit Windows.

NEOS solvers

The kestrel program allows using remote NEOS solvers with AMPL running on your local machine. Invoked in the same way as other AMPL solvers, Kestrel sends the problem to a solver running on one of the NEOS Server’s remote computers. The results from the NEOS Server are eventually returned through Kestrel to AMPL, where you can view and manipulate them locally in the usual way. Thus you get all the benefits of using AMPL environment, without having to first obtain and install each solver you want to try. Kestrel is provided free of charge and available for download from the Run AMPL on NEOS page. It is also included in all the demo packages.