Linear Matrix Inequality Approach

Similar documents
Introduction to Linear Matrix Inequalities (LMIs)

ECE 680 Linear Matrix Inequalities

Appendix A Solving Linear Matrix Inequality (LMI) Problems

Riccati Equations and Inequalities in Robust Control

Lecture Notes DISC Course on. Linear Matrix Inequalities in Control. Carsten Scherer and Siep Weiland

Semidefinite Programming Basics and Applications

The servo problem for piecewise linear systems

Stability lectures. Stability of Linear Systems. Stability of Linear Systems. Stability of Continuous Systems. EECE 571M/491M, Spring 2008 Lecture 5

From Convex Optimization to Linear Matrix Inequalities

ROBUST ANALYSIS WITH LINEAR MATRIX INEQUALITIES AND POLYNOMIAL MATRICES. Didier HENRION henrion

Linear Matrix Inequality (LMI)

Fast Algorithms for SDPs derived from the Kalman-Yakubovich-Popov Lemma

ANALYSIS OF DISCRETE-TIME H2 GUARANTEED COST PERFORMANCE

8 A First Glimpse on Design with LMIs

Modern Optimal Control

An Introduction to Linear Matrix Inequalities. Raktim Bhattacharya Aerospace Engineering, Texas A&M University

Research Article An Equivalent LMI Representation of Bounded Real Lemma for Continuous-Time Systems

Denis ARZELIER arzelier

Solving of the Modified Filter Algebraic Riccati Equation for H-infinity fault detection filtering

The model reduction algorithm proposed is based on an iterative two-step LMI scheme. The convergence of the algorithm is not analyzed but examples sho

Stability of neutral delay-diœerential systems with nonlinear perturbations

EE/ACM Applications of Convex Optimization in Signal Processing and Communications Lecture 4

(Linear equations) Applied Linear Algebra in Geoscience Using MATLAB

7.1 Linear Systems Stability Consider the Continuous-Time (CT) Linear Time-Invariant (LTI) system

LOW ORDER H CONTROLLER DESIGN: AN LMI APPROACH

Robust and Optimal Control, Spring 2015

Nonlinear Optimization for Optimal Control

Lecture Note 5: Semidefinite Programming for Stability Analysis

Efficient robust optimization for robust control with constraints Paul Goulart, Eric Kerrigan and Danny Ralph

Interior Point Methods. We ll discuss linear programming first, followed by three nonlinear problems. Algorithms for Linear Programming Problems

Introduction to linear matrix inequalities Wojciech Paszke

Interior Point Methods: Second-Order Cone Programming and Semidefinite Programming

Chapter 9: Systems of Equations and Inequalities

June Engineering Department, Stanford University. System Analysis and Synthesis. Linear Matrix Inequalities. Stephen Boyd (E.

Marcus Pantoja da Silva 1 and Celso Pascoli Bottura 2. Abstract: Nonlinear systems with time-varying uncertainties

Lecture 10: Linear Matrix Inequalities Dr.-Ing. Sudchai Boonto

9 The LQR Problem Revisited

Rank-one LMIs and Lyapunov's Inequality. Gjerrit Meinsma 4. Abstract. We describe a new proof of the well-known Lyapunov's matrix inequality about

Static Output Feedback Stabilisation with H Performance for a Class of Plants

The norms can also be characterized in terms of Riccati inequalities.

To appear in IEEE Trans. on Automatic Control Revised 12/31/97. Output Feedback

On the solving of matrix equation of Sylvester type

Primal-Dual Interior-Point Methods for Linear Programming based on Newton s Method

Linear Matrix Inequalities in Control

EE363 homework 8 solutions

Economic sensor/actuator selection and its application to flexible structure control

FEL3210 Multivariable Feedback Control

Relation of Pure Minimum Cost Flow Model to Linear Programming

Linear Matrix Inequalities in Robust Control. Venkataramanan (Ragu) Balakrishnan School of ECE, Purdue University MTNS 2002

EE Applications of Convex Optimization in Signal Processing and Communications Dr. Andre Tkacenko, JPL Third Term

An Algorithm for Solving the Convex Feasibility Problem With Linear Matrix Inequality Constraints and an Implementation for Second-Order Cones

MEM Chapter 4b. LMI Lab commands

SLIDING SURFACE MATCHED CONDITION IN SLIDING MODE CONTROL

Linear Matrix Inequalities vs Convex Sets

H 2 Suboptimal Estimation and Control for Nonnegative

Linear Programming: Simplex

Linear Equations in Linear Algebra

Linear-Quadratic Optimal Control: Full-State Feedback

From the multivariable Nyquist plot, if 1/k < or 1/k > 5.36, or 0.19 < k < 2.7, then the closed loop system is stable.

Design of Strictly Positive Real Systems Using Constant Output Feedback

FINITE HORIZON ROBUST MODEL PREDICTIVE CONTROL USING LINEAR MATRIX INEQUALITIES. Danlei Chu, Tongwen Chen, Horacio J. Marquez

A short description of the QPS-Reader and numerical results obtained with qipp

4. Convex optimization problems (part 1: general)

Lecture 15 Newton Method and Self-Concordance. October 23, 2008

I.3. LMI DUALITY. Didier HENRION EECI Graduate School on Control Supélec - Spring 2010

Filter Design for Linear Time Delay Systems

Distributed Real-Time Control Systems. Lecture Distributed Control Linear Programming

LMI based output-feedback controllers: γ-optimal versus linear quadratic.

Barrier Method. Javier Peña Convex Optimization /36-725

Lecture: Algorithms for LP, SOCP and SDP

Modern Optimal Control

Algorithms for nonlinear programming problems II

The following steps will help you to record your work and save and submit it successfully.

Linear Algebra: A Constructive Approach

Robust Control 5 Nominal Controller Design Continued

1 Simplex and Matrices

Chapter 1: Systems of Linear Equations and Matrices

Technical Notes and Correspondence

CHAPTER 2: QUADRATIC PROGRAMMING

Problem 1 Convexity Property

On Computing the Worst-case Performance of Lur'e Systems with Uncertain Time-invariant Delays

Lab Objective: Introduce some of the basic optimization functions available in the CVXOPT package

From the multivariable Nyquist plot, if 1/k < or 1/k > 5.36, or 0.19 < k < 2.7, then the closed loop system is stable.

Lecture 6. Foundations of LMIs in System and Control Theory

H 2 optimal model reduction - Wilson s conditions for the cross-gramian

MAT 275 Laboratory 4 MATLAB solvers for First-Order IVP

MAT 275 Laboratory 4 MATLAB solvers for First-Order IVP

Solutions to Exercises, Section 2.5

Companion. Jeffrey E. Jones

MAT 343 Laboratory 6 The SVD decomposition and Image Compression

Linear Quadratic Regulator (LQR) Design II

Determinant Worksheet Math 113

Sparsity-Preserving Difference of Positive Semidefinite Matrix Representation of Indefinite Matrices

MATLAB BASICS. Instructor: Prof. Shahrouk Ahmadi. TA: Kartik Bulusu

Overview of course. Introduction to Optimization, DIKU Monday 12 November David Pisinger

Linear Algebra and Eigenproblems

An LMI Approach to the Control of a Compact Disc Player. Marco Dettori SC Solutions Inc. Santa Clara, California

MAT 275 Laboratory 4 MATLAB solvers for First-Order IVP

Systems of Algebraic Equations and Systems of Differential Equations

Multi-objective Controller Design:

Transcription:

1 MEM800-007 Chapter 4a Linear Matrix Inequality Approach Reference: Linear matrix inequalities in system and control theory, Stephen Boyd et al. SIAM 1994. Linear Matrix Inequality (LMI) approach have become a powerful design tool in almost all areas of control system engineering. he LMI approach has the following advantages: Many control system design specifications and constraints can be expressed as LMIs. he LMI problems can be solved numerically very efficiently using interior-point methods. For those problems that analytical solutions are impossible, the LMI approach often can provide solutions numerically. LMI A linear matrix inequality (LMI) has the form m F( x) = F0 + xf i i > 0 (4.1) i= 1 m where x R is the variable the symmetric matrices are given. F R n n i, i = 0,1,..., m, Positive definite matrix F( x ) > 0 means that F( x ) is positive definite, i.e., u F( x) u > 0 for all n nonzero u R. Affine function: f ( x, x,..., x ) = xa + x a +... + x a + b 1 2 m 1 1 2 2 m m

2 Ex.0 Lyapunov inequality A P+ PA< 0 (4.2) n n where A R is given and P = P is the variable. Eq. (4.2) can be rewritten in the form of (4.1). Let P1, P2,..., P m be a basis for the symmetric n n matrices ( m= n( n+ 1)/2), then take F 0 = 0 and F = A P PA. i i i

Nonlinear convex inequalities can be converted to LMI form using Schur complements. Schur Complenment Q S (a) 0 > S R if and only if R > 0 and Q 1 SR S > 0. (4.3a) 3 Q S (b) 0 > S R Proof: if and only if Q > 0 and R 1 S Q S > 0. (4.3b)

4 LMI Examples Ex.1 p q depends affinely on x, and Z( x) σ [ Z( x) ] Z( x) R Z( x ) < 1 Z( xz ) ( x) < I, i.e., I Z( x) Z ( x) > 0 I Z( x) 0 > Z ( x) I Proof: Schur complement (a). =. hen

5 Ex.2 n n n cx ( ) R, P( x) = P ( x) R depends affinely on x. hen c x P x c x 1 ( ) ( ) ( ) 1 <, P( x ) > 0 Px ( ) cx ( ) 0 > c ( x) 1 Proof: Schur complement (b).

6 Ex.3 ( ) n n P x = P ( x) R n p and S( x) R depend affinely on x. hen Proof: 1 ( ) r S ( x) P ( x) S( x) < 1, P( x ) > 0 r( X ) < 1, p p X = X R X S ( x) > 0, Sx ( ) Px ( )

7 Ex.4 Convert the quadratic matrix inequality (Riccati inequality) into an LMI he Riccati inequality, 1 A P PA PBR B P Q + + + < 0 where A, B, Q= Q, R = R > 0 are given matrices and P variable, is equivalent to the following LMI: AP PA Q PB 0 >. BP R Proof: = P is the

8 Linear Matrix Inequalities % LMI-LAB DEMO: EXAMPLE 8.1 IN HE Old LMI % USER'S MANUAL or IN Chapter 9 of % the new Robust Control oolbox Manual % Author: P. Gahinet % Copyright 1995-2004 he MathWorks, Inc. % $Revision: 1.1.6.1 $ load lmidem; >> who >> A,B,C disp(' LMI CONROL OOLBOX '); disp(' ********************* '); disp(' DEMO OF LMI-LAB '); disp(' Specification and manipulation of LMI systems '); disp(' Example 8.1 of the utorial Section'); 1 Given Gs () = CsI ( A) B. 1 Minimize the H-infinity norm of DG() s D Over a set of scaling matrices D with some given structure. his problem arises in Mu theory (robust stability analysis) he system of LMIs is: AX+ XA+ CSC XB 0 <, X > 0, S > I B X S X is symmetric, S D D where = is symmetric block diagonal with prescribed structure S s 11 s 11 = s22 s23 s s 23 33

o specify this LMI system with LMIVAR and LMIERM, (1) resets the internal varibales used for creating LMIs so that a new system of LMIs can be created. setlmis([]); % (2) define the 2 matrix variables X,S X=lmivar(1,[6 1]); % X is a 6x6 full symmetric matrix variable S=lmivar(1,[2 0;2 1]); % S is diag{2x2 diagonal block, 2x2 full % symmetric block} help lmivar 9 (3) specify the terms appearing in each LMI. For convenience, you can give a name to each LMI with NEWLMI (optional) help limterm AX+ XA+ CSC XB % 1st LMI 0 < B X S BRL=newlmi; lmiterm([brl 1 1 X],1,A,'s'); lmiterm([brl 1 1 S],C',C); lmiterm([brl 1 2 X],1,B); lmiterm([brl 2 2 S],-1,1); % 2nd LMI X > 0 Xpos=newlmi; lmiterm([-xpos 1 1 X],1,1); % 3rd LMI S I > Slmi=newlmi; lmiterm([-slmi 1 1 S],1,1); lmiterm([slmi 1 1 0],1);

10 (4) get the internal description of this LMI system with GELMIS lmisys=getlmis; Done! A full description of this LMI system is now stored in the MALAB variable LMISYS You can retrieve various information about the LMI system you just defined % number of LMIs: lminbr(lmisys) % number of matrix variables: matnbr(lmisys) % variables and terms in each LMI (type q to % exit lmiinfo): lmiinfo(lmisys) LMI ORACLE -------------- his is a system of 3 LMI(s) with 2 matrix variables Do you want information on (v) matrix variables (l) LMIs (q) quit?> v Which variable matrix (enter its index k between 1 and 2)? 1 X1 is a 6x6 symmetric block diagonal matrix its (1,1)-block is a full block of size 6 -------------- his is a system of 3 LMI with 2 variable matrices Do you want information on (v) matrix variables (l) LMIs (q) quit?>.

11?> q It has been a pleasure serving you! We now call FEASP to solve our system of LMIs ( A'X + XA + C'SC XB ) ( ) < 0 ( B'X -S ) X > 0 S > I [tmin,xfeas]=feasp(lmisys); tmin=-1.839011 < 0 : the problem is feasible! -> there exists a scaling D such that DG s D < 1 () 1 he output XFEAS is a feasible value of the vector of decision variables (the free entries of X and S). xfeas Use DEC2MA to get the corresponding values of the matrix variables X and S: Xf=dec2mat(lmisys,xfeas,X) Sf=dec2mat(lmisys,xfeas,S) eig(xf) eig(sf) % the constraints X > 0 and S > I are % satisfied!

12 o verify that the first LMI is satisfied, (1) evaluate the LMI system for the computed decision vector XFEAS: evlmi = evallmi(lmisys,xfeas); (2) get the values of the left and right-hand sides of the first LMI with SHOWLMI: [lhs1,rhs1]=showlmi(evlmi,1); eig(lhs1-rhs1) % the first LMI is indeed satisfied. (3) get the values of the left and right-hand sides of the second LMI with SHOWLMI: [lhs2,rhs2]=showlmi(evlmi,2) >> eig(rhs2) (4) get the values of the left and right-hand sides of the third LMI with SHOWLMI: [lhs3,rhs3]=showlmi(evlmi,3) eig(rhs3(3:4,3:4))

13 Finally, let us check that the H-infinity norm of G(s) was not less than one from the start. o do this, we can remove the scaling D by setting S = 2*I and solve the resulting feasibility problem: Find X such that ( A'X + XA + C'C XB ) ( ) < 0 ( B'X -I ) X > 0 his new LMI system is derived from the previous one by setting S = 2*I with SEMVAR: newsys=setmvar(lmisys,s,2); >> lmiinfo(newsys) LMI ORACLE -------------- his is a system of 3 LMI(s) with 1 matrix variables Do you want information on (v) matrix variables (l) LMIs (q) quit?> q It has been a pleasure serving you! % Now call FEASP to solve the modified LMI % problem: [tmin,xfeas]=feasp(newsys); hese LMI constraints were found infeasible % Infeasible! he H-infinity norm of G(s) % was larger than one

14 You can also specify this system with the LMI editor: >> lmiedit who clear who load lmidem; who demolmi lmiedit Here you specify the variables in the upper half of the window and type the LMIs as MALAB expressions in the lower half... o see how this should look like, click "LOAD" and load the string called "demolmi".

15 You can * save this description in a MALAB string of your choice ("SAVE") Click SAVE and type demolmi2 as the name of the string who demolmi2 * generate the internal representation "lmisys" of this LMI system by typing lmisys2 as the name of the LMI system string and clicking on "CREAE" >> who Your variables are: A S ans lmisys2 B X demolmi C ZZZ_ehdl demolmi2 * visualize the LMIVAR and LMIERM commands that create "lmisys" (click on "VIEW COMMANDS")

16 setlmis([]); X=lmivar(1,[6 1]); S=lmivar(1,[2 0;2 1]); * write in a file this series of commands (click on "WRIE") Click on "CLOSE" to exit LMIEDI

17 Example 8.2 % EXAMPLE 8.2 IN HE Old LMI USER'S MANUAL % or IN Chapter 9 of the Robust Control % oolbox Manual A=[-1-2 1;3 2 1;1-2 -1]; B=[1;0;1]; Q=[1-1 0;-1-3 -12;0-12 -36]; Consider the optimization problem Minimize race(x) subject to A'X + XA + XBB'X + Q < 0 (9-9) It can be shown that the minimizer X* is simply the stabilizing solution of the algebraic Riccati equation A'X + XA + XBB'X + Q = 0 his solution can be computed directly with the Riccati solver care and compared to the minimizer returned by mincx. From an LMI optimization standpoint, problem (9-9) is equivalent to the following linear objective minimization problem: Minimize r(x) subject to [ A'X+XA+Q XB ] < 0 [ B'X -I ] Since race(x) is a linear function of the entries of X, this problem falls within the scope of the mincx solver and can be numerically solved as follows: (1) Define the LMI constraint (9-9) by the sequence of commands setlmis([]);

18 X = lmivar(1,[3 1]) % variable X, full symmetric lmiterm([1 1 1 X],1,A,'s'); lmiterm([1 1 1 0],Q); lmiterm([1 2 2 0],-1); lmiterm([1 2 1 X],B',1); % [ A'X+XA+Q XB ] % [ B'X -I ] LMIs = getlmis; lmiinfo(lmis) LMI ORACLE -------------- his is a system of 1 LMI(s) with 1 matrix variables Do you want information on (v) matrix variables (l) LMIs (q) quit?> q It has been a pleasure serving you! (2) Write the objective race(x) as c'x where x is the vector of free entries of X. Since c should select the diagonal entries of X, it is obtained as the decision vector corresponding to X = I, that is, c = mat2dec(lmis,eye(3)) Note that the function defcx provides a more systematic way of specifying such objectives (see Specifying c'x Objectives for mincx on page 9-37 for details). help defcx

(3) Call mincx to compute the minimizer xopt and the global minimum copt = c'*xopt of the objective: options = [1e-5,0,0,0,0] [copt,xopt] = mincx(lmis,c,options) Here 1e-5 specifies the desired relative accuracy on copt. he following trace of the iterative optimization performed by mincx appears on the screen: c'*xopt 19 Upon termination, mincx reports that the global minimum for the objective race(x)=c'x is 18.716695 with relative accuracy of at least 9.5-by-10^ 6. his is the value copt returned by mincx. (4) mincx also returns the optimizing vector of decision variables xopt. he corresponding optimal value of the matrix variable X is given by Xopt = dec2mat(lmis,xopt,x) his result can be compared with the stabilizing Riccati solution computed by care: Xst = care(a,b,q,-1) Xst = -6.3542e+000-5.8895e+000 2.2046e+000

20-5.8895e+000-6.2855e+000 2.2201e+000 2.2046e+000 2.2201e+000-6.0771e+000 norm(xopt-xst) help norm