最小成本流量问题
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
運輸問題的起始可行解求法:
最小成本法
1
2
3
6
10
9
A
8
2
10 2
B
12
13 5
7
5
C
9ห้องสมุดไป่ตู้
16
1
5
6
71
8
861 6
23
demand
I
0 M1
5 P1
0 R1
10
[0,10]
[3,15]
[0, ∞]
-12
料期初/期末存量
6
及各期採購成本、
[0, ∞]
存貨成本、產能 限制
目標:
PurchasPe
∞
M2
7
5 P2 [3,15]
R2
-19
[0, ∞] 0.25
0.4
8
[0,20]
[0,20]
M3
6 P3
R3
求總成本最小的
[3,15]
Chapter 3
最小成本流量問題
Minimum-cost flow Problems
1
最小成本流量問題簡介
給定一個網路,弧線上的數值代表單位流量的成本(ex. 距離、時間、金錢…);其中弧線亦可能具有流量之上 限或下限的限制
節點分為供給點、需求點及轉運點
最小成本流量問題即在尋找總成本最小,且符合流量 守恒及容量限制的流量分佈狀態
5 15 5 -15 y5= -4
16
Network simplex演算法
1
y1=0 15
2
y2=1 30
3 6
35 7 5
10 -s3 +s
5 +s
4
15 -s
15 5
-10 y3= -3 -20 y4= -6 -15 y5= -4
17
Network simplex演算法
c’13=1 3 3
-10 y3= -3
3.計算所有不在展開樹上的弧線(i,j) 的 reduced cost: c’ij = cij - yi + yj
14
Network simplex演算法
4.若所有的c’ij 均大於等於0則停止,此解為 最佳解,否則繼續下一步驟。
5.挑選c’ij為負且最小的弧線(i,j)進入基底變
數(即進入展開樹) 6.調整上一步驟形成之cycle的流量,以決定 離開變數,形成新的展開樹
cij xij
ij
subject to
xij xk ibi iN
j
k
lijxijuij foarliljinA
9
練習題
x12 x13 Min 3 4
11 -1
-1
2
5
9
4
3
3
31
2
3
3
6
-6
43
5
3
5 -6
x24 x32 x35 x43 x46 x54
525333
1 -1
1 1 -1
-1
1 1 -1
2
5
9
4
3
3
31
2
3
3
6
-6
43
5
3
5
-6
2
最小成本流量問題簡介(續)
當供給總和不等於需求總和時?
可以透過增加一個虛擬節點及數條相對應的 虛擬節線來吸收過剩的供給(或需求),轉變成 供給總和 = 需求總和。虛擬節線的成本為0。
d -7
9
2
4
10 1
6
-6
3
5
-6
3
最小成本流量問題應用例子
運輸問題、配送問題 轉運問題 生產排程 服務分區指派
2
3
31
2
43
5
9
4
3
3
3
6
-6
5
3
5 -6
supply
1
3
9
11
94
8 3
demand
5
-6
6
-6
21
Special case: 運輸問題
運輸問題的起始可行解求法:
西北角法
supply
demand
A
2 10
8
1
-8
2
B
5
5
2
-8 -6 -1
C
67
1
3
-6
6
22
Special case: 運輸問題
1
10
y3= -2
y1=0 15 y1=0
6
15
4
35
2
y2=1 30
7
-20 y4= -6
5
y4= -6
c’15=1
y2=1
5 15 5 -15 y5= -4
y5= -4
18
練習題
2
3 1 3
2
4 3
9
5
4
3
3 3
6 -6
3 5 5
-6
19
Network simplex演算法
如何找到一個起始可行的展開樹?
A1
A2
A4
H1 A3
A6
A7 A5
H2 A8
A9 A10
7
應用例:服務分區指派(續)
area Call rate 2 A1
Service center
5
A2
1
. . .3
3
H1
H2
0 [0,5]
D
0 [0,8]
Total call rate
-12
4
A10
1.5
8
最小成本流量問題數學模型
Minimize
i’
s ki i
cii' 0
bi uki
13
Network simplex演算法
一個基本可行解可以對應到一個展開樹 步驟:
1.先找到一個起始可行的展開樹 2.計算每一個節點的對偶值 yi • 令 y1=0 • yi – yj = cij for all (i,j) in the spanning tree
4
應用例:運輸問題
已知:
各供給點的供應量 各需求點的需求量 單位運輸成本
目標:
使得由供給點運送資源到需 求點的總運輸成本為最小
supply
A
10
B
5
C
7
5
4 5
4 4
6
6 4
5
demand
1
-8
2
-8
3
-6
5
應用例:生產排程
已知:
各期需求量、原
Initial inventory
material product
• 增加進入變數之流量,但不得使其他基底變數之 流量變成負值
• 將流量降為0的弧線(離開變數)自展開樹中移除
7. 回到步驟2
15
Network simplex演算法
3 10 3 -10 y3= -3
1
y1=0 15
3
6
c’23= -1 5
4
5 15
-20 y4= -6
2
y2=1 30
7
c’15= 1
11
模型轉換
如何進行模型轉換來移除流量上限?
令 xijuijsij ,則原模型可轉換為
min
cijxij
ij
subje:ct to
xij skibi uki iN
j
k
k
xijlij, ansdij0 foarllijinA
12
模型轉換
k
x ki [lki,uki]
i
bi
uki
k
x ki
-1
1
-1
x56 RHS 3
3 0 0 9 1 -6 -1 -6
10
模型轉換
如何進行模型轉換來移除流量下限?
令 xij xi'jlij ,則原模型可轉換為
min cijxi'j
cijlij
ij
ij
subje:ct to
xi'j xk' ibi lij lk i iN
j
k
j
k
0xi'juijlij foarliljinA
-15
生產排程計畫(採
9
購量、生產量...)
M4
6 P4 [3,15]
0 R4
[0, ∞]
-20
FI Final inventory
-8
6
應用例:服務分區指派
已知:
各區通報率及至 各服務中心的行 駛時間
各服務中心可以 處理的上限(與車 輛數及可接受延 誤有關)
目標:
以總反應時間最 小為目標,將各 分區指派給所屬 之服務中心
增加一個虛擬節點(dummy node)
連接所有節點與虛擬節點(成本無限大)
9
2
4
31
6
-6
3
5
-6
7
20
Special case: 運輸問題
在運輸問題中,只有供給點與需求點,沒有 轉運點
任何最小成本流量問題均可轉換成運輸問題
先以最短路徑演算法求解所有供給點與需求點間 的最短路徑及其路徑成本,再重新構建成運輸問 題的網路