运筹学毕业论文-单纯形法_第1页
运筹学毕业论文-单纯形法_第2页
运筹学毕业论文-单纯形法_第3页
运筹学毕业论文-单纯形法_第4页
运筹学毕业论文-单纯形法_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、1 算法分析1.1单纯形算法1.1.1单纯形法的基本思路利用求线性规划问题基本可行解(极点)的方法求解较大规模的问题是不可行的。有选择地取基本可行解,即从可行域的一个极点出发,沿着可行域的边界移动到另一个相邻的极点,要求新极点的目标函数值不比原目标函数值差。在线性规划的可行域中先找出一个可行解,检验它是否为最优解,如果是最优解,计算停止;如果不是最优解,那么可以判断线性规划无有限最优解,或者根据一定步骤得出使目标函数值接近最优值的另一个基本可行解。由于基本可行解的个数有限,所以总可以通过有限次迭代,得到线性规划的最优基本可行解或判定线性规划无有限最优解。1.1.2单纯形法的基本步骤描述第1步:

2、求初始基可行解,列出初始单纯形表。对非标准型的线性规划问题首先要化成标准形式。由于总可以设法使约束方程的系数矩阵中包含一个单位矩阵,以此作为基求出问题的一个初始基可行解。为检验一个基可行解是否最优,需要将其目标函数值与相邻基可行解的目标函数值进行比较。为了书写规范和便于计算,对单纯形法的计算设计了一种专门表格,称为单纯形表(见表1-1)。迭代计算中每找出一个新的基可行解时,就重画一张单纯形表。含初始基可行解的单纯形表称初始单纯形表,含最优解的单纯形表称最终单纯形表。第2步:最优性检验。表1-1单纯形表cjc1cmcjcnCB基bx1xmxjxnc1c2cmx1x2xmb1b2bm100001a

3、1ja2jamja1na2namncj-zj00如表中所有检验数cj-zj0,且基变量中不含有人工变量时,表中的基可行解即为最优解,计算结束。当表中存在cj-zj 0时,如有Pj0,则问题为无界解,计算结束;否则转下一步。第3步:从一个基可行解转换到相邻的目标函数值更大的基可行解,列出新的单纯形表。1.确定换入基的变量。只要有检验数j0,对应的变量xj就可作为进基的变量,当有一个以上检验数大于零时,一般从中找出最大一个k,其对应的变量xk作为进基变量。2.确定出基的变量。确定xr是出基变量,ark为主元。3.用进基变量xk替换出基变量xr,得到一个新的基。对应这个基可以找出一个新的基可行解,并

4、相应地可以画出一个新的单纯形表(表1-2)。(1) 把第r行乘以之后的结果填入新表的第r行;对于行,把第r行乘以之后与原表中第i行;在列中的r行位置填入,其余行不变;在列中用代替r行原来的值,其余的行与原表中相同。(2) 然后用的价值系数减去列的各元素与列各对应元素的乘积,把计算结果填入列的最后一行,得到检验数,计算并填入的值(以零减去列各元素与b列各元素的乘积)1。第4步:重复上述过程,就可以得到最优解或判断出无有限最优解。表1-2初始单纯形表cjc1crcmcjckCB基bx1xrxmxjxkc1ckcmx1xkxm100001010cj- zj0001.1.3单纯形算法求解线性规划的范例

5、在实践中,根据实际问题的要求,常常可以建立线性规划问题的数学模型。下面这个范例,就是一个用单纯形算法求解的线性规划的范例。美佳公司计划制造甲,乙两种家电产品。但因财力、物力等原因,资源有限,已知制造一个家电产品分别占用的设备A,B的台时、调试时间、调试工序及每天可用于这两种家电的能力、各售出一件的获利情况,如表1-3所示。问该公司应制造两种家电各多少件,使获取的利润为最大。表1-3 产品有关数据表项目甲乙每天可用能力设备A(h)0515设备B(h)6224调试工序(h)115利润(元)21解:根据题意构建下列线性规划模型:目标函数 约束条件 用单纯形法求解线性规划问题,标准化后得: 取初始基本

6、可行解(单位矩阵)。初始化单纯形表并计算的过程如表1-4所示。在最优单纯形表中,非基变量的检验数均为负数,于是得到最优解,最优目标值元(表中-17/2为-Z的值)。为了能够更清晰地看清单纯形算法的解题思路以及单纯形算法表格计算过程中表格内各量的关系,把例中的3次迭代计算过程重述如下:第一次迭代:取初始可行基,那么为基变量,为非基变量。将基变量和目标函数用非基变量表示:第二次迭代:当前的可行基,那么为基变量,为非基变量。将基变量和目标函数用非基变量表示: 第三次迭代:当前的可行基,那么为基变量,为非基变量。将基变量和目标函数用非基变量表示: 在目标函数中,非基变量的检验数不是正数,于是得到最优解

7、,最优目标值。表1-4 单纯形表表格计算过程cBxBb21000X1X2X3X4X50X31505100-0X4246201040X55110015-Z0210000X3150510032X1412/601/6037/30X5104/60-1/614/3-Z-801/30-1/300X315/20015/4-15/2-2X17/21001/4-1/2-1X23/2010-1/43/24/3-Z-17/2000-1/4-1/2在最优单纯形表中,非基变量的检验数均为负数,于是得到最优解,最优目标值元(表中-17/2为-Z的值)。1.2大M单纯形算法1.2.1大M单纯形算法的基本思想一般线性规划问题

8、的系数矩阵中不含单位矩阵,这时没有明显的基本可行解,常常采用引入非负人工变量的方法来求得初始基本可行解,一般采用大M单纯形算法。大M法也称为惩罚法,主要做法是取M0为一个任意大的正数,在原问题的目标函数中加入-M乘以每一个人工变量。首先根据不等式符号添加正的或负的松弛变量,查找加入的松弛变量是否构成单位矩阵,构成单位矩阵则计算方法和单纯形算法一样;若是尚未构成单位矩阵,则添加的人工变量与松弛变量构成一个单位矩阵后进行计算。松弛变量在目标函数中的系数为0,而人工变量的系数则为-M,此处-M是强加于人工变量的一种惩罚,其目的是为了强制人工变量由变量转换为非基变量,使之恢复原问题或者说与原问题等价。

9、M在计算时,可看作一个任意大的正数,非严格的说法,仅为便于在检验数含M时判断值的正负,但M并不是无穷大,理论上可以证明,M只要取到某个数值以上就可以。1.2.2大M单纯计算法的基本步骤描述1. 添加松弛变量,看松弛变量的系数是否构成单位矩阵,若尚未构成单位矩阵则加入人工变量,迫使人工变量的系数和松弛变量的系数构成单位矩阵。这也是添加人工变量的目的。2. 加入松弛变量和人工变量后就完成了标准化线性规划模型。3. 计算标准化后的线性规划模型的方法是应用单纯形算法,所以大M单纯形算法的迭代计算方法和单纯形算法的计算方法相同。4. 大M单纯形算法中含有人工变量系数“-M”,加入人工变量的目的是构成单位矩阵,应用单纯形算法迭代计算,但是不能改变原问题,因此让每个人工变量乘以“-M”,就能够保证标准化后的线性规划模型与原问题等价。5. “-M”作为字符不能参与计算,然而M作为一个任意大的正数,一般在教学中所要解决的线性规划模型规模并不太大,因此取值M=10000参与计算。计算过程中的所有“M”都有10000代替。参考文献1 吴祈宗.运筹学(第2版)M.机械工业出版社2 胡运权.运筹学教程(第二版).清华大学出版社3 胡运权.运筹学导论(第8版)

温馨提示

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

评论

0/150

提交评论