跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 繁中維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 轉運問題 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
轉運問題
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
轉運問題是運輸問題的一個子類,其中允許轉運。 在轉運中,運輸可以或必須經過中間節點,並可能改變運輸方式。 轉運問題起源於中世紀,當時貿易開始成為一種大眾現象。 獲得最低成本的路線是當時的主要優先考量。 然而,隨著技術發展,最短時間的運輸問題逐漸受到重視。 == 概觀 == 轉運(Transshipment 或 Transhipment)是將貨物或貨櫃運送至一個中間目的地,再從該地運往另一個目的地的過程。 其中一個可能的原因是在旅途中改變運輸方式(例如從海運轉為陸運),這被稱為換裝(transloading)。 另一個原因則是將小型貨物合併為大型貨物(集貨),並在另一端將大型貨物拆分(分貨)。 轉運通常在運輸樞紐進行。 許多國際轉運也在指定的關稅區進行,從而避免了海關檢查或關稅,否則這將是高效運輸的主要障礙。 == 問題的建構 == 為了完整地建構轉運問題,需要一些初始假設: * 系統包含 m 個起點和 n 個終點,其索引分別為: <math>i=1,\ldots, m</math>,<math>j=1,\ldots, n</math> * 存在一種需要被運送的單一商品 * 終點所需的商品數量等於起點可提供的產出數量 * 運輸同時從所有起點開始,且可從任一節點運至任何其他節點(包括運至另一 起點或從某一終點運出) * 運輸成本與運送數量無關 *轉運問題是一種獨特的線性規劃問題 (LLP),其特殊之處在於它考慮了所有源點與匯點皆可同時接收和分配貨物(雙向運作)的假設 == 符號說明 == * <math>t_{r,s}</math>:從節點 r 到節點 s 的運輸時間 * <math>a_i</math>:節點 i 的可供應商品量 * <math>b_{m+j}</math>:節點 (m+j) 的商品需求量 * <math>x_{r,s}</math>:從節點 r 到節點 s 的實際運輸量 == 問題的數學模型 == 目標是最小化 <math>\sum\limits_{i=1}^m \sum\limits_{j=1}^n t_{i,j} x_{i,j} </math>,其限制條件為: * <math> x_{r,s}\geq 0 </math>; <math>\forall r=1\ldots m </math>, <math>s=1\ldots n</math> * <math>\sum_{s=1}^{m+n}{x_{i,s}}-\sum_{r=1}^{m+n}{x_{r,i}}=a_i</math>; <math>\forall i=1\ldots m</math> * <math>\sum_{r=1}^{m+n}{x_{r,m+j}}-\sum_{s=1}^{m+n}{x_{m+j,s}}=b_{m+j}</math>; <math>\forall j=1\ldots n</math> * <math>\sum_{i=1}^{m}{a_i}=\sum_{j=1}^{n}{b_{m+j}}</math> == 解法 == 由於在大多數情況下,目標函數不存在顯式表達式,Rajeev 和 Satya 提出了一種替代方法。 此方法使用連續兩個階段來找出從起點到終點的最短時間路徑。 第一階段旨在解決 <math>n\cdot m</math> 個時間最小化問題,在每種情況下,都使用剩餘的 <math>n+m-2</math> 個中間節點作為轉運點。 這也導出了所有起點與終點之間的最短時間運輸。 在第二階段,需要解決一個標準的時間最小化問題。 此時間最小化轉運問題的解,是這兩個階段的聯合求解結果。 === 第一階段 === 由於成本與運送數量無關,在每個獨立問題中,可以將運送數量標準化為 1。 問題現在簡化為一個從 i 到 m+j 的指派問題。 設 <math>x'_{r,s}=1</math> 表示在最佳化過程中使用了節點 r 和 s 之間的邊,否則為 0。 現在的目標是確定所有的 <math>x'_{r,s}</math>,以最小化目標函數: <math>T_{i,m+j}=\sum_{r=1}^{m+n}\sum_{s=1}^{m+n}{t_{r,s}\cdot x'_{r,s}}</math>,<br /> 滿足以下條件 * <math>\sum_{s=1}^{m+n}{x'_{r,s}}=1</math> * <math>\sum_{r=1}^{m+n}{x'_{r,s}}=1</math> * <math>x'_{m+j,i}=1</math> * <math>x'_{r,s}=0,1</math>. ==== 推論 ==== * <math>x'_{r,r}=1</math> 和 <math>x'_{m+j,i}=1</math> 需要從模型中排除;另一方面,若沒有 <math>x'_{m+j,i}=1</math> 的限制,最佳路徑將只包含 <math>x'_{r,r}</math> 型的循環,這顯然不是一個可行解。 * 可以不使用 <math>x'_{m+j,i}=1</math>,而改寫為 <math>t_{m+j,i}=-M</math>,其中 M 是一個任意大的正數。 透過此修改,上述的數學模型可簡化為標準指派問題的形式,並能使用匈牙利演算法求解。 === 第二階段 === 在第二階段,解決一個包含 m 個起點和 n 個終點且無轉運的時間最小化問題。 此階段與原始設定有兩個主要不同之處: * 運輸僅能從起點到終點 * 從 i 到 m+j 的運輸時間是在第一階段計算出的最佳路徑的時間總和。為與第一階段引入的時間區分,可將其記為 <math>t'_{i,m+j}</math>。 ==== 數學形式 ==== 目標是找到 <math>x_{i,m+j}\geq 0</math> 以最小化 <math>z=max\left\{t'_{i,m+j}: x_{i,m+j}>0\;\; (i=1\ldots m,\; j=1\ldots n)\right\}</math>,<br /> 滿足以下條件 * <math>\sum_{i=1}^{m}{x_{i,m+j}}=a_i</math> * <math>\sum_{j=1}^{n}{x_{i,m+j}}=b_{m+j}</math> * <math>\sum_{i=1}^{m}{a_i}=\sum_{j=1}^{n}{b_{m+j}}</math> 這個問題可以輕易地用 Prakash 所開發的方法解決。 集合 <math>\left\{t'_{i,m+j}, i=1\ldots m,\; j=1\ldots n\right\}</math> 需要被分割成子群組 <math>L_k, k=1\ldots q</math>,其中每個 <math>L_k</math> 包含所有數值相同的 <math>t'_{i,m+j}</math>。 序列 <math>L_k</math> 的組織方式為:<math>L_1</math> 包含數值最大的 <math>t'_{i,m+j}</math>,<math>L_2</math> 包含次大的,以此類推。 此外,將正的優先因子 <math>M_k</math> 指派給子群組 <math>\sum_{L_k}{x_{i,m+j}}</math>,規則如下: <math>\alpha M_k-\beta M_{k+1}=\left\{\begin{array}{cc}-ve, & if\; \alpha<0\\ ve, & if\; \alpha>0 \end{array}\right.</math> 對所有的 <math>\beta</math>。 使用此符號,目標是找到所有 <math>x_{i,m+j}</math> 以最小化目標函數 <math>z_1=\sum_{k=1}^{q}{M_k}\sum_{L_k}{x_{i,m+j}}</math> 滿足以下條件 * <math>\sum_{i=1}^{m}{x_{i,m+j}}=a_i</math> * <math>\sum_{j=1}^{n}{x_{i,m+j}}=b_{m+j}</math> * <math>\sum_{i=1}^{m}{a_i}=\sum_{j=1}^{n}{b_{m+j}}</math> * <math>\alpha M_k-\beta M_{k+1}=\left\{\begin{array}{cc}-ve, & if\; \alpha<0\\ ve, & if\; \alpha>0 \end{array}\right.</math> == 延伸 == 部分學者如 Das 等人 (1999) 和 Malakooti (2013) 曾探討過多目標轉運問題。 == 參考資料 == [[分類: 待校正]]
返回到「
轉運問題
」。