21.08.2013 Views

Linear Matrix Inequalities in Control

Linear Matrix Inequalities in Control

Linear Matrix Inequalities in Control

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!