韩伯棠管理运筹学(第三版)-第六章-单纯形法的灵敏度分析与对偶ppt课件.ppt
《韩伯棠管理运筹学(第三版)-第六章-单纯形法的灵敏度分析与对偶ppt课件.ppt》由会员分享,可在线阅读,更多相关《韩伯棠管理运筹学(第三版)-第六章-单纯形法的灵敏度分析与对偶ppt课件.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章 单纯形法的灵敏度分析与对偶 6.1、单纯形表的灵敏度分析 6.2、线性规划的对偶问题 6.3、对偶单纯形法 1单纯形表的灵敏度分析 一、目标函数中变量系数ck 灵敏度分析 1在最终的单纯形表里,xk 是非基变量。 在这种情况下,由于约束方程系数增广矩阵(方程AX=b 系数矩阵为A,它的增广矩阵为(A b) )在迭代中只是其本身的行的初等变换与 ck 没有任何关系,所以当ck 变成ck + ck 时,在最终单纯形表中其系数的增广矩阵不变,又因为xk 是非基变量,所以基变量的目标函数的系数不变,即cB不变,可知z K也不变,只是ck 变成了ck + ck 。这时K= ckzk 就变成了ck
2、+ck zk=k+ck 。要使得原来的最优解仍为最优解,只要 K+ck 0即可,也就是Ck的增量ck-K 即可。迭代迭代次数次数基基变变量量cB x1 x2 s1 s2 s3 b比值比值 bi/ai2 50 100 0 0 0 0 s1 s2 s3 0 0 0 1 1 1 0 0 2 1 0 1 0 0 1 0 0 1 300 400 250 zj j=cj-zj 0 0 0 0 0z=0 50 100 0 0 0 xk 是非基变量ck 是系数2在最终的单纯形表中,xk是基变量。 当ck 变成ck + ck时,同上一样,可知在最终的单纯形表中的约束方程的增广矩阵不变,但是基变量在目标函数中的系
3、数cB变了,则zj (j=1,2,n)一般也变了,不妨设cB=(cB1,cB2, cK, ,cBm) , 当cB 变成 (cB1,cB2,( cK+ck) , ,cBm) , 则:kjkkjkjkjkjjjjkjkkjkmjBmkjKjBjBmjBmkjkKjBjBTmjkjjjBmkKBBjTmjkjjjBmKBBjacaccacczcacacacacacacacaccacacaaaaccccczaaaaccccz- -)z(-z.z . .)(. ),.,.,)(),.,(,.,(:),.,.,)(,.,.,(jjjj2211221121212121这样检验数变成了 这也就是说,要使最优解
4、不变,对于除了akk 外的所有的大于零的akj,ck的增量ck 都要小于等于 j / akj , 对于所有小于零的akj ,ck都要大于等于j / akj 。我们用数学式表示使得最优解不变,c 的变化范围为:. 0, 1, 0,kj ; 0a,a, 0a ; 0a,a, 0a , , 0 :, 0,kkjkjkjkjkjkjkkkkkKKkkkkkkkjjkjjkjkjkkjkjjaxaczcczccccacackj故知知是基变量因为时而当这里当这里当也就是时只要当要使最优解不变0min0maxkjkjjkkjkjjaacaack 目标函数: max z=50 x1+100 x2, 约束条件:
5、 x1+x2300, 2x1+x2400, x2250, x10, x20. 此题在第五章里,已得到最终单纯形表为:迭代次数基变量cB x1 x2 s1 s2 s3 b 50 100 0 0 0 2 x1 s2 x2 50 0 100 1 0 1 0 -1 0 0 -2 1 1 0 1 0 0 1 50 50250 zj j=cj-zj 50 100 50 0 50 0 0 -50 0 -50z=27500 先对非基变量先对非基变量s1的目标函数的系数的目标函数的系数c3进行灵敏度分进行灵敏度分析。这里析。这里3=-50,所以当,所以当c3 的增量的增量c3-(-50)即即c350时,时,最优
6、解不变,也就是说最优解不变,也就是说s1的目标函数的系数的目标函数的系数c3=c3+c30+50=50时,最优解不变。时,最优解不变。 再对基变量再对基变量x1的目标函数的系数的目标函数的系数c1进行灵敏度分析。进行灵敏度分析。 也可以按以下方法来计算出使最优解不变的c1的变化范围。 .1000,50505050:,5050,50)150max(max0max:,5050min0min,50150, 0, 0,111111115511111331513111514131211的最优解不变即有的目标函数也就是时这样可知当同样有有可知外有知道除了中在cccccxcaaaaaaaaaaaaaajjj
7、jjj在最终的单纯形表中,用在最终的单纯形表中,用c1代替原来的代替原来的c1=50计算得表如下:计算得表如下: 从30,得到-c10,即c10,并且从50, 得到c1-1000,c1100。 从上两式可知:当0c1100 时最优解不变,如果采取了不属于这范围的c1,必存在某个检验数j0,我们可以继续用单纯形表进行迭代,以求出新的最优解。迭代次数基变量cB x1 x2 s1 s2 s3 b c1 100 0 0 0 2 x1 s2 x2 c1 0 100 1 0 1 0 -1 0 0 -2 1 1 0 1 0 0 1 50 50250 zj j=cj-zj c1 100 c1 0 -c1+10
8、0 0 0 - c1 0 c1- 100 用最终单纯形表对cj 进行灵敏度分析,求得使最优解保持不变的c1, c3变化范围与我们在第三章里用计算机求解所得的结果是一样,其实管理运筹学软件就是按这种方法进行编程,对cj 进行灵敏度分析的。 二、约束方程右边常数灵敏度分析 我们在第三章对线性规划问题的计算机求解中,也曾经对约束方程右边常数bj 进行了灵敏度分析,根据计算机输出的表格,可知道,约束方程右边常数在什么范围内变化时,其对偶价格不变,那么在用单纯形表对bj 进行灵敏度分析时,首先应从单纯形表中找到有关对偶价格的信息。 在第三章里我们给了对偶价格这样的定义:变量或人工变量)的zj 有关。下面
9、我们仍以第二章例1为例在其最终单纯形表上找出其约束条件的对偶价格。 此题的最终单纯形表如下,这是一个求目标函数最大值的问题此题的最终单纯形表如下,这是一个求目标函数最大值的问题。 从上表可以发现设备台时数的约束方程中的松弛变量s1 的zj 值50正好等于计算机解中设备台数的对偶价格,原料A约束方程中的松弛变量s2 的zj 值0正好等于计算机解中的原料A的对偶价格。同样原料B的约束方程中的松弛变量s3 的zj 值50正好等于计算机解中的原料B的对偶价格。迭代次数基变量cB x1 x2 s1 s2 s3 b 50 100 0 0 0 2 x1 s2 x2 50 0 100 1 0 1 0 -1 0
10、 0 -2 1 1 0 1 0 0 1 50 50250 zj j=cj-zj 50 100 50 0 50 0 0 -50 0 -5027500松弛变量的zj 值是否等于对应的约束条件的对偶价格呢?回答是肯定的。 下面我们来看一看对于非基变量的松弛变量的下面我们来看一看对于非基变量的松弛变量的zj 值是否也正确地给出了与其对应的约束条件的对偶值是否也正确地给出了与其对应的约束条件的对偶价格价格? 迭代次数基变量cB x1 x2 s1 s2 s3 b 50 100 0 0 0 2 x1 s2 x2 50 0 100 1 0 1 0 -1 0 0 -2 1 1 0 1 0 0 1 50 5025
11、0 zj j=cj-zj 50 100 50 0 50 0 0 -50 0 -5027500 对于含有大于等于号的约束条件,为了化成标准型就添上了剩余变量。这时这个约束条件的对偶价格就和这个剩余变量的Zj 有关了。只不过当约束条件右边的常量增加一个单位时,约束条件更严格了。这将给满足约束条件带来些困难。就使最优目标函数值特别“恶化”而不是改进,故这时,约束条件的对偶价格应取Zj 值的相反数-Zj。 对于含有等于号的约束条件,其约束条件的对偶价格就和该约束方程的人工变量有关了。其约束条件的对偶价格就等于此约束方程的人工变量的Zj 值。 下面我们给出一个由最终单纯形表对于不同约束类型的对偶价格的取
12、值表:约束类型约束类型 对偶价格的取值对偶价格的取值 等于这个约束条件对应的松弛变量的等于这个约束条件对应的松弛变量的Zj值值 等于与这个约束条件对应的剩余变量的等于与这个约束条件对应的剩余变量的Zj值的相反数值的相反数-Zj= 等于与这个约束条件对应的人工变量的等于与这个约束条件对应的人工变量的Zj 值值F 从对偶价格的定义,可以知道当对偶价格为正时,它将改进目标函数值。对于求目标函数最大值的线性规划来说改进就是增加其目标函数值,而对求目标函数最小值的线性规划来说改进却是减少其目标函数值。F 当对偶价格为负时,它将“恶化”目标函数值,对求目标函数最大值的线性规划来说恶化就是减少其目标函数值,
13、而对求目标函数最小值的线性规划来说“恶化”却是增加其目标函数值。F 在第三章我们已提及过影子价格,对于求目标函数最大值的线性规划中对偶价格等于影子价格,而对求目标函数最小值的线性规划中影子价格为对偶价格的相反数。 下面我们就来求出bj 的变化范围,在这个范围内变化其对偶价格不变。$ 一般地,由于bj 的变化,资源投入起了变化,最优解是变化的。从这时也可以看出:所谓使其对偶价格不变的bj的变化范围,也就是使其最优解的所有基变量(最优基)不变,且所得的最优解仍然是可行的bj 的变化范围。 下面我们来看一下当某个bk 变成bk =bk+bk时在原来的最终单纯形表中的基不变的条件下,最终单纯形表会有什
14、么变化。 单纯形表的迭代实际上是约束方程的增广矩阵的行的初等变换,bk的变化不会影响系数矩阵的迭代,所以在最终单纯形表的系数矩阵不变,又已知最终单纯形表中的基不变,可知CB不变,这样Zj=CBpTj 也不变,检验数j=Cj-Zj 也不变,唯一带来变化的只是最终单纯形表中的b列,那么bk变化前后的b列到底有什么关系呢? 原来的约束方程组不妨用矩阵表示为Ax=b,通过一些单纯形表的迭代变成以B为基的最终单纯形表,实际上也就是在原来的约束方程组左乘B-1。即B-1AX=B-1b,在初始单纯形表里的系数矩阵中的单位矩阵通过迭代在最终单纯形表里正好就变成了B-1,这里可知: 其实迭代过程也是用矩阵初等变
15、换求B的逆阵B-1的过程。1001121011B 这样在最终单纯形表里系数矩阵就是这样在最终单纯形表里系数矩阵就是B-1A,基变,基变量量(记为记为xB)的解就为的解就为B-1b记在单纯形表的记在单纯形表的b列中。当列中。当bk变成变成bk+bk时,也就是原来初始单纯形表中的时,也就是原来初始单纯形表中的b向量变向量变成了成了b向量,这里向量,这里 这样在最终单纯形表中基变量XB 的解就变成了 x B=B-1(b+ b)=B-1b+B-1b。要使XB 为可行解,只要B-1b+B-1b 0即可,在此不等式中求出的bk 的变化范围,就是使得第k个约束条件的对偶价格不变的bk 的变化范围。bbbbb
16、bbbbbbbbbbkkmkkmk则令,0.0b, 0.0.,.11 mkkkkkkkkmkkkKdbdbdbdbbBdddD. ,. 321121则 在上述的不等式中求出满足所有不等式的bk 的范围,也就确定了bk 的变化范围,bk在此范围内变化使得其对应的约束条件的对偶价格不变。即bk的变化范围是:m)1,2,.,(j . 0. 0. , 0,. . :221121211jkkBjmkkBmkkBkkBBmkkkkkkBmBBBBBdbxdbxdbxdbxxdbdbdbxxxbBxxx即要求每个分量即要使为新的最优解0min0max ikikBikikikBiddxbddxB-1的第K列在
17、最终单纯形表中如何确定? 我们知道初始单纯形表里的系数矩阵中的单位矩阵通过迭代在最终单纯形表里就变成了B-1,B-1的第k列是由初始单纯形表里的系数矩阵中的单位矩阵中的单位列向量ek ,通过迭代在最终单纯形表中就变成了B-1 的第k列。如果第K个的约束方程中有松弛变量,那么这个松弛变量在最终单纯形表上的系数列正好就是B-1的第K列,因为这个松弛变量在初始单纯表上的系数列正好就是单位向量ek 。如果第K个约束方程有剩余变量,那么B-1的第K列正好等于这个剩余变量在最终单纯形表上的系数列的相反数,因为这个剩余变量在初始单纯形表上的系数列正好是单位向量ek 的负向量,如果第K个约束方程只有人工变量,
18、那么B-1第K列正好是这个人工变量在最终单纯形表上的系数列,因为这个人工变量在初始单纯形表上的系数列正好是单位向量ek 。 对b1分析,因为第一个方程中含有松弛变量S1,故松弛变量在最终单纯形表中的系数列 (1, -2,0) T 就是B-1 的第一列。d11=10, d21=-20=-50/1=-50,而min -XB i/di1 dI 1 0,则继续进行迭代以求出新的最优解。 下面仍以第二章例1为例来加以说明。例例 该厂除了生产该厂除了生产、产品外,现试制成一个新产品产品外,现试制成一个新产品,已知,已知生产产品生产产品,每件需要设备,每件需要设备2台时,并消耗台时,并消耗A原料原料0.5公
19、斤,公斤,B原料原料1.5公斤,获利公斤,获利150元,问该厂是否应生产该产品和生产多少元,问该厂是否应生产该产品和生产多少? 解:这是一个增加一个新的变量的问题。可以把它认为是一个改变变 量x3在初始表上的系数列的问题,从(0,0,0)T 变成(2,0.5,1.5)T 。这样在原来的最终表上添上新的一列变量,X3 的一列,把它放在S3 之后的第6列上,显然X3 是非基变量,迭代次数基变量CB x1 x2 s1 s2 s3 x3 b 50 100 0 0 0 150 x1 S2 x2 50 0 100 1 0 1 0 -1 0.5 0 0 -2 1 1 -2 0 1 0 0 1 1.5 50
20、50250 zj j=cj-zj 50 100 50 0 50 175 0 0 -50 0 -50 -25275005 .125 .05 .15 .02100112101 :)5 .1 , 5 .0 , 2(61pB变为在最终表上 这时Z6=500.5+1001.5=175, 6=C6 Z6=150-175=-25。如上表所示,这时新变量的检验数6 小于零,可知原最优解就是新问题的最优解,即该厂还应该生产I产品50件, 产品250件,不生产产品可得最大利润27500元。 :,35125160 ,125105 . 0)100, 0 ,50(Z ,105 . 0125 . 1100112101 :
21、66661613把这些结果填入下表在最终表上的系数列首先求出解zcpBpBxj 显然,由于6 0,可知这不是最优解,要进行迭代,选取X3为入基变量,X1为出基变量。迭代次数基变量CB x1 x2 s1 s2 s3 x3 b比值 50 100 0 0 0 160 2 x1 S2 x2 50 0 100 1 0 1 0 -1 0.5 0 0 -2 1 1 0 0 1 0 0 1 1 50 5025050/0.5250/1 zj j=cj-zj 50 100 50 0 50 125 0 0 -50 0 -50 3527500 可知此规划的最优解x1=0,x2=0,s1=0,s2=0,s3=50,x3
22、=200,此时,最大目标函数为32000元。也就是说,该厂的新的生产计划为不生产、产品,生产产品200件,可获最大利润32000元。迭代次数基变量CB x1 x2 s1 s2 s3 x3 b比值 50 100 0 0 0 160 2 x3 S2 x2 160 0 100 2 0 2 0 -2 1 0 0 -2 1 0 -2 1 -2 0 3 0 100 5015050/1150/3 zj j=cj-zj 120 100 120 0 -20 160 -70 0 -120 0 20 031000X3S3X21600100 2 0 -2 2 0 1 0 0 -2 1 1 0 -2 1 4 -3 0
23、0200500 zj j=cj-zj120 100 80 20 0 160 -70 0 -80 -20 0 032000 2在初始表上的变量Xk的系数列pK改变为pK ,经过迭代后,在最终表上Xk是基变量,在这种情况下原最优解的可行性和最优解都可能遭到破坏,问题变得十分复杂。一般不去修改原最终表,而是重新计算。 在学了灵敏度分析之后,我们来看一看如何从“管理运筹学”软件的计算输出上去识别线性规划问题有惟一解呢,还是具有无穷多组解?从单纯形法上我们知道有无穷多组解的识别方法为是否存在一个非基变量的检验数为零,如果存在,则此线性规划有无穷多组解,如不存在,则此线性规划只有惟一解。 1如果在最终表上
24、检验数为零的非基变量是松弛变量或剩余变量Sk。显然在计算机输出中没有专门松弛变量与剩余变量栏,但是我们仍然从输出中找到它们的信息。首先由于是非基变量,可知在最优解中其值都为零,也就是在计算机输出的约束条件栏里,某一个约束条件的松弛或剩余变量的值为零,又因为这个非基变量的检验数为零,所以这个约束条件的对偶价格为零。反过来说,如果在计算机输出的约束条件栏里有一个约束条件的松弛或剩余变量为零,且其对偶价格也为零,那么我们就可知道有一个非基变量的松弛变量或剩余变量的检验数为零,这个线性规划有无穷多组解。 2如果在最终单纯形表上,检验数为零的非基变量是一般决策变量XK。在对非基变量XK的目标系数CK的灵
25、敏度分析中知道CKK,对任何非基变量Xi 在计算机输出的相差值一栏中就记录了i 的值,它表示只有目标函数系数Ci 的增量改进了i 的值,Xi 才有可能成为基变量而取正值。因为K=0,所以很容易从计算机输出中识别出Xk ,也就是说只要在计算机输出中存在一个取值为零的决策变量并且其相差值也为零,我们就可以确认这个变量就是最终表上检验数为零的非基变量,可知此线性规划有无穷多组解。如果在计算机输出解的信息中不存在上述这两种情况,我们可以断定此线性规划只有惟一最优解。 每一个线性规划问题,都存在每一个与它密切相关的线性规每一个线性规划问题,都存在每一个与它密切相关的线性规划的问题,称其中的任一个为原问题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 韩伯棠 管理 运筹学 第三 第六 单纯 灵敏度 分析 对偶 ppt 课件
限制150内