Selected free and open-source optimization softwares
OpenOpt Framework

- providing connections to lots of solvers, e.g. IPOPT, cplex, algencan, glpk, lpsolve, CVXOPT, PSwarm, nlopt, BOBYQA, lbfgsb (some are C- or Fortran-written) with easy and unified syntax
- trying to enhance algorithms for numerical optimization invented by Ukrainian academicians Boris Pshenichniy and Naum Z. Shor
- nonlinear/nonsmooth solvers ralg, gsubg, amsg2p
- global nonlinear solver de (differential evolution)
- global nonlinear solver with specifiable accuracy: interalg
- some other linear and quadratic solvers code is included
NLopt

- Callable from C, C++, Fortran, Matlab or GNU Octave, Python, GNU Guile, and GNU R.
- A common interface for many different algorithms—try a different algorithm just by changing one parameter.
- Support for large-scale optimization (some algorithms scalable to millions of parameters and thousands of constraints).
- Both global and local optimization algorithms.
- Algorithms using function values only (derivative-free) and also algorithms exploiting user-supplied gradients.
- Algorithms for unconstrained optimization, bound-constrained optimization, and general nonlinear inequality/equality constraints.
- Free/open-source software under the GNU LGPL (and looser licenses for some portions of NLopt).
PSwarm Solver

The algorithm combines pattern search and particle swarm. Basically, it applies a directional direct search in the poll step (coordinate search in the pure simple bounds case) and particle swarm in the search step.
PSwarm makes no use of derivative information of the objective function. It has been shown to be efficient and robust for smooth and nonsmooth problems, both in serial and in parallel.
The code is written in both MATLAB and C. It provides an interface with AMPL, Python and R. The C code includes a parallel version using MPI. PSwarm can also be run through the NEOS server (under the Global Optimization category). You can use PSwarm with Python problems using the OpenOpt framework.
Commercial optimization environments
LINGO from the LINDO Systems Inc.

GAMS

Table 1. Solvers that Work with GAMS
AMPL

Table 2. Solvers that Work with AMPL
Solver |
Algorithm Types |
Vendor or |
Driver Code |
Documentation |
ACRS |
Nonlinear global |
|
|
|
ALGENCAN |
Nonlinear |
See the TANGO site |
|
|
BLMVM |
Nonlinear |
Download from the Toolkit for Advanced Optimization |
|
|
Bonmin |
Integer nonlinear |
See the Bonmin homepage and |
|
|
BPMPD |
Linear (interior) |
Download from netlib/opt |
||
CBC |
Linear (simplex) |
See the CBC homepage |
|
|
CONDOR |
Nonlinear |
|
|
|
Nonlinear |
Buy
directly from AMPL. |
|
|
|
Linear (simplex) |
Buy
directly from AMPL. |
README.1stREADME.cplex |
||
DONLP2 |
Nonlinear |
|
||
FilMINT |
Integer nonlinear |
Contact authors of FilMINT slides and paper |
|
Slides andPaper |
FILTER / |
Nonlinear |
|
||
FortMP |
Linear (simplex) |
|
||
FSQP |
Nonlinear |
|||
Linear (simplex) |
Buy directly from AMPL. |
|||
IPOPT |
Nonlinear |
See the IPOPT homepage |
|
|
Nonlinear |
Buy
directly from AMPL. |
|
||
LANCELOT |
Nonlinear |
Download from the LANCELOT site |
||
L-BFGS-B |
Nonlinear |
See the L-BFGS-B page |
|
|
LGO |
Nonlinear global |
Contact Pintér Consulting Services |
|
|
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) |
Buy
binaries directly from AMPL. |
|||
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 |
|
|
PATH |
Complementarity |
CPNET, Computer Sciences Dept, Univ of Wisconsin |
||
PCx |
Linear (interior) |
NEOS Tools, Argonne National Laboratory |
|
|
PENNON |
Nonlinear |
See the PENNON homepage |
|
User's Guide(version 1.3) |
Nonlinear |
Buy
binaries directly from AMPL. |
|||
SOPT |
|
|
||
TRON |
Nonlinear |
See the TRON homepage |
|
|
WSAT(OIP) |
Integer linear constraints |
|
|
|
XA |
Linear (simplex) |
|
|
|
XLSOL |
Linear (simplex) |
|
|
|
Xpress-MP |
|
|
NEOS Solvers for global optimization Optimization Environments on the NEOS Server

- ASA [AMPL Input]
- BARON [GAMS Input]
- icos [AMPL Input]
- LINDOGlobal [GAMS Input]
- PGAPack [AMPL Input]
- PSwarm [AMPL Input]