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 單形法