從常識談運輸問題的求解過程
鄧 進財
主旨 :
運輸是供應鏈上的重要關鍵。 製造完成的成品必須經過公路、 鐵路、 空運、 海 運或水運準時而且經濟地運送到目的地。 本文介紹一個簡單的求解過程, 讓讀者用普 通常識就能瞭解如何解決繁雜的運輸問題。某藥劑公司擁有兩個製藥廠, 分散在甲、 乙兩個不同地方。 它也有三個批發倉庫散佈全國, 位於 A、 B 及 C 三處。 最近突然爆發流行性感冒散佈全國, 於是該藥劑公司趕緊製造預防疫 苗, 在一週內甲廠能生產 400 盒的疫苗, 而乙廠能製造 600 盒疫苗。 考量人口的分配及流行性 感冒的風行模式, 這藥劑公司決定把這 1,000 盒的疫苗分別送到三個倉庫如下: 送 200 盒到 A 倉庫、 500 盒到 B 倉庫及 300 盒到 C 倉庫。 為爭取時效, 輸送部門決定用空運來替代平時 用貨車或火車的托運方法。 詢問了數家快遞服務公司, 獲知每盒疫苗的運輸費用, 如表一所示。
當然, 這藥劑公司的經理是期望整個運輸費用花費的越少越好。
表一、 每盒疫苗的托運費用 從 到 A 倉庫 B 倉庫 C 倉庫
甲廠 $20 $30 $50 乙廠 $25 $40 $45
運輸問題
從上例, 我們了解典型的運輸問題包含有三個必要的因素: (1) 有 m 個產源, 每個產源的 供應量已知, 設為 Si。 (2) 有 n 個目的地, 每個目的地的需要量已知, 設為 Dj。 (3) 每單位的 運輸費用從第 i 個產源到第 j 個目的地為已知, 設為 Cij。 而且整個問題的目標在於如何花費 最少的運輸費用, 把供應量從各產源運送到各目的地以滿足需求量。
53
54 數學傳播 27卷1期 民92年3月
運輸問題可歸納為線性規劃 (Linear Programming) 之一種。 我們可應用單形法 (Sim- plex Method) 求解。 可是, 使用單形法求解牽連到繁雜的代數變換, 很難令人理解其中奧妙。
在此, 我們將應用普通常識來理解另一簡單的求解過程: (一)、 使用最低費用法找出一組可行 解, (二)、 檢驗這可行解是否為最佳解 (即是, 這個可行解不能加以改善); 如果是, 則我們找到 最佳解, 最後 (三)、 如果不是最佳解, 則須加以改善直到無法再改善為止。
用最低費用法求初解
從表 1, 我們找到最低的運送費是從甲廠運送到 A 倉庫, 每單位為 $20。 甲廠的供應量是 400 盒, 但 A 倉庫的需要量是 200 盒, 因此我們只能運送 200 盒從甲廠到 A 倉庫。 於是甲廠 尚剩 200 盒, 而 A 倉庫所需 200 盒已被滿足, 不用考慮 A 倉庫。 接著, 從甲、 乙兩廠到 B、C 兩倉庫的托運費用中獲知, 從甲廠運送到 B 倉庫的運費為最低, 只$30。 因此, 我們再把甲廠剩 餘的 200 盒全部運到 B 倉庫, 而 B 倉庫的需求量也因此減少成 300 盒。 到此只有乙廠還有 600 盒等待分發。 比較乙廠到 B 或 C 倉庫的費用, 得知從乙廠到 B 倉庫運費較低, 而 B 倉庫 只需 300 盒, 因此我們從乙廠運 300 盒到 B 倉庫, 而剩下的 300 盒則送到 C 倉庫。 結果總 共的運輸費用是
20 × 200 + 30 × 200 + 40 × 300 + 45 × 300 = $35, 500.
這個初解, 如表 2 所示, 是否為最佳解呢?
表二、 用最低費用法求得初解
檢驗是否為最佳解
由於運送費用必須由工廠與倉庫共同支付, 我們就假設運出每盒, 甲 (或乙) 廠願意負擔 $ 甲 (或 $乙) 塊錢做運費。 同樣地, A(或 B 或 C) 倉庫收到每盒願意支付 $A (或 $B 或 $C)
從常識談運輸問題的求解過程 55 塊錢運費。 從表 2, 我們運送 200 盒從甲廠到 A 倉庫, 每盒為 $20, 由工廠甲與倉庫 A 共同 支付。 因此, $甲+$A = $20。 同樣地, 我們可獲知
$甲 + $A = $20、 $甲 + $B = $30、
$乙 + $B = $40、 $乙 + $C = $45.
為方便起見, 假設甲廠不願付任何運費, 即 $甲=$0, 則 $A=$20、 $B=$30、 $乙=$10 及
$C=$35。 接著, 我們來分析現行解是否可改善? 從表 2, 獲知只有甲 C 及 乙 A 可能改善現 行解, 而
$甲 + $C − $50 = $0 + $35 − $50 = $ − 15.
即是甲廠和 C 倉庫共同所願意付的運費遠比實際運費 $50 低, 當然就不會運送任何單位從甲 廠到 C 倉庫。 但是
$乙 + $A − $25 = $10 + $20 − $25 = $5.
即是乙廠和 A 倉庫合起來所願意支付的運費比實際運費高出每盒 $5。 因此我們每運一盒從乙 廠到 A 倉庫可省下 $5。 這表示現行解並不是最佳解。
注意: 如假設甲廠願意支付 $1, 即 $甲= $1, 則 $A= $19 、 $B= $29 、 $乙= $11 及
$C=$34。 將這些數值帶入上述的分析, 結果是一樣的。 因此, 為了容易求解, 大家都從$甲=$0 著手。
表三、 迴路的供需變化
改善非最佳解
每運送一盒從乙廠到 A 倉庫可節省 $5。 但從乙廠每運送一盒到 A 倉庫, 必須減少一盒 從乙廠到 B 倉庫, 增加一盒從甲廠到 B 倉庫及減少一盒從甲廠到 A 倉庫, 以平衡供需量的限 制, 如表 3 所示。 由於甲 A 與乙 B 不能減到負數, 因此乙 A 最大只能增加到 200 盒。 也就是 甲 A 與乙 B 兩數中最小的數目。 結果, 重新安排運量, 獲得表 4 的解答。 這改善後的解是否 為最佳解呢? 我們必須回到第二步驟來檢驗它。
56 數學傳播 27卷1期 民92年3月
表四、 改善後的解
再檢驗是否為最佳解
同前, 從表 4 得知
$甲 + $B = $30 、 $乙 + $A = $25、
$乙 + $B = $40 、 $乙 + $C = $45.
再次為計算方便起見, 假設甲廠不願支付任何運費, 即 $甲=$0, 則 $B=$30, $乙=$10, $A=
$15 及 $C=$35。 再考慮甲 A 及 甲 C 是否可改善現行解:
$甲 + $A − $20 = $0 + $15 − $20 = $ − 5, 而且
$甲 + $C − $50 = $0 + $35 − $50 = $ − 15.
因此甲 A 及 甲 C 不可能改善現行解, 所以表 4 所獲得的解為最佳解, 而且最佳總運輸費用為 原總運輸費用扣掉運送 200 盒從乙廠到 A 倉庫, 每盒省下 $5 獲得
$35, 500 − $5 × 200 = $34, 500.
—本文作者為美國紐澤西州立 William Paterson 大學教授, 曾任國立清華大學工業工程所客座教授—