运筹学与最优化MATLAB编程第5章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 线性规划 5.1 线性规划的模型结构 5.2 线性规划的单纯形法 5.3 linprog函数 5.1 线性规划的模型结构 max(min) f=c1x1+c2x2+…+cnxn   s.t. a11x1+a12x2+…+a1nxn≤(=,≥)b1     a21x1+a22x2+…+a2nxn≤(=,≥)b2 线性规划的标准形式为: max f=c1x1+c2x2+…+cnxn  s.t. a11x1+a12x2+…+a1nxn=b1    a21x1+a22x2+…+a2nxn=b2 5.1 线性规划的模型结构 am1x1+am2x2+…+amnxn=bm x1,x2,…,xn≥0 转化成矩阵的表示形式为: max f(x)=cTx s.t. Ax=b  x≥0 5.1 线性规划的模型结构 标准形式的可行域是凸集合(凸集合概念可以参看相关章节)。 各种形式的线性规划都可以化为标准形式。 (1)若给出的线性规划是极大化目标函数,则有 min f(x)=max[-f(x)] (2)若第i个约束为不等式,则可增加松弛变量,把原约束化为等式约束。 5.1 线性规划的模型结构 5.1 线性规划的模型结构 例如: minf=-x1-x2-x3   s.t. 7x1+3x2+9x3≤1 8x1+5x2+4x3≤1 6x1+9x2+5x3≤1 x1,x2,x3≥0 5.1 线性规划的模型结构 引入松弛变量x4,x5,x6≥0,原式变为线性规划的标准形式为: max f=x1+x2+x3+0x4+0x5+0x6   s.t. 7x1+3x2+9x3+x4+0x5+0x6=1 8x1+5x2+4x3+0x4+1x5+0x6=1 6x1+9x2+5x3+0x4+0x5+x6=1 x1,x2,x3,x4,x5,x6≥0 5.1 线性规划的模型结构 (1)若给出的线性规划是极大化目标函数,则有 (2)若第i个约束为不等式,则可增加松弛变量,把原约束化为等式约束。 (3)若第i个等式约束中bi0,则用-1乘该等式两端。 (4)若第j个变量xj没有非负限制,此时称xj为自由变量,则引入两非负变量,即x′j,x″j≥0,令xj=x′j-x″j,将其代入目标函数以及约束中去。 5.2 线性规划的单纯形法 5.2.1 单纯形算法 5.2.2 单纯形表格法的MATLAB程序:simplexTab 5.2.1 单纯形算法 单纯形法(Simplex Method)是求解线性规划问题的通用方法。单纯形是美国数学家G.B.丹齐克于1947年首先提出来的。它的理论根据是:线性规划问题的可行域是n维向量空间Rn中的多面凸集,其最优值如果存在,必在该凸集的某顶点处达到。顶点所对应的可行解称为基本可行解。单纯形法的基本思想是:先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行。 max f(x)=cTx       s.t. Ax=b  ? x≥0min g(x)=-cTx s.t Ax=b x≥0  设矩阵A的秩为m。 5.2.1 单纯形算法 算法说明: 本书以线性函数最大化(即max)给出,但是由于MATLAB的内置函数都是以最小化形式进行编程的,为了编写的程序与MATLAB的风格一致,本书程序是以最小化的标准形式进行编程实现的。两种形式在算法步骤上只有目标函数系数向量c的正负号相反。请读者在阅读时注意两者的区别。 5.2.1 单纯形算法 步骤1:取得一个初始可行基B,写出初始基可行解,以及当前的目标函数值,计算所有检验数。 步骤2:考察所有检验数,若所有检验数≥0,则当前基为最优解,停。否则转步骤3。 步骤3:若≤0,则无最优解,停。否则转步骤4。 5.2.1 单纯形算法 5.2.2 单纯形表格法的MATLAB程序:simplexTab 1.初始输入表 2.迭代过程表 1.初始输入表 表格 2.迭代过程表 表格 MATLAB优化库函数都是以最小化为标准,所以simplexTab(mat,numFreeVar)程序也以最优化为标准。 simplexTab的使用方法为: 先将一般的线性规划变为线性规划的标准形式,再构建初始单纯形表格,输入程序。 5.2.2 单纯形表格法的MATLAB程序:simplexTab 在MATLAB的command window输出: 初始结果: the best Pivot is 2 row and 1 col the simplex table is 7.00003.00009.00001.0000001.00000.14298.00005.00004.000001.000001.00000.1250(6.0000)9.00005.0000001

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档