【運籌學】產銷平衡下的運輸問題概念理解(4月9日學習筆記)

一、運輸問題的數學模型

運輸問題的建模有點類似於初高中的解方程組問題,以清華大學出版社的《運籌學(第四版)》P82頁中的表格爲例
運輸問題

圖源:清華大學出版社的《運籌學(第四版)》P82
https://my.oschina.net/liyangke/blog/2981227

運輸問題的建模就是一個解決運輸問題的建模,這裏的變量設的是從各個產地運往哥哥銷售地的物資量Xij(即爲表3-1中未顯示內容的方框內應填入的變量)。
在產銷平衡的條件下, 表3-1代表產量和銷量間的關係。豎着看這張表,各個產地i(從1到m)運往同一銷地j的物資量之和等於bj;因爲i地賣了這麼多出去,那肯定需要進這麼多物資進來。橫着看錶格同理。
表3-2代表從i地進到j地在運輸過程中產生的運輸單價,通俗來說也就是郵費。

那麼模型的構建就很簡單了,目標函數是求所有郵費之和的最小值在這裏插入圖片描述
約束條件是表3-1所描述的供銷關係:
從第1個產地發出的物資受到的約束條件方程是
在這裏插入圖片描述
以此類推,得到方程組
在這裏插入圖片描述

圖源:https://www.docin.com/p-2088705409.html

整合成數學模型如下
在這裏插入圖片描述
這就是運輸問題的數學模型。
從我們上面得到的在這裏插入圖片描述
如圖結果,我們發現,這個數學模型總共有m*n個變量(m個產地和n個銷售地一一組合),m+n個約束方程(m個關於產量的約束方程,n個關於銷量的約束方程)。
該圖結果亦可化爲係數矩陣形式
在這裏插入圖片描述

圖源:中國大學慕課網-華僑大學運籌學

把每一列Xij看作一個對應於變量Xij的係數向量Pij,其分量中除了第i個和第m+j個爲1以外,其餘都爲0。即
Pij=(0…1…0…1…0)T=eie_i+em+je_m+j(e表示單位向量)

我們前面也提到,這是產銷平衡下的運輸問題模型,所以產量之和也等於銷量之和
在這裏插入圖片描述
也就是說,可以做到有兩行完全一樣,比如讓前面的m行加到其中一行,後面的n行加到其中一行,就會得到兩個相同的約束條件,一行減去另一行得到一行全爲0的向量。
結合矩陣秩的求法,最小非零行數爲矩陣秩的值;所以模型最多隻有m+n-1個獨立約束方程,即係數矩陣的秩r<=m+n-1.
我們可以得到結論,(在不含閉迴路的情況下,)運輸問題任何一組基都由m+n-1個變量構成
關於什麼是閉迴路,將在下文進行講解。

二、表上作業法

要解前面的運輸問題模型,用學過的單純形表法求解不是不行,但是計算量很大,所以運輸問題模型一般採用表上作業法求解。
不過表上作業法的實質也是單純形表法的迭代,所以求解過程類似。首先需要畫出單位運價表和產銷平衡表,這裏以清華大學出版社的《運籌學(第四版)》P94例1爲例。
在這裏插入圖片描述

1.確定初始可行解

有兩種確定方法。

(1)最小元素法

最小元素法顧明思意,就是從運價最小的產銷地開始外銷。同樣以清華大學出版社的《運籌學(第四版)》P94例1爲例,根據上表,運價最便宜的是從A2運往B1的價格(爲1)
在這裏插入圖片描述
所以先嚐試B1所需要的物資全部由A2供給,在表格中填入如圖
在這裏插入圖片描述
因爲第1列飽和了,所以捨棄第1列,在剩餘列中繼續尋找運價最小的地方
在這裏插入圖片描述
因爲第二行到4就飽和了,所以A2-B3只能填入1,填入後第二行飽和。
接下來重複上述步驟
在這裏插入圖片描述
直到所有行列飽和。最終得到最初的6個基變量(恰好是m+n-1=3+4-1=6個)。

但是,需要注意的是,最小元素法可能出現退化現象。以下題爲例:
在這裏插入圖片描述
在填入第二個數:A3-B2的6後,第三行,第二列同時飽和,最終只會得到5個基變量,這時候需要在同時被劃去的行或列中任選一個空格填入0作爲基變量。補充的0有兩個補充原則
1.儘量先選運費小的實變量
2.補充後不能有某個基變量獨佔一行一列

並且,最小二乘法還有一個缺點,其算法必定導致爲了一處費用的節省而可能導致的在其他處的運費多花,所以又出現了伏格爾法

(2)伏格爾法

伏格爾法考慮的是運費的差額。差額太大了,就會出現我不使用最便宜的運輸方法,就要花多上許多的錢執行昂貴的次優運輸方案。
繼續以清華大學出版社的《運籌學(第四版)》P94例1爲例。
在這裏插入圖片描述
首先計算其行差額與列差額:
在這裏插入圖片描述
列差額最大的是第2列,如果不執行A3-B2的話,就要多花5個單位的錢去補給B2,很虧,所以優先通過A3補給B2,得到下表結果
在這裏插入圖片描述
此時第3行差額髮生了變化,最小變爲5,次小變爲7,行差額變爲2.
不過接下來差額最大的還是第4列,所以選擇A3-B4,填入3.(9-6=3)
類似最小元素法推導,最終得到如圖結果。
在這裏插入圖片描述

2.判別最優解

最優解的判別方法基於一個公式
在這裏插入圖片描述
在這裏插入圖片描述
基於這一公式,我們常用兩種方式判別。

(1)閉迴路法

這一方法用於求檢驗數。
怎麼求呢?很好理解,其實就是從空白格出發,遇到(合適的)數字就轉90度彎,最終會轉回來形成閉迴路,就像下圖這樣。
在這裏插入圖片描述
從A1-B1格子出發,遇到A1-B3有數字4,轉彎;遇到A2-B3有數字,轉彎;遇到A2-B1轉彎;回到A1-B1。閉迴路結束。(已經有的數字是運量,填入的是檢驗數)
那怎麼算A1-B1的檢驗數呢,很簡單,先假設A1-B1多進了一單位物資,那A1-B3和A2-B1就要少進一單位物資,A2-B2就要多進一單位物資。
結合運價表,這時候的調整帶來的運費變化是
在這裏插入圖片描述
這段檢驗數計算的意義是,從A1運往B1的資源增加1單位,帶來運費增加量也是1單位,這1單位增加量即爲該空格處的檢驗數,檢驗數大於0,說明該空格符合最優解判別。
同理繼續求其他格子,遇到(合適的)數字就轉彎。那什麼時候是不合適的數字呢?以求A1-B2檢驗數爲例
在這裏插入圖片描述
遇到B3格子上的4不能轉彎,因爲在4轉彎的話,下一個轉彎點是1,再下一個轉彎點是A2-B1的3,沒辦法回到A1-B2,所以要在A1-B4轉彎,以此類推求出每個格子的檢驗數
在這裏插入圖片描述
我們發現A2-B4檢驗數小於0,說明現在的方案不是最優解。

(2)位勢法

位勢法是一個計算的方法。
根據原解,分別設產量對偶變量爲u1,u2…ui;銷量對偶變量v1,v2…vj
通過初始解的表格
在這裏插入圖片描述
得到方程組
在這裏插入圖片描述
如果令u1=0,解方程組得
在這裏插入圖片描述
根據得到的數字,重新填入表格(玩數學填格子,要求Ui+Vj是格子裏的數字)
在這裏插入圖片描述
最後根據檢驗數公式在這裏插入圖片描述求得
在這裏插入圖片描述
表中仍有負數,說明現在的方案不是最優解。
上述過程可以在一張表中完成↓
在這裏插入圖片描述
右上角是單價,格子正中間是檢驗數。

3.迭代求最優解

改進的方法又稱爲閉迴路調整法
繼續以上圖爲例,找到負數值最小的檢驗數,出發進行閉迴路檢驗
在這裏插入圖片描述
四個格子中,最小的基變量是1,把1換出,換給A2-B4;得到新的基變量表。
在這裏插入圖片描述
再進行檢驗
在這裏插入圖片描述
此時所有檢驗數均>=0,所以上表基變量已經是最優解了。
另外,上表結果出現了很多檢驗數=0,這是一個個例,表示無窮多最優解,換成下圖解其實也是最優解。
在這裏插入圖片描述
需要注意的是,除了可能出現無窮多解的問題外,閉迴路調整過程中也可能出現(和1.最小元素法 中出現一樣的)退化現象

其情況如下
在這裏插入圖片描述

圖源:中國大學慕課網-華僑大學運籌學

同樣,此時仍然是儘量選取運費最大的作爲出基變量。

以上內容爲本人對於產銷平衡下運輸問題的概念理解,如果有誤,歡迎批評指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章