第三章 以基因演算法解傳輸整合步進機排序
3.7 本研究方法之特色
此節將介紹本研究與過去文獻所使用的染色體之比較,在兩種染色體皆為結合基 因演算法與家族式派工的設計概念下,試圖比較此兩染色體之優劣。以下將會介紹過 去文獻的染色體設計解讀方法,以及交配與突變方式。
3.7.1 染色體設計與解讀方法
在過去文獻中,有使用基因演算法排序 Job Family 和 Job 的研究(Wilson et al., 2004;
Franca et al., 2005; Lin et al., 2009),皆是在染色體上多設計了 Job Family 的排列,其後 再加上原本 Job 之排列,本研究將此設計方法稱為 GA-FT(Traditional Family-based GA),舉例來說,假設現在有 10 個 Job,3 個 Job Family(與圖 3.3 之情境相同),GA-FT
26
的方法是在 Job 之排序前加上 Job Family 之排序,其後再排序 Job 之順序。
如圖 3.15 所示,F2、F3 以及 F1 為 Job Family 之順序,也就是說,必須先加工完 為 F2 家族的 Job 後才可再加工為 F3 家族的 Job,最後才可加工為 F1 家族的 Job。而 在 Job Family 1 內 Job 的加工順序為 Job2、Job3 及 Job1,在 Job Family 2 內 Job 的加 工順序為 Job4、Job5 及 Job6,在 Job Family 3 內 Job 的加工順序為 Job8、Job7、Job10 以及 Job9,故依照過去文獻的排序後可以得到 Job 的加工順序為 Job4、Job5、Job6、
Job8、Job7、Job10、Job9 、Job2、Job3 及 Job1。
圖 3.15 過去文獻的染色體設計 the Job Family
Sequence of the Job in Job Family 1
Sequence of the Job in Job Family 2
Sequence of the Job in Job Family 3
Family、M 個 Jobs,本研究所設計的染色體只會有 M 階層的解空間,而過去的染色體 則會有(N+M)階層個解空間,也就是說,當 Job Family 的個數越多時,會使得以往 的染色體設計更複雜,但由於本研究的染色體在設計時即減去此憂慮,讓 Job Family 的數目不會影響到染色體的長度。
3.7.2 染色體交配與突變方式
GA-FT 染色體交配與突變的方式較為複雜,由於 GA-FT 將 Job Family 的排序加 入染色體中,而每個 Job 也都必須依照 Job Family 1、Job Family 2,以及 Job Family 3 的順序排入,故染色體交配與突變的方式會較為繁瑣。 the Job Family
Sequence of the Job in Job Family 1
Sequence of the Job in Job Family 2
Sequence of the Job in Job Family 3
Cut point Cut point Cut point Cut point
P1
C2 C1
P2
28
以 C1 單點交配的方式為例,如圖 3.16 所示,GA-FT 將一條染色體視為 4 條染色 體,分別為 Job Family 染色體、Job Family 1 染色體、Job Family 2 染色體,及 Job Family 3 染色體,Job Family 染色體只能跟 Job Family 染色體交配;Job Family 1 染色體只能 跟 Job Family 1 染色體交配;Job Family 2 染色體只能跟 Job Family 2 染色體交配;Job Family 3 染色體只能跟 Job Family 3 染色體交配,故 GA-FT 的染色體必須要交配 4 次。
而 GA-FT 染色體的突變原理亦與交配原理相同,將染色體依照 Job Family 與 Job Family 1、2、3 分別突變,即可得到新的子代。
總結以上論述,GA-F 與 GA-FT 染色體交配突變的差異為,GA-F 的染色體視為 一條,故每次交配突變時只需進行一次,而 GA-FT 的染色體視為(1+Job Family 數 量)條染色體,故每次交配突變時,則需要進行(1+Job Family 數量)次,比 GA-F 更為繁瑣與複雜。