Control Synthesis by Sum of Squares Optimization

Post on 19-Jan-2015

189 views 3 download

Tags:

description

 

Transcript of Control Synthesis by Sum of Squares Optimization

Control Synthesis by Sum ofSquares Optimization

An Introduction

Behzad Samadi

bsamadi@encs.concordia.ca

Concordia University

Montreal, Canada

Outline

◮ Convex Optimization

▽Control Synthesis by Sum of Squares Optimization – p.1/30

Outline

◮ Convex Optimization

◮ Sum of Squares

▽Control Synthesis by Sum of Squares Optimization – p.1/30

Outline

◮ Convex Optimization

◮ Sum of Squares

◮ Control Applications

▽Control Synthesis by Sum of Squares Optimization – p.1/30

Outline

◮ Convex Optimization

◮ Sum of Squares

◮ Control Applications

◮ Conclusion

Control Synthesis by Sum of Squares Optimization – p.1/30

Convex set

C ⊆ Rn is convex if

x, y ∈ C, θ ∈ [0, 1] =⇒ θx + (1 − θ)y ∈ C

"Convex Optimization with Engineering Applications", Professor Stephan Boyd, Stanford University

Control Synthesis by Sum of Squares Optimization – p.2/30

Convex function

f : Rn −→ R is convex if

x, y ∈ Rn, θ ∈ [0, 1]

⇓f(θx + (1 − θ)y) ≤ θf(x) + (1 − θ)f(y)

"Convex Optimization with Engineering Applications", Professor Stephan Boyd, Stanford University

Control Synthesis by Sum of Squares Optimization – p.3/30

Convex optimization problem

minimize f(x)

subject to x ∈ C

f convex, C convex

"Convex Optimization with Engineering Applications", Professor Stephan Boyd, Stanford University

▽Control Synthesis by Sum of Squares Optimization – p.4/30

Convex optimization problem

minimize f(x)

subject to x ∈ C

f convex, C convex

Convex optimization problems

◮ can be solved numerically with great efficiency

◮ have extensive useful theory

◮ occur often in engineering problems

◮ often go unrecognized

"Convex Optimization with Engineering Applications", Professor Stephan Boyd, Stanford University

Control Synthesis by Sum of Squares Optimization – p.4/30

Linear programming

minimize aT0 x

subject to aTi x ≤ bi, i = 1, . . . ,m.

"Convex Optimization with Engineering Applications", Professor Stephan Boyd, Stanford University

Control Synthesis by Sum of Squares Optimization – p.5/30

Semidefinite programming

minimize cT x

subject to x1F1 + · · · + xnFn + G ≤ 0

Ax = b,

"Convex Optimization with Engineering Applications", Professor Stephan Boyd, Stanford University

Control Synthesis by Sum of Squares Optimization – p.6/30

In fact the great watershed inoptimization isn’t betweenlinearity and nonlinearity ,

butconvexityand nonconvexity.

Rockafellar 1993

Control Synthesis by Sum of Squares Optimization – p.7/30

Nonnegativity of polynomialsPolynomials of degree d in n variables:

p(x) , p(x1, x2, . . . , xn) =∑

k1+k2+···+kn≤d

ak1k2...knxk1

1xk2

2· · ·xkn

n

▽Control Synthesis by Sum of Squares Optimization – p.8/30

Nonnegativity of polynomialsPolynomials of degree d in n variables:

p(x) , p(x1, x2, . . . , xn) =∑

k1+k2+···+kn≤d

ak1k2...knxk1

1xk2

2· · ·xkn

n

How to check if a given p(x) (of even order) is globallynonnegative?

p(x) ≥ 0,∀x ∈ Rn

▽Control Synthesis by Sum of Squares Optimization – p.8/30

Nonnegativity of polynomialsPolynomials of degree d in n variables:

p(x) , p(x1, x2, . . . , xn) =∑

k1+k2+···+kn≤d

ak1k2...knxk1

1xk2

2· · ·xkn

n

How to check if a given p(x) (of even order) is globallynonnegative?

p(x) ≥ 0,∀x ∈ Rn

◮ For d = 2, easy (check eigenvalues). What happensin generel?

◮ Decidable, but NP-hard when d ≥ 4.

◮ "Low complexity" is desired at the cost of possiblybeing conservative.

"Certificates, convex Optimization, and their applications", Pablo A. Parrilo, Swiss Federal Institute of Technology Zurich

Control Synthesis by Sum of Squares Optimization – p.8/30

A sufficient conditionA "simple" sufficient condition: a sum of squares (SOS)decomposition:

p(x) =m

i=1

f2i (x)

If p(x) can be written as above, for some polynomials fi,then p(x) ≥ 0.

▽Control Synthesis by Sum of Squares Optimization – p.9/30

A sufficient conditionA "simple" sufficient condition: a sum of squares (SOS)decomposition:

p(x) =m

i=1

f2i (x)

If p(x) can be written as above, for some polynomials fi,then p(x) ≥ 0.

◮ p(x) is an SOS if and only if a positive semidefinitematrix Q exists such that

p(x) = ZT (x)QZ(x)

where Z(x) is the vector of monomials of degree lessthan or equal to deg(p)/2

"Certificates, convex Optimization, and their applications", Pablo A. Parrilo, Swiss Federal Institute of Technology Zurich

Control Synthesis by Sum of Squares Optimization – p.9/30

Examplep(x, y) = 2x4 + 5y4 − x2y2 + 2x3y

=

x2

y2

xy

T

q11 q12 q13

q21 q22 q23

q13 q23 q33

x2

y2

xy

= q11x4 + q22y

4 + (q33 + 2q12)x2y2 + 2q13x

3y + 2q23xy3

An SDP with equality constraints.

▽Control Synthesis by Sum of Squares Optimization – p.10/30

Examplep(x, y) = 2x4 + 5y4 − x2y2 + 2x3y

=

x2

y2

xy

T

q11 q12 q13

q21 q22 q23

q13 q23 q33

x2

y2

xy

= q11x4 + q22y

4 + (q33 + 2q12)x2y2 + 2q13x

3y + 2q23xy3

An SDP with equality constraints. Solving, we obtain:

Q =

2 −3 1

−3 5 0

1 0 5

= LT L, L =

1√2

[

2 −3 1

0 1 3

]

And therefore p(x, y) = 1

2(2x2 − 3y2 + xy)2 + 1

2(y2 + 3xy)2.

"Certificates, convex Optimization, and their applications", Pablo A. Parrilo, Swiss Federal Institute of Technology Zurich

Control Synthesis by Sum of Squares Optimization – p.10/30

Sum of squares programming

A sum of squares program is a convex optimizationprogram of the following form:

MinimizeJ

j=1

wjαj

subject to fi,0 +J

j=1

αjfi,j(x) is SOS, for i = 1, . . . , I

where the αj ’s are the scalar real decision variables, thewj ’s are some given real numbers, and the fi,j are somegiven multivariate polynomials.

"Nonlinear control synthesis by sum of squares optimization: a Lyapunov-based approach", Stephen Prajna et al, ASCC 2004

Control Synthesis by Sum of Squares Optimization – p.11/30

SOSTOOLS: Sum of squares toolbox

◮ SOSTOOLS handles the general SOS programming.

◮ MATLAB toolbox, freely available.

◮ Requires SeDuMi (a freely available SDP solver).

◮ Natural syntax, efficient implementation

◮ Developed by S. Prajna, A. Papachristodoulou and P.Parrilio

◮ Includes customized functions for several problems

Get it from:http://www.aut.ee.ethz.ch/~parrilo/sostoolshttp://www.cds.caltech.edu/sostools

"Certificates, convex Optimization, and their applications", Pablo A. Parrilo, Swiss Federal Institute of Technology Zurich

Control Synthesis by Sum of Squares Optimization – p.12/30

Global optimizationConsider for example:

minx,y

F (x, y)

with F (x, y) = 4x2 − 21

10x4 + 1

3x6 + xy − 4y2 + 4y4

"Certificates, convex Optimization, and their applications", Pablo A. Parrilo, Swiss Federal Institute of Technology Zurich

Control Synthesis by Sum of Squares Optimization – p.13/30

Global optimization

◮ Not convex, many local minima. NP-Hard in general.

▽Control Synthesis by Sum of Squares Optimization – p.14/30

Global optimization

◮ Not convex, many local minima. NP-Hard in general.

◮ Find the largest γ s.t.

F (x, y) − γ is SOS.

▽Control Synthesis by Sum of Squares Optimization – p.14/30

Global optimization

◮ Not convex, many local minima. NP-Hard in general.

◮ Find the largest γ s.t.

F (x, y) − γ is SOS.

◮ A semidefinite program (convex!).

▽Control Synthesis by Sum of Squares Optimization – p.14/30

Global optimization

◮ Not convex, many local minima. NP-Hard in general.

◮ Find the largest γ s.t.

F (x, y) − γ is SOS.

◮ A semidefinite program (convex!).

◮ If exact, can recover optimal solution.

▽Control Synthesis by Sum of Squares Optimization – p.14/30

Global optimization

◮ Not convex, many local minima. NP-Hard in general.

◮ Find the largest γ s.t.

F (x, y) − γ is SOS.

◮ A semidefinite program (convex!).

◮ If exact, can recover optimal solution.

◮ Surprisingly effective.

▽Control Synthesis by Sum of Squares Optimization – p.14/30

Global optimization

◮ Not convex, many local minima. NP-Hard in general.

◮ Find the largest γ s.t.

F (x, y) − γ is SOS.

◮ A semidefinite program (convex!).

◮ If exact, can recover optimal solution.

◮ Surprisingly effective.

Solving, the maximum value is −1.0316. Exact value.Many more details in Parrilio & Strumfels, 2001

"Certificates, convex Optimization, and their applications", Pablo A. Parrilo, Swiss Federal Institute of Technology Zurich

Control Synthesis by Sum of Squares Optimization – p.14/30

Lyapunov stability analysis◮ To prove asymptotic stability of x = f(x),

V (x) > 0, x 6= 0, V (x) =

(

∂V

∂x

)T

f(x) < 0, x 6= 0

▽Control Synthesis by Sum of Squares Optimization – p.15/30

Lyapunov stability analysis◮ To prove asymptotic stability of x = f(x),

V (x) > 0, x 6= 0, V (x) =

(

∂V

∂x

)T

f(x) < 0, x 6= 0

◮ For linear systems x = Ax, quadratic Lyapunovfunctions V (x) = xT Px

P > 0, AT P + PA < 0

▽Control Synthesis by Sum of Squares Optimization – p.15/30

Lyapunov stability analysis◮ To prove asymptotic stability of x = f(x),

V (x) > 0, x 6= 0, V (x) =

(

∂V

∂x

)T

f(x) < 0, x 6= 0

◮ For linear systems x = Ax, quadratic Lyapunovfunctions V (x) = xT Px

P > 0, AT P + PA < 0

◮ With an affine family of candidate Lyapunov functionsV , V is also affine.

▽Control Synthesis by Sum of Squares Optimization – p.15/30

Lyapunov stability analysis◮ To prove asymptotic stability of x = f(x),

V (x) > 0, x 6= 0, V (x) =

(

∂V

∂x

)T

f(x) < 0, x 6= 0

◮ For linear systems x = Ax, quadratic Lyapunovfunctions V (x) = xT Px

P > 0, AT P + PA < 0

◮ With an affine family of candidate Lyapunov functionsV , V is also affine.

◮ Instead of checking nonnegativity, use an SOScondition

"Certificates, convex Optimization, and their applications", Pablo A. Parrilo, Swiss Federal Institute of Technology Zurich

Control Synthesis by Sum of Squares Optimization – p.15/30

Lyapunov stability - Example

A jet engine model (derived from Moore-Greitzer), withcontroller:

x = −y +3

2x2 − 1

2x3

y = 3x − y

Try a generic 4th order polynomial Lyapunov function.

▽Control Synthesis by Sum of Squares Optimization – p.16/30

Lyapunov stability - Example

A jet engine model (derived from Moore-Greitzer), withcontroller:

x = −y +3

2x2 − 1

2x3

y = 3x − y

Try a generic 4th order polynomial Lyapunov function.Find a V (x, y) that satisfies the conditions:

◮ V (x, y) is SOS.

◮ −V (x, y) is SOS

Can easily do this using SOS/SDP techniques...

"Certificates, convex Optimization, and their applications", Pablo A. Parrilo, Swiss Federal Institute of Technology Zurich

Control Synthesis by Sum of Squares Optimization – p.16/30

Lyapunov stability - Example

After solving the SDPs, we obtain a Lyapunov function.

"Certificates, convex Optimization, and their applications", Pablo A. Parrilo, Swiss Federal Institute of Technology Zurich

Control Synthesis by Sum of Squares Optimization – p.17/30

Lyapunov stability - Example◮ Consider the nonlinear system

x1 = −x31 − x1x

23

x2 = −x2 − x21x2

x3 = −x3 −3x3

x23+ 1

+ 3x21x3

▽Control Synthesis by Sum of Squares Optimization – p.18/30

Lyapunov stability - Example◮ Consider the nonlinear system

x1 = −x31 − x1x

23

x2 = −x2 − x21x2

x3 = −x3 −3x3

x23+ 1

+ 3x21x3

◮ Looking for a quadratic Lyapunov function s.t.

V − (x21 + x2

2 + x23) is SOS,

(x23 + 1)(− ∂V

∂x1x1 − ∂V

∂x2x2 − ∂V

∂x3x3) is SOS,

we have V (x) = 5.5489x21 + 4.1068x2

2 + 1.7945x23.

"SOSTOOLS: control applications and new developments", Stephen Prajna et al, CACSD 2004

Control Synthesis by Sum of Squares Optimization – p.18/30

Parametric robustness analysis - Example◮ Consider the following linear system

d

dt

x1

x2

x3

=

−p1 1 −1

2 − p2 2 −1

3 1 −p1p2

x1

x2

x3

where p1 ∈ [p1, p1] and p2 ∈ [p2, p2] are parameters.

▽Control Synthesis by Sum of Squares Optimization – p.19/30

Parametric robustness analysis - Example◮ Consider the following linear system

d

dt

x1

x2

x3

=

−p1 1 −1

2 − p2 2 −1

3 1 −p1p2

x1

x2

x3

where p1 ∈ [p1, p1] and p2 ∈ [p2, p2] are parameters.

◮ Parameter set can be captured by

a1(p) , (p1 − p1)(p1 − p1) ≤ 0

a2(p) , (p2 − p2)(p2 − p2) ≤ 0

"SOSTOOLS: control applications and new developments", Stephen Prajna et al, CACSD 2004

Control Synthesis by Sum of Squares Optimization – p.19/30

Parametric robustness analysis - Example

Find V (x; p) and qi,j(x; p), such that

◮ V (x; p) − ‖x‖2 +∑2

j=1q1,j(x; p)ai(p) is SOS,

◮ −V (x; p) − ‖x‖2 +∑2

j=1q2,j(x; p)ai(p) is SOS,

qi,j(x; p) is SOS, for i, j = 1, 2.

"SOSTOOLS: control applications and new developments", Stephen Prajna et al, CACSD 2004

Control Synthesis by Sum of Squares Optimization – p.20/30

Safety verification - Example

◮ Consider the following system

x1 = x2

x2 = −x1 +1

3x3

1 − x2

◮ Initial set

X0 = {x : g0(x) = (x1 − 1.5)2 + x22 − 0.25 ≤ 0}

◮ Unsafe set

Xu = {x : gu(x) = (x1 + 1)2 + (x2 + 1)2 − 0.16 ≤ 0}

"SOSTOOLS: control applications and new developments", Stephen Prajna et al, CACSD 2004

Control Synthesis by Sum of Squares Optimization – p.21/30

Safety verification - ExampleBarrier certificate B(x)

◮ B(x) < 0,∀x ∈ X0

◮ B(x) > 0,∀x ∈ Xu

◮ ∂B∂x1

x1 + ∂B∂x2

x2 ≤ 0

▽Control Synthesis by Sum of Squares Optimization – p.22/30

Safety verification - ExampleBarrier certificate B(x)

◮ B(x) < 0,∀x ∈ X0

◮ B(x) > 0,∀x ∈ Xu

◮ ∂B∂x1

x1 + ∂B∂x2

x2 ≤ 0

SOS program: Find B(x) and σi(x)

◮ −B(x) − 0.1 + σ1(x)g0(x) is SOS,

◮ B(x) − 0.1 + σ2(x)gu(x) is SOS,

◮ − ∂B∂x1

x1 − ∂B∂x2

x2 is SOS

◮ σ1(x) and σ2(x) are SOS

"SOSTOOLS: control applications and new developments", Stephen Prajna et al, CACSD 2004

Control Synthesis by Sum of Squares Optimization – p.22/30

Safety verification - Example

"SOSTOOLS: control applications and new developments", Stephen Prajna et al, CACSD 2004

Control Synthesis by Sum of Squares Optimization – p.23/30

Nonlinear control synthesis◮ Consider the system

x = f(x) + g(x)u

▽Control Synthesis by Sum of Squares Optimization – p.24/30

Nonlinear control synthesis◮ Consider the system

x = f(x) + g(x)u

◮ State dependent linear-like representation

x = A(x)Z(x) + B(x)u

where Z(x) = 0 ⇔ x = 0

▽Control Synthesis by Sum of Squares Optimization – p.24/30

Nonlinear control synthesis◮ Consider the system

x = f(x) + g(x)u

◮ State dependent linear-like representation

x = A(x)Z(x) + B(x)u

where Z(x) = 0 ⇔ x = 0

◮ Consider the following Lyapunov function and controlinput

V (x) = ZT (x)P−1Z(x)

u(x) = K(x)P−1Z(x)

"Nonlinear control synthesis by sum of squares optimization: a Lyapunov-based approach", Stephen Prajna et al, ASCC 2004

Control Synthesis by Sum of Squares Optimization – p.24/30

Nonlinear control synthesisFor the system x = A(x)Z(x) + B(x)u, suppose thereexist a constant matrix P , a polynomial matrix K(x), aconstant ǫ1 and a sum of squares ǫ2(x), such that

◮ vT (P − ǫ1I)v is SOS,

◮ −vT (PAT (x)MT (x) + M(x)A(x)P +

KT (x)BT (x)MT (x) + M(x)B(x)K(x) + ǫ2(x)I) is SOS,

where v ∈ RN and Mij(x) = ∂Zi

∂xj(x). Then a controller that

stabilizes the system is given by:

u(x) = K(x)P−1Z(x)

Furthermore, if ǫ2(x) > 0 for x 6= 0, then the zeroequilibrium is globally asymptotically stable.

"Nonlinear control synthesis by sum of squares optimization: a Lyapunov-based approach", Stephen Prajna et al, ASCC 2004

Control Synthesis by Sum of Squares Optimization – p.25/30

Nonlinear control synthesis - Example

Consider a tunnel diode circuit:

x1 = 0.5(−h(x1) + x2)

x2 = 0.2(−x1 − 1.5x2 + u)

where the diode characteristic:

h(x1) = 17.76x1 − 103.79x21 + 229.62x3

1 − 226.31x41 + 83.72x5

1

"Nonlinear control synthesis by sum of squares optimization: a Lyapunov-based approach", Stephen Prajna et al, ASCC 2004

Control Synthesis by Sum of Squares Optimization – p.26/30

Nonlinear control synthesis - Example

"Nonlinear control synthesis by sum of squares optimization: a Lyapunov-based approach", Stephen Prajna et al, ASCC 2004

Control Synthesis by Sum of Squares Optimization – p.27/30

How conservative is SOS?

◮ It is proven by Hilbert that "nonnegativity" and "sumof squares" are equivalent in the following cases.⊲ Univariate polynomials, any (even) degree⊲ Quadratic polynomials, in any number of variables⊲ Quartic polynomials in two variables

▽Control Synthesis by Sum of Squares Optimization – p.28/30

How conservative is SOS?

◮ It is proven by Hilbert that "nonnegativity" and "sumof squares" are equivalent in the following cases.⊲ Univariate polynomials, any (even) degree⊲ Quadratic polynomials, in any number of variables⊲ Quartic polynomials in two variables

◮ When the degree is larger than two it follows that⊲ There are signitcantly more nonnegative

polynomials than sums of squares.⊲ There are signitcantly more sums of squares than

sums of even powers of linear forms.[G. Blekherman, University of Michigan, submitted forpublication]

Control Synthesis by Sum of Squares Optimization – p.28/30

Conclusion

◮ Sum of squares, conservative but much moretractable than nonnegativity

▽Control Synthesis by Sum of Squares Optimization – p.29/30

Conclusion

◮ Sum of squares, conservative but much moretractable than nonnegativity

◮ Many applications in control theory

▽Control Synthesis by Sum of Squares Optimization – p.29/30

Conclusion

◮ Sum of squares, conservative but much moretractable than nonnegativity

◮ Many applications in control theory

◮ Try your problem!

Control Synthesis by Sum of Squares Optimization – p.29/30

References

◮ Convex optimmization by Stephen Boyd and LievenVandenberghe, available onlinehttp://www.stanford.edu/~boyd/cvxbook

◮ SOSTOOLS, MATLAB toolbox, freely availablehttp://www.cds.caltech.edu/sostools

Control Synthesis by Sum of Squares Optimization – p.30/30