AE  >> Vol. 8 No. 4 (July 2018)

作者:  

王彩芳:上海海事大学,文理学院,上海;
王攸妙:上海海事大学,交通运输学院,上海

关键词:
运输问题检验数位势Lagrange乘子Karush-Kuhn-Tucker条件Transportation Problem Test Number Potential Lagrange Multiplier Karush-Kuhn-Tucker Condition

摘要:

产销平衡的运输问题是《运筹学》课程的重要内容,可采用表上作业法进行求解。在课堂讲解完基本方法后,提出三个问题供学生思考与讨论:1) 利用位势法求解非基变量的检验数时,位势不唯一,为何检验数是唯一的?2) 如果目标函数是一个极大化问题,相应的表上作业法该如何修改?3) 如果用Lagrange乘子法对产销平衡的运输问题进行求解,则Lagrange乘子与位势之间的关系如何?这些问题的讨论,使学生学会思考,融会贯通。

Transportation problem with balanced production and marketing is an important part of opera-tions research course. This kind of problem can be solved by table dispatching method on a transportation simplex tableau. After explaining the basic methods in class, three questions are put forward for students to think and discuss. 1) When using the potential method to solve the test number of nonbasic variables, the potentials are not unique. Why is the test number unique? 2) How to modify the table dispatching method on the transportation simplex tableau when we want to maximize the objective function of transportation problem? 3) If we use the Lagrange multiplier method to solve this problem, what is the relationship between Lagrange multiplier and potentials? Through the discussion of these problems, students can learn to think and understand.

1. 运输问题回顾

运输问题是运筹学中的一个重要研究对象。为描述与求解方便,可将产销不平衡的运输问题转化为产销平衡的运输问题进行处理。因此,本文仅对产销平衡的运输问题中学生常提出的几个问题作归纳和总结。

一个产销平衡的运输问题可以描述为 [1] [2] 。

模型1.1: A 1 , A 2 , , A m 表示某物资的 m 个产地; B 1 , B 2 , , B n 表示某物质的 n 个销地; a i 表示产地 A i 的产量; b j 表示销地 B j 的销量; c i j 表示把物资从产地 A i 运往销地 B j 的单位运价。假设这是一个产销平衡问题,求一合适的运输方案,使总运输费用最小。

x i j 为从产地 A i 运往销地 B j 的运输量,得到一般运输量问题的模型:

min f = i = 1 m j = 1 n c i j x i j , (1)

s .t . { j = 1 n x i j = a i , i = 1 , 2 , , m . i = 1 m x i j = b j , j = 1 , 2 , , n . x i j 0 , i = 1 , 2 , , m , j = 1 , 2 , , n .

2. 主要问题讨论

2.1. 采用位势法计算检验数

产销平衡的运输问题可以通过一种特殊的单纯形法——表上作业法进行求解。当非基变量的检验数 σ i j 0 时,可确定当前基可行解为最优解。非基变量的检验数 σ i j 可以通过闭回路法或者位势法进行计算。在课程的讲解中,学生经常提出的一个问题是:用位势法计算检验数时,位势是不唯一的,为什么可以用此来计算检验数呢?本文以一个例子来说明:尽管位势不唯一,但是位势法计算得到的检验数和闭回路法计算得到的检验数一定是相同的。

2.1.1. 闭回路与非基变量的检验数

从每一个空格(非基变量)处 x i j = 0 出发一定存在且能找到唯一的闭回路。则图1中非基变量 x i j 的检验数为

Figure 1. Closed loop

图1. 闭回路示意

σ i j = c i j ( c i k c l k + c l s c t s + c t j ) . (2)

2.1.2. 位势法计算检验数

满足方程

u i + v j = c i j , ( i = 1 , 2 , , m ; j = 1 , 2 , , n ) (3)

的解 u i , v j 称为基本可行解对应的位势。其中 c i j 为基变量 x i j 对应的单位运价。考虑到产销平衡的运输问题基变量为 m + n 1 个,故位势方程中包含 m + n 1 个方程, m + n 个变量,因此有1个变量为自由未知量,故位势不是唯一的。但是利用

σ i j = c i j ( u i + v j ) , (4)

计算得到的位势与前面闭回路法得到的位势却是一致的。因为

σ i j = c i j ( u i + v j ) = c i j ( u i + v k v k u l + u l + v s v s u u + u u + v j ) = c i j [ ( u i + v k ) ( u l + v k ) + ( u l + v s ) ( u t + v s ) + ( u t + v j ) ] = c i j ( c i k c l k + c l s c t s + c t j ) . (5)

2.2. 极大化问题与表上作业法

在实际的运输问题中,目标函数可以为求利润最大或营业额最大等问题。其数学模型为

max f = i = 1 m j = 1 n c i j x i j , (6)

s .t . { j = 1 n x i j = a i , i = 1 , 2 , , m . i = 1 m x i j = b j , j = 1 , 2 , , n . x i j 0 , i = 1 , 2 , , m , j = 1 , 2 , , n .

实际求解时,将极大化问题转化为极小化问题。设常数M满足 M max c i j 将目标函数更改为

min z = i = 1 m j = 1 n ( M c i j ) x i j = i = 1 m j = 1 n ( c i j ) x i j + M i = 1 m a i . (7)

M c i j 0 作为极小化问题的单位运价,用原有的表上作业法求出最优解。

此外,亦可以直接采用表上作业法对极大化问题进行求解,具体的求解步骤为:

1) 初始化:采用最大元素法或其他方法给出初始可行解;

2) 判断当前可行解是否是最优解;采用闭回路法或是位势法对表上空格处的检验数,当所有空格处的检验数

σ i j = c i j C B B 1 P i j 0

时,当前基可行解为最优解。

3) 更新基变量与基解。

a) 选出 σ r q > 0 中的最大值

σ i j = max r , q { σ r q | σ r q > 0 } .

x i j 为入基变量。

b) 在运输表上找一条包含 x i j 为顶点的闭回路,这条闭回路上的其他顶点皆为基变量(格)。

c) 计算

θ = min { x r q | x r q } = x l s θ .

确定 x l s 为出基变量,所在格子调整为空格。

在闭回路上各个奇点变量值均加上 θ ,各个偶点格均减去 θ ,而不在闭回路上的各个变量值不变,这样便完成了一次迭代,并保证目标函数上升。

图1中的闭回路为例,迭代前目标函数

z old = x r q c r q x r q + [ c i k x i k + c l k x l k + c l s x l s + c u s x u s + c u j x u j ] .

迭代后的目标函数

z new = x r q c r q x r q + [ c i k ( x i k θ ) + c l k ( x l k θ ) + c l s ( x l s θ ) + c u s ( x u s + θ ) + c u j ( x u j θ ) + c i j θ ] = x r q c r q x r q + [ c i k x i k + c l k x l k + c l s x l s + c u s x u s + c u j x u j ] + ( c i j c i k + c l k c l s + c t s c t j ) θ = z old + σ i j θ z old .

2.3. 表上作业法与Karush-Kuhn-Tucker条件

本文中的运输问题本质上为一个带约束的优化问题,而针对优化问题,学生在“线性规划”,“最优化问题” [3] [4] 等课程中均已接触过相关问题的求解方法,也明白:Karush-Kuhn-Tucker条件是带不等式约束的非线性优化问题取得最优解的必要条件 [5] 。如果考虑用此方法对产销平衡的运输问题进行求解,会得到什么样的结果?我们用以下定理说明Karush-Kuhn-Tucker乘子与运输问题中位势之间的关系。

定理2.1设

L ( X ; λ , μ , d ) = i = 1 m j = 1 n c i j x i j + i = 1 m λ i ( j = 1 n x i j a i ) + j = 1 n μ j ( i = 1 m x i j b j ) + i = 1 m j = 1 n d i j ( x i j ) . (8)

为对模型1.1中的最优化问题对应的Lagrange乘子函数,则运输问题(1)中

1) 等式约束对应的Lagrange乘子为位势的相反数: λ i = u i μ j = v j

2) 非负性约束对应的Lagrange乘子为非基变量的检验数: d i j = c i j + λ i + μ j = c i j ( u i + v j ) .

证明:若 x i j * ( i = 1 , 2 , , m , j = 1 , 2 , , n ) 为运输问题1.1的最优解,则 x i j * 满足对应的Karush-Kuhn-Tucker 条件。

平稳性条件: L x i j = c i j + λ i + μ j d i j = 0 ,

原始可行性: L μ j = i = 1 m x i j * b j = 0 ,

L λ i = j = 1 n x i j * a i = 0 ,

x i j 0 ,

对偶可行性: d i j 0 ,

互补松弛性: d i j ( x i j * ) = 0.

为后续描述方便,我们首先考虑运输问题1.1的对偶问题

max w = i = 1 m a i u i + j = 1 n b j v j , (9)

s .t . { u i + v j c i j , u i , v j .

由平稳性条件和对偶可行性条件

( λ i ) + ( μ j ) = c i j d i j c i j . (10)

λ i μ j 为对偶问题1.1的可行解。

另一方面,由平稳性条件和互补松弛性条件知

( λ i μ j ) x i j * = ( c i j d i j ) x i j * = c i j x i j * . (11)

从而有

i = 1 m j = 1 n ( λ i μ j ) x i j * = i = 1 m j = 1 n c i j x i j * , (12)

i = 1 m ( λ i ) j = 1 n x i j * + j = 1 n ( μ j ) i = 1 m x i j * = i = 1 m j = 1 n c i j x i j * . (13)

结合原始可行性条件,我们有

i = 1 m a i ( λ i ) + j = 1 n b j ( μ j ) = i = 1 m j = 1 n c i j x i j * . (14)

由此,满足Karush-Kuhn-Tucker条件的 x i j * λ i μ j 分别是原问题(1)和对偶问题(9)的可行解,且满足目标函数相等,见等式(14)。则它们分别为原问题和对偶问题的最优解。进一步,结合(10),我们有:

x i j 为基变量时, d i j = 0 ,则 λ i μ j = c i j ,根据位势的定义(3), λ i μ j 为位势;

x i j 为非基变量时, d i j = c i j + λ i + μ j 恰为检验数。

3. 总结

在课堂讲解运输问题的基本问题后,分别从举例,方法推广,与其他课程相结合等方面设置思考问题,鼓励学生能够对课程内容做进一步探讨,并将研究结果整理成稿。这样的课堂设置,使学生学会思考,融会贯通,也提高了学生对数学类课程的学习热情。

文章引用:
王彩芳, 王攸妙. 关于运输问题的几个注记[J]. 教育进展, 2018, 8(4): 364-369. https://doi.org/10.12677/AE.2018.84055

参考文献

[1] 运筹学教材编写组. 运筹学[M]. 第四版. 北京: 清华大学出版社, 2012.
[2] 刁在筠, 等. 运筹学[M]. 第三版. 北京: 高等教育出版社, 2007.
[3] 施光燕, 钱伟懿, 庞丽萍. 最优化算法[M]. 第二版. 北京: 高等教育出版社, 2007.
[4] 朱德通. 最优化模型与实验[M]. 上海: 同济大学出版社, 2003.
[5] Nocedal, J., Wright, S.J., Mikosch, T.V., Resnick, S.I. and Robinson, S.M., eds. (2006) Numerical Optimization. Springer Series in Operations Research and Financial Engineering. 2nd Edition, Springer, New York, NY, USA.