运筹学中求检验数的求法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三节求检验数的的求法
由于表上作业法也是一个迭代算法,何时终止迭代,总得有一个判定条件,这个判定条件类似于单纯法中的检验数,只是由于运输问题的特殊性,求检验数的方法与单纯形法有所不同,下面给出求检验数的两种方法。
一、闭回路法
1.定理:运输问题的表上作业法中,任一个非基变量都能和若干个基变量构成唯一的闭回路。
如图示:
顶点(1)(2)
非基变量基变量
(3)(4)
基变量基变量
(6)(5)
基变量基变量
非基变量的检验数就等于闭回路上所有奇数顶点(顶点(1)、(3)、(5))对应的单位运价之和减去所有偶数顶点(顶点(2)(4)、(6))对应的单位运价之和。
下面通过上例给出说明
要计算非基变量x11的检验数,按照定理非基变量x11 与基变量 x13 、x23 、 x21组成唯一的闭回路。闭回路的奇数顶点对应的单位运价之和为3+2,偶数顶点对应的单位运价之和为3+1,所以x11的检验数为5-4=1。
利用闭回路法求检验数可以作出如下的经济解释。
+1 -1 行平衡
3 3
-1 +1 行平衡
1 2
列平衡列平衡
就是把运量给x11 处分配一个单位,看看会对目标函数值带来什么影响(增加还是减少)。由于表上作业法中表的每行上分配的运量之和是一个常数(等于对应产地的产量),所以若给x11(分配前x11=0,
是非基变量)分配了1个单位的运量,将增加1×3个单位的运费;同时为保持产量平衡,对应的x13 处就要减少一个单位的运量,这样将减少1×3个单位的运费;与此同时,由于表上作业法中表的每列上分配的运量之和是一个常数(等于对应销地的销量)所以当x13减少了1个单位的运量时,为保持销量平衡x23将增加1个单位的运量,这样将增加1×2个单位的运费;同理可知对应的x21 处就要减少一个单位的运量,将减少1×1个单位的运费。
综上所述,目标函数值增加了3+2,同时又减少了3+1 。所以目标函数总的变化量为:(3+2) -(3+1)=1。这就是说,每给x11分配一个单位的运量,目标函数(总运费)将增加一个单位。因此在表上作业法中对检验数大于零的地方不再分配运量,若所有非基变量的检验数全大于零,任何形式的运量调整只能使目标函数值增加,所以算法终止,此时的解就是最优解。请大家参考上面的例子仔细想一想,若非基变量的检验数小于零,是否应该给该处分配运量把非基变量调整成基变量?答案是肯定的,为什么?通过上述的闭回路法,可以把所有非基变量的检验数求出来。
从运算上说,都是加减运算,难就难在寻找闭回路,但是只要多练习,还是比较容易的。
二、位势法
用闭回路法求检验数,需要对每一个非基变量(表上画“×”的地方)寻找闭回路,然后再去求检验数,当一个运输问题的产销点很多时,这种方法的计算工作量是很大的,不如位势法简单,下面通过实例简单介绍一下位势法。
简单的说,位势法就是通过与基变量的对应的单位运价把各行、各列对应的位势(可以先设成未知数)求出来,再利用它求出非基变量检验数的一种方法,这种方法的合理性来自于线性规划问题的对偶理论(有兴趣的同学可以参考文献(1)86页的内容)。
在线性规划问题的对偶理论和单纯型法,在基变量对应的检验数为零,所以有下面的方程组u1 + v3 =3
u1 + v4 =10
u2 + v1 =1
u2 + v3 =2
u3 + v2 =4
u3 + v4 =5
由于是7个未知数6个方程,所以必须给某一变量初始值。一般是令u1=0,可以解出其它的位势如表上所示。
根据定理(课本上的定理5)非基变量x ij的检验数