115 年 國立成功大學工業與資訊管理學系研究所甲組《作業研究》
第 1 題10 分
Consider the undirected and connected network with two special nodes called the origin and the destination. Associated with each of undirected arcs is a nonnegative distance between the pair of nodes connected by that arc.
🖼️【此處有附圖,請對照原卷】
Use the dynamic programming to determine the shortest route from Node O to Node T.
登入後即可作答並保存紀錄。
本題考驗動態規劃在求最短路徑的應用。我們將從節點 O 開始,逐步計算到達各節點的最短距離,直到到達節點 T。
令 為從節點 O 到達節點 的最短距離。
初始狀態:,所有其他節點的距離設為無限大。
節點的順序可以根據與 O 的距離來推進,或者直接考慮所有節點。這裡我們採用依節點順序推進的方式:O -> {A, B, C} -> {D, E} -> T。
-
從 O 出發:
-
考慮到達 D 的最短路徑:
節點 D 可以從 A 或 B 到達。- 經由 A 到達 D:
- 經由 B 到達 D:
第 2 題
Consider the minimum cost flow problem shown below, where the values (net flows generated) are given by the nodes, the values (costs per unit flow) are given by the arcs, and the values (arc capacities) are given between nodes.
🖼️【此處有附圖,請對照原卷】
(a) [5%] Formulate the give minimum cost flow problem as a linear programming problem.
(b) [5%] Consider the following flow:
Arc | Flow
--- | ----
A→D | 0
B→D | 0
D→E | 0
and find the flow on the other arcs in order to produce a feasible flow for the minimum cost flow problem. Is the feasible flow a basic solution to the problem in (a)?
(c) [5%] Verify that the solution in (b) is optimal.
登入後即可作答並保存紀錄。
核心觀念
最小成本流問題必須同時滿足:
- 每個節點的流量守恆:
- 每條弧的容量限制:
- 目標是使總流量成本最小。
本題共有 5 個節點,因此流量平衡式的獨立秩為 。若選出的基弧形成涵蓋所有節點的生成樹,則可判定為基本解。
(a) 線性規劃模型
令 表示弧 上的流量。圖中弧及其單位成本為:
因此目標函數為
各節點的流量平衡式如下。
節點 :
節點 :
節點 :
節點 :
節點 :
容量及非負限制為
其中節點 的平衡式與其他節點式具有一條線性相關關係,刪除該式仍不影響模型。
(b) 求可行流與判斷基本解
題目給定
代入各節點平衡式:
由節點 :
由節點 :
由節點 與 :
令
則
考慮容量限制:
且
所以所有可行流可表示為
題目後續所使用的成本最小基本可行流取 ,得到
連同題目給定的流量:
判斷其是否為基本解:
選取下列弧作為基弧:
第 3 題
Consider the maximization linear programming problem
and the optimal simplex tableau is given by
🖼️【此處有附圖,請對照原卷】
(a) [5%] Obtain the optimal value from the tableau.
(b) [5%] Another firm wishes to purchase one unit of the first resource from you. How much is
such a unit worth to you? Why?
(c) [5%] Are there any alternative optimal solutions? If not, why not? If so, give one.
登入後即可作答並保存紀錄。
核心觀念
本題考查單純形表的三項判讀:
- 最佳解:將非基底變數設為 。
- 最佳目標值:讀取 列的 RHS。
- 資源影子價格:讀取對應鬆弛變數在 列的係數。
- 非基底變數的約化成本為 ,表示存在替代最佳解。
由圖中單純形表:
基底變數為 ,非基底變數為 。
解題方法與計算
(a) 最佳值
將非基底變數設為 :
因此目前的基底解為
最佳目標值直接讀取 列的 RHS:
(b) 第一項資源的價值
第一項資源 所對應的鬆弛變數是 。在最佳單純形表中, 欄於 列的係數為 ,因此第一項資源的影子價格為
第 4 題
Consider the following linear programming problem:
Let this problem be denoted by .
(a) [5%] Write down the KKT condition for the problem .
(b) [5%] Directly explain why the KKT condition in (b) can produce an optimal solution of the problem .
登入後即可作答並保存紀錄。
本題考驗 KKT (Karush-Kuhn-Tucker) 条件在非線性規劃中的應用,特別是對於包含等式約束、不等式約束和變數範圍約束的問題。
核心觀念:
KKT 条件是局部最优解的必要條件(在某些正規性條件下,也是充分條件)。它結合了拉格朗日乘子法(處理等式約束)和對偶約束(處理不等式約束)。
(a) 寫下 KKT 条件
首先,我們需要將問題 轉換成標準形式,即最小化目標函數,所有約束為 形式,且變數非負。
然而,題目要求的是最大化問題,並且 可以是任意實數,。
我們將問題 改寫為:
為了應用 KKT 条件,我們需要處理 的約束。這通常通過引入兩個非負變數來處理,或者在 KKT 条件中直接處理。
另一種方法是,將 視為一個自由變數,這意味著它沒有下界。
然而,更常見的做法是將 表示為兩個非負變數的差,例如 , .
但是,題目要求的是 "Write down the KKT condition",通常在處理自由變數時,其對應的 KKT 條件(拉格朗日乘子)是 0。
標準 KKT 条件的組成部分:
- 梯度條件 (Stationarity): 目標函數的梯度與約束條件梯度的線性組合的梯度為零。
- 原始可行性 (Primal Feasibility): 變數滿足所有約束。
- 對偶可行性 (Dual Feasibility): 對應不等式約束的拉格朗日乘子(對偶變數)非負。
- 互補鬆弛性 (Complementary Slackness): 每對約束和其對應的對偶變數,它們的乘積必須為零。
重新定義問題,使其更適合 KKT:
對於 ,我們沒有一個明確的 或 的約束。
在 KKT 条件中,對於自由變數 ,其對應的梯度條件要求該變數的偏導為零。
對於不等式約束 ,我們引入對應的對偶變數 。
對於 的約束,我們可以寫成 或 .
如果寫成 , 則對應的約束是 .
那麼拉格朗日乘子 .
梯度:
(這裡 是關於 的,所以 )
KKT 条件:
存在 使得:
- 梯度條件 (Stationarity):
-
對於 :
注意: 對於自由變數 ,其 KKT 條件是 。
所以,
-
對於 :
-
第 5 題15 分
In a large-scale optimization model, the production quantity appears as a decision variable determined by other constraints and objectives. The production cost function associated with is given by the following piecewise linear function:
Formulate a mixed-integer linear programming (MILP) representation of the cost function .
Your formulation should:
- Introduce appropriate auxiliary variables and binary variables,
- Ensure the correct activation of cost segments,
- Be exact (i.e., no approximation),
- Be linear and suitable for standard MILP solvers.
You do not need to optimize over , and no additional system constraints are required.
登入後即可作答並保存紀錄。
本題要求將一個分段線性函數轉換為混合整數線性規劃 (MILP) 的形式。這通常通過引入二元變數來選擇正確的區段,並引入輔助變數來處理區段之間的轉換。
核心觀念:
分段線性函數的 MILP 表述。
目標是將非線性(分段)的成本函數線性化,並使用整數變數來控制激活哪個區段。
分段函數分析:
成本函數 定義在三個區段:
- 區段 1: . 成本 .
- 區段 2: . 成本 .
- 注意:當 時,.
- .
- 在 處,兩個區段的成本是連續的。
- 當 時,.
- 區段 3: . 成本 .
- 在 處,.
- 在 處,成本也是連續的。
MILP 表述方法:
我們需要引入二元變數來表示 屬於哪個區段。
令:
- :二元變數,如果 ,則 ,否則 。
- :二元變數,如果 ,則 ,否則 。
- :二元變數,如果 ,則 ,否則 。
由於 必須屬於其中一個區段(假設 ),則 。
處理區段的邊界和轉換:
MILP 的一個常見方法是使用 "big M" 方法,或者引入額外的輔助變數。
方法一:使用連續變數和二元變數
我們可以引入輔助變數來表示 在每個區段內的「部分」。
令 為 在三個區段內的貢獻。
則 .
-
區段 1 ():
如果 , 則 . 成本為 .
如果 , 則 .
這可以通過約束 來實現。 -
區段 2 ():
如果 , 則 . 成本為 .
如果 , 則 .
這比較複雜。通常我們將區段的範圍寫成相對於區段起始點的偏移量。
令 為 在區段 2 的部分,即 .
如果 , 則 . 成本為 .
如果 , 則 .
約束:.
同時,為了確保 是 的一部分,我們需要 .
這個方法需要小心處理。
方法二:使用 "Big M" 和二元變數(更標準)
令 為總生產量。
令 為二元變數,表示 屬於哪個區段。
.
引入輔助變數 ,分別表示 在每個區段的貢獻。
.
-
區段 1:
- 如果 , 則 . 成本 .
- 如果 , 則 .
- 約束:. (這裡 是隱含的,因為 是生產量)
-
區段 2:
- 如果 , 則 .
- 成本 .
- 我們可以引入一個變數 來表示 在區段 2 的「增量」。
- 如果 , 則 代表 在 範圍內的貢獻。
- 更標準的做法: 引入變數 代表 在區段 2 的部分。
- 如果 , 應在 範圍內。
- 如果 , .
- 約束:.
- 成本:.
- 展開:.
- 這個形式可以嗎?
- 如果 , 成本是 .
- 如果 , 成本 .
- 如果 , 成本 .
- 這與原始函數 吻合。
-
區段 3:
- 如果 , 則 .
- 成本 .
- 引入變數 代表 在區段 3 的部分。
- 約束:. (上界是無限大)
- 成本:.
- 展開:.
- 如果 , 成本 .
- 如果 , 成本 .
- 這與原始函數 吻合。
整合起來:
變數:
- :生產量(連續變數,非負)。
- :二元變數,表示 屬於哪個區段。
- :輔助變數,表示 在每個區段的貢獻。
約束條件:
-
區段選擇:
-
總量關係:
-
區段 1 激活與約束:
- (如果 , ; 如果 , )
-
區段 2 激活與約束:
- (如果 , ; 如果 , )
-
區段 3 激活與約束:
- (如果 , ; 如果 , 必須為 0,這需要約束)
- 為了確保 , 我們需要一個上界。
- 假設 的最大可能值不是無限大。如果 的總量有界,例如 。
- 那麼 .
- 如果 的總量沒有明確的上界,我們需要找到一個足夠大的 M。
- 例如,如果 不超過 1000,則 .
- 更嚴謹的做法:
- 區段 1:
- 區段 2:
- 區段 3: (其中 M 是一個足夠大的數,例如 1000 或 2000)
目標函數:
最小化總成本 .
檢查連續性:
- 當 : . . Cost = .
- 當 : . . Cost = .
- 如果 , cost = .
- 如果 , cost = .
- 當 : . . Cost = .
- 如果 , cost = .
總量約束: .
如果 :
- 如果 , . 成本 . .
- 如果 , . 但 不滿足。
- 如果 , . 但 不滿足。
這表示,我們需要確保 的定義與 的激活一致。
另一種標準表述:
令 為總生產量。
引入二元變數 表示 屬於的區段。
.
引入輔助變數 來表示斷點。
成本函數 可以寫成:
其中 penalty 是為了懲罰 超出某個區段的範圍。
更常見的方法:
令 為總生產量。
引入 二元變數。
.
引入變數 代表 在各區段的貢獻。
.
-
區段 1 ()
- 如果 , . Cost .
- 如果 , .
- 約束:.
-
區段 2 ()
- 如果 , .
- 成本 .
- 引入變數 代表 在區段 2 的部分。
- 約束:.
- 成本:.
第 6 題15 分
Consider a two-player zero-sum game between Player A and Player B. The payoff matrix below shows Player A's payoff.
🖼️【此處有附圖,請對照原卷】
Solve the game using the graphical method. Determine:
(a) (5%) The optimal mixed strategy of Player A,
(b) (5%) The optimal mixed strategy of Player B, and
(c) (5%) The value of the game.
登入後即可作答並保存紀錄。
核心觀念
此題考的是「零和遊戲的圖形法」:先消除可支配的策略以降低問題規模,再以玩家的混合機率 (或 )表示期望值,使對方的純策略使自己的最小收益最大化,從而求得最優混合策略與遊戲價值。
(a) Player A 的最優混合策略
設 為 Player A 選取 的機率(則 為選取 的機率)。
若 Player B 選 ,A 的期望收益為
[
E_{B_1}=6p+1(1-p)=5p+1
]
若 Player B 選 ,A 的期望收益為
[
E_{B_4}=1p+3(1-p)=3-2p
]
在最優策略下,Player B 會選擇使 A 的收益最小的那一欄,故 A 必使兩欄收益相等:
[
5p+1=3-2p\quad\Longrightarrow\quad 7p=2\quad\Longrightarrow\quad p=\frac{2}{7}
]
因此 Player A 的最優混合策略為
[
A_2:\frac{2}{7},\qquad A_3:\frac{5}{7}
]
【答案】
Player A 的最優混合策略:(A_2) 機率 (\frac{2}{7}),(A_3) 機率 (\frac{5}{7})。