第二章 文獻探討
2.4 基因演算法
Holland (1975) 提 出 之 基 因 演 算 法 , 搜 尋 求 解 方 式 是 透 過 基 因 編 碼 (Gene encoding),以特定演算法或隨機方式,產生初始解族群(Population)。在此族群中,所有 基因個體(或稱染色體)都將計算並評估其適合度函數值(Fitness function)。染色體 (Chromosome)透過交配(Crossover)、突變(Mutation)等方式,可形成新一代的染色體。將 上一代與新一代染色體放入交配池(Pool)中,適合度函數值較高者,能有較高之機率被 選取(Selection)並存活到下一代。如此不停的演化,便如進化論中所提“適者生存,不適 者淘汰”的概念,保存較佳之染色體。為能更詳細說明基因演算法之求解方式,本研究 將整個演算法之求解流程以圖2.6 表示。並且,針對未說明之處,本文將於後續以文字 的方式敘述之。
圖2.6 基因演算法求解流程
之適應力高低,亦即評定各種解的好壞。本研究計算適合度函數值的方式為,分析雙流 線型工廠排程之績效表現。相關計算方式,將於後續章節說明之。
研究問題之解是望大為佳時,可直接將染色體計算出之目標值,作為適合度函數 值。但在望小為佳的情況下,目標值越小,解越佳,其代表染色體之適應力也越高。在 此情況下,適合度函數值之計算,可將染色體計算出的目標值取倒數,形成望大為佳。
或是以該染色體族群中,最大目標值(最差解之目標值),減去欲求算之染色體目標值,
亦可形成望大之情境。若問題為望目情境,染色體的目標值越接近設定目標值,其適合 度函數值將越高。作法可先計算該染色體目標值與設定值之差距後,以望小問題之計算 方式,求出適合度函數值。
2.4.3 交配與突變
交配(Crossover)是將兩條被選取之染色體,藉由交換其內部之基因,以求找出適應 力更佳之染色體。一般交配的方法有單點交配(one-point crossover)、線性順序交配(LOX:
Linear Order Crossover Operator)、部分相應交配(PMX: Partially Matched Crossover Operator)與 NABEL Operator 等方式。
突變(Mutation)主要是避免在求解過程時,陷入局部最佳化(Local optimum),進而無 法找出全域最佳解(Global optimum)。在基因演算法中,突變常與交配一併使用。一般常 用的突變方式有交換(Swap)、反轉(Inverse)及插入(Insert)等方法(Wang & Zheng, 2003)。
決定染色體是否突變,通常是以亂數產生介於0 到 1 之間的機率值。若此隨機產生的機 率值,小於使用者設定之突變率,則此染色體將進行突變,反之則不進行。
2.4.4 選擇策略
染色體進行交配與突變後。在交配池中,有原本母代之染色體,以及交配、突變後 產生之子代染色體。按照基因演算法物競天擇的概念,這些染色體將依據自身之適合度 函數值,來決定那些可存活至下一代。常用的選擇策略有 Goldberg (1989) 提出之俄羅
斯輪盤法(Roulette wheel selection 與競賽法(Tournament selection)。俄羅斯輪盤法的概 念,是將交配池中各條染色體,依其適合度之優劣,分割輪盤上之所屬區域。染色體適 合度越佳,在輪盤上佔的面積比例越大。若隨機選取輪盤上之一點,面積越大之染色體 區域越易被選取,亦即越可能存活至下一代。競賽法的作法,是從同一族群中隨機挑選 兩條或兩條以上的染色體,比較其適合度函數值。適合度較佳者,可存活至下一代。此 方法能避免過早陷入局部最佳解,但也可能較難收歛產生近似最佳解。