ch03 單形法-hychen.ppt
Download
Report
Transcript ch03 單形法-hychen.ppt
第三章
單形法
Simplex Method
作業研究 二版 2009
© 廖慶榮
章節大綱
1.
2.
3.
4.
5.
6.
7.
前言
單形法的幾何意義
單形法的代數說明
單形法的表形式
特殊情況
對於其他形式的調整
大M法
8. 雙階法
9. 單一人工變數技巧
10. 計算效率與電腦軟體
附錄
附錄1. Excel規劃求解
附錄2. LINDO軟體
p.2/45
作業研究 二版 Ch.3 單形法
3.2 單形法的幾何意義
典型範例的圖形
˙F
Z 52
8
3x1 2 x2 18
6
D
˙
4
C
˙
x1 2 x2 10
2
A˙
0
B
2
4
˙
6
E
8
˙
10
p.3/45
作業研究 二版 Ch.3 單形法
3.2 單形法的幾何意義
限制式邊界(constraint boundary)
角點解(corner-point solution)
各限制式邊界所相交的點(圖中A、B、C、D、E、F)
角點可行解(corner-point feasible solution;CPFS):A、
B、C、D
角點不可行解(corner-point infeasible solution):E、F
相鄰的(adjacent)
若兩個CPFS有一個共同的限制式邊界,則彼此稱為相鄰
的。如A與B兩點是相鄰的
邊(edge)
相鄰兩CPFS的連接線段為此可行區域的邊。如AB、BC、
CD、DA四個線段均為可行區域的邊。
p.4/45
作業研究 二版 Ch.3 單形法
3.2 單形法的幾何意義
範例3.1
此三個變數問題的角點解是三個限制式邊界的交點
A、B、……、J等10點是CPFS
x2
D
˙
C
˙
F˙
I
J
˙ ˙˙
A
E
x3
˙
作業研究 二版 Ch.3 單形法
˙
G
B
˙
x1
˙H
p.5/45
CPFS的重要性質
性質3.1
對於一個具有最佳解的線性規劃問題,一定存
在一個為最佳解的CPFS
性質3.2
CPFS的個數是有限的
性質3.3
若一個CPFS無更佳的相鄰CPFS,則其為最佳解
p.6/45
作業研究 二版 Ch.3 單形法
單形法的幾何程序
根據CPFS的三個重要性質而來
步驟(對於標準形式)
1. 以原點作為起始CPFS。
2. 測試是否各相鄰的CPFS具有更佳的Z值。
若是,則至步驟3;
否則停止,目前的CPFS即為最佳解。
3. 由目前的CPFS,沿著可行區域上Z值改進率最
大的邊移動至相鄰的CPFS。返回步驟2。
p.7/45
作業研究 二版 Ch.3 單形法
典型範例之CPFS的搜尋順序
搜尋順序(A-D-C)
p.8/45
作業研究 二版 Ch.3 單形法
範例3.3之CPFS的搜尋順序
搜尋順序(A-D-F-I-J)
D
˙
C
˙
F˙
I
J
˙ ˙˙
A
E
˙
˙
G
B
˙
˙H
p.9/45
作業研究 二版 Ch.3 單形法
Questions to design the simplex algorithm
In algebra,
How do we identify a CPFS (如何利用代數找到
一個(幾何的) CPFS)?
How to move from a CPFS to another (如何由
一個 CPFS 移動到另一個 CPFS)?
Where is the move direction that improve Z(如
何找到移動的方向)?
10
3.3 單形法的代數說明
使用單純法前,須先將所有限制式轉換為等式
若限制式為≦,加上寬鬆變數(slack variable)
若限制式為≧,減去剩餘變數(surplus variable)
典型例題之擴充形式:
Max Z 7 x1 8 x2
s.t. x1 2 x2 x3
3x1 2 x2
10
x4 18
x1 , x2 , x3 , x4 0
The augmented form of LP problem is
equivalent to the original LP
problem
作業研究 二版 Ch.3 單形法
p.11/45
Introducing slack variables to functional
constraints
12
The augmented form of the LP problem
13
LP的擴充形式
擴充形式(augmented form)
加上寬鬆變數或減去剩餘變數後的LP形式
擴充解
包含原始變數、寬鬆變數及剩餘變數
擴充角點解
擴充角點可行解
p.14/45
作業研究 二版 Ch.3 單形法
如何利用擴張問題找到 CPFS?
CPFS 是 n 個限制式邊界交會點
要先找到限制式邊界才能找到 CPFS
Q: 如何找到限制式邊界?
A: 利用原始變數、寬鬆變數/剩餘變數
p.15/45
作業研究 二版 Ch.3 單形法
Identify a boundary equation in the original model
by using the augmented model
Case: the functional constraint
使用寬鬆變數/剩餘變數 找到限制式邊界
16
Identify a boundary equation in the original model
by using the augmented model
Case: non-negative constraint
使用原始變數找到限制式邊界
17
基解
基解(basic solution)
擴充問題的代數解
基解的幾何的意義即為擴充角點解
基變數(basic variable;BV): 基解中不為 0 的變數
基底(basis): 基解所有的基變數的集合
非基變數(non-basic variable: NBV):基解中為 0 的變數
可行基解(basic feasible solution;BFS)
BFS的幾何意義即為擴充CPFS
相鄰的(adjacent)BFS: 兩個 BFS 中只差一個非基變
數不同(Q: 如何在代數中知道兩個 BFS 是相鄰?)
p.18/45
作業研究 二版 Ch.3 單形法
練習: 利用擴張問題的代數解找到對應的 CPFS
F
˙
Max Z 7 x1 8 x2
s.t. x1 2 x2 x3
8
3 x1 2 x2
6
(0,5)
˙
10
x4 18
x1 , x2 , x3 , x4 0
D
4
C
˙
(4,3)
2
B
A
˙
0
2
(0,0)
4
˙
(6,0)
6
E
8
˙
10
p.19/45
作業研究 二版 Ch.3 單形法
How do we identify a CPFS in Algebra
20
How do we identify a CPFS in Algebra
21
BFS的三個重要性質
性質3.4
對於一個具有最佳解的線性規劃問題,一定存
在一個為最佳解的BFS
性質3.5
BFS的個數是有限的
性質3.6
若一個BFS沒有更佳的相鄰BFS,則其為最佳解
p.22/45
作業研究 二版 Ch.3 單形法
3.4 單形法的表形式(Tabular Form)
高斯消去法(Gaussian elimination method)
利用基本代數運算將原方程式系統轉換為常態形式
常態形式(proper form):基變數僅出現在其所在
的方程式,且係數為1,而不會出現在其他方程式內
基本代數運算(elementary algebraic operation)
一列可乘以一個常數
一列與常數的乘積可加到另一列或被另一列減去
p.24/45
作業研究 二版 Ch.3 單形法
高斯消去法範例
考慮以下方程式系統(即迭代0):
Z 7 x1 8 x2 0
x1 2 x2 x3 10
3 x1 2 x2 x4 18
若 x2 進入、 x1 離開,則(即迭代1):
Z 3 x1 4 x3 40
1
1
x1 x2 x3 5
2
2
2 x1 x3 x4 8
p.25/45
作業研究 二版 Ch.3 單形法
基本代數運算
較有效率的計算方式:
一律使用加法,而不用減法,以避免混淆
視計算的難易,而決定使用原基準列(離開變
數之列)或新基準列
p.26/45
作業研究 二版 Ch.3 單形法
單形法的表形式
作業研究 二版 Ch.3 單形法
首先將典型範例的擴充形式改寫如下:
Z 7 x1 8 x2 0
x1 2 x2 x3 10
第一個單形表
3 x1 2 x2 x4 18
BV
Z
x1
x2
x3
x4
Z
x3
1
7
8
0
0
0
0
1
2
1
0
10
5
x4
0
3
2
0
1
18
9
RHS r
p.27/45
單形法的表形式
作業研究 二版 Ch.3 單形法
第二、三個單形表
BV
Z
x1
x2
x3
x4
RHS
Z
1
0
40
0
4
1
2
0
x2
3
1
2
0
5
10
x4
0
2
0
1
5
2
3
4
1
2
1
8
4
1
Z
1
0
0
x2
0
0
1
x1
0
1
0
3
2
1
4
1
2
r
52
3
4
p.28/45
單形法表形式的求解步驟
起始步驟:
加上寬鬆變數。
在起始BFS中,讓寬鬆變數為該限制式的BV,並讓所有
原始變數為NBV。
最佳性測試:
若所有Z列係數均為非負值,則停止;否則繼續。
迭代步驟:
決定進入變數:選擇具最負Z列係數的NBV為進入變數。
決定離開變數:以最小比率測試,選擇比率最小的BV。
產生新單形表:利用高斯消去法。
返回最佳性測試。
p.29/45
作業研究 二版 Ch.3 單形法
3.5 特殊情況
1. 進入變數平手
任選其一
2. 離開變數平手(退化解)
此時,在下一個單形表,未被選擇離開的BV必為零
退化基變數(degenerate BV)
退化可行基解(degenerate BFS)。
理論上,退化BFS有可能產生循環,使得Z值不變,
但實際運算時幾乎不可能發生。
p.30/45
作業研究 二版 Ch.3 單形法
3.5 特殊情況
3. 無離開變數(無窮解)
若任何單形表,其進入變數之欄無任何正值
實務上,若遇無窮解,則代表該LP模式有誤
4. 最佳單形表含Z列係數=0的NBV(多重最佳解)
所得到兩個解的凸組合均為最佳解。
p.31/45
作業研究 二版 Ch.3 單形法
3.6 對於其他形式的調整
1. 極小化問題
轉換法
將原問題轉換為極大化的問題
使用轉換法時,單形表Z欄的Z列係數將是-1,因此
原問題的Z值= -(最佳單形表中的Z值)
直接法
直接改變最佳性測試和決定進入變數的規則:
最佳性測試:若所有Z列係數均為非正值,則停止;否則
則繼續。
迭代步驟:
決定進入變數:選擇具最大Z列係數的NBV為進入變數。
p.32/45
作業研究 二版 Ch.3 單形法
3.6 對於其他形式的調整
2. RHS為負值
左右兩邊分別乘以
3. 等式限制式
必須加上人工變數(artificial variable)
以此AV作為該等式的起始BV
4. 大於等於限制式
先減去剩餘變數(surplus variable)再加上AV
以此AV作為該限制式的起始BV
p.33/45
作業研究 二版 Ch.3 單形法
人工問題的圖形
當僅有兩個變數時:
等式限制式由「一條線」擴充至「半個面」。
大於等於限制式由「半個面」擴充至「全部面積」
8
P的可行區域(一條線)
6
P(A)的可行區域
4
2
˙
0
作業研究 二版 Ch.3 單形法
2
4
6
8
10
p.34/45
3.6 對於其他形式的調整
5. 變數允許為負值
具有下限值
xi li
其中下限值為負值。我們可讓
xi xi li
xi 0
此方法亦適用於當下限值為正值時
p.35/45
作業研究 二版 Ch.3 單形法
具有下限值/範例 3.12
Max Z 2 x1 x2
s.t. x1 2 x2 10
3x1 2 x2 18
x1 5, x2 0
讓 x1 x1 (5) x1 5 (即 x1 x1 5 )
,可得:
Max Z 10 2 x1 x2
s.t. x1 2 x2 15
3x1 2 x2 33
x1 0, x2 0
p.36/45
作業研究 二版 Ch.3 單形法
無下限值/範例 3.13
極大化 Z 2 x1 x2
受限於
x1 2 x2 10
3x1 2 x2 18
x1 0, x2 不受限
讓 x2 x2 x2 , x2 , x2 0 ,可得:
極大化 Z 2 x1 x2 x2
受限於
x1 2 x2 2 x2 10
3x1 2 x2 2 x2 18
x1 , x2 , x2 0
p.37/45
作業研究 二版 Ch.3 單形法
3.7 大M法
兩個處理人工變數的方法:
大M法(big-M method)
雙階法(two-phase method)
目的
盡量讓人工變數為零,以使所得到的人工問題
最佳解即為原問題的最佳解
p.38/45
作業研究 二版 Ch.3 單形法
大M法求解程序
作法
對人工變數(AV)在目標函數中給予極大的懲罰,
以使得在單形法的運算過程中,盡可能降低AV
之值(最好為零)
對於max問題,讓AV的目標函數係數為-M
對於min問題,讓AV的目標函數係數為M
建立第一個單形表
第一個單形表並不符合常態形式,而須以高斯
消去法還原(restore)列,才能得到起始BFS。
之後,即可完全依一般單形法處理
p.39/45
作業研究 二版 Ch.3 單形法
大M法結果的分析
情況A:找到問題P(M)的最佳解
若所有AV=0,則此解亦為問題P的最佳解
若有任何AV≠0,則問題P無可行解
情況B:問題P(M)是無窮解
若所有AV=0 ,則問題P亦為無窮解
若無窮解的條件來自最負的Z列係數(對max問
題),且有任何AV≠0 ,則問題P無可行解
若非來自最負的Z列係數,則仍無法判斷,須繼
續求解
p.40/45
作業研究 二版 Ch.3 單形法
範例3.16
P:極大化 Z 7 x1 8 x2
受限於 x1 2 x2 10
3x1 2 x2 18
x1 , x2 0
P(M):極大化 Z 7 x1 8 x2 M x4 M x5
受限於
x1 2 x2 x3 x4 1 0
3x1 2 x2 x5 18
x1 , x2 , x3 , x4 , x5 0
p.41/45
作業研究 二版 Ch.3 單形法
範例3.16
/單形表1-3
BV
Z
x1
x2
x3
x4
x5
RHS
Z
x4
1
7
8
0
M
M
0
0
1
2
1
1
0
10
x5
0
3
2
0
0
1
18
Z
x4
1
7 4M
8 4M
M
0
0
28M
0
1
2
1
1
0
10
5
x5
0
3
2
0
0
1
18
9
Z
1
0
1
4 2M
1
2
40 8M
0
4 M
1
2
0
x2
0
5
10
x5
0
3 2M
1
2
2
0
1
1
1
8
4
r
p.42/45
作業研究 二版 Ch.3 單形法
範例3.16
BV
Z
/單形表4-5
x1
x2
x3
x4
x5
RHS
Z
1
0
0
x2
0
0
1
x1
0
1
0
5
2
3
4
1
2
Z
1
0
0
72
x2
0
5
3
2
1
0
9
x3
0
2
0
1
8
r
52
3
4
8
p.43/45
作業研究 二版 Ch.3 單形法
3.8 雙階法
兩方法之差異
大M法:藉由大M的係數區分AV和其他變數
雙階法:以兩階段區分AV和其他變數(較易)
第一階段
僅考慮AV,因此僅需用係數1或-1即可
第一個單形表不符合常態形式,因此須以高斯
消去法還原Z列
第一階段問題P(I):
一定會求得最佳解,不可能是無窮解或無可行解
當得到P(I)的最佳解時,若所有AV=0,則至第二階
段;若有任何AV≠0 ,則原問題無可行解
p.44/45
作業研究 二版 Ch.3 單形法
3.8 雙階法
第二階段
將AV全部刪除(若有AV仍為基變數(其值必為
零)時,則仍必須暫時保留該AV)
利用P(I)的最佳解作為P(II)的起始BFS
回復原問題的目標函數係數,並還原Z列
p.45/45
作業研究 二版 Ch.3 單形法
範例3.18
作業研究 二版 Ch.3 單形法
P:Max Z 7 x1 8 x2
s.t.
x1 2 x2 10
3x1 2 x2 18
x1 , x2 0
P(I):Max Z x4 x5
s . t . x1 x2 2 x3 x4
10
3x1 2 x2 x5 1 8
x1 , x2 , x4 , x5 0
p.46/45
範例3.18
P(I)的單形表1-2
作業研究 二版 Ch.3 單形法
BV
Z
x1
x2
x3
x4
x5
Z
x4
1
0
0
0
1
1
0
0
1
2
1
1
0
10
x5
0
3
2
0
0
1
18
Z
x4
1
4
4
1
0
0
28
0
1
2
1
1
0
10
5
x5
0
3
2
0
0
1
18
9
RHS r
p.47/45
範例3.18
P(I)的單形表3-4
作業研究 二版 Ch.3 單形法
BV
Z
x1
x2
x3
x4
x5
RHS
Z
1
0
1
2
1
2
8
0
1
1
2
0
x2
2
1
2
0
5
10
x5
0
2
0
1
1
1
8
4
Z
1
0
0
0
0
1
x1
0
1
0
1
3
4
1
2
1
1
4
1
2
0
x2
0
3
4
1
2
r
3
4
p.48/45
範例3.18
P(II)的單形表
BV
Z
Z
作業研究 二版 Ch.3 單形法
RHS
0
x3
0
3
4
1
2
5
2
3
4
1
2
0
1
0
9
0
1
8
1
x1
7
x2
8
x2
0
0
1
x1
0
1
0
Z
1
0
0
x2
0
0
1
x1
0
1
0
Z
1
x2
0
x3
0
5
3
2
2
r
0
3
4
52
3
4
8
72
p.49/45
3.9 單一人工變數技巧
步驟
1. 對於≧或≦限制式,分別減去一個各自的剩餘變
數,再分別加上一個共同的AV,然後於左右兩
邊分別乘以-1。
2. 目標函數與雙階法的第一階段問題相同。
3. 在1st單形表中,以step 1所加的剩餘變數為BV,
並讓AV為進入變數,然後選擇比率最大的變數
為離開變數,即可得到P(A)的一個BFS。
4. 以大M法或雙階法繼續求解該問題。
p.50/45
作業研究 二版 Ch.3 單形法
範例3.19
作業研究 二版 Ch.3 單形法
Max Z 7 x1 8 x2
s.t.
x1 2 x2 10
3x1 2 x2 18
x1 , x2 0
轉換後:
Max Z x5
s.t. x1 2 x2 x3 x5 10
3x1 2 x2 x4 x5 18
x1 , x2 , x3 , x4 , x5 0
p.51/45
範例3.19
/續
作業研究 二版 Ch.3 單形法
BV
Z
x1
x2
x3
x4
x5
RHS
Z
x3
1
0
0
0
0
1
0
0
1
2
1
0
1
10
10
x4
0
3
2
0
1
1
18
18
Z
x3
1
3
2
0
1
0
18
0
2
0
1
1
0
8
x5
0
3
2
0
0
1
18
r
p.52/45
3.10 計算效率與電腦軟體
影響單形法計算時間的因素
功能限制式的個數
變數的個數
非零係數的比例
單形法(LP)的常用電腦軟體
LINDO(最普及)
Excel規劃求解功能
CPLEX(對於大型問題最有效率)
p.53/45
作業研究 二版 Ch.3 單形法
附錄
請參見書本:
附錄3.1 Excel的規劃求解
附錄3.2 LINDO軟體
p.54/45
作業研究 二版 Ch.3 單形法