接下来我们学习表上作业法的最后一步:改进,以及表上作业法中一些特殊的情况,还有关于产销不平衡问题的讨论。
表上作业法的求解工作在运输表上进行,运输问题解的每一个分量,都唯一对应其在运输表中的一个格子。它是一种迭代法,迭代步骤为:
先按某种规则找出一个初始解(初始调运方案),得出运输问题的一个基本可行解后,就可将基变量的值 x i j x_{ij} xij 填入运输表相应的格子内,并将这种格子称为填有数字格(可以含 0 ),非基变量对应格不填,称为空格。
接着对现有的解作最优性判别,若不是最优解,就在运输表上对其进行改进,得出一个新解;再判别,再改进;直至得到运输问题的最优解为止。
闭回路调整法是改进当前基本可行解的方法,当表中空格处出现负检验数时,表明未得到最优解。
若有两个和两个以上的检验数,一般选其中最小的,以它对应的空格为调入格,即以它对应的非基变量为换入变量。在以此非基变量为顶点的闭回路中,选取偶数次顶点中最小的值对应的基变量为换出变量,此基变量的值作为调整量。
可以类比单纯形法中换出变量的确定。
闭回路中,奇数次顶点的值加上调整量,偶数次顶点的值减去调整量,得到新运输方案。
再次利用闭回路法或位势法,求各空格的检验数,若仍有负的检验数,重复上述步骤,直至所有检验数为非负。
产销平衡问题必存在最优解,那么有唯一解还是有无穷多最优解依据线性规划单纯形法最优解判别标准,即某个非基变量(空格)的检验数为 0 时,该问题有无穷多最优解。
在单纯形法确定换出变量时,有时存在两个或以上相同的最小比值 θ \theta θ ,这样在下一次迭代中就有一个或多个基变量的取值为 0 ,出现退化解。
在运输问题中,主要有以下两种情况:
(1)当确定初始解的各供求关系时,在 ( i , j ) (i,j) (i,j) 格填入数字后,出现 A i A_i Ai 处的余量等于 B j B_j Bj 处的需量,这时在产销平衡表上填一个数,而在单位运价表上相应地要划去一行和一列。为了使得最后有 ( m + n − 1 ) (m+n-1) (m+n−1) 个数字格,需要添加一个 “0” ,它的位置可能在对应同时划去的那一行或那一列的任一空格处。
(2)在用闭回路法调整时,在闭回路偶数次顶点上出现两个和两个以上相等的最小值。这时只能选择一个作为调入格,而经过调整后,得到退化解。这时有一个数字格则必须填入一个 0 ,表明它是基变量。当出现退化解后,可能在某闭回路偶数次顶点上有取值为 0 的数字格,应取调整量为 0 。
之前所介绍了表上作业法是以产销平衡为前提的,但是实际问题中,产销往往是不平衡的,因此需要把产销不平衡问题转化为产销平衡问题。
总产量大于总销量时,约束条件不再全是等式。关于销量仍需为等式,但是关于产量的约束为 " ≤ " "\leq" "≤" ,其数学模型如下:
在前 m m m 个不等式中加入松弛变量,则有 ∑ j = 1 n x i j + x i , n + 1 = a i ( i = 1 , 2 , … , m ) \sum_{j=1}^nx_{ij}+x_{i,n+1}=a_i(i=1,2,\dots,m) j=1∑nxij+xi,n+1=ai(i=1,2,…,m) 接着,虚拟一个销售地 B n + 1 B_{n+1} Bn+1 ,其需求量为 b n + 1 = ∑ i = 1 m a i − ∑ j = 1 n b j b_{n+1}=\sum_{i=1}^ma_i-\sum_{j=1}^nb_j bn+1=i=1∑mai−j=1∑nbj 于是,松弛变量 x i , n + 1 x_{i,n+1} xi,n+1 可以看作是产地 A i A_i Ai 运往销售地 B n + 1 B_{n+1} Bn+1 的物品数量,相应的运费取 0 。这样一来,就转化为了一个产销平衡的运输问题
此时关于产量约束取不等式,其数学模型如下:
可假设一个虚拟产地 A m + 1 A_{m+1} Am+1 ,其产量为总销量和总产量之差,到各个销地的运费取 0 ,即可化为一个产销平衡的运输问题。
若求解后得到 x m + 1 , j = 0 x_{m+1,j}=0 xm+1,j=0 ,表明销售地 B j B_j Bj 需求满足;若 x m + 1 , j > 0 x_{m+1,j}>0 xm+1,j>0 ,表明销售地 B j B_j Bj 需求未得到满足,需要自行解决,解决的数量为 x m + 1 , j . x_{m+1,j}. xm+1,j.
有时候可能出现一个销售地的需求有好几部分,比如最低需求是 a a a ,最高需求是 b b b 等等。实际上可以将这个销售地看作两个地区,第一个地区的需求为 a a a ,第二个地区的需求为 b − a . b-a. b−a.
但此时,虚拟产地到第一个地区的运费应设为 M M M(无限大),因为其约束方程为 " ≥ " "\geq" "≥" 。
完完整整的表上作业法做下来可不轻松,比较费时间,重要的应该还是其思想,以及和之前的单纯形法互通的地方。