- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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 = 1
nnz(A) = 6 + 0, nnz(ADA) = 4, nnz(L) = 3
it : b*y gap delta rate t/tP* t/tD* feas cg cg prec
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 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-001
Detailed timing (sec)
Pre IPM Post
1.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
表明最优值为-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中,有可能强制加入二次型或者半定限制条件,即通过限制变量进入一个二次型和核或者半正定矩阵的核,这样一个限制条件代替了线性规划中的非负性条件,需要x属于K,一个对称核中,它是一个非负象限,二次型核和半正定矩阵核的笛卡儿积。
最优化问题的标准形式为:
对偶形式为:
二次型核
二次型核由以下形式来确定:
考虑以下问题:
其中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 squares 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;
%----
文档评论(0)