Linear Matrix Inequalities in Control
Linear Matrix Inequalities in Control
Linear Matrix Inequalities in Control
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong><br />
Siep Weiland and Carsten Scherer<br />
Dutch Institute of Systems and <strong>Control</strong><br />
Class 1<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 1 / 59
Outl<strong>in</strong>e of Part I<br />
1 Course organization<br />
Material and contact <strong>in</strong>formation<br />
Topics<br />
Homework and grad<strong>in</strong>g<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 2 / 59
Outl<strong>in</strong>e of Part II<br />
2 Convex sets and convex functions<br />
Convex sets<br />
Convex functions<br />
3 Why is convexity important?<br />
Examples<br />
Ellipsoidal algorithm<br />
Duality and convex programs<br />
4 <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong><br />
Def<strong>in</strong>itions<br />
LMI’s and convexity<br />
LMI’s <strong>in</strong> control<br />
5 A design example<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 3 / 59
Part I<br />
Course organization<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 4 / 59
organization and addresses<br />
All material and <strong>in</strong>fo is posted on website:<br />
w3.ele.tue.nl/nl/cs/education/courses/DISClmi/<br />
Lectures:<br />
December 15, 2008<br />
January 5, 2009<br />
January 12, 2009<br />
January 19, 2009<br />
How to contact us<br />
Siep Weiland<br />
Department of Electrical Eng<strong>in</strong>eer<strong>in</strong>g<br />
E<strong>in</strong>dhoven University of Technology<br />
P.O. Box 513; 5600 MB E<strong>in</strong>dhoven<br />
Phone: +31.40.2475979; Email: s.weiland@tue.nl<br />
Carsten Scherer<br />
Delft Center for Systems and <strong>Control</strong><br />
Delft University of Technology<br />
Mekelweg 2; 2628 CD Delft<br />
Phone: +31-15-2785899; Email: c.w.scherer@tudelft.nl<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 5 / 59
course topics<br />
Facts from convex analysis. LMI’s: history, algorithms and software.<br />
The role of LMI’s <strong>in</strong> dissipativity, stability and nom<strong>in</strong>al performance.<br />
Analysis results.<br />
From LMI analysis to LMI synthesis. State-feedback and<br />
output-feedback synthesis algorithms<br />
From nom<strong>in</strong>al to robust stability, robust performance and robust<br />
synthesis.<br />
IQC’s and multipliers. Relations to classical tests and to µ-theory.<br />
Mixed control problems and parametrically-vary<strong>in</strong>g systems and<br />
control design.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 6 / 59
homework and grad<strong>in</strong>g<br />
Exercises<br />
Grad<strong>in</strong>g<br />
One exercise set is issued for every class.<br />
All sets have options to choose from<br />
Please hand <strong>in</strong> with<strong>in</strong> 2 weeks.<br />
Your average grade over 4 homework sets.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 7 / 59
Part II<br />
Class 1<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 8 / 59
Merg<strong>in</strong>g control and optimization<br />
In contrast to classical control, H∞ synthesis allows to design optimal<br />
controllers. However H∞ paradigm is restricted:<br />
Performance specs <strong>in</strong> terms of complete closed loop transfer matrix.<br />
Sometimes only particular channels are relevant.<br />
One measure of performance only. Often multiple specifications have<br />
been imposed for controlled system<br />
No <strong>in</strong>corporation of structured time-vary<strong>in</strong>g/nonl<strong>in</strong>ear uncerta<strong>in</strong>ties<br />
Can only design LTI controllers<br />
<strong>Control</strong> vs. optimization<br />
View controller as decision variable of optimization problem. Desired<br />
specifications are constra<strong>in</strong>ts on controlled closed loop system system.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 9 / 59
Major goals for control and optimization<br />
Dist<strong>in</strong>guish easy from difficult problems. (Convexity is key!)<br />
What are consequences of convexity <strong>in</strong> optimization?<br />
What is robust optimization?<br />
How to check robust stability by convex optimization?<br />
Which performance measures can be dealt with?<br />
How can controller synthesis be convexified?<br />
What are limits for the synthesis of robust controllers?<br />
How can we perform systematic ga<strong>in</strong> schedul<strong>in</strong>g?<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 10 / 59
Optimization problems<br />
Cast<strong>in</strong>g optimization problems <strong>in</strong> mathematics requires<br />
X : decision set<br />
S ⊆ X : feasible decisions<br />
f : S → R: cost function<br />
f assigns to each decision x ∈ S a cost f(x) ∈ R.<br />
Wish to select the decision x ∈ S that m<strong>in</strong>imizes the cost f(x)<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 11 / 59
Optimization problems<br />
1 What is least possible cost? Compute optimal value<br />
fopt := <strong>in</strong>f f(x) = <strong>in</strong>f{f(x) | x ∈ S} ≥ −∞<br />
x∈S<br />
Convention: S = ∅ then fopt = +∞<br />
Convention: If fopt = −∞ then problem is said to be unbounded<br />
2 How to determ<strong>in</strong>e almost optimal solutions? For arbitrary ε > 0 f<strong>in</strong>d<br />
xε ∈ S with fopt ≤ f(xε) ≤ fopt + ε.<br />
3 Is there an optimal solution (or m<strong>in</strong>imizer)? Does there exist<br />
xopt ∈ S with fopt = f(xopt)<br />
4 Can we calculate all optimal solutions? (Non)-uniqueness<br />
arg m<strong>in</strong> f(x) := {x ∈ S | fopt = f(x)}<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 12 / 59
Optimization problems<br />
1 What is least possible cost? Compute optimal value<br />
fopt := <strong>in</strong>f f(x) = <strong>in</strong>f{f(x) | x ∈ S} ≥ −∞<br />
x∈S<br />
2 How to determ<strong>in</strong>e almost optimal solutions? For arbitrary ε > 0 f<strong>in</strong>d<br />
xε ∈ S with fopt ≤ f(xε) ≤ fopt + ε.<br />
3 Is there an optimal solution (or m<strong>in</strong>imizer)? Does there exist<br />
xopt ∈ S with fopt = f(xopt)<br />
4 Can we calculate all optimal solutions? (Non)-uniqueness<br />
arg m<strong>in</strong> f(x) := {x ∈ S | fopt = f(x)}<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 12 / 59
Optimization problems<br />
1 What is least possible cost? Compute optimal value<br />
fopt := <strong>in</strong>f f(x) = <strong>in</strong>f{f(x) | x ∈ S} ≥ −∞<br />
x∈S<br />
2 How to determ<strong>in</strong>e almost optimal solutions? For arbitrary ε > 0 f<strong>in</strong>d<br />
xε ∈ S with fopt ≤ f(xε) ≤ fopt + ε.<br />
3 Is there an optimal solution (or m<strong>in</strong>imizer)? Does there exist<br />
We write: f(xopt) = m<strong>in</strong>x∈S f(x)<br />
xopt ∈ S with fopt = f(xopt)<br />
4 Can we calculate all optimal solutions? (Non)-uniqueness<br />
arg m<strong>in</strong> f(x) := {x ∈ S | fopt = f(x)}<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 12 / 59
Optimization problems<br />
1 What is least possible cost? Compute optimal value<br />
fopt := <strong>in</strong>f f(x) = <strong>in</strong>f{f(x) | x ∈ S} ≥ −∞<br />
x∈S<br />
2 How to determ<strong>in</strong>e almost optimal solutions? For arbitrary ε > 0 f<strong>in</strong>d<br />
xε ∈ S with fopt ≤ f(xε) ≤ fopt + ε.<br />
3 Is there an optimal solution (or m<strong>in</strong>imizer)? Does there exist<br />
xopt ∈ S with fopt = f(xopt)<br />
4 Can we calculate all optimal solutions? (Non)-uniqueness<br />
arg m<strong>in</strong> f(x) := {x ∈ S | fopt = f(x)}<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 12 / 59
Recap: <strong>in</strong>fimum and m<strong>in</strong>imum of functions<br />
Infimum of a function<br />
Any f : S → R has <strong>in</strong>fimum L ∈ R ∪ {−∞} denoted as <strong>in</strong>fx∈S f(x)<br />
def<strong>in</strong>ed by the properties<br />
L ≤ f(x) for all x ∈ S<br />
L f<strong>in</strong>ite: for all ε > 0 exists x ∈ S with f(x) < L + ε<br />
L <strong>in</strong>f<strong>in</strong>ite: for all ε > 0 there exist x ∈ S with f(x) < −1/ε<br />
M<strong>in</strong>imum of a function<br />
If exists x0 ∈ S with f(x0) = <strong>in</strong>fx∈S f(x) we say that f atta<strong>in</strong>s its<br />
m<strong>in</strong>imum on S and write L = m<strong>in</strong>x∈S f(x).<br />
M<strong>in</strong>imum is uniquely def<strong>in</strong>ed by the properties<br />
L ≤ f(x) for all x ∈ S<br />
There exists some x0 ∈ S with f(x0) = L<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 13 / 59
A classical result<br />
Theorem (Weierstrass)<br />
If f : S → R is cont<strong>in</strong>uous and S is a compact subset of the normed l<strong>in</strong>ear<br />
space X , then there exists xm<strong>in</strong>, xmax ∈ S such that for all x ∈ S<br />
Comments:<br />
<strong>in</strong>f<br />
x∈S f(x) = f(xm<strong>in</strong>) ≤ f(x) ≤ f(xmax) = sup<br />
x∈S<br />
Answers problem 3 for “special” S and f<br />
No clue on how to f<strong>in</strong>d xm<strong>in</strong>, xmax<br />
No answer to uniqueness issue<br />
f(x)<br />
S compact if for every sequence xn ∈ S a subsequence xnm exists<br />
which converges to a po<strong>in</strong>t x ∈ S<br />
Cont<strong>in</strong>uity and compactness overly restrictive!<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 14 / 59
Convex sets<br />
Def<strong>in</strong>ition<br />
A set S <strong>in</strong> a l<strong>in</strong>ear vector space X is convex if<br />
x1, x2 ∈ S =⇒ αx1 + (1 − α)x2 ∈ S for all α ∈ (0, 1)<br />
The po<strong>in</strong>t αx1 + (1 − α)x2 with α ∈ (0, 1) is a convex comb<strong>in</strong>ation of x1<br />
and x2.<br />
Def<strong>in</strong>ition<br />
The po<strong>in</strong>t x ∈ X is a convex comb<strong>in</strong>ation of x1, . . . , xn ∈ X if<br />
x :=<br />
n<br />
αixi, αi ≥ 0,<br />
i=1<br />
n<br />
αi = 1<br />
Note: set of all convex comb<strong>in</strong>ations of x1, . . . , xn is convex.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 15 / 59<br />
i=1
Convex sets<br />
Def<strong>in</strong>ition<br />
A set S <strong>in</strong> a l<strong>in</strong>ear vector space X is convex if<br />
x1, x2 ∈ S =⇒ αx1 + (1 − α)x2 ∈ S for all α ∈ (0, 1)<br />
The po<strong>in</strong>t αx1 + (1 − α)x2 with α ∈ (0, 1) is a convex comb<strong>in</strong>ation of x1<br />
and x2.<br />
Def<strong>in</strong>ition<br />
The po<strong>in</strong>t x ∈ X is a convex comb<strong>in</strong>ation of x1, . . . , xn ∈ X if<br />
x :=<br />
n<br />
αixi, αi ≥ 0,<br />
i=1<br />
n<br />
αi = 1<br />
Note: set of all convex comb<strong>in</strong>ations of x1, . . . , xn is convex.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 15 / 59<br />
i=1
Examples of convex sets<br />
Convex sets Non-convex sets<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 16 / 59
Basic properties of convex sets<br />
Theorem<br />
Let S and T be convex. Then<br />
αS := {x | x = αs, s ∈ S} is convex<br />
S + T := {x | x = s + t, s ∈ S, t ∈ T } is convex<br />
closure of S and <strong>in</strong>terior of S are convex<br />
S ∩ T := {x | x ∈ S and x ∈ T } is convex.<br />
x ∈ S is <strong>in</strong>terior po<strong>in</strong>t of S if there exist ε > 0 such that all y with<br />
x − y ≤ ε belong to S<br />
x ∈ X is closure po<strong>in</strong>t of S ⊆ X if for all ε > 0 there exist y ∈ S with<br />
x − y ≤ ε<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 17 / 59
Examples of convex sets<br />
With a ∈ R n \{0} and b ∈ R, the hyperplane<br />
and the half-space<br />
are convex.<br />
H = {x ∈ R n | a ⊤ x = b}<br />
H− = {x ∈ R n | a ⊤ x ≤ b}<br />
The <strong>in</strong>tersection of f<strong>in</strong>itely many hyperplanes and half-spaces is a<br />
polyhedron. Any polyhedron is convex and can be described as<br />
{x ∈ R n | Ax ≤ b, Dx = e}<br />
for suitable matrices A and D and vectors b, e.<br />
A compact polyhedron is a polytope.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 18 / 59
The convex hull<br />
Def<strong>in</strong>ition<br />
The convex hull of a set S ⊂ X is<br />
co(S) := ∩{T | T is convex and S ⊆ T }<br />
co(S) is convex for any set S<br />
co(S) is set of all convex comb<strong>in</strong>ations of po<strong>in</strong>ts of S<br />
The convex hull of f<strong>in</strong>itely many po<strong>in</strong>ts co(x1, . . . , xn) is a polytope.<br />
Moreover, any polytope can be represented <strong>in</strong> this way!!<br />
Latter property allows explicit representation of polytopes. For example<br />
{x ∈ R n | a ≤ x ≤ b} consists of 2n <strong>in</strong>equalities and requires 2 n<br />
generators for its representation as convex hull!<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 19 / 59
The convex hull<br />
Def<strong>in</strong>ition<br />
The convex hull of a set S ⊂ X is<br />
co(S) := ∩{T | T is convex and S ⊆ T }<br />
co(S) is convex for any set S<br />
co(S) is set of all convex comb<strong>in</strong>ations of po<strong>in</strong>ts of S<br />
The convex hull of f<strong>in</strong>itely many po<strong>in</strong>ts co(x1, . . . , xn) is a polytope.<br />
Moreover, any polytope can be represented <strong>in</strong> this way!!<br />
Latter property allows explicit representation of polytopes. For example<br />
{x ∈ R n | a ≤ x ≤ b} consists of 2n <strong>in</strong>equalities and requires 2 n<br />
generators for its representation as convex hull!<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 19 / 59
Convex functions<br />
Def<strong>in</strong>ition<br />
A function f : S → R is convex if<br />
S is convex and<br />
for all x1, x2 ∈ S, α ∈ (0, 1) there holds<br />
We have<br />
f(αx1 + (1 − α)x2) ≤ αf(x1) + (1 − α)f(x2)<br />
f : S → R convex =⇒ {x ∈ S | f(x) ≤ γ}<br />
<br />
Sublevel sets<br />
Derives convex sets from convex functions<br />
Converse ⇐= is not true!<br />
f is strictly convex if < <strong>in</strong>stead of ≤<br />
convex for all γ ∈ R<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 20 / 59
Examples of convex functions<br />
Convex functions<br />
f(x) = ax 2 + bx + c convex if<br />
a > 0<br />
f(x) = |x|<br />
f(x) = x<br />
f(x) = s<strong>in</strong> x on [π, 2π]<br />
Non-convex functions<br />
f(x) = x 3 on R<br />
f(x) = −|x|<br />
f(x) = √ x on R+<br />
f(x) = s<strong>in</strong> x on [0, π]<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 21 / 59
Aff<strong>in</strong>e sets<br />
Def<strong>in</strong>ition<br />
A subset S of a l<strong>in</strong>ear vector space is aff<strong>in</strong>e if x = αx1 + (1 − α)x2<br />
belongs to S for every x1, x2 ∈ S and α ∈ R<br />
Geometric idea: l<strong>in</strong>e through any two po<strong>in</strong>ts belongs to set<br />
Every aff<strong>in</strong>e set is convex<br />
S aff<strong>in</strong>e iff S = {x | x = x0 + m, m ∈ M} with M a l<strong>in</strong>ear subspace<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 22 / 59
Aff<strong>in</strong>e functions<br />
Def<strong>in</strong>ition<br />
A function f : S → T is aff<strong>in</strong>e if<br />
f(αx1 + (1 − α)x2) = αf(x1) + (1 − α)f(x2)<br />
for all x1, x2 ∈ S and for all α ∈ R<br />
Theorem<br />
If S and T are f<strong>in</strong>ite dimensional, then f : S → T is aff<strong>in</strong>e if and only if<br />
f(x) = f0 + T (x)<br />
where f0 ∈ T and T : T → T a l<strong>in</strong>ear map (a matrix).<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 23 / 59
Aff<strong>in</strong>e functions<br />
Def<strong>in</strong>ition<br />
A function f : S → T is aff<strong>in</strong>e if<br />
f(αx1 + (1 − α)x2) = αf(x1) + (1 − α)f(x2)<br />
for all x1, x2 ∈ S and for all α ∈ R<br />
Theorem<br />
If S and T are f<strong>in</strong>ite dimensional, then f : S → T is aff<strong>in</strong>e if and only if<br />
f(x) = f0 + T (x)<br />
where f0 ∈ T and T : T → T a l<strong>in</strong>ear map (a matrix).<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 23 / 59
Cones and convexity<br />
Def<strong>in</strong>ition<br />
A cone is a set K ⊂ R n with the property that<br />
x1, x2 ∈ K =⇒ α1x1 + α2x2 ∈ K for all α1, α2 ≥ 0.<br />
S<strong>in</strong>ce x1, x2 ∈ K implies αx1 + (1 − α)x2 ∈ K for all α ∈ (0, 1) every<br />
cone is convex.<br />
If S ⊂ X is an arbitrary set, then<br />
K := {y ∈ R n | 〈x, y〉 ≥ 0 for all x ∈ S}<br />
is a cone. Also denoted K = S ∗ and called dual cone of S.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 24 / 59
Why is convexity <strong>in</strong>terest<strong>in</strong>g ???<br />
Reason 1: absence of local m<strong>in</strong>ima<br />
Def<strong>in</strong>ition<br />
f : S → R. Then x0 ∈ S is a<br />
local optimum if ∃ε > 0 such that<br />
f(x0) ≤ f(x) for all x ∈ S with x − x0 ≤ ε<br />
global optimum if f(x0) ≤ f(x) for all x ∈ S<br />
Theorem<br />
If f : S → R is convex then every local optimum x0 is a global optimum<br />
of f. If f is strictly convex, then the global optimum x0 is unique.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 25 / 59
Why is convexity <strong>in</strong>terest<strong>in</strong>g ???<br />
Reason 1: absence of local m<strong>in</strong>ima<br />
Def<strong>in</strong>ition<br />
f : S → R. Then x0 ∈ S is a<br />
local optimum if ∃ε > 0 such that<br />
f(x0) ≤ f(x) for all x ∈ S with x − x0 ≤ ε<br />
global optimum if f(x0) ≤ f(x) for all x ∈ S<br />
Theorem<br />
If f : S → R is convex then every local optimum x0 is a global optimum<br />
of f. If f is strictly convex, then the global optimum x0 is unique.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 25 / 59
Why is convexity <strong>in</strong>terest<strong>in</strong>g ???<br />
Reason 2: uniform bounds<br />
Theorem<br />
Suppose S = co(S0) and f : S → R is convex. Then equivalent are:<br />
f(x) ≤ γ for all x ∈ S<br />
f(x) ≤ γ for all x ∈ S0<br />
Very <strong>in</strong>terest<strong>in</strong>g if S0 consists of f<strong>in</strong>ite number of po<strong>in</strong>ts, i.e,<br />
S0 = {x1, . . . , xn}. A f<strong>in</strong>ite test!!<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 26 / 59
Why is convexity <strong>in</strong>terest<strong>in</strong>g ???<br />
Reason 3: subgradients<br />
Def<strong>in</strong>ition<br />
A vector g = g(x0) ∈ R n is a subgradient of f at x0 if<br />
for all x ∈ S<br />
f(x) ≥ f(x0) + 〈g, x − x0〉<br />
Geometric idea: graph of aff<strong>in</strong>e function x ↦→ f(x0) + 〈g, x − x0〉 tangent<br />
to graph of f at (x0, f(x0)).<br />
Theorem<br />
A convex function f : S → R has a subgradient at every <strong>in</strong>terior po<strong>in</strong>t x0<br />
of S.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 27 / 59
Why is convexity <strong>in</strong>terest<strong>in</strong>g ???<br />
Reason 3: subgradients<br />
Def<strong>in</strong>ition<br />
A vector g = g(x0) ∈ R n is a subgradient of f at x0 if<br />
for all x ∈ S<br />
f(x) ≥ f(x0) + 〈g, x − x0〉<br />
Geometric idea: graph of aff<strong>in</strong>e function x ↦→ f(x0) + 〈g, x − x0〉 tangent<br />
to graph of f at (x0, f(x0)).<br />
Theorem<br />
A convex function f : S → R has a subgradient at every <strong>in</strong>terior po<strong>in</strong>t x0<br />
of S.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 27 / 59
Examples and properties of subgradients<br />
f differentiable, then g = g(x0) = ∇f(x0) is subgradient<br />
So, for differentiable functions every gradient is a subgradient<br />
the non-differentiable function f(x) = |x| has any real number<br />
g ∈ [−1, 1] as its subgradient at x0 = 0.<br />
f(x0) is global m<strong>in</strong>imum of f if and only if 0 is subgradient of f at x0.<br />
S<strong>in</strong>ce<br />
〈g, x − x0〉 > 0 =⇒ f(x) > f(x0),<br />
all po<strong>in</strong>ts <strong>in</strong> half space H := {x | 〈g, x − x0〉 > 0} can be discarded <strong>in</strong><br />
search<strong>in</strong>g for m<strong>in</strong>imum of f.<br />
Used explicitly <strong>in</strong> ellipsoidal algorithm<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 28 / 59
Ellipsoidal algorithm<br />
Aim: M<strong>in</strong>imize convex function f : R n → R<br />
Step 0 Let x0 ∈ R n and P0 > 0 such that all m<strong>in</strong>imizers of f are<br />
located <strong>in</strong> the ellipsoid<br />
E0 := {x ∈ R n | (x − x0) ⊤ P −1<br />
0 (x − x0) ≤ 1}.<br />
Set k = 0.<br />
Step 1 Compute a subgradient gk of f at xk. If gk = 0 then stop,<br />
otherwise proceed to Step 2.<br />
Step 2 All m<strong>in</strong>imizers are conta<strong>in</strong>ed <strong>in</strong><br />
Hk := Ek ∩ {x | 〈gk, x − xk〉 ≤ 0}.<br />
Step 3 Compute xk+1 ∈ R n and Pk+1 > 0 with m<strong>in</strong>imal<br />
determ<strong>in</strong>ant det Pk+1 such that<br />
Ek+1 := {x ∈ R n | (x − xk+1) ⊤ P −1<br />
k+1 (x − xk+1) ≤ 1}<br />
conta<strong>in</strong>s Hk.<br />
Step 4 Set k to k + 1 and return to Step 1.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 29 / 59
Ellipsoidal algorithm<br />
Remarks ellipsoidal algorithm:<br />
Convergence f(xk) → <strong>in</strong>fx f(x).<br />
Exist explicit equations for xk, Pk, Ek such that volume of Ek<br />
decreases with e −1/2n .<br />
Simple, robust, easy to implement, but slow convergence.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 30 / 59
Why is convexity <strong>in</strong>terest<strong>in</strong>g ???<br />
Reason 4: Duality and convex programs<br />
Set of feasible decisions often described by equality and <strong>in</strong>equality<br />
constra<strong>in</strong>ts:<br />
S = {x ∈ X | gk(x) ≤ 0, k = 1, . . . , K, hℓ(x) = 0, ℓ = 1, . . . , L}<br />
Primal optimization:<br />
Popt = <strong>in</strong>f<br />
x∈S f(x)<br />
One of <strong>in</strong>dex sets K or L <strong>in</strong>f<strong>in</strong>ite: semi-<strong>in</strong>f<strong>in</strong>ite optimization<br />
Both <strong>in</strong>dex sets K and L f<strong>in</strong>ite: nonl<strong>in</strong>ear program<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 31 / 59
Why is convexity <strong>in</strong>terest<strong>in</strong>g ???<br />
Examples: saturation constra<strong>in</strong>ts, safety marg<strong>in</strong>s, physically<br />
mean<strong>in</strong>gful variables, constitutive and balance equations all assume<br />
the form S.<br />
l<strong>in</strong>ear program:<br />
f(x) = c ⊤ x, g(x) = g0 + Gx, h(x) = h0 + Hx<br />
quadratic program:<br />
f(x) = x ⊤ Qx, g(x) = g0 + Gx, h(x) = h0 + Hx<br />
quadratically constra<strong>in</strong>t quadratic program:<br />
f(x) = x ⊤ Qx+2s ⊤ x+r, gj(x) = x ⊤ Qjx+2s ⊤ j x+rj, h(x) = h0+Hx<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 32 / 59
Why is convexity <strong>in</strong>terest<strong>in</strong>g ???<br />
Examples: saturation constra<strong>in</strong>ts, safety marg<strong>in</strong>s, physically<br />
mean<strong>in</strong>gful variables, constitutive and balance equations all assume<br />
the form S.<br />
l<strong>in</strong>ear program:<br />
f(x) = c ⊤ x, g(x) = g0 + Gx, h(x) = h0 + Hx<br />
quadratic program:<br />
f(x) = x ⊤ Qx, g(x) = g0 + Gx, h(x) = h0 + Hx<br />
quadratically constra<strong>in</strong>t quadratic program:<br />
f(x) = x ⊤ Qx+2s ⊤ x+r, gj(x) = x ⊤ Qjx+2s ⊤ j x+rj, h(x) = h0+Hx<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 32 / 59
Why is convexity <strong>in</strong>terest<strong>in</strong>g ???<br />
Examples: saturation constra<strong>in</strong>ts, safety marg<strong>in</strong>s, physically<br />
mean<strong>in</strong>gful variables, constitutive and balance equations all assume<br />
the form S.<br />
l<strong>in</strong>ear program:<br />
f(x) = c ⊤ x, g(x) = g0 + Gx, h(x) = h0 + Hx<br />
quadratic program:<br />
f(x) = x ⊤ Qx, g(x) = g0 + Gx, h(x) = h0 + Hx<br />
quadratically constra<strong>in</strong>t quadratic program:<br />
f(x) = x ⊤ Qx+2s ⊤ x+r, gj(x) = x ⊤ Qjx+2s ⊤ j x+rj, h(x) = h0+Hx<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 32 / 59
Why is convexity <strong>in</strong>terest<strong>in</strong>g ???<br />
Examples: saturation constra<strong>in</strong>ts, safety marg<strong>in</strong>s, physically<br />
mean<strong>in</strong>gful variables, constitutive and balance equations all assume<br />
the form S.<br />
l<strong>in</strong>ear program:<br />
f(x) = c ⊤ x, g(x) = g0 + Gx, h(x) = h0 + Hx<br />
quadratic program:<br />
f(x) = x ⊤ Qx, g(x) = g0 + Gx, h(x) = h0 + Hx<br />
quadratically constra<strong>in</strong>t quadratic program:<br />
f(x) = x ⊤ Qx+2s ⊤ x+r, gj(x) = x ⊤ Qjx+2s ⊤ j x+rj, h(x) = h0+Hx<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 32 / 59
Upper and lower bounds for convex programs<br />
Primal optimization problem<br />
Popt = <strong>in</strong>f<br />
x∈X<br />
f(x)<br />
subject to g(x) ≤ 0, h(x) = 0<br />
Can we obta<strong>in</strong> bounds on optimal value Popt ?<br />
Upper bound on optimal value<br />
For any x0 ∈ S we have<br />
Popt ≤ f(x0)<br />
which def<strong>in</strong>es an upper bound on Popt.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 33 / 59
Upper and lower bounds for convex programs<br />
Primal optimization problem<br />
Popt = <strong>in</strong>f<br />
x∈X<br />
f(x)<br />
subject to g(x) ≤ 0, h(x) = 0<br />
Can we obta<strong>in</strong> bounds on optimal value Popt ?<br />
Upper bound on optimal value<br />
For any x0 ∈ S we have<br />
Popt ≤ f(x0)<br />
which def<strong>in</strong>es an upper bound on Popt.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 33 / 59
Upper and lower bounds for convex programs<br />
Lower bound on optimal value<br />
Let x ∈ S. Then for arbitrary y ≥ 0 and z we have<br />
L(x, y, z) := f(x) + 〈y, g(x)〉 + 〈z, h(x)〉 ≤ f(x)<br />
and, <strong>in</strong> particular,<br />
so that<br />
ℓ(y, z) := <strong>in</strong>f L(x, y, z) ≤ <strong>in</strong>f L(x, y, z) ≤ <strong>in</strong>f f(x) = Popt.<br />
x∈X x∈S x∈S<br />
Dopt := sup ℓ(y, z) = sup<br />
y≥0, z<br />
y≥0, z<br />
def<strong>in</strong>es a lower bound for Popt.<br />
<strong>in</strong>f<br />
x∈X<br />
L(x, y, z) ≤ Popt<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 34 / 59
Upper and lower bounds for convex programs<br />
Lower bound on optimal value<br />
Let x ∈ S. Then for arbitrary y ≥ 0 and z we have<br />
L(x, y, z) := f(x) + 〈y, g(x)〉 + 〈z, h(x)〉 ≤ f(x)<br />
and, <strong>in</strong> particular,<br />
so that<br />
ℓ(y, z) := <strong>in</strong>f L(x, y, z) ≤ <strong>in</strong>f L(x, y, z) ≤ <strong>in</strong>f f(x) = Popt.<br />
x∈X x∈S x∈S<br />
Dopt := sup ℓ(y, z) = sup<br />
y≥0, z<br />
y≥0, z<br />
def<strong>in</strong>es a lower bound for Popt.<br />
<strong>in</strong>f<br />
x∈X<br />
L(x, y, z) ≤ Popt<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 34 / 59
Duality and convex programs<br />
Some term<strong>in</strong>ology:<br />
Remarks:<br />
Lagrange function: L(x, y, z)<br />
Lagrange dual cost: ℓ(y, z)<br />
Lagrange dual optimization problem:<br />
Dopt := sup ℓ(y, z)<br />
y≥0, z<br />
ℓ(y, z) computed by solv<strong>in</strong>g an unconstra<strong>in</strong>ed optimization problem.<br />
Is concave function.<br />
Dual problem is concave maximization problem. Constra<strong>in</strong>ts are<br />
simpler than <strong>in</strong> primal problem<br />
Ma<strong>in</strong> question: when is Dopt = Popt?<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 35 / 59
Example of duality<br />
Primal <strong>L<strong>in</strong>ear</strong> Program<br />
Lagrange dual cost<br />
Dual <strong>L<strong>in</strong>ear</strong> Program<br />
Popt = <strong>in</strong>f<br />
x<br />
c ⊤ x<br />
subject to x ≥ 0, b − Ax = 0<br />
ℓ(y, z) = <strong>in</strong>f c<br />
x ⊤ x − y ⊤ x + z ⊤ (b − Ax)<br />
<br />
b<br />
=<br />
⊤z if c − A⊤z − y = 0<br />
−∞ otherwise<br />
Dopt = sup<br />
z<br />
b ⊤ z<br />
subject to y = c − A ⊤ z ≥ 0<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 36 / 59
Example of duality<br />
Primal <strong>L<strong>in</strong>ear</strong> Program<br />
Lagrange dual cost<br />
Dual <strong>L<strong>in</strong>ear</strong> Program<br />
Popt = <strong>in</strong>f<br />
x<br />
c ⊤ x<br />
subject to x ≥ 0, b − Ax = 0<br />
ℓ(y, z) = <strong>in</strong>f c<br />
x ⊤ x − y ⊤ x + z ⊤ (b − Ax)<br />
<br />
b<br />
=<br />
⊤z if c − A⊤z − y = 0<br />
−∞ otherwise<br />
Dopt = sup<br />
z<br />
b ⊤ z<br />
subject to y = c − A ⊤ z ≥ 0<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 36 / 59
Karush-Kuhn-Tucker and duality<br />
We need the follow<strong>in</strong>g property:<br />
Def<strong>in</strong>ition<br />
Suppose f, g convex and h aff<strong>in</strong>e.<br />
(g, h) satisfy the constra<strong>in</strong>t qualification if ∃x0 <strong>in</strong> the <strong>in</strong>terior of X with<br />
g(x0) ≤ 0, h(x0) = 0 such that gj(x0) < 0 for all component functions gj<br />
that are not aff<strong>in</strong>e.<br />
Example: (g, h) satisfies constra<strong>in</strong>t qualification if g and h are aff<strong>in</strong>e.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 37 / 59
Karush-Kuhn-Tucker and duality<br />
Theorem (Karush-Kuhn-Tucker)<br />
If (g, h) satisfies the constra<strong>in</strong>t qualification, then we have strong duality:<br />
Dopt = Popt.<br />
There exist yopt ≥ 0 and zopt, such that Dopt = ℓ(yopt, zopt).<br />
Moreover, xopt is an optimal solution of the primal optimization problem<br />
and (yopt, zopt) is an optimal solution of the dual optimization problem, if<br />
and only if<br />
1 g(xopt) ≤ 0, h(xopt) = 0,<br />
2 yopt ≥ 0 and xopt m<strong>in</strong>imizes L(x, yopt, zopt) over all x ∈ X and<br />
3 〈yopt, g(xopt)〉 = 0.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 38 / 59
Karush-Kuhn-Tucker and duality<br />
Theorem (Karush-Kuhn-Tucker)<br />
If (g, h) satisfies the constra<strong>in</strong>t qualification, then we have strong duality:<br />
Dopt = Popt.<br />
There exist yopt ≥ 0 and zopt, such that Dopt = ℓ(yopt, zopt).<br />
Moreover, xopt is an optimal solution of the primal optimization problem<br />
and (yopt, zopt) is an optimal solution of the dual optimization problem, if<br />
and only if<br />
1 g(xopt) ≤ 0, h(xopt) = 0,<br />
2 yopt ≥ 0 and xopt m<strong>in</strong>imizes L(x, yopt, zopt) over all x ∈ X and<br />
3 〈yopt, g(xopt)〉 = 0.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 38 / 59
Karush-Kuhn-Tucker and duality<br />
Theorem (Karush-Kuhn-Tucker)<br />
If (g, h) satisfies the constra<strong>in</strong>t qualification, then we have strong duality:<br />
Dopt = Popt.<br />
There exist yopt ≥ 0 and zopt, such that Dopt = ℓ(yopt, zopt).<br />
Moreover, xopt is an optimal solution of the primal optimization problem<br />
and (yopt, zopt) is an optimal solution of the dual optimization problem, if<br />
and only if<br />
1 g(xopt) ≤ 0, h(xopt) = 0,<br />
2 yopt ≥ 0 and xopt m<strong>in</strong>imizes L(x, yopt, zopt) over all x ∈ X and<br />
3 〈yopt, g(xopt)〉 = 0.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 38 / 59
Karush-Kuhn-Tucker and duality<br />
Remarks:<br />
Very general result, strong tool <strong>in</strong> convex optimization<br />
Dual problem simpler to solve, (yopt, zopt) called Kuhn Tucker po<strong>in</strong>t.<br />
The triple (xopt, yopt, zopt) exist if and only if it def<strong>in</strong>es a saddle po<strong>in</strong>t<br />
of the Lagrangian L <strong>in</strong> that<br />
L(xopt, y, z) ≤ L(xopt, yopt, zopt)<br />
<br />
for all x, y ≥ 0 and z.<br />
=Popt=Dopt<br />
≤ L(x, yopt, zopt)<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 39 / 59
<strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong><br />
Def<strong>in</strong>ition<br />
A l<strong>in</strong>ear matrix <strong>in</strong>equality (LMI) is an expression<br />
where<br />
F (x) = F0 + x1F1 + . . . + xnFn ≺ 0<br />
x = col(x1, . . . , xn) is a vector of real decision variables,<br />
Fi = F ⊤<br />
i<br />
are real symmetric matrices and<br />
≺ 0 means negative def<strong>in</strong>ite, i.e.,<br />
F (x) ≺ 0 ⇔ u ⊤ F (x)u < 0 for all u = 0<br />
⇔ all eigenvalues of F (x) are negative<br />
⇔ λmax (F (x)) < 0<br />
F is aff<strong>in</strong>e function of decision variables<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 40 / 59
Recap: Hermitian and symmetric matrices<br />
Def<strong>in</strong>ition<br />
For a real or complex matrix A the <strong>in</strong>equality A ≺ 0 means that A is<br />
Hermitian and negative def<strong>in</strong>ite.<br />
A is Hermitian is A = A ∗ = Ā⊤ . If A is real this amounts to A = A ⊤<br />
and we call A symmetric.<br />
Set of n × n Hermitian or symmetric matrices: H n and S n .<br />
All eigenvalues of Hermitian matrices are real.<br />
By def<strong>in</strong>ition a Hermitian matrix A is negative def<strong>in</strong>ite if<br />
u ∗ Au < 0 for all complex vectors u = 0<br />
A is negative def<strong>in</strong>ite if and only if all its eigenvalues are negative.<br />
A B, A ≻ B and A B def<strong>in</strong>ed and characterized analogously.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 41 / 59
Simple examples of LMI’s<br />
1 + x < 0<br />
1 + x1 + 2x2 < 0<br />
<br />
1<br />
0<br />
<br />
0 2<br />
+ x1<br />
1 −1<br />
<br />
−1 1<br />
+ x2<br />
2 0<br />
<br />
0<br />
≺ 0.<br />
0<br />
All the same with ≻ 0, 0 and 0.<br />
Only very simple cases can be treated analytically.<br />
Need to resort to numerical techniques!<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 42 / 59
Ma<strong>in</strong> LMI problems<br />
1 LMI feasibility problem: Test whether there exists x1, . . . , xn such<br />
that F (x) ≺ 0.<br />
2 LMI optimization problem: M<strong>in</strong>imize f(x) over all x for which the<br />
LMI F (x) ≺ 0 is satisfied.<br />
How is this solved?<br />
F (x) ≺ 0 is feasible iff m<strong>in</strong>x λmax(F (x)) < 0 and therefore <strong>in</strong>volves<br />
m<strong>in</strong>imiz<strong>in</strong>g the function<br />
x ↦→ λmax (F (x))<br />
Possible because this function is convex!<br />
There exist efficient algorithms (Interior po<strong>in</strong>t, ellipsoid).<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 43 / 59
Ma<strong>in</strong> LMI problems<br />
1 LMI feasibility problem: Test whether there exists x1, . . . , xn such<br />
that F (x) ≺ 0.<br />
2 LMI optimization problem: M<strong>in</strong>imize f(x) over all x for which the<br />
LMI F (x) ≺ 0 is satisfied.<br />
How is this solved?<br />
F (x) ≺ 0 is feasible iff m<strong>in</strong>x λmax(F (x)) < 0 and therefore <strong>in</strong>volves<br />
m<strong>in</strong>imiz<strong>in</strong>g the function<br />
x ↦→ λmax (F (x))<br />
Possible because this function is convex!<br />
There exist efficient algorithms (Interior po<strong>in</strong>t, ellipsoid).<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 43 / 59
<strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong><br />
Def<strong>in</strong>ition<br />
(More general:) A l<strong>in</strong>ear matrix <strong>in</strong>equality is an <strong>in</strong>equality<br />
F (X) ≺ 0<br />
where F is an aff<strong>in</strong>e function mapp<strong>in</strong>g a f<strong>in</strong>ite dimensional vector space<br />
X to the set H of Hermitian matrices.<br />
Allows def<strong>in</strong><strong>in</strong>g matrix valued LMI’s.<br />
F aff<strong>in</strong>e means F (X) = F0 + T (X) with T a l<strong>in</strong>ear map (a matrix).<br />
With Xj basis of X , any X ∈ X can be expanded as<br />
X = n<br />
j=1 xjXj so that<br />
F (X) = F0 + T (X) = F0 +<br />
which is the standard form.<br />
n<br />
j=1<br />
xjFj<br />
with Fj = T (Xj)<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 44 / 59
Why are LMI’s <strong>in</strong>terest<strong>in</strong>g?<br />
Reason 1: LMI’s def<strong>in</strong>e convex constra<strong>in</strong>ts on x, i.e.,<br />
S := {x | F (x) ≺ 0} is convex.<br />
Indeed, F (αx1 + (1 − α)x2) = αF (x1) + (1 − α)F (x2) ≺ 0.<br />
Reason 2: Solution set of multiple LMI’s<br />
F1(x) ≺ 0, . . . , Fk(x) ≺ 0<br />
is convex and representable as one s<strong>in</strong>gle LMI<br />
⎛<br />
F1(x) 0 . . . 0<br />
⎜<br />
F (x) = ⎝<br />
.<br />
0 .. 0<br />
⎞<br />
⎟<br />
⎠ ≺ 0<br />
0 . . . 0 Fk(x)<br />
Reason 3: Incorporate aff<strong>in</strong>e constra<strong>in</strong>ts such as<br />
F (x) ≺ 0 and Ax = b<br />
F (x) ≺ 0 and x = Ay + b for some y<br />
F (x) ≺ 0 and x ∈ S with S an aff<strong>in</strong>e set.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 45 / 59
Why are LMI’s <strong>in</strong>terest<strong>in</strong>g?<br />
Reason 1: LMI’s def<strong>in</strong>e convex constra<strong>in</strong>ts on x, i.e.,<br />
S := {x | F (x) ≺ 0} is convex.<br />
Reason 2: Solution set of multiple LMI’s<br />
F1(x) ≺ 0, . . . , Fk(x) ≺ 0<br />
is convex and representable as one s<strong>in</strong>gle LMI<br />
⎛<br />
F1(x) 0 . . . 0<br />
⎜<br />
F (x) = ⎝<br />
.<br />
0 .. 0<br />
⎞<br />
⎟<br />
⎠ ≺ 0<br />
0 . . . 0 Fk(x)<br />
Allows to comb<strong>in</strong>e LMI’s!<br />
Reason 3: Incorporate aff<strong>in</strong>e constra<strong>in</strong>ts such as<br />
F (x) ≺ 0 and Ax = b<br />
F (x) ≺ 0 and x = Ay + b for some y<br />
F (x) ≺ 0 and x ∈ S with S an aff<strong>in</strong>e set.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 45 / 59
Why are LMI’s <strong>in</strong>terest<strong>in</strong>g?<br />
Reason 1: LMI’s def<strong>in</strong>e convex constra<strong>in</strong>ts on x, i.e.,<br />
S := {x | F (x) ≺ 0} is convex.<br />
Reason 2: Solution set of multiple LMI’s<br />
F1(x) ≺ 0, . . . , Fk(x) ≺ 0<br />
is convex and representable as one s<strong>in</strong>gle LMI<br />
⎛<br />
F1(x) 0 . . . 0<br />
⎜<br />
F (x) = ⎝<br />
.<br />
0 .. 0<br />
⎞<br />
⎟<br />
⎠ ≺ 0<br />
0 . . . 0 Fk(x)<br />
Reason 3: Incorporate aff<strong>in</strong>e constra<strong>in</strong>ts such as<br />
F (x) ≺ 0 and Ax = b<br />
F (x) ≺ 0 and x = Ay + b for some y<br />
F (x) ≺ 0 and x ∈ S with S an aff<strong>in</strong>e set.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 45 / 59
Aff<strong>in</strong>ely constra<strong>in</strong>ed LMI is LMI<br />
Comb<strong>in</strong>e LMI constra<strong>in</strong>t F (x) ≺ 0 and x ∈ S with S aff<strong>in</strong>e:<br />
Write S = x0 + M with M a l<strong>in</strong>ear subspace of dimension k<br />
Let {ej} k j=1<br />
be a basis for M<br />
Write F (x) = F0 + T (x) with T l<strong>in</strong>ear<br />
Then for any x ∈ S:<br />
⎛<br />
⎞<br />
k<br />
k<br />
F (x) = F0 + T ⎝x0 + xjej ⎠ = F0 + T (x0) + xjT (ej)<br />
<br />
j=1<br />
constant<br />
j=1<br />
<br />
l<strong>in</strong>ear<br />
= G0 + x1G1 + . . . + xkGk = G(x)<br />
Result: x unconstra<strong>in</strong>ed and x has lower dimension than x !!<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 46 / 59
Why are LMI’s <strong>in</strong>terest<strong>in</strong>g?<br />
Reason 4: conversion nonl<strong>in</strong>ear constra<strong>in</strong>ts to l<strong>in</strong>ear ones<br />
Theorem (Schur complement)<br />
Let F be an aff<strong>in</strong>e function with<br />
<br />
F11(x)<br />
F (x) =<br />
F21(x)<br />
<br />
F12(x)<br />
,<br />
F22(x)<br />
F11(x) is square.<br />
Then<br />
F (x) ≺ 0 ⇐⇒<br />
⇐⇒<br />
<br />
F11(x) ≺ 0<br />
F22(x) − F21(x) [F11(x)] −1 F12(x) ≺ 0.<br />
<br />
F22(x) ≺ 0<br />
F11(x) − F12(x) [F22(x)] −1 F21(x) ≺ 0<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 47 / 59<br />
.
First examples <strong>in</strong> control<br />
Example 1: Stability<br />
Verify stability through feasibility<br />
˙x = Ax asymptotically stable ⇐⇒<br />
<br />
−X 0<br />
0 A⊤ <br />
≺ 0 feasible<br />
X + XA<br />
Here X = X ⊤ def<strong>in</strong>es a Lyapuov function V (x) := x ⊤ Xx for the flow<br />
˙x = Ax<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 48 / 59
First examples <strong>in</strong> control<br />
Example 2: Jo<strong>in</strong>t stabilization<br />
Given (A1, B1), . . . , (Ak, Bk), f<strong>in</strong>d F such that<br />
(A1 + B1F ), . . . , (Ak + BkF ) asymptotically stable.<br />
Equivalent to f<strong>in</strong>d<strong>in</strong>g F , X1, . . . , Xk such that for j = 1, . . . , k:<br />
<br />
−Xj<br />
0<br />
0<br />
(Aj + BjF )Xj + Xj(Aj + BjF ) ⊤<br />
<br />
≺ 0 not an LMI!!<br />
Sufficient condition: X = X1 = . . . = Xk, K = F X, yields<br />
<br />
−X 0<br />
<br />
≺ 0 an LMI!!<br />
0 AjX + XA ⊤ j + BjK + K ⊤ B ⊤ j<br />
Set feedback F = KX −1 .<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 49 / 59
First examples <strong>in</strong> control<br />
Example 3: Eigenvalue problem<br />
Given F : V → S aff<strong>in</strong>e, m<strong>in</strong>imize over all x<br />
f(x) = λmax (F (x)) .<br />
Observe that, with γ > 0, and us<strong>in</strong>g Schur complement:<br />
λmax(F ⊤ (x)F (x)) < γ 2 ⇔ 1<br />
γ F ⊤ (x)F (x)−γI ≺ 0 ⇔<br />
We can def<strong>in</strong>e<br />
y :=<br />
<br />
x<br />
; G(y) :=<br />
γ<br />
−γI F ⊤ (x)<br />
F (x) −γI<br />
<br />
−γI F ⊤ (x)<br />
; g(y) := γ<br />
F (x) −γI<br />
then G aff<strong>in</strong>e <strong>in</strong> y and m<strong>in</strong>x f(x) = m<strong>in</strong> G(y)≺0 g(y).<br />
<br />
≺ 0<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 50 / 59
Truss topology design<br />
250<br />
200<br />
150<br />
100<br />
50<br />
0<br />
0 50 100 150 200 250 300 350 400<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 51 / 59
Trusses<br />
Trusses consist of straight members (‘bars’) connected at jo<strong>in</strong>ts.<br />
One dist<strong>in</strong>guishes free and fixed jo<strong>in</strong>ts.<br />
Connections at the jo<strong>in</strong>ts can rotate.<br />
The loads (or the weights) are assumed to be applied at the free<br />
jo<strong>in</strong>ts.<br />
This implies that all <strong>in</strong>ternal forces are directed along the members,<br />
(so no bend<strong>in</strong>g forces occur).<br />
Construction reacts based on pr<strong>in</strong>ciple of statics: the sum of the<br />
forces <strong>in</strong> any direction, or the moments of the forces about any jo<strong>in</strong>t,<br />
are zero.<br />
This results <strong>in</strong> a displacement of the jo<strong>in</strong>ts and a new tension<br />
distribution <strong>in</strong> the truss.<br />
Many applications (roofs, cranes, bridges, space structures, . . . ) !!<br />
Design your own bridge<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 52 / 59
Truss topology design<br />
Problem features:<br />
Goal:<br />
Connect nodes by N bars of length ℓ = col(ℓ1, . . . , ℓN) (fixed) and<br />
cross sections s = col(s1, . . . , sN) (to be designed)<br />
Impose bounds on cross sections ak ≤ sk ≤ bk and total volume<br />
ℓ ⊤ s ≤ v (and hence an upperbound on total weight of the truss).<br />
Let a = col(a1, . . . , aN) and b = col(b1, . . . , bN).<br />
Dist<strong>in</strong>guish fixed and free nodes.<br />
Apply external forces f = col(f1, . . . fM) to some free nodes. These<br />
result <strong>in</strong> a node displacements d = col(d1, . . . , dM).<br />
Mechanical model def<strong>in</strong>es relation A(s)d = f where A(s) 0 is the<br />
stiffness matrix which depends l<strong>in</strong>early on s.<br />
Maximize stiffness or, equivalently, m<strong>in</strong>imize elastic energy f ⊤ d<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 53 / 59
Truss topology design<br />
Problem<br />
F<strong>in</strong>d s ∈ R N which m<strong>in</strong>imizes elastic energy f ⊤ d subject to the constra<strong>in</strong>ts<br />
A(s) ≻ 0, A(s)d = f, a ≤ s ≤ b, ℓ ⊤ s ≤ v<br />
Data: Total volume v > 0, node forces f, bounds a, b, lengths ℓ and<br />
symmetric matrices A1, . . . , AN that def<strong>in</strong>e the l<strong>in</strong>ear stiffness matrix<br />
A(s) = s1A1 + . . . + sNAN.<br />
Decision variables: Cross sections s and displacements d (both<br />
vectors).<br />
Cost function: stored elastic energy d ↦→ f ⊤ d.<br />
Constra<strong>in</strong>ts:<br />
Semi-def<strong>in</strong>ite constra<strong>in</strong>t: A(s) ≻ 0<br />
Non-l<strong>in</strong>ear equality constra<strong>in</strong>t: A(s)d = f<br />
<strong>L<strong>in</strong>ear</strong> <strong>in</strong>equality constra<strong>in</strong>ts: a ≤ s ≤ b and ℓ ⊤ s ≤ v.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 54 / 59
From truss topology design to LMI’s<br />
First elim<strong>in</strong>ate aff<strong>in</strong>e equality constra<strong>in</strong>t A(s)d = f:<br />
m<strong>in</strong>imize f ⊤ (A(s)) −1 f<br />
subject to A(s) ≻ 0, ℓ ⊤ s ≤ v, a ≤ s ≤ b<br />
Push objective to constra<strong>in</strong>ts with auxiliary variable γ:<br />
m<strong>in</strong>imize γ<br />
subject to γ > f ⊤ (A(s)) −1 f, A(s) ≻ 0, ℓ ⊤ s ≤ v, a ≤ s ≤ b<br />
Apply Schur lemma to l<strong>in</strong>earize<br />
m<strong>in</strong>imize γ<br />
<br />
γ f ⊤<br />
subject to<br />
≻ 0, ℓ<br />
f A(s)<br />
⊤s ≤ v, a ≤ s ≤ b<br />
Note that the latter is an LMI optimization problem as all constra<strong>in</strong>ts on s<br />
are formulated as LMI’s!!<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 55 / 59
From truss topology design to LMI’s<br />
First elim<strong>in</strong>ate aff<strong>in</strong>e equality constra<strong>in</strong>t A(s)d = f:<br />
m<strong>in</strong>imize f ⊤ (A(s)) −1 f<br />
subject to A(s) ≻ 0, ℓ ⊤ s ≤ v, a ≤ s ≤ b<br />
Push objective to constra<strong>in</strong>ts with auxiliary variable γ:<br />
m<strong>in</strong>imize γ<br />
subject to γ > f ⊤ (A(s)) −1 f, A(s) ≻ 0, ℓ ⊤ s ≤ v, a ≤ s ≤ b<br />
Apply Schur lemma to l<strong>in</strong>earize<br />
m<strong>in</strong>imize γ<br />
<br />
γ f ⊤<br />
subject to<br />
≻ 0, ℓ<br />
f A(s)<br />
⊤s ≤ v, a ≤ s ≤ b<br />
Note that the latter is an LMI optimization problem as all constra<strong>in</strong>ts on s<br />
are formulated as LMI’s!!<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 55 / 59
From truss topology design to LMI’s<br />
First elim<strong>in</strong>ate aff<strong>in</strong>e equality constra<strong>in</strong>t A(s)d = f:<br />
m<strong>in</strong>imize f ⊤ (A(s)) −1 f<br />
subject to A(s) ≻ 0, ℓ ⊤ s ≤ v, a ≤ s ≤ b<br />
Push objective to constra<strong>in</strong>ts with auxiliary variable γ:<br />
m<strong>in</strong>imize γ<br />
subject to γ > f ⊤ (A(s)) −1 f, A(s) ≻ 0, ℓ ⊤ s ≤ v, a ≤ s ≤ b<br />
Apply Schur lemma to l<strong>in</strong>earize<br />
m<strong>in</strong>imize γ<br />
<br />
γ f ⊤<br />
subject to<br />
≻ 0, ℓ<br />
f A(s)<br />
⊤s ≤ v, a ≤ s ≤ b<br />
Note that the latter is an LMI optimization problem as all constra<strong>in</strong>ts on s<br />
are formulated as LMI’s!!<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 55 / 59
Yalmip cod<strong>in</strong>g for LMI optimization problem<br />
Equivalent LMI optimization problem:<br />
m<strong>in</strong>imize γ<br />
<br />
γ f ⊤<br />
subject to<br />
≻ 0, ℓ<br />
f A(s)<br />
⊤s ≤ v, a ≤ s ≤ b<br />
The follow<strong>in</strong>g YALMIP code solves this problem:<br />
gamma=sdpvar(1,1); x=sdpvar(N,1,’full’);<br />
lmi=set([gamma f’; f A*diag(x)*A’]);<br />
lmi=lmi+set(l’*x
Result: optimal truss<br />
250<br />
200<br />
150<br />
100<br />
50<br />
0<br />
0 50 100 150 200 250 300 350 400<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 57 / 59
Useful software:<br />
General purpose MATLAB <strong>in</strong>terface Yalmip<br />
Free code developed by J. Löfberg accessible here<br />
Get Yalmip now<br />
Run yalmipdemo.m for a comprehensive <strong>in</strong>troduction.<br />
Run yalmiptest.m to test sett<strong>in</strong>gs.<br />
Yalmip uses the usual Matlab syntax to def<strong>in</strong>e optimization problems.<br />
Basic commands sdpvar, set, sdpsett<strong>in</strong>gs and solvesdp.<br />
Truely easy to use!!!<br />
Yalmip needs to be connected to solver for semi-def<strong>in</strong>ite programm<strong>in</strong>g.<br />
There exist many solvers:<br />
SeDuMi PENOPT OOQP<br />
DSDP CSDP MOSEK<br />
Alternative Matlab’s LMI toolbox for dedicated control applications.<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 58 / 59
Gallery<br />
Joseph-Louis Lagrange (1736) Aleksandr Mikhailovich Lyapunov (1857)<br />
to next class<br />
Siep Weiland and Carsten Scherer (DISC) <strong>L<strong>in</strong>ear</strong> <strong>Matrix</strong> <strong>Inequalities</strong> <strong>in</strong> <strong>Control</strong> Class 1 59 / 59