The Constrained
NLO Problem
The Problem:
min f(x) subject to h(x)=0, g(x)>=0,
n=dim(x), m=dim(g), p=dim(h).
The picture shows feasible domain and level sets
for
|
f(x)=x1^2+x2^2,
g(x)=(x1^2-x2,x2^2-x1)
. |
Infeasible points are shown in dark brown and
the levels of f are shown in the feasible
domain.
You'll find several sections:
The
LP-problem, also mixed integer and stochastic
The QP-problem,
also mixed integer
Semidefinite and
second-order cone programming
Geometric
programming
The general nonlinear
problem (dense, sparse, nonsmooth, SIP)
Mixed integer
nonlinear programming
Network constraints
Special/constraint
solvers
Control problems
other
collections/problems
The LP-problem: f, g, h linear in
x
The LP-problem is often very high-dimensional. Several tools are necessary
to deal with such problems. Some are listed here:
 |
plam | A free MILP
modeling environment
using lp_solve as
MILP solver and
SWI-Prolog |
 |
MPS |
The description of the most widely
used LP input
format |
 |
MPSreader
|
An MPS reader for
Windows |
 |
QSreader | a utility
to convert this
LP format to (and from) MPS; Windows/Unix
executables |
 |
lp2mps | a utility (extracted from
lp_solve) to convert the simple
LP format to (and from) MPS |
 |
ABACUS |
A general branch&cut library for mixed integer
capability
(C++, source and binaries for Linux&Solaris, CPLEX-8 or Soplex,
has a simple TSP solver as demonstration example) |
The following simplex-based solvers allow some
or all of the variables to be constrained to attain integer values;
all allow input in
MPS format:
 |
SCIP |
Framework for Constraint Integer
Programming, links
to
CPLEX, SOPLEX, or CLP as LP solver (C)
|
 |
lp_solve |
C source, various binaries, and
interfaces
|
 |
Pascal-MILP-solver |
Borland-Pascal sources, DOS/WIN
binaries |
 |
BonsaiG |
C, B&B, dynamic LP, partial arc
consistency
algorithm,
binaries
|
 |
MOMIP |
B&B&cut, Win95 binary,
binaries
|
 |
MINTO |
B&C, Unix/Win binaries, using
CPLEX or Clp; AMPL
interface
|
 |
PICO (part of ACRO)
|
B&C, using CPLEX, GLPK, or SOPLEX;
AMPL interface
|
 |
MOSEK |
Simplex/IPM, Matlab, AMPL, GAMS
interfaces, student
license |
 |
GLPK |
GNU LP library, B&B, dual/revised
simplex, interior
point, Concorde interface, C,
Win32-version,
Matlab interface,
Java interface. R interface
|
 |
CBC
|
Simple branch&cut solver, part of
COIN-OR (C++) |
 |
SYMPHONY
|
callable library for solving mixed-integer linear programs, uses Clp as default LP solver (C) |
 |
ProLin
|
MILP solver, GUI, Windows executable,
user's guide (in
Portuguese) |
 |
Matlab interfaces |
to CPLEX, XPRESS-MP, GLPK, zCHAFF
|
 |
CPLEXINT |
Matlab interface to CPLEX (source and binaries)
|
 |
MATLOG |
(MATLAB) The milp.m solver
(needs lp.m from Matlab
optimization toolbox) |
 |
SCIL |
Symbolic Constraints in Integer
Linear programming
(C++) |
 |
FEASPUMP |
The Feasibility Pump for finding a feasible solution; needs CPLEX (C++)
|
PURE LP SOLVERS: most allow input in
MPS format:
 |
CLP |
the COIN LP code, simplex
(C++) |
 |
PyCOIN
|
Python interface to CLP (maybe more
COIN
solvers) |
 |
mexclp |
Matlab interface to
CLP |
 |
QSopt |
Simplex based; executables, library
for Windows/Unix,
free for research&education, Concorde interface,
Matlab interface |
 |
SOPLEX |
Simplex based, C++ |
 |
BPMPD |
interior point method,
Win32-version,
Unix-binaries (version 2.21),
Unix-libraries (version 2.21),
BPMPD_MEX ,
netlib-source (version 2.11, f77),
C-version (version 2.11, f2c),
AMPL interface |
 |
HOPDM
|
local version of code
(interior point method using predictor-corrector-steps of
higher order),
HOPDM_C (f2c-converted version, includes f2c-library),
IIASA-archive (C++/f77, dynamic memory allocation, binaries for
Solaris and win95 only) |
 |
PCx |
interior point method, f77/C,
binaries for major
platforms |
 |
LOQO
|
interior point method, C, student
binaries,
executables for major platforms, work for two months w/o license, AMPL
interface, Matlab interface |
 |
COPL-LP |
interior point method, includes
crossover,
DOS executable,
HP binary,
Linux
binary |
 |
LIPSOL |
interior point method, also MAT or
LPP formats
(Matlab) |
 |
IPO/SIMPO
|
interior and simplex LP-solver
published in
conjunction with Vanderbei's book, C |
 |
PCLP
|
predictor-corrector interior point
code, SciLab or
Matlab |
 |
SPHSLFBF |
homogeneous self-dual interior
point code, Matlab
|
 |
MINOS |
the long standing simplex based
REFERENCE-implementation
|
 |
MCMA
|
Multi-objective LP
(Win95 and Solaris binaries only, includes tutorial models, based on
HOPDM and MOMIP) |
 |
reducedLP
|
Matlab interior point code
specifically for LPs with
many inequality constraints such as from a fine discretization of a
semi-infinite LP
|
Polyhedral Codes
Exact LP Solvers
 |
EXLP |
Rational (exact) primal/dual
simplex solver; needs
GNU MP (C)
|
 |
QSopt-Exact |
Rational (exact) primal/dual
simplex solver; libraries, executables, some source; MIP capabilities
(C)
|
Stochastic LP Solvers
Most accept input in
SMPS format
 |
SMPS reader |
by Gus Gassman, in
f90 |
 |
det2sto |
Downloadable Perl script to
generate deterministic
equivalent in AMPL format; websubmission |
 |
BNBS
|
A multistage stochastic linear programming code free for academic
research. Requires an LP solver (CPLEX or SOPLEX or GLPK)
|
 |
MSLiP
|
A Multistage Stochastic Linear Programming Code, available for
research
and teaching purposes from
Horand I. Gassmann
|
 |
SLP-IOR
|
based on GAMS, large solver
library, free for
academic use |
 |
DDSIP
|
Dual decomposition in two-stage
stochastic
mixed-integer programming, needs CPLEX lib (GPL, C) |
The QP problem: f quadratic, (non)convex, g, h
linear
Only bound constraints:
 |
gpcg |
More&Toraldo's method combining cg
with gradient
projection |
 |
BoxQP |
package by H.B. Nielsen et al
(f77, paper)
|
 |
MINQ | General definite and bound constrained
indefinite
quadratic programming (in Matlab) |
Only equality constraints ( m = 0):
 |
toms/559 |
also for nonconvex f, provided the
projected
Hessian is positive definite |
n not too large, strictly convex
 |
dualqp
|
f77 version of Spellucci's
Goldfarb-Idnani dual QP
solver |
 |
QPC
|
Active set and interior point, in C, callable from Matlab |
 |
QuadProg++
|
C++ code for Goldfarb-Idnani dual QP
|
 |
QP_solver
|
exact QP solver, part of CGAL (C++)
|
n not too large, not necessarily convex
 |
NewtonKKTqp
|
indefinite QP solver, interior
point
(Matlab) |
 |
IQP |
indefinite QP package |
 |
SPSOLQP |
indefinite QP solver, interior
point (Matlab)
|
n large
 |
QPS (ext.
MPS format |
from BPMPD |
 |
CONV_QP |
various methods for sparse convex
QP (f77) |
 |
LSTRS |
Matlab software for large-scale trust-region subproblems and regularization |
 |
COPL_QP
|
interior point, convex problems, C,
ext. MPS input,
user's guide |
 |
BPMPD |
convex problems, ext. MPS input,
Win-95
version,
BPMPD_MEX ,
Unix-libraries,
Unix-binaries |
 |
MOSEK |
interior point, Win, Linux, Solaris
binaries, ext. MPS
input including quadratic constraints or through Matlab, student license
|
 |
OOQP |
object oriented C++ package, interior
point, convex
problems, needs MA27/57 from HSL archive |
 |
GALAHAD |
QPA/QPB active set and IPM solvers,
AMPL and ext.
MPS(SIF) input |
 |
HOPDM
|
extension of LP-code, convex
problems, ext. MPS input
|
 |
QHOPDM |
extension of HOPDM, ext. MPS input,
matrix in
quadratic term must be given as FTF |
 |
LOQO
|
interior point method, C,
executables for major
platforms,
work for several months w/o license, AMPL interface, Matlab interface
|
 |
RAL-QP |
more QP codes (from the NA group
at Rutherford
Appleton Labs) |
Software for specific quadratic programming
problems:
 |
GPDT |
Parallel Gradient Projection-based Decomposition Technique for SVM, also serial, Linux binary & C++ source
|
 |
OptiML |
f77 and C++ software for 2-norm soft margin SVM plus C++ code for the sparse inverse covariance problem
|
 |
OOQP |
C++ package includes solver for SVM and
Huber regression
problems |
Mixed integer quadratic programming:
 |
MIQPBB |
branch&bound code |
 |
YALMIP |
Matlab toolbox for rapid
prototyping of optimization
problems, supports 20 solvers; B&B for mixed integer problems
|
 |
MIQP |
0-1 only, needs LP/QP solver, e.g.
linprog/quadprog
(Matlab) |
 |
MOSEK |
ext. MPS input, Win, Linux, Solaris
binaries, Matlab,
quadratic constraints, student license |
SDP&SOCP (semidefinite and second-order cone
programming)
Cone World new initiative by
GAMS
Linear semidefinite programming (SDP) solvers
 |
SparseCoLo |
Matlab package for exploiting sparsity
in linear and nonlinear matrix inequalities
via positive semidefinite matrix completion
|
 |
SBmethod |
C++ implementation of the spectral
bundle method for
minimizing the maximal eigenvalue of an affine matrix function (real,
symmetric).
|
 |
ConicBundle |
A bundle method for minimizing the sum of convex functions given by oracles or from Lagrangian relaxation (C++, GPL)
|
 |
SDPHA
|
A Matlab package for a homogeneous
primal-dual
method |
 |
CSDP |
A library for semidefinite
programming,
predictor-corrector version
of algorithm by Helmberg, Rendl, Vanderbei, and Wolkowicz (C)
|
 |
DSDP |
Dual-scaling algorithm (C, Matlab interface, parallel version)
|
 |
SDPA
|
Solves semidefinite programs utilizing a Mehrotra-type predictor-corrector
step,
uses sparse matrix structure, includes documentation (C++), Matlab and MPI
parallel versions
|
 |
PENSDP |
Penalty/barrier method for
linear semidefinite programming, SDPA format input,
|
 |
SDPLR |
solves large-scale SDP problems (C)
|
 |
SDPSOL |
Solves c^Tx-log(detG(x)) subject to
the linear matrix
inequality
constraints G(x)>0, F(x)>0, subsumes LP, QP, and other convex problems,
includes the author's
SP and
MAXDET
programs for which sources are available,
binaries for major platforms, very convenient to use with Matlab
|
 |
MPRW
|
Boundary Point Method, Random SDP generators (Matlab)
|
 |
VSDP
|
Matlab package for verified SDP. Needs INTLAB and SDPT3 or SDPA.
|
 |
rmd
|
Rigorous MAXDET; wrapper for above
code (C++)
|
 |
CUTSDP
|
A Toolbox for a Cutting-Plane
Approach Based on
Semidefinite Programming (C)
|
Nonlinear semidefinite programming (SDP) solvers
 |
PENBMI |
Program for problems with quadratic objective and bilinear matrix inequality constraints (C)
|
 |
QSDP |
MATLAB software for convex quadratic semidefinite programming
|
SOCP solvers (second order cone problems, not
SDP)
 |
MOSEK |
Interior point code for LP, QP, and
conic
programming. Extended MPS or Matlab input, student license |
 |
SOCP
|
software for second order cone
programming (C and
Matlab) |
 |
LOQO |
interior point method, C, student
binaries,
executables for major platforms, work for two months w/o license, AMPL
interface, Matlab interface |
SQL solvers (semidefinite, quadratic, linear
problems, includes SDP,
SOCP)
 |
SeDuMi
|
Matlab toolbox for solving
optimization problems over
symmetric cones |
 |
SDPT3-4.0
|
Matlab implementation of infeasible
path-following
algorithms with Mehrotra type predictor-corrector and two types of search
directions. |
 |
SDPpack |
Primal-dual Mehrotra type
predictor-corrector scheme,
test for degeneracy and other additions, of historical interest
|
SDP solvers for discrete optimization problems
 |
COPL_SDP
|
solves various cut problems, uses
dual scaling
method(C) |
 |
COPL_DSDP
|
mixed integer linear semidefinite
problems, enhanced
COPL_SDP,
MPS-like input (C) |
 |
Max-AO
|
solves SDP relaxations of maximum
stable set and
maximum clique problems, graph input (C) |
 |
KYPD
|
solves special KYP SDP problems,
needs Yalmip and
SeDuMi (Matlab) |
Applications of SDP/SQL/SOCP
 |
SFSDP |
MATLAB software for sparse sensor network localization (needs SeDuMi) |
 |
SNLSDP |
MATLAB software for sensor network localization |
 |
LMILab
Translator |
Allows to use Matlab LMILab
commands&format for
Matlab-based SDP solvers |
 |
Sensor Location |
M and P files for relaxed and full SDP approaches to network sensor location (needs SeDuMi), Matlab |
 |
MVU
|
Matlab package for semidefinite
embedding (needs
CSDP, SDPT3, or SeDuMi) |
 |
LMNN
|
Matlab package for Large Margin Nearest Neighbor Classification |
 |
DSPCA
|
Matlab package for sparse principal component analysis |
 |
YALMIP |
Matlab toolbox for rapid
prototyping of optimization
problems, supports 20 solvers; B&B for mixed integer problems
|
 |
xLMI
|
freely available Matlab LMI
solver |
 |
LMITOOL
|
LMI parser, part of Scilab
|
 |
LMIRANK
|
Matlab toolbox for solving rank-constrained LMI problems |
 |
Matrix completions |
Using SDP to solve the PSD and the
Euclidean distance
matrix completion problems (Matlab) |
 |
FIR toolbox
|
Matlab toolbox to optimize FIR filters and similar
structures; needs
SeDuMi or LOQO or other |
 |
SparsePOP |
Sparse SDP Relaxation of Polynomial
Optimization
Problems (Matlab) |
 |
GloptiPoly |
Polynomial objective and
constraints, integer
variables, needs SeDuMi (Matlab, GPL) |
 |
SOSTOOLS
|
Matlab toolbox to solve sum of squares polynomial
problems; needs
SeDuMi and Matlab's symbolic toolbox (GPL) |
Geometric programming
 |
GGPLAB |
Interior point method for GP and
generalized GP
(Matlab) |
 |
MOSEK
|
Interior point method, AMPL, GAMS,
Matlab, student
license |
 |
COPL_GP
/
binaries |
Primal-dual interior point
method, includes user's
guide |
 |
GPGLP |
Self-extracting DOS archive, docs,
examples |
The general nonlinear Problem
Using function values only
The functions f, g, h are not necessarily smooth.
Only function values required.
 |
CONDOR |
parallel, constrained version of
Powell's UOBYQA;
SIF, AMPL, XML interfaces (C++)
|
 |
COBYLA2 (f77, dble prec)
COBYLA2_f90
COBYLA_C |
The functions depend on few variables (some hundred
at most). An SLP method with
estimation of gradients by linear interpolation of the individual
functions on moving simplices,
l_infinity exact penalty function as merit function. Inequality
constraints only.
M.
Powell's paper on Direct Search Methods |
 |
DFO
|
derivative free method of Conn,
Scheinberg, and
Toint
|
 |
NOMAD |
GPL-licensed code to do
generalized pattern search
for nonlinear and mixed variable optimization (C++)
|
 |
NOMADm |
research version of NOMAD (Matlab)
|
 |
GANSO |
several methods for
global&nonsmooth problems,
libraries for Win/Linux/Unix (C/C++)
|
 |
GOAL |
Genetic algorithm, input in VB,
Win executable,
GUI |
In the following it is assumed that f, g, h, are
differentiable.
f general, bound constraints
only
 |
BOBYQA
| Powell's bound-constrained
optimization by quadratic
approximation (f77)
|
 |
fminsearchbnd
|
bound-constrained version of
fminsearch
(Matlab) |
 |
ASA_CG
|
bound-constrained version of CG_DESCENT
(f77/C) |
 |
tn,
C-version
|
use tnbc from this package,
truncated Newton
method using the Lanczos-process,
n should be not too large
since identification of binding
constraints works inefficiently
(classical active set method)
|
 |
ve08 |
for separable convex f ,
structured quasi Newton
method (Toint-Griewank) |
 |
LBFGS-B,
f90,
Java,C++, Delphi, VB6,
Matlab1, Matlab2
|
a limited memory quasi Newton
(BFGS) method
combined with gradient projection
for bound constrained problems;
directory contains software, drivers and
a user's manual |
 |
TRON | trust region Newton,
preconditioned cg,
projected search
f90-version
|
 |
PL2
|
truncated Newton method using the
Lanczos process with
direct computation
of a truncated spectral decomposition, uses a so called three directions
method from Heinrich,
uses directions of negative curvature. for large dimensional problems.
|
 |
LM |
Several limited memory f77-routines; also for least
squares
|
 |
Matlab codes
|
Several codes (BFGS, CG), also
nonnegativity
constraints, applications
|
General linear constraints
 |
COPL_LC |
f convex, interior point method,
needs Hessian
|
 |
PDCO |
f separable convex, primal-dual
interior point
method (Matlab) |
Most methods for general constraints use an exact nondifferentiable
penalty
function like the L1-penalty function. The following picture shows this
function with weight 1 for h and weights 2 for g1 and
g2 with
f(x)=x1+x2, h(x)=x1^2+x2^2-1,
g1(x)=x1,
g2(x)=x2. It shows some of the intricacies involved
in using these functions:
not only the nondifferentiability, but also the possible occurrence of
infeasible local minimizers. The problem has the two solutions (1,0) with
multipliers (0.5,0,1) and (0,1) with multipliers (0.5,1,0). Hence the
weights are large enough to make these strict local minima of the
penalty function.
But three more infeasible minima with the same function value 1 occur at
(0,0), (-1,0) and (0,-1).
General nonlinear constraints, convex
problems
 |
CVX |
Matlab package for disciplined convex
optimization (needs
SeDuMi) |
 |
CVXOPT |
A Python Module for Convex
Optimization (prelim. vers.)
|
 |
CVXMOD |
Modeling layer for CVXOPT
|
 |
NLPHOPDM |
interior point method, solves
convex nonlinear
problems, AMPL, GAMS, CUTEr/SIF interface |
 |
SPG |
Spectral Projected Gradient method, interfaces to AMPL, C/C++, Matlab, Python, Octave, R |
 |
MOSEK |
solves convex, twice differentiable
problems, GAMS,
Matlab, and AMPL interface, student license
|
General nonlinear constraints, dense linear
algebra
 |
donlp2 |
a SQP/SECQP - method, very fast for
regular problems,
f77, f90, Ansi-C,
exact/numerical/automatic gradients, and ps-files on mathematical
background
AMPL interface,
guide to AMPL
version
Student binaries
of DONLP2 with AMPL for different architectures
|
 |
Rdonlp2 |
R interface to DONLP2
|
 |
SOLNP |
Matlab-SQP solver, IP solver for
QP's, includes
manual |
 |
FFSQP(f77) rFSQP,CFSQP(C) |
specifically strong for many
inequality constraints;
generates iterates which are
feasible with respect to inequality constraints, equality constraints
split into two
inequalities, one dealt with as constraint, the other transferred into a
penalty term, ADIFOR interface for automatic differentiation.
AMPL interface to CFSQP |
 |
CONMAX |
uses ODE's to generate search
direction followed by
Newton
to correct back to feasible region, authors claim it is very robust but
somewhat
slow. |
 |
CONMIN |
old code by Vanderplaats (f90)
|
General nonlinear constraints, sparse linear algebra
for high dimensional problems
Several codes have a
CUTEr/SIF interface.
 |
LANCELOT-A
|
transforms a general problem into
one with nonlinear
equality
constraints and bound constraints on (some) variables and
solves this using a modification of the Hestenes-Powell multiplier
method (book: Conn&Gould&Toint: LANCELOT . Springer Series in Comp.
Math. 17)
AMPL interface |
 |
LANCELOT-B |
part of GALAHAD, updated version,
f90 |
 |
HQP/OMUSES |
motivated by discrete-time optimal
control problems,
solves general NLP using Powell's
or Schittkowski's SQP with Newton-type barrier QP solver, needs Tcl; C++,
SIF, or ASCEND input
|
 |
SNOPT
|
solves large-scale linear and nonlinear problems; especially recommended
if some of the
constraints are highly nonlinear, or constraints respectively their
gradients are
costly to evaluate and second derivative information is unavailable or
hard to obtain; assumes
that the number of "free" variables is modest. AMPL&Matlab interfaces,
Python
interface |
 |
MINOS |
also capable of solving nonlinear
problems, but not
to be
recommended for strong nonlinearities,
AMPL interface
|
 |
KNITRO
|
trust region interior point method,
efficient for
NLPs of all sizes, various interfaces |
 |
IPOPT
|
interior point method for large
NLP, AMPL&Matlab&Python interfaces
(C++) | |
 |
LOQO
|
interior point method, C,
executables for major
platforms, work for several months w/o license, AMPL interface, Matlab
interface |
 |
PENNON
|
Penalty-barrier code for large
general NLPs, AMPL
interface
|
 |
nlpy |
Python package for LP/NLP utilizing
Fortran sources
and external software
|
 |
IP-PCG
|
interior point method for large
NLP, partial AMPL interface
(f95) | |
 |
ALGENCAN |
Augmented Lagrangian type method, interfaces to AMPL, C/C++, Matlab, Python, Octave, R
|
 |
SQPlab |
Matlab package for general NLP; needs optimization toolbox or MOSEK
|
Mathematical Problems with Equilibrium Constraints (MPECs)
 |
IPOPT
|
interior point method for large
NLP, AMPL interface
(C++) | |
 |
KNITRO
|
trust region interior point method,
efficient for
NLP's of all sizes, various interfaces |
 |
LOQO
|
interior point method, C, student
binaries,
executables for major platforms, work for two months w/o license, AMPL
interface, Matlab interface |
Minimization of Nonsmooth
Functions
 |
OBOE |
Oracle-Based Optimization Engine for convex problems, uses Proximal-ACCPM interior point method, C++
|
 |
SolvOpt
|
Solves nonsmooth unconstrained and constrained problems of moderate dimensions.
Matlab m-files, Fortran and C source available.
|
 |
NDA |
Four different routines for
Lipschitz continuous
functions
subject to linear constraints and for (small) minimax
problems |
Semi-infinite Programming
 |
NSIPS |
Three different methods
(discretization, interior point,
SQP dual), uses author's special AMPL interface (C source and
Win-binaries) |
Mixed Integer Nonlinear
Programming
 |
MINLP
World |
forum with links to solvers,
problem libraries
etc |
 |
BonMin |
hybrid code from COIN-OR
|
 |
BonCouenne |
Bonmin for nonconvex problems, experimental
|
 |
MILANO
|
Matlab-based mixed-integer linear and nonlinear solver
|
 |
MINLP_BB
|
branch&bound and QP/SQP
|
 |
LaGO
|
B&C, Linux binary, binary variables only, GAMS interface
|
 |
BARON
|
Branch And Reduce Optimization Navigator
(avail. from
AIMMS, GAMS)
|
 |
BNB |
B&B, Matlab, needs optimization
toolbox |
 |
FMINCONSET |
B&B, variables may be restricted to
discrete sets,
Matlab, needs optimization toolbox |
 |
AlphaEcp
|
WinNt/95 binary, requires CPLEX and
f90 |
 |
OPBDP
binaries
|
0-1 variables, objective and
constraints polynomial
(C++) A Davis-Putnam Based Enumeration Algorithm for Linear
Pseudo-Boolean Optimization |
Network Optimization
Linear objective function
 |
MCF |
C, network simplex method
|
 |
Net_simplex |
network simplex method, no source (
binaries)
|
 |
GIDEN |
Graphical Environment for Network
Optimization (binaries,
requires Java) |
 |
GOBLIN |
Tcl/Tk based for graph and network
problems (LGPL, C++
source, binaries) |
 |
PDNET |
interior point method, f77&C |
 |
IPM |
interior point method, f77&C |
 |
MCFClass
|
abstract C++ class for single commodity MCF problems incl 5 solvers:
RelaxIV, MCFZIB, CS2, MCFCplex, SPTree |
 |
RelaxIV |
MCF solver by Bertsekas&Tseng plus other network and assignment
solvers |
 |
Netsoft | Andrew Goldberg's
Network Optimization
Library in C |
 |
Martins | Ernesto Martins'
Network Optimization
Library in Fortran |
Nonlinear objective function
 |
LSNNO |
f77 code from netlib |
 |
PPRN |
library for various platforms
|
 |
PFNRN
| nonlinear constraints,
Solaris/Windows
binaries |
Special/constraint Solvers/Languages
 |
Rational
|
Exact solvers for sparse and dense rational linear systems (C, GMP) plus large set of test problems
|
 |
GloptLab
|
a configurable framework for the rigorous global solution of quadratic constraint satisfaction problems (Matlab
|
 |
ECLiPSe
|
Constraint Programming System, source, binaries, public license
|
 |
RealPaver
|
Interval-based nonlinear constraint solver; source, binaries,
documentation (C, BSD license)
|
 |
RSOLVER
|
Solver for qualified inequality constraints; source, linux binaries, Java
GUI, remote access, other constraint solvers
|
 |
ICOS
|
Interval COnstraints Solver, AMPL interface, Linux&Windows-Cygwin binaries
|
 |
WSAT(OIP)
|
domain independent local search method for linear integer constraints,
Linux binary has AMPL/CPLEX interface
|
 |
Constraints Archive
|
Links to Constraint Programming solvers
|
 |
Filtrane |
part of Galahad, nonlinear constraints, filter method, f90
|
 |
MVE |
Finding the largest ellipsoid inscribing a given polytope (GPL, Matlab)
|
 |
Miniball
|
Finding the smallest enclosing ball of points (GPL, C++)
|
 |
Miniball@sourceforge |
Finding the smallest enclosing ball of balls, QPL-licensed, C++
|
Control Problems
 |
SQPlab |
Matlab solver for nonlinear optimization and optimal control
|
 |
OpenDDPT |
Open Discrete Dynamic Programming Template (C/C++); includes unconstrained optimization package
|
 |
IEEE-CSS |
Links to various control-related software
|
 |
OptControlCentre |
package for the optimization of dynamical systems in energy and chemical engineering
(sourceforge)
|
 |
HIFOO |
A MATLAB package for fixed-order controller design
and H-infinity
optimization
|
 |
RoMulOC |
Robust Multi-Objective Control toolbox, uses YALMIP
(Matlab)
|
 |
MPT |
Multi-parametric toolbox for constrained linear and
piecewise affine
systems (Matlab)
|
 |
TransGA |
Identify transfer functions of MISO systems, Win
executable, GUI
|
 |
CompEcon
Tb |
Matlab toolbox for computational economics and
finance incl general
optimization, dynamic programming, stochastic control
|
 |
SLICOT |
Control and Systems Library. Very comprehensive.
|
 |
MR and LTV Synthesis Tools |
Provides commands for H-Infinity
synthesis of
discrete LTV systems and multirate sampled LTI systems |
 |
DIRCOL
|
Direct collocation method. Optimal ODE control
problems with control
and state constraints are solved as NLPs with NPSOL or SNOPT
|
 |
Control in
Java |
A Java Application for the Solution of Optimal
Control Problems
|
 |
PAREST
|
A direct multiple shooting method for the numerical
solution of
optimal control and parameter estimation problems
|
 |
Biomimikry |
Matlab code for Optimization, Control, and
Automation
|
 |
OCS
|
SciLab/Maple based to solve unconstrained ODE
control problems
|
 |
SODAS and
more |
Suite of codes to solve optimal
control and related
problems especially with DAEs |
 |
HQP/OMUSES |
ODE/DAE, automatic differentiation,
own format or
ASCEND or Simulink input, HQP to solve NLPs (C, C++, f77, Tcl)
|
 |
PDECON |
Optimal Control of Ordinary, Algebraic and
One-dimensional Partial
Differential Equations
|
 |
TRICE |
Designed to solve discretized PDE-constrained
optimization problems
with trust region interior point SQP methods |
Other collections or problem
types
 |
Compressive Sensing
|
software for compressive sensing (mostly Matlab) |
 |
MCQueue
|
transient and steady-analysis of discrete-time and continuous-time Markov chains, performance measures or basic queueing models |
 |
SVM software
|
Links to Gaussian Processes and SVM
software |
 |
IMMOPTIBOX |
Matlab toolbox for Optimization and
Data
Fitting |
 |
YALMIP |
Matlab toolbox for rapid
prototyping of optimization
problems, supports 20 solvers |
 |
HYSDEL
|
Hybrid Systems Description Language
and other
downloads |
 |
Modulopt |
Fortran 77 codes for smooth and nonsmooth
unconstrained,
bound-constrained, and general NLP; test problems
|
 |
TANGO |
Collection of Fortran codes for NLP; applications, testproblems.
|
 |
CompEcon
Tb |
Matlab toolbox for computational economics and
finance incl general
optimization, dynamic programming, stochastic control
|
 |
DAKOTA |
A Multilevel Parallel Object-Oriented Framework for
Design
Optimization,
Parameter Estimation, Uncertainty Quantification, and Sensitivity
Analysis
|
 |
OPT++ |
An Object-Oriented Nonlinear Optimization
Library
|
 |
UFO |
Interactive System for Optimization, very
comprehensive; f77
interface for various systems/compilers, library
|
 |
TOMLAB |
commercial Matlab optimization package,
comprehensive, with interfaces
to many
state-of-the-art optimization
solvers, e.g. CPLEX ,
Xpress-MP ,
MINLP_BB,
MIQPBB, filterSQP ,
PENBMI, PENSDP. It includes
SOL software ,
expensive and non-convex
global optimization solvers, approximation methods etc.
|
 |
Excel Add-ins
|
Rich selection for many OR and optimization
problems
|
 |
PARAM |
Klaus Schittkowski's software, especially
parameter-identification
|
 |
KELLEY
|
Iterative Methods for Optimization by T. Kelley,
codes in Matlab and
f77
|
 |
MATLOG |
Facility location and logistics
toolbox
(Matlab) |
 |
PLT |
production/storage/transport, various solvers as Win
binaries |
 |
VRP Web |
comprehensive information/links on VRP |
 |
DistOpt |
Solving large-scale problems through decomposition.
Requires
Ptolemy, works with various free
for
research or commercial solvers. Tcl/Tk graphics, C++.
|
 |
Cheddar |
GPL-licensed real-time scheduling simulator, source,
Win/Linux/Solaris
binaries |
 |
FIR toolbox
|
Matlab toolbox to optimize FIR filters and similar
structures; needs
SeDuMi or LOQO or other |
 |
LOLA
|
a package for planar location problems
(solves continuous and discrete cases)
|
 |
StarFLIP |
A reusable iterative optimization library
for combinatorial problems with fuzzy constraints (C++)
|
 |
MOZART |
Advanced development platform based on Oz. Demos
include constraint
programming, multi-agent, and concurrent applications.
|
 |
Constraints
Archive |
More links to Constraint Systems
|
 |
Neural
Network Software |
Google directory
|
|