A tree for site navigation will open
here if you enable JavaScript in your
browser.

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)=x_{1} ^2+x_{2} ^2,
g(x)=(x_{1} ^2-x_{2} ,x_{2} ^2-x_{1} )
.

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
Robust Optimization
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 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, C,
Windows-executables ,
Matlab interface ,
Java interface . R interface , Python 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)

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++)

MIPTS

Tabu search heuristic for MIP; MPS, AMPL, CPLEX-LP input (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)

QSopt

Simplex based; executables, library
for Windows/Unix,
free for research&education, Concorde interface,
Mex 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

Constraint reduction for linear programs with many inequality constraints; paper and Matlab file

rMPC

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
(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

MSLiP

A Multistage Stochastic Linear Programming Code, available for
research
and teaching purposes from
Horand I. Gassmann

BNBS

for multi-stage problems, uses CPLEX, SOPLEX, or GLPK as LP solver (C/C++)

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

qpOASES

online active set solver, works well for model predictive control (C++, Matlab/R/SciLab interfaces)

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 (in Port lib)

SPSOLQP

indefinite QP solver, interior
point (Matlab)

QuadProgBB

indefinite QP solver, Matlab/MEX

n large

QPS (ext. MPS format)

from BPMPD

CONV_QP

various methods for sparse convex
QP (f77)

MSS

Matlab software for large-scale trust-region subproblems

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 F^{T} F

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

PICOS

Python Interface for Conic Optimization Solvers

YALMIP

Matlab toolbox for rapid
prototyping of optimization
problems, supports many 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 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

SMCP

Python Extension for Sparse Matrix Cone Programs

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

SCIP-SDP

An SDP Plugin for SCIP; solves MISDP

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
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.

MAXDET

Software for Determinant Maximization Problems (C; Matlab interface)

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

PENLAB

Open source version of PENNON, also for NLP (Matlab)

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)

ECOS

Embedded Conic Solver (Ansi-C, interfaces to Matlab, CVX, Python, library-free)

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.

MOSEK

Interior point code for LP, QP, and
conic
programming. Extended MPS or Matlab input, student license

ECOS

open-source lightweight conic solver written in C for SDP and SOCP on embedded systems

SDPpack

Primal-dual Mehrotra type
predictor-corrector scheme,
test for degeneracy and other additions, of historical interest

SDP solvers for discrete optimization problems

BiqCrunch

A semidefinite branch-and-bound method for solving binary quadratic 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

TFOCS

Templates for first order conic solvers (Matlab)

MVU

Maximum Variance Unfolding and other machine learning codes (Matlab)

SFSDP

MATLAB software for sparse sensor network localization (needs SeDuMi)

SNLSDP

MATLAB software for sensor network localization

Sensor Location

M and P files for relaxed and full SDP approaches to network sensor location (needs SeDuMi), Matlab

DSPCA

Matlab package for sparse principal component analysis

PICOS

Python Interface for Conic Optimization Solvers

YALMIP

Matlab toolbox for rapid
prototyping of optimization
problems, supports many 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)

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

ROME

Robust Optimization Made Easy, modeling
language and solver, needs CPLEX, or MOSEK, or SDPT3
(Matlab)

YALMIP

Extensive tutorial with sample scripts; LP, SDP, SOCP, SoS etc (Matlab)

Using function values only
The functions f, g, h are not necessarily smooth.
Only function values required.

DirectSearch

for local/global minimization, multi-objective optimization, nonlinear systems, data fitting
(Maple)

LINCOA
C# version

Powell's f77 code for problems with linear inequality constraints (moderate number of variables)

CONDOR

parallel, constrained version of
Powell's UOBYQA;
SIF, AMPL, XML interfaces (C++)

COBYLA2 (f77, dble prec)
COBYLA2_f90
COBYLA2_C#
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

LGPL-licensed code to do
generalized pattern search
for nonlinear and mixed variable optimization (C++)

NOMADm

research version of NOMAD (Matlab, part of OPTI Toolbox)

EI-AL

hybrid EI-AL method part of the laGP package (R)

GANSO

several methods for
global&nonsmooth problems (C/C++)

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) C#-version

SDBOX

derivative-free method (f90 and C)

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 ,
Matlab

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.

LBFGS, LM

Routines for LBFGS and Levenberg-Marquardt in 6 languages

LimMem

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

COPL_LC

f convex, interior point method,
needs Hessian

PDCO

f separable convex, primal-dual
interior point
method (Matlab)

BlockIP

optimization package for large convex block-angular problems (C++)

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 g_{1} and
g_{2} with
f(x)=x_{1} +x_{2} , h(x)=x_{1} ^2+x_{2} ^2-1,
g_{1} (x)=x_{1} ,
g_{2} (x)=x_{2} . 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
JOptimizer

Java code for convex
optimization

CVX

Matlab package for disciplined convex
optimization

CVXOPT

Python Software for Convex Optimization

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

LIONsolver

reactive search, free for research

SDPEN

derivative free sequential penalty method for inequality constrained problems (f90)

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.

PENLAB

Open source version of PENNON (Matlab)

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

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++)

IPFILTER

primal-dual interior point filter method for large
NLP, AMPL&SIF&Fortran interfaces
(f95)

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
SLQP-GS

Sequential Linear or Quadratic Programming with Gradient Sampling (Matlab)

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)

CSIP

Matlab code for convex semi-infinite
programming; AMPL interface

DFL

derivative-free codes for bound and inequality constrained problems (f90)

Cyber-Infrastructure for MINLP

Meta site for MINLP

MINLP
World

forum with links to solvers,
problem libraries
etc

BonMin

hybrid code from COIN-OR

Couenne

Exact solver for nonconvex problems

MIDACO

Mixed Integer Distributed Ant Colony Optimization (Matlab, C/C++, Fortran)

MILANO

Matlab-based mixed-integer linear and nonlinear solver

MINLP_BB

branch&bound and QP/SQP

Minotaur

source and Linux/Mac binaries

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

MINLP

Matlab code for small number of integer variables

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

Nonlinear objective function
LSNNO

f77 code from netlib

PPRN

library for various platforms

PFNRN

nonlinear constraints,
Solaris/Windows
binaries

Special/constraint Solvers/Languages
Manopt

Optimization on Riemannian manifolds (Matlab)

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++

Open DP

general dynamic programming software to optimize discrete time processes, with continuous or discrete decisions; random processes (observable or not) allowed

SDP

Generalized software for solving stochastic dynamic optimization problems (win executable)

DP2PN

Java package for dynamic programming; needs javac

ACADO

Toolkit for automatic control and dynamic optimization (C++, Matlab interface)

CompEcon
Tb

Matlab toolbox for computational economics and
finance incl general
optimization, dynamic programming, stochastic control

Control Problems
dsoa

Dynamic System Optimization (C/C++)

MOOSE

Model Based Optimal Input Signal Design Toolbox (Matlab)

ACADO

Toolkit for control (C++, Matlab interface)

POCP

Package for Polynomial Optimal Control Problems, uses Gloptipoly or Yalmip (Matlab)

SQPlab

Matlab solver for nonlinear optimization and optimal control

OpenDDPT

Open Discrete Dynamic Programming Template (C/C++); includes unconstrained optimization package

LAAS-MAC

Links to various control-related software

OptControlCentre

package for the optimization of dynamical systems in energy and chemical engineering

HIFOO

A MATLAB package for fixed-order controller design
and H-infinity optimization

GPOPS

A MATLAB package for multiple phase optimal control; requires SNOPT

RoMulOC

Robust Multi-Objective Control toolbox, uses YALMIP
(Matlab)

MPT

Multi-parametric toolbox for constrained linear and
piecewise affine
systems (Matlab)

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

Optizelle

Open source software for general NLP problems; multilanguage support

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 ,
FICO-Xpress ,
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