Title: Nonlinear Semidefinite Programming in YALMIP
1Nonlinear Semidefinite Programming in YALMIP
2Outline
- YALMIP?
- Recent developments
- Nonlinear nonconvex semidefinite programming
- Polynomial matrix inequalities
- Rank constrained problems
- Mixed integer problems
- Proposal for a general format
- Conclusions
3What is YALMIP?
Free MATLAB toolbox for rapid prototyping,
manipulation and solution of optimization
problems. Originally aimed towards linear
semidefinite programming. Supports linear,
quadratic, second-order cone, semidefinite,
bilinear, geometric, parametric and mixed integer
programming. Interfaces most state-of-the-art
solvers.
4Solvers and modules
5Solvers and modules
6Example Linear SDP
- Standard linear SDP problem
- The symmetric matrix F is linear in the decision
variable x. - YALMIP helps the user to construct the matrices c
and Fi from a high-level model.
7Example, continued
- Lyapunov stability problem
YALMIP
8Example, continued
- Lyapunov stability problem
9Recent developments
- General framework to model epigraph/hypograph
representable nonlinear operators
(max/min/abs/norm/sum of largest eigenvalues/...) - Automatic (symbolic) dualization of conic
programs. - Massive performance improvements on symbolic
manipulation of large scale nonlinear SDP
problems.
10Nonlinear operators
Epigraph/hypograph models are automatically
appended to the optmization model.
YALMIP performs (conservative) analysis to ensure
the graph model makes sense.
11Nonlinear semidefinite programming
- YALMIP supports symbolic definition of
nonlinearly parameterized semidefinite
constraints.
Local solutions using any installed (and
interfaced) nonlinear SDP solver (currently only
PENBMI by Kocvara et al.)
Experimental global BMI solver built-in in YALMIP.
Completely integrated in YALMIP (sum-of-squares,
moments, ...)
12Example local solution of BMI
Output feedback design using Lyapunov stability
theory
13Global BMI solver
YALMIP has a built-in global BMI solver based on
a standard spatial branch and bound algorithm.
Accelerated search using LP-based bound
strengthening
Can use PENBMI to find upper bounds.
User-defined cuts to improve lower bounds.
known feasible solutions helps a lot
(sub-optimal controllers etc.)
applicable to small and well-posed problems.
Dedicated public solvers not available. Make a
contribution!
14Example global solution of BMI
Standard example (minimize max. eigenvalue)
15Example user-defined cuts
Decay-rate estimation
Normalize problem with constraint
Normalization implies
Add the implied constraint to the lower bound
problems
16Example user-defined cuts
Global solver without cut
17Example user-defined cuts
Global solver with cut
18Sum-of-squares
Method to study positivity of polynomials using
semidefinite programming.
Basic idea Match polynomial with a quadratic
form
19Sum-of-squares
Recent approach to study positivity of
polynomials using semidefinite programming.
Basic idea Match polynomial with a quadratic
form
20Example bilinear sum-of-squares
Nonlinear system
Find controller and Lyapunov fcn.
x sdpvar(2,1) K sdpvar(1,3) P
sdpvar(3,3) z x(1)x(2)x(1)2 u Kz f
-1.5x(1)2-0.5x(1)3-x(2)u V z'Pz Vdot
jacobian(V,x)f F set(Pgt0) set(-25ltKlt25) F
F set(sos(-x'x-u'u-Vdot))
Bilinear in P and K
21Example bilinear sum-of-squares
Solve the problem using a local BMI solver
solvesos(F,trace(P),sdpsettings(solver,penbmi)
)
...global solver
solvesos(F,trace(P),sdpsettings(solver,bmibnb)
)
...moment approach (See next talk by Henrion!)
solvesos(F,trace(P),sdpsettings(solver,moment)
)
22Mixed integer linear SDP
YALMIP comes with a simple built-in
branch-and-bound code for general mixed integer
conic programs (LP/QP/SOCP/SDP.) Cutting plane
code for mixed integer semidefinite programs
implemented in 30 lines of code. Can use any
interfaced standard conic solver for solving the
relaxed problems during the branching/cutting
process. Completely integrated in YALMIP as any
other solver (use it as the SDP solver in your
SOS problem.) Dedicated public solvers not
available. Make a contribution!
23Example Mixed integer SDP
Integer Lyapunov matrix with minimum number of
non-zeros
P intvar(n,n)F set(Pgt0)F F
set(APPA lt -eye(n)) solvesdp(F,nnz(P))doubl
e(P) ans 1 0 0 0 4 -1
0 -1 4
24Rank constrained SDP
Minor change to standard SDP problem, major
complexity problem
Very useful and common in control theory.
YALMIP interfaces the local solver LMIRANK (Orsi
et. al)
Question Can we create formulations suitable
for global optimization?
25Example Dynamic output feedback
Given system to stabilize
Desired Controller with at most r states
Solution Controller can be recovered from the
solution of a rank constrained feasibility
problem
26Example Dynamic output feedback
YALMIP implementation (controller with 2 states)
A 0.2 0 1 00 0.2 0 1-1 1 0.2 01 -1 0
0.2 B 0 0 1 0'C 0 1 0 0 Bp
null(B')'Cp null(C)' X sdpvar(4,4) Y
sdpvar(4,4) F set(rank(X eye(4)eye(4) Y) lt
42) F F set(Bp(AXXA')Bp' lt 0)F F
set(Cp(YAA'Y)Cp' lt 0) solvesdp(F)rank(doub
le(X eye(4)eye(4) Y)) ans 6
27Proposal Extended SeDuMi format
To easily communicate problems and solvers, a
common format is needed
After working with interfaces for 20 solvers,
SeDuMi format stands out as extremely versatile
and easy to extend.
YALMIP extends the format to include polynomial,
rank and integer constrained problems (and more).
28Extended SeDuMi format
Standard SDP
Nonconvex SDP
SeDuMi format
Extended SeDuMi format
Same numerical data K.l 1K.s n n K.rank
n 2 K.int 3 K.monom 1 0 0,
3 0 0, 0 0 1
Numerical data K.l 1K.s n n
29Conclusions
We need more local solvers for nonlinear matrix
inequalities We need global solvers Solvers
for rank constrained problems Your solver is
typically easy to interface in YALMIP
30Download
http//control.ee.ethz.ch/joloef/yalmip.php