• 沒有找到結果。

階段一的求解流程

第四章 雙廠區的跨廠途程規劃

4.2 階段一的求解流程

如圖 4.4 所示,上述求解架構中,第一階段的求解流程可分成三個模組:(1) LP 模組;(2)利用多元搜尋法迭代 (Multiple Search Loop;MS-Loop) 求解最 佳切割點;(3)利用另一個二元搜尋法迭代求解(Binary Search Loop;BS-Loop) 求解最佳的總產出量(V*)。

茲將此三個模組的關係說明如下,首先,在給定一(V,Π)的情境下,我們可 利用 LP 模組,求得此情境下最佳的途程比例R 。其次,在給定 V 的情境下,* 我們利用 MS-Loop,以三元搜尋方式,求出此情境下最佳的切割點*。最後,

在一給定區間(VL, VU)內,我們可利用 BS-Loop,以二元搜尋方式,求出此區間 內 最 佳 的 總 產 出 量V*。 經 由 上 述 三 模 組 的 整 合 , 我 們 可 求 得 最 佳 的 解 (V*,*,R )。茲將上述三模組的細部流程分別說明如下,並進行複雜度分析。 *

階段一

假設運輸時間=0 (*1,R1*)

階段二 假設運輸時間≠0

*

1

*

R 2

圖 4.4 階段一的求解架構 4.2.1 LP 模組

此 LP 模組的功能可說明如下(參閱圖 4.5),在給定兩廠總產出量(V )及途 程切割點()的情境下,此 LP 模組求出此情境下的最佳途程比例(R )。若給定*V 值太大(超出產能限制式),此 LP 模式會產生無解的情況。

圖 4.5 LP 模組的功能

此 LP 模組有三個基本假設:(1)在此兩晶圓廠中,每一晶圓廠皆可單獨 生產所有的產品;(2)工作站/暫存區之間的運輸軌道唯一,亦即運輸路徑是固 定,並且事先規劃完成;(3)每一種產品只有四個可能生產途程。分別為11、

兩廠總產出量 V

途程切割點決策

LP模組 最佳途程比例

*

V 太大會無解 BS-Loop

設定V

MS-Loop 設定Π

LP 模組 依所給定(V,Π)

求解R * R

V*:最佳的總產出量

*:特定 V 值下 最佳的Π 值(切割點)

R :特定(V,Π)值下 *

最佳的 R 值(途程比例)

2

d

Wih:產品 i 採 21 生產途程時,每批量在 Fab_2 的工作站h所需的加工時間 Q :可跨廠生產的產品集合 c

Q :只能在單廠生產的產品集合 s

決策變數(Decision Variables)

ai :產品 i 採 11 生產途程的加工比例

係。限制式(2)和(3)則在確保 Fab_1 及 Fab_2 兩個廠中每個工作站的產能需求 會小於其產能供給。限制式(4)是對於不可跨廠生產的產品,限制其生產途程比 例。在此 LP 模組中,如果V 太大可能會造成無解的現象,因為無法滿足產能 限制。若是 LP 模組無解,我們設定Z V( ,  ) 1。

4.2.2 MS-Loop

上述的 LP 模組簡稱為 LP_Module( ,V ),此 LP 模組在給定( ,V )時,可 求一組R 。MS-Loop 模組是以 LP_Module* ( ,V )為基礎,在給定 V 值下,對 的解空間進行多元化搜尋,以求解出最佳切割點*(參閱圖 4.6)。

此多元化搜尋的演算法是採迭代方式(iterative search)求解,在每一個迭代 (iteration),每一種產品的生產途程都有三個切割點(P ,1 P ,2 P )可選擇,此三個切3 割點分別代表三個局部途程(Seg_1, Seg_2, Seg_3)的中點。若選擇切割點P ,代i 表此產品的最佳切割點可能落在局部途程 Seg_i 上(參閱圖 4.7)。若有n個產品 可跨廠生產,在每一迭代將有3n個組合可供選擇,在每一個迭代我們要求出其 最佳組合*。在下一個迭代,我們根據所選出的*,訂出各產品所需考慮的 局部途程,然後在重複上述步驟,每個產品可選三個切割點,此新迭代中的3n 個組合中,可求出其最佳組合*。因為一個半導體產品的途程最多約 1000 個 加工道次,上述的 MS_Loop 一般而言迭代的總數大約 6~7 次(36 729),因此 LP 模組的其搜尋的解空間為3n7個解。

茲將上述的求解流程簡稱為 Procedure MS_Loop 並細部說明如下:

Procedure MS_Loop (V) Initialization

j = 1, /*iteration number*/

For each product k, set the lower/upper bounds for searching k* Ljk = 0, Ujk = Ok, 1kn

Identify the longest route /* for terminating the following While loop*/

Ok

Max Arg h

While {j = 1 or (m2h-m1h)2}

Step 1: Determine three cut-off points for a route segment m1k (1/ 4)Ujk(3 / 4)Ljk, 1kn

2k ( jk jk) / 2

m UL , 1kn

3k (3 / 4) jk (1/ 4) jk

m  UL , 1kn

Step 2: Generate all possible combinations of cut-off points

1 1 2 3

{ | ( ,..., ), where , , }

j n k k k k k k

S        m  m  m

Step 3: Identify the best combination of cut-off points from Sj Set Hj 

Step 4: Update the interval for each product k

If (*km1k) then Lj+1,k = Lj,k, Uj+1,k =

(UjkLjk)/2

, 1kn

If (k*m2k) then Lj+1,k = (1/ 4) Ujk (3 / 4)Ljk, Uj+1,k = (3 / 4) Ujk (1/ 4)Ljk, 1kn

If (k*m3k) then Lj+1,k =

(Ujk Ljk)/2

, Uj+1,k = Uj,k, 1kn

Step 5: Go to next iteration j = j+1

Endwhile

Output *, LP_Check

圖 4.6 MS-Loop Call LP 模組

圖 4.7 多元搜尋法(Multiple Search;MS)

4.2.3 BS-Loop

BS-Loop 主要目的是求解最佳的總產出量V*,首先需推估出V 值的上下界 )

,

(L U ,L 代表 LP 模組的一可行解(產出量小),U 則代表 LP 模組的不可行解(產 出量太大,無法滿足產能限制式)。然後在(L,U)區間內找出V*,通常(L,U)最 多約差 200 批量,利用二元搜尋法搜尋時,迭代次數約 7 次即可求得最佳的V*。 BS-Loop 的求解流程如圖 4.8 所示,其細部流程說明如下:

BS-Loop 設定V

MS-Loop 設定

LP模組 依所給定(V,)

求解R * R

V*:最佳的總產出量

*:特定 V 值下 最佳的值(切割點)

R :特定* (V,)值下 最佳的 R 值(途程比例)

Iteration 1

Iteration 2

P 1 P 2 P 3

1

Seg_ Seg_2 Seg_3

圖 4.8 BS-Loop

Procedure BS_Loop (L, U)

Initialization /* set initial range of throughput*/

i = 1, /*i is iteration number*/

Step 1: Determine the two test points within the lower/upper bounds V1 = (1/ 4)Ui(3 / 4)Li

2 (3 / 4) i (1/ 4) i V  UL

Step 2: Evaluate the performance of the two test points Call MS_Loop(V1)

Set P1 = LP_Check Call MS_Loop(V2) Set P2 = LP_Check

Step 3: Update the throughput interval for search

If (P2= ―Pass‖) then Li+1 =

(UiLi)/2

, Ui+1 = Ui, k = 2

If (P1= ―Pass‖ and P2= ―Fail‖) then Li+1 = Li, Ui+1 =

(UiLi)/2

, k = 1 If (P1= ―Fail‖ and P2= ―Fail‖) then Li+1 = Li, Ui+1 =

(UiLi)/4

, k =0 Step 4: Next iteration

BS-Loop

i = i+1 Endwhile

If k = 0, Stop. /*User warning: the input value of L is too large*/

Else Set V*V2, Output V*

若 V 值的上下界差異是 200 批量,利用 BS-Loop 搜尋 V 時約需經過迭代 7 次。再者,如前所述,給定一個 V 值,利用 MS-Loop 約搜尋3 7n 個途程切割 點組合,因此在階段一本研究總共需要評估3n77個可能解,其中n代表需要 跨廠生產的產品個數。

茲將以一實例將 Method_0 與 Method_1 的計算次數比較如下,若有一跨廠 途程規劃問題有 9 種產品,Method_0 假設 9 種產品都可跨廠生產,Method_1 則假設只有 3 種產品需要跨廠生產。若 Method_0 的求解時間為T ,則 Method_10 的 求 解 時 間 約 為

3

0 0

9

3 1

3 T 729T , 亦 即 計 算 時 間 將 大 為 縮 短 。 Method_2 和 Method_3 的計算時間則大約與 Method_1 相近。