《LMI工具箱介绍——俞立.ppt》由会员分享,可在线阅读,更多相关《LMI工具箱介绍——俞立.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、机动 目录 上页 下页 返回 结束 2/26以以getlmis结束结束以以setlmis开始开始用用lmivar定义矩阵变量定义矩阵变量用用lmiterm描述描述LMI的每项的每项3.1 用用LMI工具箱描述一个线性矩阵工具箱描述一个线性矩阵不等式系统不等式系统机动 目录 上页 下页 返回 结束 3/26(1) 定义定义对称块对角结构对称块对角结构的矩阵变量的矩阵变量X时,时,struct 是是r2维矩阵,该矩阵第维矩阵,该矩阵第 i 行是行是(m, n), 12000000,000000rDDXDn =用用lmivar定义矩阵变量定义矩阵变量type = 1;其中其中m是是Di 的阶次的阶次
2、, 1 表示表示Di 是一个满的对称矩阵;是一个满的对称矩阵; 0 表示表示Di 是一个数量矩阵;是一个数量矩阵; 1 表示表示Di 是一个零矩阵;是一个零矩阵;机动 目录 上页 下页 返回 结束 4/26例:如何定义如下矩阵变量例:如何定义如下矩阵变量 若若X是一个是一个33维的对称矩阵维的对称矩阵, 则用则用X = lmivar(1, 3 1)来定义。来定义。 若若122XI,其中,其中 是是55 维对称矩阵,维对称矩阵, 1 和和 2 是两个标量,是两个标量,I2 是是22维的单位矩阵,维的单位矩阵,则用则用X = lmivar(1, 5 1; 1 0; 2 0)来定义。来定义。机动 目
3、录 上页 下页 返回 结束 5/26(2) 定义定义长方型结构长方型结构的矩阵变量的矩阵变量X 时,时, 则则type = 2;struct = m, n表示矩阵的维数表示矩阵的维数.例例, 如何定义一个如何定义一个24维的对称矩阵变量维的对称矩阵变量X?X= lmivar(2, 2 4)(3) 定义定义其他结构其他结构的矩阵变量的矩阵变量X时时, X的每个元是的每个元是0或或xn , 其中其中xn是第是第n个决策变量,则个决策变量,则type = 3;struct是与变量是与变量X同维的矩阵同维的矩阵, 第第i行第行第j列是列是 0 如果如果X(i, j) = 0; n 如果如果X(i, j
4、) = xn ; n 如果如果X(i, j) = xn ;struct( , )i j =机动 目录 上页 下页 返回 结束 6/26%1# LMI lmiterm(1 1 1 X, 1, A, s )lmiterm(1 1 1 S, C, C)lmiterm(1 1 2 X, 1, B)lmiterm(1 2 2 S, -1, 1)%2# LMIlmiterm(-2 1 1 X, 1, 1)%3# LMIlmiterm(-3 1 1 S, 1, 1)lmiterm(3 1 1 0, 1)TTT00A XXAC SCXBB XSXSI描述属于第几个不等式,描述属于第几个不等式, 不等号的小边不
5、等号的小边+,大边,大边.描述该项所在块的位置描述该项所在块的位置, 0块不描述块不描述; 对称的块只描述一次对称的块只描述一次.描述该项是变量还是常数描述该项是变量还是常数.变量的左系数、右系数变量的左系数、右系数.可选项可选项, 只能是只能是s , 描述转置描述转置.以以 为例。为例。机动 目录 上页 下页 返回 结束 7/26使用使用LMI工具箱描述工具箱描述TTT00A XXAC SCXBB XSXSI其中其中XR66 和和 S = DTDR 44,112345ddDdddd则则21212224234522234535ddSddd dd dd dd ddd定义定义2个矩阵变量个矩阵变量
6、 X = lmivar(1, 6 1)S = lmivar(1, 2 0;2 1)机动 目录 上页 下页 返回 结束 8/26setlmis()X=lmivar(1, 6 1)S=lmivar(1, 2 0;2 1)%1# LMIlmiterm(1 1 1 X, 1, A, s )lmiterm(1 1 1 S, C, C)lmiterm(1 1 2 X, 1, B)lmiterm(1 2 2 S, -1, 1)TTT00A XXAC SCXBB XSXSI%2# LMIlmiterm(-2 1 1 X, 1, 1)%3# LMIlmiterm(-3 1 1 S, 1, 1)lmiterm(3
7、 1 1 0, 1)lmisys=getlmis机动 目录 上页 下页 返回 结束 9/26 LMI工具箱提供了用于求解工具箱提供了用于求解3类问题的类问题的LMI求解器求解器.1、可行性问题、可行性问题 寻找一个寻找一个xRN, 使得满足使得满足LMIA(x) B(x)相应的求解器是相应的求解器是feasp. 一般表达形式一般表达形式tmin, xfeas=feasp(lmisys, options, target)原理:通过求解如下的辅助优化问题原理:通过求解如下的辅助优化问题 min t s.t. A(x)B(x) tI来求解线性矩阵不等式系统来求解线性矩阵不等式系统lmisys的可行性
8、问题的可行性问题.3.2 线性矩阵不等式求解器线性矩阵不等式求解器机动 目录 上页 下页 返回 结束 10/26求解器的求解器的2个输出量个输出量: tmin : 前述凸优化问题的全局最优值:前述凸优化问题的全局最优值: tmin 0, 则系统则系统lmisys是不可行的;是不可行的; xfeas : 系统系统lmisys可行时可行时, 给出一个可行解给出一个可行解, 用用dec2mat提取出该可行解提取出该可行解.求解器的求解器的3个输入量个输入量: lmisys : 如前所述如前所述; target : 可选可选, 为为tmin设置目标值设置目标值, 只要只要tmin I 的对称矩阵的对称
9、矩阵P , 使得使得A1T P + PA1 0, A2T P + PA2 0, A3T P + PA3 0其中其中123120.81.51.40.9,.131.32.70.72AAA解解: 新建新建feaspexample.m文件文件.function mainfunctionclc; % 清屏清屏A1=-1 2;1 -3; % 输入已知矩阵输入已知矩阵A2=-0.8 1.5;1.3 -2.7;A3=-1.4 0.9;0.7 -2;setlmis() % 开始设置系统框架开始设置系统框架机动 目录 上页 下页 返回 结束 12/26P=lmivar(1, 2 1) % 定义矩阵变量定义矩阵变量
10、lmiterm(1 1 1 P, 1, A1, s ) % 1# LMIlmiterm(2 1 1 P, 1, A2, s ) % 2# LMIlmiterm(3 1 1 P, 1, A3, s ) % 3# LMIlmiterm(-4 1 1 P,1,1) % 4# LMI: Plmiterm(4 1 1 0,1) % 4# LMI: Ilmisys=getlmis % 完成系统框架设置完成系统框架设置tmin,xfeas=feasp(lmisys); % 求可行解求可行解PP=dec2mat(lmisys,xfeas,P) % 提取解矩阵提取解矩阵机动 目录 上页 下页 返回 结束 13/
11、26运行结果:运行结果:机动 目录 上页 下页 返回 结束 14/262、具有、具有LMI约束的一个线性目标函数的最小化问题约束的一个线性目标函数的最小化问题 minx cTx s.t. A(x) B(x)相应的求解器是相应的求解器是mincx. 一般表达形式一般表达形式copt, xopt=mincx(lmisys, c, options, xinit, target)求解器的求解器的2个输出量个输出量: copt : 目标函数值目标函数值cTx的全局最优值;的全局最优值; xopt : 最优解最优解, 可用可用dec2mat提取相应的矩阵变量提取相应的矩阵变量.求解器的求解器的5个输入量个
12、输入量: lmisys : 如前所述如前所述; c : 已知向量已知向量; options : 可选量可选量, 5维向量维向量, 描述求解参数描述求解参数, 见资料见资料.机动 目录 上页 下页 返回 结束 15/262、具有、具有LMI约束的一个线性目标函数的最小化问题约束的一个线性目标函数的最小化问题 minx cTx s.t. A(x) B(x)相应的求解器是相应的求解器是mincx. 一般表达形式一般表达形式copt, xopt=mincx(lmisys, c, options, xinit, target)求解器的求解器的5个输入量个输入量: xinit : 可选可选, 最优解最优解
13、xopt的一个初始猜测的一个初始猜测. 当输入值不当输入值不 是可行解时是可行解时, 将被忽略将被忽略; 否则可能加快求解过程否则可能加快求解过程.target : 可选可选, 是目标函数的一个设定值是目标函数的一个设定值, 当当cTxtarget, 求解过程结束求解过程结束. 机动 目录 上页 下页 返回 结束 16/26例:考虑优化问题例:考虑优化问题 minX Trace (X) s.t. AT X + XA + XBBTX + Q 0, 其中其中X是一个对称的矩阵变量,是一个对称的矩阵变量,1211110321,0 ,1312 .121101236ABQ 解解: 根据根据Schur补性
14、质,上述优化问题等价于补性质,上述优化问题等价于新建新建mincxexample.m文件:文件:TTminTrace()s.t.0XXA XXAQXBB XI机动 目录 上页 下页 返回 结束 17/26function mainfunctionclc; % 清屏清屏A=-1 -2 1;3 2 1;1 -2 -1; % 输入已知矩阵输入已知矩阵B=1;0;1;Q=1 -1 0;-1 -3 -12;0 -12 -36;setlmis() % 开始设置系统框架开始设置系统框架X=lmivar(1,3 1); % 定义矩阵变量定义矩阵变量lmiterm(1 1 1 X,1,A,s); % 1# LM
15、Ilmiterm(1 1 1 0,Q);lmiterm(1 1 2 X,1,B);lmiterm(1 2 2 0,-1);lmisys=getlmis; % 完成设置系统框架完成设置系统框架机动 目录 上页 下页 返回 结束 18/26n=decnbr(lmisys); % 得到得到lmisys系统变量个数系统变量个数c=zeros(1,n); % 为变量为变量c预设存储空间预设存储空间for j=1:3 % 循环命令求系数循环命令求系数c Xj=defcx(lmisys,j,X); c(j)=trace(Xj);endoptions=1e-5,0,0,0,0; % 精度要求精度要求copt,
16、xopt=mincx(lmisys,c,options); % 求可行解求可行解Xopt=dec2mat(lmisys,xopt,X) % 提取解矩阵提取解矩阵机动 目录 上页 下页 返回 结束 19/26运行结果:运行结果:机动 目录 上页 下页 返回 结束 20/26机动 目录 上页 下页 返回 结束 21/26机动 目录 上页 下页 返回 结束 22/263、广义特征值的最小化问题、广义特征值的最小化问题 min l l s.t. C(x) D(x) 0 B(x) A(x) l lB(x)相应的求解器是相应的求解器是gevp一般表达式如下一般表达式如下lopt, xopt=gevp(lm
17、isys, nlfc, options, linit, xinit, target)求解器的求解器的2个输出量个输出量: lopt : 优化问题的全局最优值;优化问题的全局最优值; xopt : 最优解最优解, 可用可用dec2mat提取相应的矩阵变量提取相应的矩阵变量.求解器的求解器的6个输入量个输入量: lmisys : l l = 1时的约束条件时的约束条件, 如前所述如前所述; nlfc : 含含l l的约束的个数已知向量的约束的个数已知向量;机动 目录 上页 下页 返回 结束 23/263、广义特征值的最小化问题、广义特征值的最小化问题 min l l s.t. C(x) D(x)
18、0 B(x) A(x) l lB(x)相应的求解器是相应的求解器是gevp一般表达式如下一般表达式如下lopt, xopt=gevp(lmisys, nlfc, options, linit, xinit, target)求解器的求解器的6个输入量个输入量: options : 可选量可选量, 5维向量维向量, 描述求解参数描述求解参数, 见资料见资料. linit, xinit : 可选可选, 初始猜测初始猜测linit=l l0, xinit=x0不是可行不是可行 解时解时, 将被忽略将被忽略; 否则可能加快求解过程否则可能加快求解过程.target : 可选可选, 只要可行解只要可行解(
19、l l, x)满足满足l ltarget, 结束结束.机动 目录 上页 下页 返回 结束 24/26调用求解器调用求解器gevp是须遵循以下规则是须遵循以下规则 确定包含确定包含l l的的LMI A(x) B(x) 即即l l = 1的情况;的情况; 总把总把A(x) B(x)放在放在lmisys的最后;的最后; 要求有约束要求有约束0 B(x), 或保证或保证0 I Ilmiterm(-1 1 1 P,1,1); % PI Plmiterm(2 1 1 P,1,A1,s); % 1# lhslmiterm(-2 1 1 P,1,1); % 1# rhs, alpha = 1 机动 目录 上页 下页 返回 结束 26/26lmiterm(3 1 1 P,1,A2,s); % 2# lhslmiterm(-3 1 1 P,1,1); % 2# rhs, alpha = 1 lmiterm(4 1 1 P,1,A3,s); % 3# lhslmiterm(-4 1 1 P,1,1); % 3# rhs, alpha = 1 lmisys=getlmis; % 完成设置系统框架完成设置系统框架alpha,popt=gevp(lmisys,3); % 求可行解求可行解Popt=dec2mat(lmisys,popt,P) % 提取解矩阵提取解矩阵运行结果:运行结果:
限制150内