21.08.2013 Views

Linear Matrix Inequalities in Control

Linear Matrix Inequalities in Control

Linear Matrix Inequalities in Control

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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!