Interfaced solvers
YALMIP supports a large number of solvers and these are briefly introduced
here. To understand the tables below, here are some explanations.
|
Version |
Solver version which has been successfully tested
together with YALMIP. Other versions might work. |
Specialized for |
This essentially states the problem classes that
can be solved without YALMIP performing any internal conversions of
the problem.
EQ |
Linear equality constraints. |
LP |
Linear element-wise inequality constraints. |
QP |
Convex quadratic objective function. |
SOCP |
Second order cone constraint. |
SDP |
Linear semidefinite constraints. |
BMI |
Bilinear and quadratic semidefinite constraints. |
GP |
Geometric programming (with posynomials) |
PP |
Polynomial programming |
NP |
General nonlinear programming |
MAXDET |
logdet objective and linear semidefinite constraints. |
I |
Integer (and/or binary) variables. |
M |
Multi-parametric |
|
Also handles |
Problem classes that can be solved after internal
problem conversions by YALMIP. Most importantly, equality constraints
are written as double-sided inequalities (or a reduced basis is derived),
convex quadratic performance objectives are rewritten using second
order cones, and second order cones are rewritten to semidefinite
constraints. |
Tag |
This is the tag used in
sdpsettings to select solver. |
|
The solvers
|
Version |
|
Specialized for |
EQ, I, LP |
Also handles |
|
Homepage |
http://www.mathworks.com/products/optimization/ |
Tag |
'bintprog' |
Comments |
Available in MATLAB 7. BINTPROG only support
binary decision variables. If integer variables are used, YALMIP
will try to model these using binary variables (requires
explicit lower and upper bounds the variables) |
|
|
Versions |
|
Specialized for |
EQ, LP, QP |
Also handles |
|
Homepage |
http://www.coin-or.org |
Tag |
'clp' |
Comments |
Interfaced through the MATLAB interface
mexclp |
|
|
Version |
8.1, 9.0 |
Specialized for |
EQ, LP, QP, I |
Also handles |
|
Homepage |
www.ilog.com |
Tag |
'cplex' |
Comments |
Interfaced through the MATLAB interfaces
CPLEXINT or
CPLEXMEX. |
|
|
Version |
4.9 |
Specialized for |
LP, SDP |
Also handles |
EQ, SOCP, QC, QP |
Homepage |
http://www.nmt.edu/~borchers/csdp.html |
Tag |
'csdp' |
Comments |
You must be in the CSDP directory in MATLAB
when using CSDP, or have CSDP in your system path (having CSDP in
the MATLAB path is not sufficient). |
|
|
Version |
|
Specialized for |
SDP, |
Also handles |
EQ, LP, SOCP, QP |
Homepage |
http://www.mathworks.com/products/robust/ |
Tag |
'lmilab' |
Comments |
Commercial. Please note that LMILAB often is terribly
slow on general problems. LMILAB is efficient when control
specific
structure is explicitly stated, but YALMIP
cannot exploit this feature and LMILAB will thus run much slower compared
to when the problem is modeled directly in LMILAB. Hence, if you
insist on using LMILAB, YALMIP will cause efficiency problems. Of-course,
a simple solution is to switch solver and use any of the other SDP
solvers supported by YALMIP. To summarize,
do not use LMILAB together with YALMIP except if you really have to. |
|
|
Version |
3 |
Specialized for |
EQ, LP, QP, SOCP, GP, I |
Also handles |
|
Homepage |
http://www.mosek.com |
Tag |
'mosek' |
Comments |
Commercial solver (limited trial version available).
This solver has only been minimally tested. If you want to
purchase MOSEK for usage with YALMIP, then you always need product
PTS. You may also need one of the extensions
PTOC - If you solve problems with cones.
PTOM - If you solve problems with general nonlinear constraints such as
GPs.
PTOC - If you solve problems with integer variables. |
|
|
Version |
|
Specialized for |
EQ, LP, QP |
Also handles |
|
Homepage |
http://www.nag.co.uk |
Tag |
'nag' |
Comments |
Commercial. |
|
|
Version |
1.1 |
Specialized for |
LP, SDP, BMI |
Also handles |
EQ, SOCP, QC, QP |
Homepage |
http://www.penopt.com |
Tag |
'penbmi' |
Comments |
Commercial solver with free developer licenses
for academics. YALMIP also interfaces the
TOMLAB version
of the solver. |
|
|
Version |
1.1 |
Specialized for |
LP, SDP |
Also handles |
EQ, SOCP, QC, QP |
Homepage |
http://www.penopt.com |
Tag |
'pensdp' |
Comments |
Commercial solver with free developer licenses
for academics. YALMIP also interfaces the
TOMLAB version
of the solver. |
|
|
Version |
|
Specialized for |
SDP |
Also handles |
EQ, LP, SOCP, QC, QP |
Homepage |
http://dollar.biz.uiowa.edu/~burer/software/SDPLR/ |
Tag |
'sdplr' |
Comments |
SDPLR is specialized for problems with a low
rank dual solution (dual in YALMIPs notation). The solver can
additionally also exploit low rank data matrices. For information
on how this can be done using YALMIP, see the command
lowrank. |
|
|
Versions |
1.03, 1.05R5, 1.1 |
Specialized for |
EQ, LP, SOCP, SDP |
Also handles |
QP, QC |
Homepage |
http://sedumi.mcmaster.ca/ |
Tag |
'sedumi' |
Comments |
Make sure not to have both SeDuMi and SDPT3 in
the MATLAB path. |
|
|