SeDuMi详细教程_第1页
SeDuMi详细教程_第2页
SeDuMi详细教程_第3页
SeDuMi详细教程_第4页
SeDuMi详细教程_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SeDuMi User Guide 线性规划(LP问题:Linear Programming)将需要解决的问题表述成原始问题:或者对偶问题:例子:为了解决该LP问题,我们必须添加一些松弛变量,比如x3和x4,我们即可在MATLAB 中输入b和c向量以及A矩阵:现在我们就可以通过sedumi指令来求解这个问题 sedumi(A,b,c)eqs m = 2, order n = 5, dim = 5, blocks = 1nnz(A) = 6 + 0, nnz(ADA) = 4, nnz(L) = 3 it : b*y gap delta rate t/tP* t/tD* feas cg cg p

2、rec 0 : 6.02E+000 0.000 1 : -1.20E+000 1.84E+000 0.000 0.3055 0.9000 0.9000 1.86 1 1 2.1E+000 2 : -6.94E-002 5.15E-001 0.000 0.2803 0.9000 0.9000 2.14 1 1 8.6E-001 3 : -1.21E-001 2.72E-002 0.000 0.0528 0.9900 0.9900 1.16 1 1 4.2E-002 4 : -1.25E-001 8.69E-006 0.000 0.0003 0.9999 0.9999 1.02 1 1 iter

3、seconds digits c*x b*y 4 0.3 Inf -1.2500000000e-001 -1.2500000000e-001|Ax-b| = 0.0e+000, Ay-c_+ = 1.7E-016, |x|= 2.9e+000, |y|= 2.8e-001Detailed timing (sec) Pre IPM Post1.404E-001 2.964E-001 4.680E-002 Max-norms: |b|=5, |c| = 1,Cholesky |add|=0, |skip| = 0, |L.L| = 1.ans = (1,1) 1.9583 (2,1) 2.0833

4、表明最优值为-1.2500000000e-001=-0.125,对应c*x以下的值,同时返回最优解:x1=1.9583,x2=2.0833,发现x确实有解,因为其每一个元素都是非负的,而且Ax=b,可以用命令min(x)和norm(Ax-b)来检验。当然,也会出现一些舍入误差,如下: norm(A*x-b)ans =1.7764e-015 norm(A*(24*x)-24*b)ans = 0二次型和半定限制(Quadratic and semi definite constraint)在sedumi中,有可能强制加入二次型或者半定限制条件,即通过限制变量进入一个二次型和核或者半正定矩阵的核,这

5、样一个限制条件代替了线性规划中的非负性条件,需要x属于K,一个对称核中,它是一个非负象限,二次型核和半正定矩阵核的笛卡儿积。最优化问题的标准形式为:对偶形式为:l 二次型核二次型核由以下形式来确定:考虑以下问题:其中P为给定矩阵,q为给定向量,以上是鲁棒最小均方问题。其中决策变量为标量y1和y2,还有向量y3.这个问题有两个二次型限制:给定P和q,以下MATLAB函数(rls.m)将该问题表述成标准对偶问题。A矩阵被表述为转置方向,即表述为At。Rls.m% At,b,c,KI = rls(P,q) % Creates dual standard form for robust least s

6、quares problem Pu=q. function At ,b,c,K= rls(P,q) m, n = size(P) ; % - - - - - - - - - - minimize y-1 + y-2 - b = -sparse(1; 1; zeros(n,1); % - (y_1, q - p y_3) in Qcone - At = sparse (-1, zeros(1,1+n); . zeros(m, 2), P); c = 0;q ; K.q=1+m; %- (y_2, (1, y_3) in Qcone - At = At; 0, -1, zeros(1,n); .

7、zeros(1,2+n); . zeros(n,2),-eye(n); c = sparse(c;0;1;zeros(n,1); K.q= K.q, 2+n; 我们可以注意到以上的方程中运用的是系数数据存储形式,为的是节省内存。此外,还定义了一个结构体K,其中K.q列出了二次型核的维数。K结构体将被运用于告知SeDuMi:c-ATy的元素并不被限制为非负当他们都被用于线性规划中。反而言之,第一个行K.q(1)被限制在一个二次型核中,最后一行K.q(2)被限制在另外一个二次型核中,这就是我们在之前建立对称核的方法,而且建立了两个二次型限制。 作为数值仿真的例子,我们来来解决一个鲁棒最小平方值的问

8、题,其依靠P中的列 P = 3 1 4; 0 1 1;-2 5 3; 1 4 5; q = 0; 2; 1; 3; At,b,c,K = rls(P,q); x,y,info = sedumi(At,b,c,K);运行后出现的结果是SeDuMi 1.1R3 by AdvOL, 2006 and Jos F. Sturm, 1998-2003.Alg = 2: xz-corrector, Adaptive Step-Differentiation, theta = 0.250, beta = 0.500eqs m = 5, order n = 5, dim = 11, blocks = 3nnz

9、(A) = 16 + 0, nnz(ADA) = 23, nnz(L) = 14 it : b*y gap delta rate t/tP* t/tD* feas cg cg prec 0 : 4.00E+000 0.000 1 : -3.10E+000 3.01E-001 0.000 0.0751 0.9900 0.9900 1.55 1 1 3.4E-001 2 : -3.33E+000 6.02E-003 0.000 0.0200 0.9900 0.9900 1.03 1 1 6.2E-003 3 : -3.33E+000 1.31E-005 0.000 0.0022 0.9990 0.

10、9990 1.00 1 1 1.3E-005 4 : -3.33E+000 1.26E-006 0.367 0.0958 0.9900 0.9900 1.00 1 1 1.3E-006 5 : -3.33E+000 3.81E-008 0.000 0.0303 0.9900 0.9900 1.00 1 1 3.8E-008 6 : -3.33E+000 2.24E-009 0.425 0.0587 0.9902 0.9900 1.00 1 1 2.3E-009iter seconds digits c*x b*y 6 0.0 9.4 -3.3329085951e+000 -3.33290859

11、63e+000|Ax-b| = 9.5e-010, Ay-c_+ = 2.1E-009, |x|= 2.0e+000, |y|= 2.5e+000Detailed timing (sec) Pre IPM Post3.120E-002 3.120E-002 0.000E+000 Max-norms: |b|=1, |c| = 3,Cholesky |add|=0, |skip| = 0, |L.L| = 1.在以上这些SeDuMi的语句中,我们发现了一个新的输入量viz.K,这个量使得SeDuMi能够解决一个(5)和(6)形式的最优化问题,其中对称核K被描述为结构体K。没有K的话,SeDuMi

12、只能解决(1)和(2)的问题。我们可以通过验证(7)中的不等式来确定结果y是否能够满足条件(9)。然而,SeDuMi提供了一种更简单的方法eigK,这个函数返回相对应于对称核的矩阵的特征值。一个对称形核包括哪些仅有非负特征值的向量,其中参见Faraut and Koranyi9。如下,我们能因此检验可行性和最优性: eigK(x, K), eigK(c-At*y, K)ans = 0.0000 -0.0000 1.4142 3.2307 0.0000 -0.0000 1.4142 1.4827 x*(c-At*y)ans = 3.4744e-009对于对称核K来说,总是有xTz=0,对所有属于

13、K的z和x成立,因此,x提供里一种在线性规划中对y最优化的认证。Farkas的对偶方案的分解也是采用同样的思想。具体参见15的方法。然而,一个奇怪的现象出现了,x和y几乎是可解得,然而cTx-bTy大多是负的(|x|和或者|y|然后肯定会是非常大的),根据原理,SeDuMi将会返回一个无穷大的精确的digits。这个现象在14和23中也有解释。我们需要让这个最优化模型有着非负的和二次型的核限制,而这一点是可行的。比如,我们可以以上例子中的限制y310来解决模型注意到该问题是无解的:1/x1下确界是0,对x1趋近与无穷大来说:clear K; c= 0,1,0; b = sqrt(2); A =

14、 0, 0, 1; K.r = 3; x,y,info=sedumi(A,b,c,K); x(2), x(1)*x(2) ans = 6.5278e-005ans =1.0695你可能会发现x2根本没有足够趋近于0,而且x1也不是等于无穷大。然而,这个原始解是可解的,对偶解几乎是可解的,而且对偶gap几乎是负的。这就解释了一个误差范围困难,而且对这种不规则的问题是很常见的。在Section 5 中,我们可以看看到底如何获得一个更精确的解决方案,通过设计一个选项参数,pars.eps。上述例子可以解释,K.r来列出Rcone限制的维数,类似于Qcone限制中K.q的定义,设定了K.l,K.q,K

15、.r也就引出了以下形式的对称核。举例说明,我们可以添加界x1 X=vec(1,5,-3;5,2,-9;-3,-9,4)X = 1 5 -3 5 2 -9 -3 -9 4Vec的逆运算就是mat。因此,如果x是一个n2长度的向量,而mat(x)就创建了一个nn的矩阵,然后依次填入x向量的元素,比如: mat(X)ans = 1 5 -3 5 2 -9-3 -9 4以下MATLAB函数产生了一个问题(11)的标准的原始形式:% At,b,c,K =specfac(b) % Creates primal standard form for minimal phase spectral factori

16、zation. function At,b,c,K =specfac(b) m = length(b) ; % - minimize sum (m-i)*X(i,i) - c = vec(spdiags(m-1:-l:0),0,m,m); % - Let e be all-1, and allocate space for the A-matrix - e = ones(m,1); At = sparse( , , ,m2,m,m*(m+l)/2) ; % - sum(diag(): k) = b(k) - for k= 1:m At(:,k) = vec(spdiags(e,k-l,m,m)

17、; end K.s = m;字段K.s=m告诉SeDuMi我们需要一个mm的矩阵mat(x),而且满足对称正定的。我们能解决如下的问题:b = 2; 0.2; -0.3; At, b, c ,K = specfac(b) ; x,y,info = sedumi(At,b,c,K);得到的结果为:it : b*y gap delta rate t/tP* t/tD* feas cg cg prec 0 : 1.69E+001 0.000 1 : -2.44E-001 3.91E+000 0.000 0.2312 0.9000 0.9000 1.39 1 1 2.0E+000 2 : 1.86E-

18、001 3.22E-001 0.000 0.0824 0.9900 0.9900 1.31 1 1 4.0E-001 3 : 1.23E-001 1.12E-004 0.000 0.0003 0.9999 0.9999 0.99 1 1 2.6E-004 4 : 1.23E-001 5.18E-006 0.000 0.0463 0.9900 0.9900 1.00 1 1 1.2E-005 5 : 1.23E-001 2.36E-007 0.000 0.0455 0.9900 0.9900 1.00 1 1 6.8E-007 6 : 1.23E-001 1.90E-008 0.327 0.08

19、06 0.9900 0.9900 1.00 2 2 5.5E-008 7 : 1.23E-001 8.16E-010 0.000 0.0429 0.9906 0.9900 0.99 2 2 2.2E-009iter seconds digits c*x b*y 7 0.2 8.5 1.2273256559e-001 1.2273256524e-001|Ax-b| = 1.1e-010, Ay-c_+ = 1.4E-010, |x|= 2.0e+000, |y|= 7.6e-001Detailed timing (sec) Pre IPM Post3.120E-002 2.028E-001 3.120E-002 Max-norms: |b|=2, |c| = 2,Cholesky |add|=0, |skip| = 0, |L.L| = 1.为检验正定性,可以采用MATLAB中的eig或者SeDuMi中的eigK: eig(mat(x),eigK(x,K)ans = 0.0000 0.0000 0.0000 0.00002.0000 2.0000其中eigK更加方便,特别是当有多个正定条件限制的时候,或者也有非负和二次型核限制。SeDuMI将总是产生

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论