第二章 文獻探討
3.4 雙流線型工廠模式建構
3.4.5 適合度函數
完成工件加工途程與加工順序的解讀之後,接著要介紹基因演算法中,用來評估染 色體績效值的適合度函數。
所謂的適合度函數,指的是用來評估所有染色體在族群中表現好壞之績效,表現好 的染色體即表示適應力較佳,因此存活機率也較高,反之較差的染色體適應力較差,因 此存活機率也較低。在求解過程中,會將染色體的表現轉換成適合度函數值,最後選取 族群中適合度函數值最高的染色體當做下一代。
在本研究中的適合度函數值指的便是目標式CV 值,在進行上述的染色體解讀之 後,便可透過適合度函數CV 值的計算,來評估此條染色體之優劣。求算 CV 值的步驟 與其方程式與建構規則如下:
一、模式建構 Objective
s s
s X
CV
Min σ
= (3.9) Fitness Function
STi,1,1,f =0 (3.10) STi,s,1,f =CTi′,s−1,1,f,其中s≠1 (3.11) STi,1,j,f =CTi,s,j−1,f′+ f − f′*TS,其中 j≠1 (3.12) STi,s,j,f =Max
{
CTi,s′,j−1,f′ + f − f′*TS,CTi′,s−1,j,f}
(3.13) CTi,s,j,f =STi,s,j,f +Pi,s,j,f (3.14)二、建構規則
適合度函數的建構具有以下規則:
目標式:最小化寬裕度之CV 值。(3.9)
1. Stage1 的第一個 Job 無須等候直接投入。(3.10) Æ Start time = 0
2. Stage1 其餘 Job 的 Start time 只需考慮上一個 Job 的 Complete time。(3.11) 3. Stage 2 以後,各 Stage 第一個加工 Job 之 start time ,只需考慮該 Job 在前一
Stage 的 Complete time 與運輸時間。(3.12)
4. Stage 2 以後,非第一個加工 Job 之 start time ,需考慮該 Job 在前一 Stage 的完工時間+運輸時間,及該 Stage 前一 Job 之完工時間,兩者取最大值。(3.13) 5. 所有 Job 的 Complete time = Start time + Processing time。(3.14)
三、案例說明
以下同樣運用先前8 個工件的案例來說明上述方程式與建構規則,在此皆假設運輸 時間為0.05。
1. Stage1 的第一個 Job 無須等候直接投入,方程式(3.10)。
說明:
因為本研究假設為空廠開始進行排程,所以剛開始兩廠內都沒有半成品,所以 當工件下來,要進行加工時,便無需等候,可以直接投入,所以開始加工時間
, 0
1 , 1
, f =
STi ,完工時間CTi,s,j,f =STi,s,j,f +Pi,s,j,f = Pi,s,j,f 。 案例解說:
由表3.13 可得知左側為 Stage 1,A 廠的待加工工件,順序為 J1、J3、J4、J8,
右側為B 廠的工件順序 J2、J5、J6、J7,因此第一個工件投入時(J1 與 J2),因為是 由空廠開始進行排程,再加上無跨廠所以運輸時間、到站時間與開始加工時間皆為
表 3. 13 Stage 1 首次派工情形
2. Stage 1 其餘 Job 的 Start time 只需考慮上一個 Job 的 Complete time,方程式(3.11)。
說明:
Stage 1 第一個工件加工完之後,下個工件的開始時間即為前一個工件的完工 時間,如方程式(3.11)STi,s,1,f =CTi′,s−1,1,f,其CT 的下標i′與 i 同樣工件的意思,但在 這會用i′主要是為了與ST 的下標 i 作區別,表示此兩工件是不同的,最後,方程式 子中的s 都不得為 1,因為如果 s = 1 就變成規則 1 的情形。
案例解說:
如表3.14 所示,J3 要在 A 廠進行加工,必須先等到 J1 完工之後才能進入,所 以J3 的開始加工時間=J1(前一個工件)完工時間。
表 3. 14 Stage 1 後續派工情形
3. Stage 2 以後,各 Stage 第一個加工 Job 之 start time ,只需考慮該 Job 在前一 Stage 的Complete time 與運輸時間,方程式(3.12)。
說明:
工件在Stage 1 加工完後,進入 Stage 2 時,如果是第一筆加工工件,則工件 到站後不必等候馬上可進行加工,但是此工件的開始時間卻受制於前一Stage 的完 工時間CTi,s,j− ,1f′與運輸時間TS。前一Stage 何時完成,才能被運往下一個 Stage,
又因為本研究跨廠時須考量運輸時間,所以如果工件在兩個Stage 間有跨廠時,便 必須將運輸時間加進去,所以方程式才會如(3.12)所示為,此方程式中, f 與 f ′ 都 是代表工廠,會使用 f ′ 是為了區別是兩個廠 f 代表目前Stage, f ′ 代表前一個 Stage,兩者可能相同也可能不同,如果 f = f ′ 則不必考量運輸時間TS,否則兩者 相減便會為1,也就是開始時間必須加上運輸時間。
案例解說:
表3.15 顯示 J1 由 Stage 1 要換到 Stage 2 的過程,當 J1 要進到 Stage2 的空機 台時,他必須先在Stage 1 完成加工,也就是要經過 1.2 的時間才能送往下一 Stage,
又因為J1 在 Stage 1 與 Stage 2 都是在 A 廠加工,不必跨廠的情況下,也就不用在 加總運輸時間,所以J1 在 Stage 2 的開始加工時間便等於 Stage 1 的完工時間 1.2。
表 3.15 Stage 2 首次派工情形
4. Stage 2 以後,非第一個加工 Job 之 start time ,需考慮該 Job 在前一 Stage 的完 工時間+運輸時間,及該 Stage 前一 Job 之完工時間,兩者取最大值,方程式(3.13)。
說明:
如果工件非此站第一個加工之工件,其開始加工時間的建構會比較複雜,此工 件在衡量開始之時間時,因為我們無法得知工件何時會到達本站,所以必須考量兩 種情況:第一種,如果此工件到達本站的時間比本站前一個工件的完工時間晚,表 示說工件到達時機台是空的,那此工件的開始時間便只需考量他在前一Stage 的完 工時間CTi,s′,j−1,f′,如果工件有經過跨廠,則必須再加上跨廠的運輸時間TS;第二 種情形,如果此工件到達本站的時間比本站前一個工件的完工時間早,那表示說工 件到達本站時,還必須等候前一個工件的完工才能開始進行加工,所以其開始加工 時間便會等於前一個工件的完工時間CTi′,s−1,j,f 。所以方程式(3.13)必須先判斷哪種 情形的時間會比較長,時間較長者便是此工件的開始時間。
案例解說:
如表3.16,當 J3 要進到 Stage 2 進行加工時,由於必須跨廠,所以 J3 到達 Stage 2 的時間便為 Stage 1 完工時間 2.8 加上運輸時間 0.05 即為 J3 到 Stage 2 的時間 2.85,但是當 J3 到達時卻無法馬上進行加工,因為 Stage 2 中前一個工件 J2 還在進 行加工,所以等到J2 在 2.9 的時間點完工 之後,J3 才得以進入機台中,所以他 在Stage 2 的開始加工時間便為 Min{2.8+0.05,2.9}=2.9。
表 3. 16 Stage 2 後續派工情形
5. 最小化寬裕度之 CV 值。(3.9)
說明:當所有工件在每一個Stage 都經由上述的規則進行排列後,便可以得到所 有工件的總完工時間CTi,s,j,f,工件在一開始顧客下單時便預先決定好了 各自的交 期d ,由於寬預度 = i di −CTi,s,j,f ,所以要求最小化CV 的公式
即為
s s
s X
CV
Min σ
= 。
案例說明:如表3.17 可以很清楚的看到每個工件的完工時間與交期,最後一欄 (DD-End)即為每個工件寬裕度的值,因此便可求出此組排程的績效值為
0.1463。
表 3. 17 計算 CV