• 沒有找到結果。

基因演算法求解流程

第四章 求解工件指派加工

4.5 演算法之設計

4.5.4 基因演算法求解流程

本研究利用基因演算法求解此離子植入機工件指派加工問題。基因演算法是採多點 搜尋的方式,在參數空間中同時尋求問題的近似解,而我們就以一條染色體來代表工 件加工的排序,染色體中每一個字元則稱之為基因,代表工件,圖 4.7 為基因演算法 求解流程示意圖。

J8 J2 J3 J10

J6 J9 J7

J1 J4 J5

圖 4.7 基因演算法求解流程示意圖

交配(Crossover)

在每一次交配的過程,會先從初始群體中隨機挑選兩條染色體,稱為母代(Parents),

經由交配後,會產生兩條新的染色體,稱為子代 (Child)。假設所設定的交配率為β,

初始群體中有 N 條染色體,則所經過交配完後的子代數量共有β⋅N個,本研究基因 演算法中使用單點交配 (C1 Operator) 之遺傳法則。如下圖 4.8 所示,分為四個步驟說 明如下:

開始

染色體編碼

產生初始解

計算適應度函數 菁英政策

交配 突變

複製

符合停止條件 是 停止

Step1 : 從初始群體中隨機挑選出兩組基因解,分別當作母代 parent 1、parent 2。

突變(Mutation)

在每一次突變的過程,會先從初始群體中隨機挑選一條染色體,稱為母代(Parent),

經由突變後,會產生一條新的染色體,稱為子代(Child)。假設所設定的突變率為α,

初始群體中有 N 條染色體,則所經過突變完後的子代數量共有α⋅N 個,突變通常會 與交配互相搭配使用,可以避免太早陷入最佳解。而本研究基因演算法中使用交換 (Swap) 突變法則。如圖 4.9 所示,從初始群體中隨機挑選出一條染色體,並在染色體 中隨機選取兩個不同的基因,將其對調產生一條新的子代。

2 1 3 4 5 6

2 5 3 4 1 6

圖 4.9 Mutation Swap 運算

染色體複製(Reproduction)

經由交配和突變後,子代和母代加總共有Q條染色體,而我們必須保留Q / 2條染色體 當作下一世代的母代,依Q條染色體適應度值的優劣,由優至劣依序排列,之後使用菁 英政策(Elitism Strategy)在每一世代群體中保留較佳的個體進化演化,以避免於交配、突 變運算過程中遭到破壞。而其餘的染色體選擇方式則透過輪盤法(Roulette wheel)來選 取。其主要概念就是將各染色體之適合度依照比率計算後,繪製成一個圓形的輪盤。藉 此可知,適應度愈大的則其所佔的部分相對就愈大,因此適應度大的染色體將比適應度 小的容易被選到,但此並不保證適應度大的就一定會被選到。反複進行同樣的步驟,直 到足夠產生下一代的染色體為止。

(位置[2]、[5]進行工件互換) parent

child

終止條件

本研究使用兩種基因演算之終止條件,亦即達到下列兩種終止條件之其中一種即可 停止搜尋最佳解。

1. 達到所設定的最大演化代數,即設定演化代數為 A 代,當基因演化到 A 代即 為停止演化。

2. 達到所設定的最佳解維持代數,即設定最佳解維持代數為 B 代,當基因演化最佳 解維持 B 代仍沒有改變即停止。