运筹学导论第八版3单纯形法与敏感性分析(107页PPT).pptx
《运筹学导论第八版3单纯形法与敏感性分析(107页PPT).pptx》由会员分享,可在线阅读,更多相关《运筹学导论第八版3单纯形法与敏感性分析(107页PPT).pptx(107页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第3章 单纯形方法&灵敏度分析23.1 等式形式的线性规划模型为了方便单纯形法的计算,对模型的约束有如下两个要求:(1)所有的约束都是等式(变量的非负限制除外),并且具有非负的右端项;(2)所有变量是非负的。这两项要求目的在于使得单纯形方法标准化和简单化。这也就是现在的所有商业软件都直接运行不等式约束、非负的右端项和无限制变量。在进行单纯形法求解前,模型的任何必要处理都在软件内部完成。33.1.1 将不等式转化为带有非负右端项的等式约束在()约束中,右端项可被视为资源可利用性限制的描述,在这种情况下,左端项表示模型的活动(变量)对这些有限资源的用量。因此,()约束的右端项与左端项之间的差构成
2、未用的或松弛的资源量。为了把()不等式约束转为等式约束,在约束左端增加非负的松弛变量(Slack Variable).例如在Reddy Mikks模型中,相当于原料M1的约束给出如下:6x1+4x224定义s1作为M1的松弛的或未用的量,约束可以转化为如下等式约束:6x1+4x2+s1=24,s104在()约束设置了模型的活动(变量)对的下限。因此,可以将()约束的左端项超出最下限制的量表示为剩余。为了把()不等式约束转为等式约束,在约束左端减去非负的剩余变量(Surplus Variable).例如在营养配方模型(例2.2-2)中,表示最小饲料需求的约束是:x1+x2800定义S1作为剩余变
3、量,约束可以转化为如下等式约束:x1+x2-S1800,S105对于让等式约束的右端项是非负的,这个条件总是可以满足的,必要时可以在得到的方程两端乘以(-1).例如,约束-x1+x2-3则等价方程为-x1+x2+s1=-3,s10对上式两边乘以(-1),转化为非负的右端项,便得到我们需要的约束等式,即x1-x2-s1=-363.1.2 无限制变量处理方法在单纯形方法中,要求所有的决策变量是非负的。然而很多现实问题中往往很多的决策变量恰恰是不要求非负的。例如例2.3-6中介绍的多周期生产平滑模型,其中要求每个周期在开始时要根据周期需求上下调整。如果xi是周期 i 的劳动力数量,则xi+1是周期
4、i+1的劳动力数量,可以表示为xi+1=xi+yi+1变量yi+1必须无符号限制,它运行xi+1相对于xi增加或减少,即雇佣或解雇工人。可以采用如下替换方法来满足这个要求这样的替换原理是什么?7假定在周期1中,劳动力是x1=20名工人,在周期2中,劳动力将增加5名,达到25名。依据变量 和变量 ,这等价于 ,或者y2=5-0=5.类似地,如果在周期2中劳动力减少到16名,则我们有 或者y2=0-4=-4.替换还运行劳动力不作改变的可能性,此时两个变量均为0来实现。那么 和 能否同时取正值?这种情况是不会发生的,否则这意味着相同的时间内既雇佣工人又解雇工人。通过数学的证明也发现,在任意的单纯形中
5、,这两个值同时取正值是不可能的。83.2 从图形解到代数解的转换在2.2节介绍的二元决策变量的线性规划模型的图形求解思想奠定了代数单纯形法发展的基础。在图解方法中,解空间由表示约束的半空间描述,而在单纯形法中,解空间由m个同时成立的线性方程和n个非负变量表示。9根据图形,容易解空间有无穷个解点的原因,那么如何能从解空间的代数表示中得出类似的结论?在代数表示上,方程的个数m小于决策变量个数n。如果m=n,方程是相容的,则方程组只有唯一解;如果mn,假定方程组是相容的,则方程组有无穷多的解。在代数中如何定义角点:在mn(mn)阶方程组中,如果令(n-m)个变量等于0,然后求解其余的含m个变量的m个
6、方程,如果有唯一解,则称相应的解为基本解,它一定对应解空间的一个(可行或不可行)角点,这意味着角点的最大数目为10方程组有m=2个方程和n=4个变量。因此最大数目的角点为到底令哪些点为零才能对应一个特定的角点?解空间(x1,x2,s1,s2)最优点(1,2,0,0)ABCDEF(0,0,4,5)(0,2.5,1.5,0)(2,0,0,3)(5,0,-6,0)(0,4,0,-3)11非基(零)变量基变量基本解相应的角点可行否?目标值Z(x1,x2)(s1,s2)(4,5)A是0(x1,s1)(x2,s2)(4,-3)F否-(x1,s2)(x2,s1)(2.5,1.5)B是7.5(x2,s1)(x
7、1,s2)(2,3)D是4(x2,s2)(x1,s1)(5,-6)E否-(s1,s2)(x1,x2)(1,2)C是8(最优点)可以看到,当问题的大小增加后(即m与n变大),枚举所有角点的过程包含巨量的计算,如m=10和n=20,必须求解184756个1010阶的方程。而在很多实际的问题中,很多是有成百上千的变量和约束的问题。123.2 单纯形方法3.3.1 单纯形方法的迭代本质ABCDEF最优点(x1=1,x2=2)正常情况下,单纯形从原点(A点)开始,此时Z=0,能否在当前零值的基础上,通过增加非基变量x1和x2来增加Z值?图形显示,增加x1和x2将增加Z。单纯形方法每次要求增加一个变量,且
8、选择使得Z有最大改善率的那个变量。因此选择增加x2具有最大改善率,因此增加x2直到角点B,在点B,再增加x1的值,达到改进的角点C,他是最优点。因此单纯形方法的路径是沿着ABC。沿着路径的每个角点与一步迭代是对应的,单纯形方法是沿着解空间的边缘移动,不能抄近路,直接AC13ABCDEF最优点(1,2,0,0)(0,2.5,1.5,0)(2,0,0,3)x1x2s1s2A0045B02.51.50C1200D2003(0,0,4,5)单纯形方法的本质就是换基!角点基变量零变量As1,s2x1,x2Bs1,x2x1,s2Cx1,x2s1,s214相应的角点基变量非基(零)变量A(s1,s2)(x1
9、,x2)B(x2,s1)(x1,s2)C(x1,x2)(s1,s2)可以看到,在基变量和非基变量中的变化模式随着解沿着路径ABC的移动而改变。AB,在A处的非基变量x2变成B处的基变量,并且在A处的基变量s2变成在A处的非基变量,称X2为进基变量,s2为离基变量,类似地,在点B,x1进基,s1离基,因此到了C点15Reddy Mikks模型是Max Z=5x1+4x2St 6x1+4x224 (原料M1)x1+2x26 (原料M1)-x1+x21 (市场限制)x2 2 (需求限制)x1,x20163.3.2 单纯形算法的计算细节基Zx1x2s1s2s3s4解Z1-5-400000Z 行s106
10、4100024s1 行s201201006s2 行s30-1100101s3 行s400100012s4 行初始解是最优解吗?目标函数表明可以增加x1或x2来改进这个解,选择具有最正的系数的变量选择具有最正的系数的变量x1为进基为进基变量变量,这个等价于将目标函数中最负系数的变量作为进基变量。最优性条件最优性条件,该条件确定进基变量单纯形迭代开始于原点(x2,x2)=(0,0),因此,在初始点处的非基(零)变量:(x1,x2),在初始点处的基变量:(s1,s2,s3,s4)即 Z=0,s1=24,s2=6,s3=1,s4=217基进基x1解比值(或截距)s1624x1=24/6=4 最小值s2
11、16x1=6/1=6s3-11x1=1/-1=-1(不考虑)s402x1=2/0=(不考虑)结论:x1进基,s1离基 从单纯形表中确定离基变量的方法是,计算方程的右端项(解列)与相应的在进基变量x1下方的约束系数的非负比可行性规则可行性规则最小非负比自动识别当前基变量s1作为离基变量,并指定进基变量x1的新值为418abcd-1461234561235s1=0s2=0s3=0s4=01/-1=-124/6=46/1=6ABC在点B处的非基(零)变量:(s1,x2)在点B处的基变量:(x1,s2,s3,s4)19进基变量和离基变量如何进基变量和离基变量如何“交换交换”?进基基Zx1x2s1s2s
12、3s4解Z1-5-400000离基s1064100024枢轴行s201201006s30-1100101s400100012枢轴行一些概念一些概念20基于高斯基于高斯-乔丹行操作来计算新的基本解乔丹行操作来计算新的基本解1.枢轴行 a.在基列中,以进基变量替换离基变量 b.新的枢轴行=当前枢轴行枢轴元素2.其他所有行,包括Z行 新的行=当前行-当前枢轴列的系数新的枢轴列将该方法应用到上表将该方法应用到上表1.在基列中,以x1替换s1 新的x1行=当前s1行6=(0 6 4 1 0 0 0 24)/6=(0 1 2/3 1/6 0 0 0 4)2.新的Z行=当前Z行-(-5)新的x1行=(1-5
13、-4 0 0 0 0 0)-(-5)(0 1 2/3 1/6 0 0 0 4)=(1 0-2/3 5/6 0 0 0 20)3.新的s2行=当前s2行-(1)新的x1行=(0 1 2 0 1 0 0 6)-(1)(0 1 2/3 1/6 0 0 0 4)=(0 0 4/3-1/6 1 0 0 2)4.新的s3行=当前s3行-(-1)新的x1行=(0-1 1 0 0 1 0 1)-(-1)(0 1 2/3 1/6 0 0 0 4)=(0 0 5/3 1/6 0 1 0 5)5.新的s4行=当前s4行-(0)新的x1行=(0 0 1 0 0 0 1 2)-(0)(0 1 2/3 1/6 0 0 0
14、 4)=(0 0 1 0 0 0 1 2)21新的基本解是(x1,s2,s3,s4),因此新的单纯形表为进基基Zx1x2s1s2s3s4解Z10-2/35/600020s1012/31/60104离基s2004/3-1/61002s3005/31/60105s400100012新的基本解是(x1,s2,s3,s4)=(4 2 5 2),而Z=20与下面的公式计算结果一致新的Z=原来的Z+新的x1的值 它的目标系数=0+4 5=2022基进基x2解比值x12/34X2=4/(2/3)=6s24/32X2=2/(4/3)=1.5 最小值s35/35X2=5/(5/3)=3s412X2=2/1=2在
15、前表中,最优性条件最优性条件表明,x2是进基变量,由可行性条件可行性条件可得下表因此,s2离开基本解,并且x2的新值是1.5,相应增加的Z值是2/3x2=2/31.5=1,它产生新的Z=20+1=21在基列中,用进基变量x2替换s2,应用高斯-乔丹行运算,有:1.新的枢轴行x2行=当前s2行4/3;2.新的Z行=当前Z行-(-2/3)新的x2行;3.新的x1行=当前x1行-(2/3)新的x2行;4.新的s3行=当前s3行-(5/3)新的x2行;5.新的s4行=当前s4行-(1)新的x2行;23这些计算产生新的单纯形表为基Zx1x2s1s2s3s4解Z1003/41/20021x10101/4-
16、1/2003x2001-1/83/4003/2s30003/8-5/4105/2s40001/8-3/4011/2基于最优性条件,Z行中相应于非基变量s1和s2的系数没有一个是负的,因此最后的单纯形表是最优的决策变量最优值建议x13日生产 3 吨外墙涂料x23/2日生产 1.5 吨内墙涂料Z21利润2.1万美元24资源松弛变量的值状况原料M1s1=0匮乏原料M2s2=0匮乏市场限制s3=5/2充裕需求限制s4=1/2充裕单纯形的计算结果还给出了资源的使用情况:如果松弛变量为零,表明资源全部用完,该资源是匮乏的如果松弛变量为正,表明资源尚有余存,该资源是充裕的25练习Max z=2x1+x2St
17、 5x215 6x1+2x224 x1+x25 x1,x2 0 结果:x1=7/2x2=3/2s1=15/2s2=0s3=0z=17/2263.3.3 单纯形方法的总结最优性条件最优性条件 在极大化(极小化)问题中,进基变量是Z行中具有最负(最正)系数的非基变量。如有多个可任选其一。当非基变量的所有Z行系数是非负的(非正的)时,迭代达到最优可行性条件可行性条件 对于极大化(极小化)问题,离基变量都是具有最小非负比(带有严格的正分母)的基变量,如有多个可任选其一高斯高斯-乔丹行运算乔丹行运算 (1)枢轴行 a.在基列中,用进基变量替换离基变量 b.新的枢轴行=当前枢轴行枢轴元素 (2)包括 Z
18、的所有其他行 新行=当前行枢轴列系数新的枢轴行决定进基变量!决定离基变量!27单纯形方法总结第1步 确定初始基本可行解第2步 用最优性条件选择一个进基变量,如果没有进基变量,停止计算;上一个解就是最优的,否则转第3步。第3步 用可行性条件选择离基变量。第4步 用适当的高斯-乔丹行运算确定新的基本解。转到第2步283.4 人工初始解所有约束是()并且有非负右端的线性规划方便地提供了全部为松弛变量的初始基本可行解。Max&Min Z=5x1+4x2St 6x1+4x224 x1+2x26 -x1+x21 x2 2 x1,x2029Min z=4x1+x2s.t.3x1+x2=3 4x1+3x26
19、x1+2x24 x1,x20Min z=4x1+x2s.t.3x1+x2 =3 4x1+3x2-x3 =6 x1+2x2 +x4 =4 x1,x2,x3,x4 0松弛变量剩余变量u需要增加人工变量以扮演松弛变量的角色,然后在迭代中加以适当处理。带有(=)和()的约束的线性规划求解该如何求解?303.4.1 大M方法 大M方法以等式形式的线性规划开始。如果第 i 个约束没有松弛变量,则将人工变量 Ri 加入到初始解中,类似于所有松弛变量为基本解的情况。然后在目标函数中对他们指定非常大的惩罚,强迫人工变量在最优解中等于零。如果问题有可行解,该种情况总会发生。惩罚规则惩罚规则已知M为一个充分大的数,
20、人工变量的目标系数表示为适当的惩罚,如果31Min z=4x1+x2s.t.3x1+x2=3 4x1+3x26 x1+2x24 x1,x20Min z=4x1+x2s.t.3x1+x2 =3 4x1+3x2-x3 =6 x1+2x2 +x4 =4 x1,x2,x3,x4 0松弛变量剩余变量Min z=4x1+x2+MR1+MR2s.t.3x1+x2 +R1 =3 4x1+3x2-x3 +R2=6 x1+2x2 +x4 =4 x1,x2,x3,x4,R1,R2 0初始解(R1,R2,x4)=(3,6,4)32M可以不采用代数运算的传统,并用数值代替,以简化表达.M值应该多大?依赖于初始线性规划的
21、数据:uM相对于初始目标系数必须充分大,使得M能起到惩罚作用,迫使人工变量在最优值为零。u也不希望M太大,否则在计算机求解中,非常大的数与非常小的数值在一起运算时,可能产生严重的四舍五入。本例似乎取M=10033基x1x2x3R1R2x4解z-4-10-100-10000R13101003R243-10106x41200014在进行单纯形方法之前,需要将z 行与表的其余部分保持一致!在表中,x1=x2=x3=0,初始基本解(R1,R2,x4)=(3,6,4),z=100*3+100*6=900(而不是z行右端当前显示的0!),这种不一致是由于R1,R2在目标函数中有非零系数(-100,-100
22、)造成的!(在所有松弛变量为初始解中,Z行的松弛变量系数为0)34为此,在z行选用适当的约束方程替换出R1和R2,注意到橙色部分,用100乘以R1和R2行的每一行,求和之后加到z行,替换出R1和R2,即基x1x2x3R1R2x4解z-4-10-100-10000R13101003R243-10106x41200014基x1x2x3R1R2x4解z696399-100000900R13101003R243-10106x41200014X1为进基!最正系数!新的Z行=旧的z行+(100R1+100R2行)35基x1x2x3R1R2x4解z696399-100000900R13101003R243-
23、10106x41200014基x1解最小比R1333/3=1(最小值)R2466/4=1.5x4144/1=4可行性条件,选择R1为离基变量!36基x1x2x3R1R2x4解z0167-100-23200204x111/301/3001R205/3-1-4/3102x405/30-1/3013采用高斯-乔丹运算可以计算出如下最后的单纯形显示x2和R2分别是进基变量与离基变量。连续采用单纯形计算,再经过两步的迭代即可达到最优最优解为 x1=2/5,x2=9/5,z=17/5;R1=0,R2=0,x3=1,x4=0如果线性规划没有可行解,在最终的单纯形迭代中,使用惩罚项将不能迫使人工变量取值为零,
24、此时至少有一个人工变量取正值。373.4.2 两阶段法大M方法中惩罚值的使用,可能会导致大的求解误差。两阶段法分两个阶段来求解线性规划:阶段一试图求一个初始基本可行解,找到一个解以后,调用阶段二求解原问题。38阶段 I 将问题变成等式约束形式,并在约束中增加必要的人工变量(如大M方法一样),以保证找到一个初始基本解。接下来,求相应方程的基本解,无论线性规划是求极大化还是极小化,总是使得人工变量之和达到最小。如果其和的最小值为正,则线性规划问题无可行解(正的人工变量约束不满足)。否则进行阶段II。阶段II 使用阶段I得到的可行解作为原始问题的初始基本可行解。两阶段法的概况39Min z=4x1+
25、x2s.t.3x1+x2=3 4x1+3x26 x1+2x24 x1,x20Min r=R1+R2s.t.3x1+x2+R1 =3 4x1+3x2-x3+R2=6 x1+2x2 +x4 =4 x1,x2,x3,x4,R1,R2 0基x1x2x3R1R2x4解r000-1-100R13101003R243-10106x41200014阶段I40基x1x2x3R1R2x4解r74-10009R13101003R243-10106x41200014类似于大M方法中一样,在r行中的R1和R2用以下计算来替换:新的 r 行=旧的r行+(1R1行+1R2行)利用上面的单纯形表格为基础,利用标准的单纯形方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运筹学 导论 第八 单纯 敏感性 分析 107 PPT
限制150内