1. 运输问题回顾
运输问题是运筹学中的一个重要研究对象。为描述与求解方便,可将产销不平衡的运输问题转化为产销平衡的运输问题进行处理。因此,本文仅对产销平衡的运输问题中学生常提出的几个问题作归纳和总结。
一个产销平衡的运输问题可以描述为 [1] [2] 。
模型1.1:
表示某物资的
个产地;
表示某物质的
个销地;
表示产地
的产量;
表示销地
的销量;
表示把物资从产地
运往销地
的单位运价。假设这是一个产销平衡问题,求一合适的运输方案,使总运输费用最小。
设
为从产地
运往销地
的运输量,得到一般运输量问题的模型:
(1)
2. 主要问题讨论
2.1. 采用位势法计算检验数
产销平衡的运输问题可以通过一种特殊的单纯形法——表上作业法进行求解。当非基变量的检验数
时,可确定当前基可行解为最优解。非基变量的检验数
可以通过闭回路法或者位势法进行计算。在课程的讲解中,学生经常提出的一个问题是:用位势法计算检验数时,位势是不唯一的,为什么可以用此来计算检验数呢?本文以一个例子来说明:尽管位势不唯一,但是位势法计算得到的检验数和闭回路法计算得到的检验数一定是相同的。
2.1.1. 闭回路与非基变量的检验数
从每一个空格(非基变量)处
出发一定存在且能找到唯一的闭回路。则图1中非基变量
的检验数为
(2)
2.1.2. 位势法计算检验数
满足方程
(3)
的解
称为基本可行解对应的位势。其中
为基变量
对应的单位运价。考虑到产销平衡的运输问题基变量为
个,故位势方程中包含
个方程,
个变量,因此有1个变量为自由未知量,故位势不是唯一的。但是利用
(4)
计算得到的位势与前面闭回路法得到的位势却是一致的。因为
(5)
2.2. 极大化问题与表上作业法
在实际的运输问题中,目标函数可以为求利润最大或营业额最大等问题。其数学模型为
(6)
实际求解时,将极大化问题转化为极小化问题。设常数M满足
将目标函数更改为
(7)
将
作为极小化问题的单位运价,用原有的表上作业法求出最优解。
此外,亦可以直接采用表上作业法对极大化问题进行求解,具体的求解步骤为:
1) 初始化:采用最大元素法或其他方法给出初始可行解;
2) 判断当前可行解是否是最优解;采用闭回路法或是位势法对表上空格处的检验数,当所有空格处的检验数
时,当前基可行解为最优解。
3) 更新基变量与基解。
a) 选出
中的最大值
则
为入基变量。
b) 在运输表上找一条包含
为顶点的闭回路,这条闭回路上的其他顶点皆为基变量(格)。
c) 计算
确定
为出基变量,所在格子调整为空格。
在闭回路上各个奇点变量值均加上
,各个偶点格均减去
,而不在闭回路上的各个变量值不变,这样便完成了一次迭代,并保证目标函数上升。
以图1中的闭回路为例,迭代前目标函数
迭代后的目标函数
2.3. 表上作业法与Karush-Kuhn-Tucker条件
本文中的运输问题本质上为一个带约束的优化问题,而针对优化问题,学生在“线性规划”,“最优化问题” [3] [4] 等课程中均已接触过相关问题的求解方法,也明白:Karush-Kuhn-Tucker条件是带不等式约束的非线性优化问题取得最优解的必要条件 [5] 。如果考虑用此方法对产销平衡的运输问题进行求解,会得到什么样的结果?我们用以下定理说明Karush-Kuhn-Tucker乘子与运输问题中位势之间的关系。
定理2.1设
(8)
为对模型1.1中的最优化问题对应的Lagrange乘子函数,则运输问题(1)中
1) 等式约束对应的Lagrange乘子为位势的相反数:
,
。
2) 非负性约束对应的Lagrange乘子为非基变量的检验数:
证明:若
为运输问题1.1的最优解,则
满足对应的Karush-Kuhn-Tucker 条件。
平稳性条件:
原始可行性:
对偶可行性:
互补松弛性:
为后续描述方便,我们首先考虑运输问题1.1的对偶问题
(9)
由平稳性条件和对偶可行性条件
(10)
则
,
为对偶问题1.1的可行解。
另一方面,由平稳性条件和互补松弛性条件知
(11)
从而有
(12)
即
(13)
结合原始可行性条件,我们有
(14)
由此,满足Karush-Kuhn-Tucker条件的
,
,
分别是原问题(1)和对偶问题(9)的可行解,且满足目标函数相等,见等式(14)。则它们分别为原问题和对偶问题的最优解。进一步,结合(10),我们有:
当
为基变量时,
,则
,根据位势的定义(3),
,
为位势;
当
为非基变量时,
恰为检验数。
3. 总结
在课堂讲解运输问题的基本问题后,分别从举例,方法推广,与其他课程相结合等方面设置思考问题,鼓励学生能够对课程内容做进一步探讨,并将研究结果整理成稿。这样的课堂设置,使学生学会思考,融会贯通,也提高了学生对数学类课程的学习热情。