# 运输问题模型
已知有 m 个产地 Ai,i=1,2,...,m,供应某物资的供应量分别为 ai,i=1,2,...,m;有 n 个销地 Bj,j=1,2,...,n,其物资需求量分别为 bj,j=1,2,...,n
从 Ai 到 Bj 运输单位物资的运价(单价)为 cij,求总费用最小的运输方案。
设 xij 表示从 Ai 到 Bj 的运量,在产销平衡的条件下,运输问题的数学模型为:
minZ=i=1∑mj=1∑ncijxij, ⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧j=1∑nxij=ai,i=1,2,...,mi=1∑mxij=bj,j=1,2,...,nxij≥0,i=1,2,...,m; j=1,2,...,n
# 运输问题特点
- 决策变量数:mn 个
- 约束方程数:m+n 个
- 由产销平衡得:i=1∑mai=i=1∑m(j=1∑nxij)=j=1∑n(i=1∑mxij)=j=1∑nbj
- 独立约束:最多有 m+n−1 个独立约束
# 表上作业法
- 求初始基本可行解(西北角法、最小元素法、伏格尔法)
- 求检验数并判断(闭回路法、位势法)
- 调整变量(闭回路法)
- 重复步骤二、三,直到求得最优解
# 求初始基本可行解
# 西北角法
# 求解思路
从单位运价表未被直线覆盖的西北角(左上角)位置开始标识即便,依次进行,直到找到 m+n−1 个基变量为止
- 在单位运价表中选择未被直线覆盖的左上角位置作为基变量
- 对比基变量行、列,选择最小值作为基变量取值(是在运输方案表中填值,填的值与单位运价表的内容无关)
- 用直线划去满足需求的行 / 列
![]()
# 缺陷
注意到,西北角法在填值的时候,并没有考虑到单位运价,只是将运输方案安排好了,所以有可能得到的运输方案会使得运价偏大。
# 最小元素法
# 求解思路
求单位运价表未被直线覆盖的最小运价位置开始标识变量,依次进行,知道找到 m+n−1 个变量为止
步骤与西北角法相似,只是找位置的时候是用未被直线覆盖的最小运价位置,其余一模一样。
# 缺陷
在最开始时,为了节省某一处的费用,导致其他地方花费开支大。
# 伏格尔法
# 求解思路
寻找单位运价表 == 最小运价与次小运价差额最大的行 / 列 ==,从该行 / 列的最小运价位置开始标识基变量,依次进行,直到找到 m+n−1 个基变量为止。
步骤与西北角法相似,只是找位置的时候选取方式不同,其余一模一样。
# 三种方法的比较
三种方法的总运价从上往下逐步递减。
# 求检验数并判断
# 闭回路法
# 原理
运输方案表中,任何一个非基变量都能和若干个基变量构成唯一一个闭回路
# 步骤
- 从空格出发,水平 / 垂直画直线,遇到数字可前进 / 转 90° (只能在有数字的地方转向)
- 假设空格处增加一个运量,则相应调整闭回路顶点的运量
- 计算调整运量后增加的运价,即为该空格处检验数
- 目标函数求最小(大)值,所有检验数 ≥0 (≤0),判断是否达到最优解
# 位势法
# 原理
对偶理论:ui+vj=cij, λij=cij−ui−vj
# 步骤
- 先在检验数表中,写入基变量对应的单位运价
- 根据 ui+vj=cij,任令一个 ui 或 vj 等于零,解方程组
- 再根据 λij=cij−ui−vj,求出剩下的非基变量的检验数
- 目标函数求最小(大)值,所有检验数 ≥0 (≤0),判断是否达到最优解
# 调整变量
- 选择检验数最小的非基变量作为进变量
- 以进基变量作为起始点,在运输方案表上构建闭回路。选择闭回路上运量最小的基变量作为出变量
- 对于出变量,在闭回路上调整至 0
- 继续判断是否为最优解