LMI Solvers
LMI solvers are provided for the following three generic optimization problems (here x denotes the vector of decision variables, i.e., of the free entries of the matrix variables X1, . . . , XK):
Feasibility problem
Find x ∊ RN (or equivalently matrices X1, . . . , XK with prescribed structure) that satisfies the LMI system
A(x) < B(x)
The corresponding solver is called
feasp
.Minimization of a linear objective under LMI constraints
Minimize cTx over x ∊ RN subject to A(x) < B(x)
The corresponding solver is called
mincx
.Generalized eigenvalue minimization problem
Minimize λ over x ∊ RN subject to
C(x) < D(x)
0 < B(x)
A(x) < λB(x).
The corresponding solver is called
gevp
.
Note that A(x) < B(x) above is a shorthand notation for general structured LMI systems with decision variables x = (x1, . . . , xN).
The three LMI solvers feasp
, mincx
, and gevp
take as input the internal
representation LMISYS
of an LMI system and return a feasible or
optimizing value x* of the decision variables. The corresponding
values of the matrix variables X1, . . . ,
XK are derived from
x* with the function dec2mat
. These solvers are C-MEX implementations of the polynomial-time
Projective Algorithm Projective Algorithm of Nesterov and Nemirovski [3], [2].
For generalized eigenvalue minimization problems, it is necessary to distinguish between the standard LMI constraints C(x) < D(x) and the linear-fractional LMIs
A(x) < λB(x)
attached to the minimization of the generalized eigenvalue λ. When using gevp
, you should follow these three rules to ensure proper specification
of the problem:
Specify the LMIs involving λ as A(x) < B(x) (without the λ)
Specify them last in the LMI system.
gevp
systematically assumes that the last L LMIs are linear-fractional if L is the number of LMIs involving λAdd the constraint 0 < B(x) or any other constraint that enforces it. This positivity constraint is required for well-posedness of the problem and is not automatically added by
gevp
.
An initial guess xinit
for x can be supplied
to mincx
or gevp
. Use mat2dec
to derive
xinit
from given values of the matrix variables
X1, . . . ,
XK.
The example Minimize Linear Objectives Under LMI Constraints
illustrates the use of the mincx
solver.