<福建高教研究 己 口 1口年笔 5 期 敦学改革 线牲代数在物流运输问题【 ; 】 的应用 蒙殿元 (福建师 范大学信 息技 术学院基础部 福建 福 州 350007) 摘 要 : 本 文 通过 对 物 流运 筹 学 中运输 问题 的 求解 , 揭 示 出其 中的数 学方 法 , 试 探 在 线性 代数的教 学和物流运筹学的学习之 间找到结合点,促进物流专业学生数 学课和专业课之间知 识 点 的衔接 。 关键词 : 运输问题 ; 表上作业法 ; 单纯形法; 线性规划 物篙 要完全理解表上作业法 , 必须搞清楚运输问题与线 性规划问题之间的关 系 , 理清楚表上作业法与单纯 形法之间的关系 , 从本质上来讲, 必须理清方法后 面所 隐藏的数学知识 。 一、 物流运输 问题与线性规划的关系 ( 一 ) 线性规 划 问题 的标 准 形式 线性规划问题主要研究的是在一组线性不等 式 ( 或等式 ) 组成 的约束条件下 , 某个线性 函数 的 最值问题 , 即用最合理的方式 、 有限的资源达到最 满意的效果 ( 一般是花费最小或收益最大 ) 。其标 准形式如下 : 目标函数 max ( min ) z=clx1 +c2 x2 +⋯ +c 满足的约束条件 alixl+a1 2 x2 +⋯ a1 。 ≤( :, ≥ ) bl, a2 lxl+a2 2 x2 +⋯ a , ≤( =, ≥ ) b2, aT Illxl+aT 2 +⋯ a nx ≤( =, ≥ ) b , Xl , 2, ⋯ , XnI > 0. 上式 中 aij, bi, cj( i=l , 2, ⋯ , m; j=l , 2, ⋯ , n ) 为已 知常数,其中 cj称为价值系数; bi称为限定系数;称为技术系数。 ( 二) 物流运输 问题的数学模型 设有某种物资需要从 In 个产地 A 。 , A: ,⋯ , A , 运到 1 1个销地 B , B , ⋯ , B , 其 中每个产 地 A; 的产 量为 ai ( i. 1, 2,⋯ , m) ,每个销地 Bi 的销量为 bi ( j=1, 2, ⋯ , n ) 。设从产地 为 Cij, 用 表示从产地 Ai 到销地 Bj 的物资运量, 则 有数学模型 : 到销地 Bj 的单位运价 m inZ: ∑ ∑ 、 xij: ( ≤, ≥ ) ai( i=l , 2, ⋯ , rn ) , 1 j =、 xjj=bj( j=l , 2, ⋯ , n ) , 1 i=xij> 1 0 ( i=l , 2 , ⋯ , m , j= l , 2 , ⋯ , n ) . 其中当 xij=ai时 , 为产销平衡问题 , 否则为产 j = 1 销不平衡问题 。 ( 三 )物 流运输 问题 与 线性规 划 问题之 间的 关 系 由线性规划 问题和运输 问题的模型 , 可 以看 出 运输问题是线性规划问题 的特殊情形 , 这种关 系不 仅体现在形式上, 而且也体现在二者所解决问题的 范畴和方法上。单纯形法是解决线性规划问题的一 种重要方法 ,而应用于解决运输问题 的简单方 法——表上作业法, 其实也是单纯形法的一种变式。 二 、 物流运 输 问题 的解决 方 法 · 77 · 运输问题有产销平衡和产销不平衡两种 , 产销 不平衡问题在实际生产中占绝大部分, 但是考虑其 处理方法和产销平衡问题类似, 这里只就产销平衡 问题 的解决方法加 以说明 , 探讨出其中所蕴含的数 学方法。 ( 一) 表上作业法介绍 表上作业法是求解产销平衡问题的一种简便方 法, 其基本思路是: ( 1) 找出初始基本可行解; (2 ) 在表上计算非基变量的检验数, 判别是否达到最优 解 ( 非基变量是和基变量相对的 , 基变量可简单理 解为能用相同的变量线性表示的那些变量, 或者进 步可理解为其系数向量线性无关的那些变量 ) ; ( 3 ) 确定换人变量和换出变量 , 找出新的基本可行 解 , 在表上用闭 回路法进行调整 ; ( 4 ) 重复 ( 2 ) 和 ( 3 ) , 直到得到最优解为止。为便于理解和简单起 见 , 下面以具体例子进行说明。 例 :某公司有三个加工厂 A 。 , A , A3生产某产 品, 每 日的产量分别为 7t, 4t, 9t, 该公司把这些产品 分别运往四个销售点 B , B , B。 , B , 各销售点每1 3销 量分别为 3t, 6t, 5t, 6t。从各工厂到各销售点的单位 运价如下表所示 。问该公司应如何调运产品, 在满 足各销售点需要量的前提下 , 使总运费最少? 一B l B2 B 3 B A l l 0 10 10 l 0 A 2 8 8 8 8 A 3 5 5 5 5 因为是产销平衡问题, 所以若记x 表示从产地 到销地 Bj 的运量 ( i_1, 2, 3; j=l , 2, 3, 4 ) , 则可建 立下面数学模型 : min Z = 3xll+ l l x l2 + 3xl3+ 10xl4+x2l+9xa+ 2x23 + 8x24+7x3l+4x32+ 10x3 3+ 5x34 x I1 +x l2+xl3+x I4 = 7 , 2l+ 笠+Xz3 +Xa= 4 , x3I+x32+x3 3+x34 = 9 , xt-+x2 1 +x3 J xl2+x +x3 2=6 , , ( I ) I3+ 23+x3a=5 , l4+ 24+x3 4=6 , xl j 1 > 0. 列运输表如下: ·7 8 · Bl B2 B3 B4 发量 X ll X 12 X 13 X I4 A l 7 3 1l 3 10 X 21 X 22 X 23 X 24 A 2 4 l 9 2 8 X 31 X 32 X 33 X 34 A 3 9 7 4 10 5 收量 3 6 5 6 表中左下角数字表示从工厂 Ai 到销地 Bi 的单 位运价。考虑到约束方程组 ( I ) 的增广矩阵的秩为 6( 后面给出推导 ) , 因此在下面寻找初始可行解时 所选的基变量个数为 6。因为目标函数是求最小运 费 , 故初始可行解可从 c. i中最小 的数字开始逐次确 定, 且使单位运费小的数值所对应的运量尽可能的 大 ( 该运量用加括号的方法表示 ) , 同时规定对同 样小的数值 , 任取其 中一个 , 当某一行或列对应的 发量或收量已经满足时 , 该行或列其余位置处的运 量划 “ × ” 。最后得到一个调运方案 , 如下表所示 : 『 Bl B 2 × × Al 3 1 l B 3 (4) B 4 发 量 (3) 7 3 10 (3) × (1) × A2 4 1 9 2 8 × (6) × (3) A3 9 7 4 l 0 5 收量 3 6 5 6 由上表可知 ,初始基变量为 " -Xl3’ Xl4, X2 I, X2 3 x3 2, ; 非基变量为 . 盖 1 lX , xl2'X , X2 4, X3 l, X3 3 。该方案的总费 用为 : 1× 3+4 X 6+3× 4+2 × 1+10 × 3+5 X 3=86 然后确定打 “ × ” 处变量即非基变量所对应 的 检验数, 判断上面解是否最优解。此时的判断方法 是用闭回路法或位势法等简单方法 , 但实际上只是 单纯形表法的变式而已, 最终只要判断所有的检验 数是否全部大于等于 0 即可 ( 后面给出解释 ) , 若 是 , 则说明已经是最优解 , 否则要重新换基 。利用闭 回路法求得非基变量的检验数如下表所示 ( 在闭回 路法中, 检验数由回路上的变量对应的单位运价按 “+ ”,“一” 相问求和得到 ) : I非基变量 【 x。 。 X I2 闭回路 检验数 1 2 xll— + xlr X2 斗 x2 l— x1 1 x1 x 1 _ +x3 X1 2 X22 x22 · + x23 _ xl 斗x l4— X34 _ +X3 2" --+X2 2 1 X24 x —+】 【 — 3 3-_ +x I X24 —1 X31 x3l—+)(3 ● x1 x 1 3- ● x2r 斗X2 f " ~ 31 10 X33 x3『 ’ +x, 广 xI4— ÷x I 3—+x33 12 解。 XI! X l2 xl3 xl4 x2l x x x2 4 x3l x3 2 x33 x弘 bl l 1 1 1 0 0 0 0 0 0 0 0 7 0 O 0 O 1 l l l O O 0 0 4 0 0 0 0 0 0 0 0 l 1 l 1 9 1 0 0 0 l 0 O 0 l 0 0 0 3 0 l 0 0 0 l O 0 0 1 0 0 6 O 0 l 0 O O l 0 O 0 1 0 5 0 0 0 l O O 0 l O 0 0 l 6 其中x 的检验数小于 0, 故上面的解不是最优 通过初等变换 , 最终可将其变为: XI3 X14 x2l x为 x3 2 x34 xll x l2 x 接下来换基 , 将 x 作为基变量 , 以 x 作为出发 点找闭回路 : x - mlX。 厂 x。 厂 x盈 成为非基变量 ) , 按 “+” “一 ” 相间的方法计算得 到调整后的方案如下表所示: ( 此时 , 原来的基变量 B1 B2 B3 B4 发量 × × (5) (2) Al 7 3 l 1 3 l O (3) × × (1 ) A2 4 l 9 2 8 × (6) X (3) A3 9 7 4 10 5 收量 3 6 5 6 此时重新计算所有非基变量的检验数可以发 现全部大于等于 0, 因此 , 此时的解为最优解, 计算 得总费用为 : 85。 ( 二) 单纯形法介绍 上面例题中所用的表上作业法实质上是单纯 形法, 为看清二者之间的关系, 下面通过单纯形法 再对上面问题进行求解 ,找出二者本质上的联系, 简单起见 , 采用单纯形表法 。在用单纯形法时 , 第一 步关键是要找到一组初始可行基 ,即初始基变量 , 其实就是线性无关的一组系数向量所对应的变量, 其个数由相应矩阵的秩确定。具体做法是将约束方 程组 ( I ) 的增广矩阵中的这些变量的系数矩阵变为 阶梯形矩阵即可。 约束方程组 ( I ) 的增广矩阵为 : x2 4 x31 x3 3 b1 ’ l 0 0 0 0 0 l 0—1 一l l l 4 0 1 0 0 O O 0 1 1 l—l —l 3 0 0 l 0 0 0 1 0 0 0 1 0 3 0 O O 1 O O —l 0 l l—l 0 l 0 0 0 0 1 O 0 l l 0 0 O 6 0 O 0 0 0 1 0一l —l 0 1 l 3 = A = B 可见矩阵 A 的秩为 6,考虑到表上作业法中选 取的初始基变量为 " -Xl3, xl4, X2 l, X2 3, ~ x3 2, X3 4,为保持一 致 ,在单 纯形法中也同样采用他们作 为初始基变 量。下面给出单纯形表: 3 1 1 3 10 l 9 2 8 7 4 10 5 口 x a i l t x l 5 x t I t x 1l x 13 x H x 3l 、 'x ” H 3 4 l O l 0 0 . 1 O ·1 1 O 1 0 j: I l0 3 0 1 0 l 0 1 0 l - l 0 . 1 0 · l 1 0 0 0 1 0 0 0 1 0 0 0 2 I 1 . 1 0 0 0 0 l 1 1 - 1 0 0 0 l 4 6 0 l 0 0 0 l 0 O 《 ) l 0 0 r : 3 O . 1 0 0 0 . 1 0 0 l 0 l l 1 2 9 3 】 0 l 8 2 9. 3 4 — 2 5 :, , 1 2 0 0 0 1 0 l 10 0 I2 0 5 0 0 l 0 0 0 l 0 0 0 1 0 1 3 l O 2 i 1 0 l 0 0 . 1 O 0 0. 1 O l{ j 3 】 0 0 0 i 0 O 0 :0 0 0 l } 8 I . 1 0 0 0 0 I ! 】 - 1 0 0 O 2^ 4 6 0 1 0 0 0 l 0 0 O 1 0 0 l 5 3 0 . 1 0 0 0 . 1 0 0 l 0 1 l u 3 9 3 10】 7 1 8 . 2 4·2 5 。 r J 0 2 0 0 0 2 1 0 9 0 l2 0 ·79· 其 中, C 表示 目标 函数中基变量的系数组成的 列向量, x 表示基变量组成的列向量, B 表示相应 6 矩阵 中常数项组成 的列向量 ; zi_ - c l ( j 表示 K =第 k 行中变量 验数。 的系数 ) , O r =eli- - 为变量 1 确定入基变量 的检 d=min { ( 这里只从 ij≤0 中选取 ) ,0 s’l’=min{生) ( >0 ) 确定出基 a 变 量 XS’l’。表 中 Xll, X1 2)xl3, xl4, X2 l, X2 2)X2 3, x2 4, X3 1, X3 2, X3 3)X 下方的数字其实是矩阵B 中各变量相应的系 数值。而列 向量 中的数值 , 其实就是表上作业法 中 所得到的基变量处对应的运送量。 通过上表可以算 出初始可行解对应的解为: C B a'B= 3 X 4 + 10 × 3+ 1 × 3 +2 × 1+4 × 6+ 5 × 3= 86 换 基 后 的 总 费 用 为 : C 3+8 × 1+4 ×6+5× 3=85; 与表上作业法同解。 ( 三) 单纯形法的数 学解释 单纯形法中所说的非基变量, 实际上就是约束 线性方程组的解中的自由未知量, 所谓的基变量就 是非自由未知量, 因为非 自由未知量可以用 自由未 知量来表示 , 故基变量可 以由非基变量来表示。通 过上面矩阵 B 所对应的方程组分别解 出 XI3~ ,X , X2 , X2 3, X。 : , X , 将其代人 min Z 表达式, 最终得目标函数 为 : =3 × 5+10 X 2+1 × min Z = 3 × 4+ 10 × 3+ 1 × 3+2 × 1+ 4× 6+ 5 × 3 {3- [3 × 1+10 × 0+1× 1+2 × (- 1)+4 × 0+5× 0])xl1 + {l 1- [3× 0+10 × 1+1×0+2 × 0+4 × 1+5 × (一 1)])x1 2 + {9一 [3 X (- 1)+10 × 1+1×0+2 × 1+4 × 1+5× (一 1)])x复 + {8- [3 x (- 1)+10 × 1+1 × 0+2 × 1+4 × 1+5 × 0] x2 4 + {7- [3 × 1+10 × (- 1)+1× 1+2 × (- 1)+4 ×0+5 × 1】 }x3 l+ (1O - [3× 1+10 × (- 1)+l ×0+2 × 0+4 × 0+5 × 1]}x3 3 ( 木) 在上式 中令非基变量全部为 0,得 r a in Z=3 × 4+10 × 3+1× 3+2 × 1+4 ×6+5 × 3 即为初始可行基对 应的解 。同时可以看到在 ( ) 式中 , 每一个非基变 量的系数恰好为其检验数, 如 X。 。 的系数为: 3一 【 3× 1+10 × 0+1× 1+2 × ( 一 1) +4× 0+5 ×0】 =3一 ( 3 10 1 2 4 5 ) ( 1 0 1 — 1 0 0 ) =e l l 一 CB rauj= 叮ll ·80· 这也是单纯形法 中规定 zij: c , 盯 c — z K= l 的原因所在。 ( ) 式可继续化为 m in Z = 3 × 4 + 10 X 3+ 1 × 3+2 × 1+4× 6+ 5 x 3+ ( 3- 3+2一 1)xl1 +( 11— 10+5— 4)XI2 +( 9— 10+3— 2+5— 4)X笠 + ( 8— 10+3— 2 )X2 4 +( 7- 3+10- 1+2— 5) x3 l+( 10- 3+10- 5 ) X3 3 ( : I : ) 由此又可以看到每一个非基变量的系数恰为闭 回路法 中求其检验数的计算式 , 因此 , 闭回路法中的 求检验数的方法实际上是用 变式。 最 后 , 关 于 =minf ii)确定人基变量 X ( 这 =eij- -z 求检验数的 里只从 ≤0 中选取 ) , 0 Stl。 =min{ ) ( ak A>0 ) 确 a 定出基变量 XST 的规定 , 简单起见 , 同样 通过上面 例子给出数学解释。 将 ( 料 ) 式继续化简得 : min Z = 86+xl1 +2xl2+x笠 一 xu+10x3 l+12x3 3, 因为 xijI > 0, 故 86 并非其最小值 , 所 以考虑将系数为负值的 x 作为基变量 ( 若同时存 在多于一个 的负值 , 则考虑从最小的开始换基 ) , 然 后再求 出此时新的非基变量, 具体做法如下 : 写出矩阵 B对应的约束性线性方程组 , X1 3=4 - - X11 +X2 2+ x24一 x31 一 x 3 3; ≥0 I X1 4 =3- -X1 2 一 x篮 一 x2 4 +x3 1 +x鹑 ≥0 l X2l=3- xll— x3 l I > 0 l xz3 =1+xl1 一 x 一 x2 4 +x3 l≥0 I x3 2 =6-x1 2 -x~I > 0 I x34= 3+xl2+x筮一 x3l— x3 3≥ O 将 作为基变量 , 令其余变量为 0, 得 xl3=4 +xu ~ O x1 4= 3- X2d≥ 0 X2I= 3>0 趋:l — X24I > 0 : 6 >0 x34= 3>0 故取 xu=l , 则上式均成立 , 且此时 X2 3 =0, 由此 X 23 作为非基变量较合适 。在这里 , X ≤1 是由 x2 3 =1一 X I > 0得到, =1xm =l+xn— X2 2 - - X2 4 +X3 1 X2 3的 常数项与 X 的系数的 比值 ,这正好与 0 s’l’=r a in 刚好 是方程 式 X2 3 一 xl1 +x2 2 +x2 4 一 x3 1 =l 中 ( 下转 第 94 页 ) 真 ...