2.1 LMI的一般形式
一个线性矩阵不等式具有如下形式:
F(x)?F0?x1F1?...?xmFm?0 ……(1) 式中,x1,…,xm是m个实数变量,称为是线性矩阵不等式(1)的决策变量,
x?(x1,?,xm)T?Rm是由决策变量构成的向量,称为决策向量。Fi?FiT?Rn*n,i?0,1,?,m是一组给定的实对称矩阵,式(1)中的“<”指的是矩阵F?x?是负定的,即对所有非零的向量v?Rn,vTF?x?v?0或F?x?的最大特征值小于零。所有满足线性矩阵不等式(1)的x的全体构成一个凸集。
在线性矩阵不等式使用之前,许多控制问题是用Riccati不等式方法来解决的,而Riccati不等式的求解带有一定的保守性。Riccati不等式是二次矩阵不等式,所以将二次矩阵不等式转化成线性矩阵不等式很有必要和意义,在此转化过程中,矩阵的Schur补引理起着决定性的作用。考虑一个矩阵F?x??Rn?n,并将F?x?进行分块
?F?x?F12?x?? F?x???11??F21?x?F22?x???1式中,F11?x?是r?r维的。假定F11?x?是非奇异的,则F22?x??F21?x?F11?x?F12?x?称为是F11?x?在F?x?中的Schur补。下面不加证明地给出矩阵的Schur 补引理及其性质。 引理:对给定的对称矩阵F?x?,以下3个结论是等价的。
?i?F?x??0;?ii?F11?x??0,?iii?F22?x??0,?1T?x?F12?x??0.F11?x??F12?x?F22T?1?x?F11?x?F12?x??0; F22?x??F12注意到式(ii)和式(iii)中的第二个不等式是一个非线性矩阵不等式,上述的等价关系
说明了应用矩阵的Schur补性质,一些非线性矩阵不等式可以转化成线性矩阵不等式。从而利用现有的软件Matlab中的LMI工具箱可以直接对问题求解。 2.2 描述LMI的相关术语
以H?控制中的一个典型线性矩阵不等式为例来进行说明:
?ATX?XAXCT???I NT?CX?BTDT?B??D?N?0 ……(2) ??I??式中NT,N是外因子;ATX,XA,DT叫项;式中的X为矩阵变量;“<”左边为较小
的一边叫左边,0为右边。其中,X?XT?Rn?n,??R是上述LMI的变量,而A、B、C、D和N都是给定的常数矩阵。或者用更一般形式的表示LMI系统。
NTL?X1,X2,?,Xn?N?MTR?X1,X2,?,Xn?M ……(3)
式中L?X1,X2,?,Xn?为内因子,NT,N,MT,M为外因子,式中X为矩阵变量。其中Xk是LMI系统的第k个矩阵变量或标量变量,L和R是关于Xk的分块矩阵,N和M市给定的常数矩阵。那么我们通过下列语句来描述这个LMI:
①我们约定左边是不等式较小的一边,右边是不等式较大的一边。比如X?0,X是不等式的右边,而0是右边,也就是说LMI系统一般总是使用“<”号表示不等式,与优化工具箱相似。还有就是标量在Matlab中认为是1?1的对称矩阵,例如(式2)中的?。
②(式3)中的N和M称为LMI的外因子,是具有相同维数的给定矩阵,它们可以
4
不是方阵,在一般的问题中都是不出现的。
③(式3)中的L和R,或者说不等号两边的中间位置的大分块矩阵叫做内因子,L和R是具有相同块结构的对称块矩阵。
④内因子是一个分块对称矩阵它的分块结构是由其对角块的数目来描述的,并可完全由其对角线以上或以下的那些部分来决定,故在Matlab编程时,内因子只需要并且只能写出它一半。
⑤内因子中的子块矩阵中每一个表达式都称为LMI的项,它们是关于矩阵变量X和矩阵标量?的仿射表达式,并且可以分解为一些基本项之和,例如(式2)中的内因子的第(1,1)块就包含两个基本项:ATX和XA。
⑥内因子中的每项都有常数项和变量项之分,所谓常数项即(式2)中所示的B和D,而变量项则至少包含一个矩阵变量,例如XA以及??I等。 2.3 LMI应用的基本问题
与控制理论相关的LMI问题的研究已有相当长的历史,Lyapunov、Lur'e、Popov、 Yakubovich、Kalman都作出过独特的贡献。80年代,Pyatniskii和Skirodiski把Lur'e的问题简化为一个凸优化问题,Nestrov等又提出了可直接用于矩阵不等式凸规划问题求解的内点方法,使得利用LMI求解控制问题变得实用有效。基本的LMI问题分三类:
① 严格LMI可解性问题(LMIP); ② ②特征值问题(EVP);
③ ③广义特征值问题(GEVP)。
控制理论中的一些性能指标、稳定性判据等量化条件之所以可以转化为LMI标准问题,是由于一方面LMI能表示范围广泛的不同类凸约束,另一方面Lyapunov方法可以很方便地引出凸或拟凸问题。除此之外,图1对常用的鲁棒控制方法,如小增益定理、H?的综合方法等与LMI技术的较为深层的关系进行了说明。其中,正实/有界实定理作为桥梁,把输入输出方法和状态空间连接了起来,故从理论上指出了LMI技术广泛用于鲁棒控制问题的可能性。
输入-输出方法 小增益定理 对 偶 同 构 无源性定理 正实/有界实定理 状态空间法
H?方法 密 切 相 关 ?/Km方法 LMI技术 图1 LMI与一些控制原理的关系
LMI标准问题的数值解法有多种,Beck在文献[13]中综述了这些方法。它们的共同思路都是把LMI问题看作凸优化问题处理。主要的LMI求解算法有替代凸投影算法、椭球算法及内点法。内点法又分中心点法、投影法、原始-对偶法。Nestorov等对不同内点算法的计算复杂性界限给出了理论分析。从实验验证上看,目前最好的内点法是Nemiroskii等的投影算法。投影算法跟其他方法相比,有如下优点:
①不需要给出迭代的初始可行解,即不另需独立的算法对初始可行解进行求解; ②它能够扩展到求解拟凸问题,即LMI约束下广义特征值问题;
③它能够充分利用有块对角结构的LMI问题的结构信息,减少保守性;
④整个过程可以给以清晰的几何图示进行说明,易于理解。目前基于MATLAB环境的LMI求解软件包采用的就是这种方法。 2.4 LMI不等式问题
在控制工程中,许多控制问题尤其是鲁棒控制问题,都可转化成一种称为线性矩阵不等式问题或带有线性矩阵不等式限制条件的简单的最优化问题的求解。线性矩阵不等
5
式的一般形如下
F(x)?F0?x1F1?...?xmFm?0
或F?x??0
式中具体信息前文1.1中有详细的介绍,这里就不在重复。在控制理论中,经常遇到的两种矩阵不等式为:
① 李亚普诺夫(Lyapunov)不等式
ATX?XA?Q?0 X?XT?Rn?n ……(4) ② 李卡第(Riccati)不等式
ATX?XA?XBTBX?Q?0 X?XT?Rn?n ……(5) 显然,式(4)是线性矩阵不等式,式(5)由于含有二次项XBTBX,故此式是二次矩阵不等式而不是线性矩阵不等式,但利用Schur定理,可很容易将其变成线性矩阵不等式,即
?ATX?XA?QXB? ? ??0 ……(6)TBX?1??在上述两种线性矩阵不等式中,对称矩阵X中的n?n?1?/2个未知的自由项(元素)构成了决策向量x,即x??x11,?,x1n,x22,?,x2n,?,xnn?。 2.5 三类标准的LMI控制问题及其相应的求解器
在控制、辨识和信号处理等领域中,许多问题都可以转化成用线性矩阵不等式来描述的优化问题。这里介绍3类标准的线性矩阵不等式问题及其求解:一是可行性问题(LMIP);二是特征值问题(EVP);三是广义特征值问题(GEVP)。在MATLAB软件的线性矩阵不等式工具箱(LMI Toolbox)中给出了3类问题的求解器。控制系统中的一些性能指标、稳定性判据可以转化为 LMI的3类标准问题,其原因是由于一方面Lyapunov方法易得到凸的或拟凸的条件,另一方面LMI本身能表示范围广泛的不同类凸约束。 2.5.1 可行性问题
寻找一个 x?RN,使得满足线性矩阵不等式系统
A?x??B?x? ……(7) 相应的求解器是feasp。
feasp函数是在线性矩阵不等式A?x??B?x???I的约束下搜索决策变量x,使得满足上式的?最小化,显然最终如果?min?0,则对应的x即为一组可行解。 2.5.2 具有线性矩阵不等式约束的一个线性目标函数的最小化问题
mincTx
x s.t.A?x??B?x? ……(8) 此类问题的求解器为mincx。 2.5.3 广义特征值最小化问题
? minxs.t.C?x??D?x? 0?B?x?
A?x???B?x? ……(9) 相应的求解器是gecp。
以下详细介绍这三个求解器的功能和使用方法: ①求解器feasp的一般表达式如下: [tmin,xfeas]=feasp(lmisys,options,target)。
求解器feasp是通过求解如下的一个辅助凸优化问题:
mint
6
s.t.A?x??B?x??tI
来求解线性矩阵不等式系统lmisys的可行性问题。
这个凸优化问题的全局最优值用tmin表示,作为求解器feasp输出的第一个分量。如果tmin<0,则系统lmisys是可行的。当系统lmisys为可行时,求解器feasp输出的第二个分量xfeas给出了该线性矩阵不等式系统决策变量的一个可行解。进而,应用dec2mat可以得到系统lmisys矩阵变量的一个可行解。
求解器feasp的输入变量target为tmin设置了目标值,使得只要tmin 可选择的输入量options是一个5维向量,它用来描述优化迭代过程中的一些控制参数: options(1):该分量不用。 options(2):该参数设定优化迭代过程中允许的最大迭代次数(该参数的默认值是100)。 options(3):该参数设定了可行域的半径。options(3)=R>0表示限制决策变量在球体 ?xi?1N2i?R2 中,或者说向量xfeas的欧氏范数不超过R。该参数的默认值是R?109。可行域半径的设定可以避免产生具有很大数值的解,同时也可以加快计算过程,改进数值稳定性。 options(4):该参数用于加快迭代过程的结束,它提供了反映优化过程中迭代速度和解的精度之间的一个折中指标。当该参数取值为一个正整数J时,表示在最后的J次迭代中,如果每次迭代后t的减小幅度不超过1%,则优化迭代过程就停止。该参数的默认值是10。 options(5):options(5)=1表示不显示迭代过程中的数据,options(5)=0(默认值)则相反。将options(i)设置为零相当于将相应的控制参数设置为默认值,也可以通过忽略该输入变量来接受默认值。 ②mincx求解器mincx的一般表达式如下: [copt,xopt]=mincx(lmisys,c,options,xinit,target) 问题中的线性矩阵不等式系统由lmisys表示,向量c和决策变量向量x有相同的维数。对于由矩阵变量表示的线性目标函数,可以应用函数defcx来得到适当的向量c。函数mincx返回到目标函数的全局最优值copt和决策变量的最优解xopt,相应的矩阵变量的最优解可以应用函数dec2mat从xopt得到。 函数mincx的输入量中除了lmisys和c以外,其他的输入是可选择的。xinit是最优解xopt的一个初始猜测(可以从矩阵变量X1,?,Xk的给定值,通过使用mat2dec来导出xinit)。当输入的xinit不是一个可行解时,它将被忽略;否则,则有可能加快问题求解的过程。 target是目标函数的一个设定目标,只要某个可行的x满足cTx?target,求解过程就停止。 options是一个5维向量,它用来描述优化迭代过程中的一些控制参数: options(1):该参数确定了最优值copt所要求的精度(默认值是10?2)。 options(2):该参数设定优化迭代过程中允许的最大迭代次数(默认值是100)。 options(3):该参数设定了可行域的半径。有求解器feasp中的相应参数相同。 options(4):该参数用于加快迭代过程的结束。当该参数取值为一个正整数J时,表示在最后的J次迭代中。如果每次迭代后,目标函数cTx的减小幅度在给定的精度内,则优化迭代过程就停止。该参数的默认值是5。 options(5):options(5)=1表示不显示迭代过程中的数据,options(5)=0(默认值)则相反。 将options(i)设置为零相当于将相应的控制参数设置为默认值,也可以通过忽略该输入变 7 量来接受默认值。 ③求解器gevp的一般表达式如下: [lopt,xopt]=gevp(lmisys,nlfc,options,linit,xinit,target) 如果问题的线性矩阵不等式约束是可行的,则gevp 给出了优化问题的全局最小值lopt和决策向量x的最优解xopt。相应的矩阵变量的最优解可以应用dec2mat得到。输入分量lmisys表示当??1时由 ?ATX?XA?CTSCXB????0 TBX?S??X?0 S?I 构成的线性矩阵不等式系统。包含?的线性矩阵不等式系统称为线性分式约束。线性分式约束S?I的个数用nlfc表示。其他的输入分量都是可选择的。 如果??0,x0?是一个可行解,则通过令linit??0、xinit?x0,将??0,x0?设置为gevp的初始值。当??0,x0?不是可行解时,这样的初始值设置不会被接受。target的设定值表明了只要当一个可行解??,x?满足??target时,迭代过程就停止。 可选择的输入量options 是一个5维向量,它用来描述优化迭代过程中的一些控制参数: options(1):该参数设定了最优值lopt所要求的精度(默认值是10?2)。 options(2):该参数设定优化迭代过程中允许的最大迭代次数(默认值是100)。 options(3):该参数设定了可行域的半径。与求解器feasp中的相应参数相同。 options(4):该参数用于加快迭代过程的结束。当该参数取值为一个正整数J时,表示在最后的J次迭代中,如果每次迭代后?的减小幅度在给定的精度内,则优化迭代过程就停止。该参数的默认值是5。 options(5):options(5)=1表示不显示迭代过程中的数据,options(5)=0(默认值)则相反。将options(i)设置为零相当于将相应的控制参数设置为默认值,也可以通过忽略该输入变量来接受默认值。 对广义特征值的最小化问题,在调用求解器gevp时,须遵循以下规则: ①确定包含?的线性矩阵不等式:A?x??B?x?(注意没有?); ②总是把A?x??B?x?放在线性矩阵不等式系统的最后; ③要求有约束0?B?x?,或者保证0?B?x?成立的任何其他约束。 根据以上要求,对于 ?B?x?0?,B1?x??0 B?x???1?0??0的广义特征值优化问题,我们就不能直接应用求解器gevp来求解。为了克服这一困难,可以通过引进矩阵变量Y,并用 ?Y0?A?x????,Y??B1?x?,B?x??0 00??来代替 A?x???B1?x?,B?x??0 而等价的新问题可以用gevp来求解。 3 LMI工具箱函数详解 3.1 LMI工具箱函数列表 1 确定LMI系统的函数 8