113 年 國立中央大學工業管理研究所碩士班《作業研究》

📄 試題原卷 免費註冊後即可對照原始考卷 PDF免費註冊

第 1 題20 分

Adopt the following procedure to calculate the inverse of matrix A, where

A=[−3−0.511.510.25−0.5−0.2530.25−0.5−1.25−3011]A = \begin{bmatrix} -3 & -0.5 & 1 & 1.5 \\ 1 & 0.25 & -0.5 & -0.25 \\ 3 & 0.25 & -0.5 & -1.25 \\ -3 & 0 & 1 & 1 \end{bmatrix}

(a) Set up an augmented matrix [A|I], where I is the 4 × 4 identity matrix.
(b) Apply "row operations" (e.g., row swaps, scaling rows, and adding multiples of one row to another row) to transform the augmented matrix [A|I] into the form [I|B].
(c) If you can successfully transform [A|I] into [I|B], then matrix B is the inverse of matrix A.
Note: You must show step-by-step calculation processes to receive a full score. Moreover, if you do not use the above procedure, you will not receive any score.

登入後即可作答並保存紀錄。

這一題的完整詳解

本題要求使用高斯-約旦消去法 (Gauss-Jordan Elimination) 求取給定矩陣 A 的逆矩陣。此方法的核心是將原矩陣 A 與同階的單位矩陣 I 組合,形成增廣矩陣 [A|I]。接著,透過一系列合法的列運算,將增廣矩陣的左半部(即 A)轉換為單位矩陣 I。當 A 被轉換為 I 時,增廣矩陣的右半部就會自動轉換成 A 的逆矩陣 A−1A^{-1},即得到 [I|A−1A^{-1}]。

步驟 (a): 設定增廣矩陣 [A|I]
將矩陣 A 與 4x4 的單位矩陣 I 組合:

[A∣I]=[−3−0.511.5100010.25−0.5−0.25010030.25−0.5−1.250010−30110001][A|I] = \left[ \begin{array}{cccc|cccc} -3 & -0.5 & 1 & 1.5 & 1 & 0 & 0 & 0 \\ 1 & 0.25 & -0.5 & -0.25 & 0 & 1 & 0 & 0 \\ 3 & 0.25 & -0.5 & -1.25 & 0 & 0 & 1 & 0 \\ -3 & 0 & 1 & 1 & 0 & 0 & 0 & 1 \end{array} \right]

步驟 (b) 與 (c): 執行列運算,將 [A|I] 轉換為 [I|A−1A^{-1}]

為了簡化計算,我們優先處理數值較小的元素,並嘗試將主對角線元素變為 1。

  1. 將第一列乘以 -1/3,使 a11a_{11} 變為 1。
    R1←−13R1R_1 \leftarrow -\frac{1}{3}R_1

    [11/6−1/3−0.5−1/300010.25−0.5−0.25010030.25−0.5−1.250010−30110001]\left[ \begin{array}{cccc|cccc} 1 & 1/6 & -1/3 & -0.5 & -1/3 & 0 & 0 & 0 \\ 1 & 0.25 & -0.5 & -0.25 & 0 & 1 & 0 & 0 \\ 3 & 0.25 & -0.5 & -1.25 & 0 & 0 & 1 & 0 \\ -3 & 0 & 1 & 1 & 0 & 0 & 0 & 1 \end{array} \right]
  2. 將第一列減去第二列,使 a21a_{21} 變為 0。
    R2←R2−R1R_2 \leftarrow R_2 - R_1

    [11/6−1/3−0.5−1/300000.25−1/6−0.5−(−1/3)−0.25−(−0.5)0−(−1/3)10030.25−0.5−1.250010−30110001]\left[ \begin{array}{cccc|cccc} 1 & 1/6 & -1/3 & -0.5 & -1/3 & 0 & 0 & 0 \\ 0 & 0.25 - 1/6 & -0.5 - (-1/3) & -0.25 - (-0.5) & 0 - (-1/3) & 1 & 0 & 0 \\ 3 & 0.25 & -0.5 & -1.25 & 0 & 0 & 1 & 0 \\ -3 & 0 & 1 & 1 & 0 & 0 & 0 & 1 \end{array} \right]

    計算:0.25−1/6=1/4−1/6=3/12−2/12=1/120.25 - 1/6 = 1/4 - 1/6 = 3/12 - 2/12 = 1/12
    −0.5+1/3=−1/2+1/3=−3/6+2/6=−1/6-0.5 + 1/3 = -1/2 + 1/3 = -3/6 + 2/6 = -1/6
    −0.25+0.5=0.25=1/4-0.25 + 0.5 = 0.25 = 1/4

    [11/6−1/3−0.5−1/300001/12−1/61/41/310030.25−0.5−1.250010−30110001]\left[ \begin{array}{cccc|cccc} 1 & 1/6 & -1/3 & -0.5 & -1/3 & 0 & 0 & 0 \\ 0 & 1/12 & -1/6 & 1/4 & 1/3 & 1 & 0 & 0 \\ 3 & 0.25 & -0.5 & -1.25 & 0 & 0 & 1 & 0 \\ -3 & 0 & 1 & 1 & 0 & 0 & 0 & 1 \end{array} \right]
  3. 將第一列乘以 -3 並加到第三列,使 a31a_{31} 變為 0。
    R3←R3−3R1R_3 \leftarrow R_3 - 3R_1

    [11/6−1/3−0.5−1/300001/12−1/61/41/310000.25−3(1/6)−0.5−3(−1/3)−1.25−3(−0.5)0−3(−1/3)010−30110001]\left[ \begin{array}{cccc|cccc} 1 & 1/6 & -1/3 & -0.5 & -1/3 & 0 & 0 & 0 \\ 0 & 1/12 & -1/6 & 1/4 & 1/3 & 1 & 0 & 0 \\ 0 & 0.25 - 3(1/6) & -0.5 - 3(-1/3) & -1.25 - 3(-0.5) & 0 - 3(-1/3) & 0 & 1 & 0 \\ -3 & 0 & 1 & 1 & 0 & 0 & 0 & 1 \end{array} \right]

    計算:0.25−1/2=1/4−1/2=−1/40.25 - 1/2 = 1/4 - 1/2 = -1/4
    −0.5+1=0.5=1/2-0.5 + 1 = 0.5 = 1/2
    −1.25+1.5=0.25=1/4-1.25 + 1.5 = 0.25 = 1/4
    11

    [11/6−1/3−0.5−1/300001/12−1/61/41/31000−1/41/21/41010−30110001]\left[ \begin{array}{cccc|cccc} 1 & 1/6 & -1/3 & -0.5 & -1/3 & 0 & 0 & 0 \\ 0 & 1/12 & -1/6 & 1/4 & 1/3 & 1 & 0 & 0 \\ 0 & -1/4 & 1/2 & 1/4 & 1 & 0 & 1 & 0 \\ -3 & 0 & 1 & 1 & 0 & 0 & 0 & 1 \end{array} \right]
  4. 將第一列乘以 3 並加到第四列,使 a41a_{41} 變為 0。
    R4←R4+3R1R_4 \leftarrow R_4 + 3R_1

    [11/6−1/3−0.5−1/300001/12−1/61/41/31000−1/41/21/4101000+3(1/6)1+3(−1/3)1+3(−0.5)0+3(−1/3)001]\left[ \begin{array}{cccc|cccc} 1 & 1/6 & -1/3 & -0.5 & -1/3 & 0 & 0 & 0 \\ 0 & 1/12 & -1/6 & 1/4 & 1/3 & 1 & 0 & 0 \\ 0 & -1/4 & 1/2 & 1/4 & 1 & 0 & 1 & 0 \\ 0 & 0 + 3(1/6) & 1 + 3(-1/3) & 1 + 3(-0.5) & 0 + 3(-1/3) & 0 & 0 & 1 \end{array} \right]

    計算:1/21/2
    1−1=01 - 1 = 0
    1−1.5=−0.5=−1/21 - 1.5 = -0.5 = -1/2
    −1-1

    [11/6−1/3−0.5−1/300001/12−1/61/41/31000−1/41/21/4101001/20−1/2−1001]\left[ \begin{array}{cccc|cccc} 1 & 1/6 & -1/3 & -0.5 & -1/3 & 0 & 0 & 0 \\ 0 & 1/12 & -1/6 & 1/4 & 1/3 & 1 & 0 & 0 \\ 0 & -1/4 & 1/2 & 1/4 & 1 & 0 & 1 & 0 \\ 0 & 1/2 & 0 & -1/2 & -1 & 0 & 0 & 1 \end{array} \right]
  5. 將第二列乘以 12,使 a22a_{22} 變為 1。
    R2←12R2R_2 \leftarrow 12R_2

    [11/6−1/3−0.5−1/300001−23412000−1/41/21/4101001/20−1/2−1001]\left[ \begin{array}{cccc|cccc} 1 & 1/6 & -1/3 & -0.5 & -1/3 & 0 & 0 & 0 \\ 0 & 1 & -2 & 3 & 4 & 12 & 0 & 0 \\ 0 & -1/4 & 1/2 & 1/4 & 1 & 0 & 1 & 0 \\ 0 & 1/2 & 0 & -1/2 & -1 & 0 & 0 & 1 \end{array} \right]
  6. 將第二列減去第一列的 1/6,使 a12a_{12} 變為 0。
    R1←R1−16R2R_1 \leftarrow R_1 - \frac{1}{6}R_2

    [10−1/3−(1/6)(−2)−0.5−(1/6)(3)−1/3−(1/6)(4)0−(1/6)(12)0001−23412000−1/41/21/4101001/20−1/2−1001]\left[ \begin{array}{cccc|cccc} 1 & 0 & -1/3 - (1/6)(-2) & -0.5 - (1/6)(3) & -1/3 - (1/6)(4) & 0 - (1/6)(12) & 0 & 0 \\ 0 & 1 & -2 & 3 & 4 & 12 & 0 & 0 \\ 0 & -1/4 & 1/2 & 1/4 & 1 & 0 & 1 & 0 \\ 0 & 1/2 & 0 & -1/2 & -1 & 0 & 0 & 1 \end{array} \right]

    計算:−1/3+1/3=0-1/3 + 1/3 = 0
    −0.5−0.5=−1-0.5 - 0.5 = -1
    −1/3−4/6=−1/3−2/3=−1-1/3 - 4/6 = -1/3 - 2/3 = -1
    −2-2

    [100−1−1−20001−23412000−1/41/21/4101001/20−1/2−1001]\left[ \begin{array}{cccc|cccc} 1 & 0 & 0 & -1 & -1 & -2 & 0 & 0 \\ 0 & 1 & -2 & 3 & 4 & 12 & 0 & 0 \\ 0 & -1/4 & 1/2 & 1/4 & 1 & 0 & 1 & 0 \\ 0 & 1/2 & 0 & -1/2 & -1 & 0 & 0 & 1 \end{array} \right]
  7. 將第二列乘以 1/4 加到第三列,使 a32a_{32} 變為 0。
    R3←R3+14R2R_3 \leftarrow R_3 + \frac{1}{4}R_2

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 2 題30 分

Solve the following optimization problem using the "dual simplex" method.
Minimize 4x1+6x2+8x34x_1 + 6x_2 + 8x_3
subject to 4x1−2x2+6x3≥84x_1 - 2x_2 + 6x_3 \ge 8
3x1+6x2+3x3≥93x_1 + 6x_2 + 3x_3 \ge 9
x1,x2,x3≥0x_1, x_2, x_3 \ge 0
Note: You have to show detailed calculation processes to receive a full score. Moreover, if you do not use the "dual simplex" method, you will not receive any score.

登入後即可作答並保存紀錄。

這一題的完整詳解

本題要求使用單純形法中的「對偶單純形法」(Dual Simplex Method) 來求解一個最小化問題。對偶單純形法適用於初始基本可行解不滿足所有約束條件(尤其是當約束條件為 ≥\ge 或 == 時),但其對偶問題的初始基本可行解是滿足對偶約束的。然而,在此問題中,我們可以直接將原始問題轉換為標準型,然後使用對偶單純形法。

首先,將最小化問題轉換為最大化問題,並將 ≥\ge 型約束轉換為 ≤\le 型約束。
原問題:
Minimize Z=4x1+6x2+8x3Z = 4x_1 + 6x_2 + 8x_3
subject to
4x1−2x2+6x3≥84x_1 - 2x_2 + 6x_3 \ge 8 (1)
3x1+6x2+3x3≥93x_1 + 6x_2 + 3x_3 \ge 9 (2)
x1,x2,x3≥0x_1, x_2, x_3 \ge 0

轉換為最大化問題:
Maximize Z′=−4x1−6x2−8x3Z' = -4x_1 - 6x_2 - 8x_3
subject to
−4x1+2x2−6x3≤−8-4x_1 + 2x_2 - 6x_3 \le -8 (1')
−3x1−6x2−3x3≤−9-3x_1 - 6x_2 - 3x_3 \le -9 (2')
x1,x2,x3≥0x_1, x_2, x_3 \ge 0

為了使用對偶單純形法,我們需要引入人工變數或轉換問題。對偶單純形法通常從對偶問題的初始基本可行解開始。然而,對於 ≥\ge 型約束,我們可以先引入一個「偽」的初始基底。

另一種常見的做法是,對於 ≥\ge 型約束,先引入一個鬆弛變數(slack variable)使其變為等式,然後再引入一個人工變數(artificial variable)以獲得初始基底。但對偶單純形法的優勢在於,我們可以處理原始問題的 ≥\ge 型約束,無需引入人工變數,只要確保對偶可行性即可。

我們將原問題改寫為標準型,並引入鬆弛變數 s1,s2≥0s_1, s_2 \ge 0:
Minimize Z=4x1+6x2+8x3Z = 4x_1 + 6x_2 + 8x_3
subject to
4x1−2x2+6x3−s1=84x_1 - 2x_2 + 6x_3 - s_1 = 8 (1)
3x1+6x2+3x3−s2=93x_1 + 6x_2 + 3x_3 - s_2 = 9 (2)
x1,x2,x3,s1,s2≥0x_1, x_2, x_3, s_1, s_2 \ge 0

此時,目標函數 ZZ 尚未表示成基底變數的函數。我們需要利用約束式來消去 s1,s2s_1, s_2。
從 (1) 式,s1=4x1−2x2+6x3−8s_1 = 4x_1 - 2x_2 + 6x_3 - 8
從 (2) 式,s2=3x1+6x2+3x3−9s_2 = 3x_1 + 6x_2 + 3x_3 - 9

將 ZZ 表示成所有變數的函數:
Z=4x1+6x2+8x3Z = 4x_1 + 6x_2 + 8x_3

在單純形表中,我們通常將目標函數寫成 Z−(4x1+6x2+8x3)=0Z - (4x_1 + 6x_2 + 8x_3) = 0。
但對偶單純形法更適合處理約束條件為負值的情況。

我們將問題改寫成對偶單純形法可以處理的形式。
將 ≥\ge 約束轉換為 ≤\le 約束,並引入鬆弛變數:
Minimize Z=4x1+6x2+8x3Z = 4x_1 + 6x_2 + 8x_3
subject to
−4x1+2x2−6x3+s1=−8-4x_1 + 2x_2 - 6x_3 + s_1 = -8 (1')
−3x1−6x2−3x3+s2=−9-3x_1 - 6x_2 - 3x_3 + s_2 = -9 (2')
x1,x2,x3,s1,s2≥0x_1, x_2, x_3, s_1, s_2 \ge 0

在此形式下,s1s_1 和 s2s_2 是鬆弛變數,但約束右側為負,這正是對偶單純形法處理的初始狀態。
我們的目標是使右側的負值消失,同時保持目標函數的最小化。

初始單純形表:
基底變數為 s1,s2s_1, s_2。
目標函數為 Z−4x1−6x2−8x3=0Z - 4x_1 - 6x_2 - 8x_3 = 0。

基底 (Basis)x1x_1x2x_2x3x_3s1s_1s2s_2RHS
s1s_1-42-610-8
s2s_2-3-6-301-9
Z-4-6-8000

對偶單純形法步驟:

  1. 選擇離基變數 (Leaving Variable): 選擇 RHS (常數項) 中值最負的行。在此表中,−9-9 是最負的值,所以 s2s_2 是離基變數。

  2. 選擇入基變數 (Entering Variable): 計算比率:目標函數列 (Z 列) 的係數絕對值除以離基變數所在列的係數(若該係數為負)。

    • 對 x1x_1: ∣−4∣/∣−3∣=4/3|-4| / |-3| = 4/3
    • 對 x2x_2: ∣−6∣/∣−6∣=1|-6| / |-6| = 1
    • 對 x3x_3: ∣−8∣/∣−3∣=8/3|-8| / |-3| = 8/3
      選擇最小的比率,即 11。因此,x2x_2 是入基變數。
  3. 進行列運算: 將 s2s_2 替換為 x2x_2 作為基底變數。新的 s2s_2 列(現在是 x2x_2 列)的支點元素是 −6-6。
    將第二列乘以 −1/6-1/6,使支點元素變為 1。
    R2←R2/(−6)R_2 \leftarrow R_2 / (-6)

    [−42−610−81/211/20−1/63/2−4−6−8000]\left[ \begin{array}{ccccc|c} -4 & 2 & -6 & 1 & 0 & -8 \\ 1/2 & 1 & 1/2 & 0 & -1/6 & 3/2 \\ -4 & -6 & -8 & 0 & 0 & 0 \end{array} \right]

    現在,用新的 x2x_2 列(第二列)來更新其他列,使 x2x_2 列以外的 x2x_2 係數變為 0。

    • R1←R1−2R2R_1 \leftarrow R_1 - 2R_2:
      [−4,2,−6,1,0,−8]−2×[1/2,1,1/2,0,−1/6,3/2][-4, 2, -6, 1, 0, -8] - 2 \times [1/2, 1, 1/2, 0, -1/6, 3/2]
      =[−4,2,−6,1,0,−8]−[1,2,1,0,−1/3,3]= [-4, 2, -6, 1, 0, -8] - [1, 2, 1, 0, -1/3, 3]
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 3 題50 分

【背景描述】
John is a contract logistics professional working for a major unmanned aerial vehicle (UAV) maker in the country. His work is to collect high-value parts made by various electronic component makers in different cities and then transport these electronic parts to the UAV maker. The area in which these component makers (cities) are located is big. Therefore, due to long-distance travel, work regulations and other reasons, John has made an agreement with the UAV maker that he would just make one delivery trip for them every day except weekend and holidays; moreover, due to his long working relationship with them, he gets to choose any city that he likes to maximize income (explained shortly). Typically, John would drive his pickup truck leaving home around 7 AM; then, he would visit some or all of the component makers to collect finished parts and transport them to the UAV maker at or before 5 PM on the same day. John's home and the UAV maker are in the same city.

Being a contract logistics professional, John is paid on a trip-basis such that his pay is precisely 2.0% of the total worth of the electronic parts that he is able to deliver to the UAV maker at the end of his daily trip. As an example, if one day John delivered a total worth of 500,000 NT (台幣) of electronic parts to the UAV maker, he would get 10,000 NT for doing the work. But John is responsible for all the fuel costs that are required to finish the trip. Therefore, if he paid 2,500 NT for the fuel of his truck that day, his actual income is just 7,500 NT. As every component maker has a production schedule different from all other makers, the quantity of finished parts that John can collect from each maker is different every day. So, it is very important for John to determine his travel route carefully before leaving home every morning, as which city to go collecting finished parts and how to move among them determines the actual income that he can make that day!

【模型開發】
The above situation can be solved optimally by using a mixed-integer programming (MIP) model. To make the problem easier, let's assume that all the cities (including the one in which John and the UAV maker reside) form a "complete graph" such that each city is a "node" in the graph and any two cities are connected by a "link." Obviously, this link provides a direct way to travel from one city to another, without the need to go to a third city first. Let's number all the cities with 1, 2, 3, etc., with "1" being the city in which John and the UAV maker are located. The following figure depicts an example of a complete graph with six cities.

🖼️【此處有附圖,請對照原卷】

The following describes the finished electronic parts that John can collect in the complete graph.
• Every node except node 1 has certain finished electronic parts that John can collect. And he knows their total worth and total weight before leaving home at node 1 in the morning.
The following formally describes the requirements for John's pickup-and-delivery trip.
• John will start his trip from node 1.
• Before returning to node 1, John may visit any other node in the graph (note: it is "may," not "must"). And no matter how he travels, he cannot visit any node more than once.
• Whenever he visits a new node after leaving node 1, he must pick up all the finished parts sitting over there (that is, he cannot just "pass by" a node and do nothing about the finished parts that he can pick up over there; partial pickup is NOT allowed, either).
• There is a maximum load limit for the pickup truck. Therefore, John must choose the nodes to visit carefully to make sure that their finished parts have a total weight less than or equal to the truck's maximum load limit.

Here is an example for the kind of trip that John can make: 1→3→5→1. In this example, he visits nodes 3 and 5 exactly once after leaving node 1, picks up all the finished parts at those two nodes (assuming the parts' total weight is OK for the truck) and then return to node 1. We call 1→3→5→1 a node sequence (節點序列), as it is a sequence of nodes that John can use to do his work.

The following list contains some of the parameters and indices related to developing a MIP model for John. Note that "parameters" mean known information or given data (給定資訊); in other words, they are NOT decision variables.

  • N: parameter, indicating the set containing all the nodes at which high-value UAV parts are made and node 1 at which John and the UAV maker are located.
  • n: index, representing one of the cities in N (that is, n ∈ N).
  • VnV_n: parameter, indicating the total worth of the parts that John can pick up at node n (for example, V5=150,000V_5 = 150,000 if the total worth of the parts at node 5 is 150,000 NT).
  • WnW_n: parameter, indicating the total weight of the parts that John can pick up at node n (for example, W13=250W_{13} = 250 if the total weight of the parts at node 13 is 250 kg).
  • WtruckW_{truck}: parameter, indicating the maximum load limit for John's pickup truck (for example, WtruckW_{truck} could be 3,000 kg).
  • Fi,jF_{i,j}: parameter, indicating the fuel costs required for traveling from node i to node j or vice versa (for example, F7,18F_{7,18} could be 450 NT).

The following are four steps to guide you to develop a MIP model to select an optimal node sequence for John, that is, if he visits and picks up finished parts according to that node sequence, his actual income will be maximized.

Step 1 (20分):
To develop such a MIP model, one possible approach is to construct "a set of node sequences" and then use them to calculate certain parameters for the model (先建構一些既定的節點序列,然後再用這些節點序列來計算一些模型需要的參數). Let S be such a node-sequence set. Please describe in detail as to the kind of node sequences that you will want S to contain. (令S為一個包含節點序列的集合。請問這個集合應該包含什麼樣的節點序列,才能有助於模型求得最佳解。請清楚說明。你可以用一個簡單的例子,使說明更加清楚。)

Step 2 (10分):
With the determination of node sequences that S should contain in Step 1, now you can calculate three parameters for each node sequence s ∈ S (你可以為集合S裡面的每一條節點序列計算三種參數):

  1. the total worth of electronic parts that John must pick up from every component-maker node contained in s (denoted as VsequenceV^{\text{sequence}})
  2. the total weight of those parts (denoted as WsequenceW^{\text{sequence}})
  3. the total fuel costs for John to travel following node sequence s (denoted as FsequenceF^{\text{sequence}}).
    Please elaborate in detail as to how you will calculate VsequenceV^{\text{sequence}}, WsequenceW^{\text{sequence}} and FsequenceF^{\text{sequence}} (請說明你會如何去計算這三種參數)

Now we are ready to develop the MIP model. Let xsx_s be a binary decision variable such that xs=1x_s = 1 if node sequence s is selected for John to travel, and xs=0x_s = 0 if s is not selected for him.

Step 3 (10分):
The MIP model has an objective function to maximize the actual income for John. What is its mathematical expression? (請利用上面給定的資訊,寫出模型的目標式)

Step 4 (10分):
The MIP model only needs two very simple constraints to be totally complete. What are these two constraints? (模型只需要兩條非常簡單的限制式;請利用上面給定的資訊,將它們寫出來)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題採用先列舉完整路線,再選擇最佳路線的建模方法。每條路線的取貨價值、重量與燃油成本都可事先算好,模型只須決定選哪一條。

John 的實際收入為:

實際收入=0.02×取貨總價值−路線總燃油成本.\text{實際收入} = 0.02\times\text{取貨總價值} - \text{路線總燃油成本}.

「由節點 1 出發並返回、其他節點至多拜訪一次、到訪即全數取貨」由候選路線的建構方式保證;「每天選一條路線」與「不超過載重」則由限制式保證。

解題方法

步驟一:建構節點序列集合 SS

令供應商節點集合為 C=N∖{1}C=N\setminus\{1\}。每條候選序列寫成:

s=(1,i1,i2,…,ik,1),1≤k≤∣C∣,s=(1,i_1,i_2,\ldots,i_k,1), \qquad 1\leq k\leq |C|,

其中 i1,…,ik∈Ci_1,\ldots,i_k\in C,且彼此不同。

因此,SS 應涵蓋:

  1. 所有非空的供應商節點子集合:John 不必拜訪全部供應商。
  2. 各子集合的所有拜訪順序:拜訪順序決定行經哪些連線,進而決定燃油成本。
  3. 每條序列都從節點 1 出發,最後返回節點 1:節點 1 僅作為起點與終點,其他節點不得重複。

這樣才能確保最佳路線包含在 SS 中。若只列出部分路線,模型求出的僅是該候選集合中的最佳解,不能保證是原問題的最佳解。此處先列舉符合路線結構的序列,載重是否合格交由步驟四判斷。

**簡例:**若 N={1,2,3}N=\{1,2,3\},則可取:

S={(1,2,1), (1,3,1), (1,2,3,1), (1,3,2,1)}.S= \left\{ (1,2,1),\, (1,3,1),\, (1,2,3,1),\, (1,3,2,1) \right\}.

題目設定燃油成本與方向無關,即 Fi,j=Fj,iF_{i,j}=F_{j,i},因此:

F1,2+F2,3+F3,1=F1,3+F3,2+F2,1.F_{1,2}+F_{2,3}+F_{3,1} = F_{1,3}+F_{3,2}+F_{2,1}.

所以 (1,2,3,1)(1,2,3,1) 與 (1,3,2,1)(1,3,2,1) 的取貨價值、重量及燃油成本均相同。兩條都保留仍然正確;為縮小集合,也可只保留其中一條。

一般而言,一條路線與其完全反向路線等價。但拜訪相同節點的不同順序,若不是完全反向,便不保證燃油成本相同,不能一概刪除。

步驟二:計算各序列的三個參數

對每條 s=(1,i1,…,ik,1)s=(1,i_1,\ldots,i_k,1),以 VssequenceV_s^{\text{sequence}}、WssequenceW_s^{\text{sequence}}、FssequenceF_s^{\text{sequence}} 表示其參數。

(一)取貨總價值

每個到訪的供應商都必須全數取貨,因此:

Vssequence=∑r=1kVir.V_s^{\text{sequence}} = \sum_{r=1}^{k}V_{i_r}.

節點 1 沒有待取貨零件,不列入加總。

(二)取貨總重量

同理:

Wssequence=∑r=1kWir.W_s^{\text{sequence}} = \sum_{r=1}^{k}W_{i_r}.

途中只有取貨,回到節點 1 才交貨,因此車上載重隨取貨累加。只要總取貨重量不超過載重上限,途中各階段也都不會超載。

(三)路線總燃油成本

令 i0=ik+1=1i_0=i_{k+1}=1,逐段加總:

Fssequence=∑r=0kFir,ir+1.F_s^{\text{sequence}} = \sum_{r=0}^{k}F_{i_r,i_{r+1}}.

此式包括出發路段、供應商之間的移動,以及最後返回節點 1 的路段。

例如 s=(1,3,5,1)s=(1,3,5,1):

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

其他考古題