• 沒有找到結果。

第三章 以改良式基因演算法求解製造單元排程問題

3.3 染色體表達法

本章節將會介紹在製造單元排程問題的情境下所設計的染色體,其染色體會符合此 問題的情境,將各個工件的屬性(工件族)納入設計的理念中。以下將說明傳統染色體設 計的概念與呂佳玟(2009)提出的染色體解讀方法,並且提出結合前述二種方法的混合式 染色體表達法。

3.3.1 傳統染色體表達法(GA-T)

在過去文獻中,使用基因演算法求解製造單元排程問題的研究(Franca et al., 2005;

Lin et al., 2009),其染色體的設計不僅多了一段工件族的的排序,各個工件族內工件的 排序亦依照工件族類別將染色體分段表示。本研究將此設計方法稱為GA-T(Traditional GA)。舉例來說,假設現在有10個工件,3種工件族屬性在機台上加工如圖3.2,GA-T的 方法是在工件排序前加上工件族之排序,如圖3.2所示,F3、F2以及F1為工件族之加工 順序,也就是說,必須先加工完工件族F3內所有的工件,才可以處理工件族F2內之工件,

最後才處理工件族F1內的工件。因此依照過去文獻的染色體設計,其解讀後所有工件之 加工順序依序為:J8-J9-J10-J7-J4-J6-J5-J1-J3-J2。

圖 3. 2 傳統染色體設計

3.3.2 新染色體表達法(GA-N)

本節將說明由呂佳玟(2009)所提出的染色體設計概念與染色體解讀方法。

一、染色體設計

本研究利用基因演算法來求解此製造單元排程問題。使用一條染色體代表一組工件 排序,每個基因格視為一個工件。每一個工件皆會有一個屬性,表示不同的工件在相同 的機台加工時,會使用相同的工具,即組成一個工件族,如圖3.3所示,本論文將此染色 體設計稱為GA-F(Family-based GA)。以下範例將說明染色體設計的概念,假設現在有10 個工件,3種工件族屬性在機台上加工,圖3.3為此情境之染色體設計範例:

J8 J7 J4 J1 J6 J9 J3 J5 J10 J2

f3 f2 f2 f1 f2 f3 f1 f2 f3 f1

Chromosome

Family attribute

圖 3. 3 新的染色體的設計

在染色體中,基因的名稱代表工件名稱,例如染色體第一個基因為J8,則代表Job8;

工件順序則代表加工順序,在圖3.3的染色體,加工順序依序為Job 8、Job 7、Job 4、Job 1、Job 6、Job 9、Job 3、Job 5、Job 10,最後做Job 2;染色體長度則代表工件數目,圖 3.3的染色體有10格基因,代表有10個待加工之工件。

而在工件的屬性中,則代表每一個工件所使用的工件族類別,但此屬性並不為染色 體的一部分,為工件所附屬之屬性。例如圖3.3的Job 8所使用的為F3(工件族3),Job 7所 使用的為F2(工件族2),其他以此類推。

二、染色體解讀

在本研究中所使用的兩個績效評估指標中,其計算方式皆以完工時間做為計算各個 績效指標的基礎,而各個工件在每部機台作業的總完工時間是由總加工時間、等候時間 和設置時間所組合而成,因此只要減少其中任何一個因素,則可降低總完工時間,進而

對其餘績效指標有顯著效益。在過去文獻中,呂佳玟(2009)在求解傳輸整合步進機排程 問題時提出Family-based GA的染色體解讀方法,將Family-based的概念納入染色體的設 計解讀中,即表示將使用相同光罩的工件排序在一起,目的是減少更換光罩的次數,節 省更換光罩所造成多餘的設置時間,讓排程的總完工時間也隨之縮短,在此文獻中設計 的染色體解讀方法可以減少設置時間,對於傳輸整合步機排程問題有很良好的成效,故 本研究應用其染色體解讀的概念於求解製造單元排程問題,以期本研究提出之基因演算 法在逼近最佳解的速率及求解品質上有較佳的表現。

在染色體解讀中,會分成兩部份來說明:首先會先決定工件族間的順序(Among Job Family Sequencing),也就是工件族的順序;第二,是決定工件族內各工件的順序(Within Job Family Sequencing)。

工件族間的排序是根據各個工件的屬性(工件族)來決定的,在各個工件的屬性由左 至右搜尋所有工件族第一次出現的位置,即可得到一組工件族間之排序。以下圖3.4為 例,可得工件族的排序為 F3-F2-F1 ,代表工件族加工之優先順序為先處理使用工件族 3內所有的工件後才能加工屬於工件族2的工件,最後才能加工使用工件族1的工件。

圖 3. 4 工件族順序的解讀

在確定工件族的加工順序後,接著就要排序出在每個工件族內各工件的加工順序。

工件族內各個工件的排序是根據基因的順序來決定的,首先依上述所得之工件族排序的 順序,從第一個加工的工件族開始,在染色體上由左至右搜尋加工屬性為該工件族的基 因,則可得第一個加工之工件族內所有工件的排序,接著搜尋屬性為第二個加工的工件 族之基因,亦可得一組第二個加工之工件族內所有工件的排序,以此類推直到最後一個

加工的工件族之所有工件排序完後停止,最後可得到一組所有工件族內工件排序的染色 體。如圖3.5所示,在工件族F3內的基因順序為J8-J9-J10,代表在工件族F3內必須將加工 順序排序為Job8、Job9、Job10;在工件族F2內的基因順序為J7-J4-J6-J5,代表在工件族 F2內必須將加工順序排序為Job7、Job4、Job、Job5;在工件族F1內的基因順序為 J1-J3-J2,代表在工件族F1內必須將加工順序排序為Job1、Job3、Job2。排序完各工件族 內的工件順序後,即可將工件族順序與工件順序結合,得到一組新的染色體,解讀後染 色體的順序依序為J8-J9-J10- J7-J4-J6-J5-J1-J3-J2。

圖 3. 5 各工件族內工件之排序

由圖3.5可以清楚的表示,此一染色體解讀前後明顯的改變了順序,在經過解讀後工 件已經依照工件族的類別排序,將設置時間降到最低。

3.3.3 混合式染色體表達法(GA-NT/GA-TN)

本研究經由上述兩種染色體表達法的架構下,提出兩種不同染色體表達法相互轉換 的機制,其說明如下:

一、GA-T 轉換為 GA-N

由GA-T染色體表達法轉換為GA-N染色體表達法屬於一對多(one-to-many)轉換;

表示一條GA-T染色體可以轉換成多條GA-N染色體,經過染色體解碼後,其結果皆會相 同。如圖3.6所示,GA-N染色體的順序依序為為J8-J9-J7- J10-J4-J1-J6-J5-J3-J2,與圖3.3 染 色 體 完 全 不 相 同 , 但 經 由 染 色 體 解 碼 後 可 得 到 同 一 組 加 工 的 排 序 為 J8-J9-J10-J7-J4-J6-J5-J1-J3-J2,可以說明GA-T能夠轉換成多條不一樣排序的GA-N染色 體,但其解碼結果是相同的。

圖 3. 6 各工件族內工件之排序

因此本研究使用簡易的一對一(one-to-one)轉換;即在GA-T傳統染色體表達法的 設計上分為兩個部份:工件族的排序和各個工件族內工件的排序(依照工件族類別將染 色體分段表示)。因此將GA-T染色體轉換成GA-N染色體時,會先透過GA-T染色體之工 作族排序部份,得到GA-N染色體工作族間的排序,再依GA-T染色體之各個工件族內工 件的排序,去排列GA-N染色體之各個工件的排序;如圖3.6所示,可以輕易的將GA-T 染色體轉換成GA-N染色體,且其排序為J8-J9-J10-J7-J4-J6-J5-J1-J3-J2,則此即為轉換過 後的GA-N染色體。

二、GA-N 轉換為 GA-T

由GA-N染色體表達法轉換為GA-T染色體表達法屬於一對一(one-to-one)轉換;利 用GA-N染色體解碼的結果如圖3.4,可得到一組GA-T工件族間的排序,接著再使用GA-N

染色體解碼後各個工件族內工件的排序如圖3.5,得到GA-T染色體各個工件族類別內工 件之排序,經過轉換後的GA-T染色體結果如圖3.2所示。

相關文件