遺傳演算法中的遺傳操作是模擬生物基因遺傳的操作,透過編碼組成初始群體後,遺傳操作的主要任務是對群體的個體按照它們對環境適應的程度施加一定的操作,從而實現優勝劣汰的進化過程。遺傳操作包括以下三個基本遺傳運算元:選擇運算元、交換運算元、變異運算元。
選擇運算元:從群體中選擇優良個體,淘汰劣質個體的操作叫選擇。選擇的目的是把優良個體(或解)直接遺傳到下一代或透過配對交換產生新的個體再遺傳到下一代。目前最基本、最常用的是適應度比例方法。在該方法中,各個體的選擇機率和其適應度值成比例,選擇機率反映了個體的適應度在整個群體的個體適應度總和中所佔的比例。個體適應度越大,其被選擇的機率就越高。
交換運算元:交換運算元的設計一般與所求解的具體問題有關,無論設計何種交換運算元均需考慮如下條件:任何交換運算元保證前一代中優秀個體的性狀能在後一代的新個體中儘可能得到遺傳和繼承;要使設計出的交換運算元能滿足上述要求,交換運算元設計和編碼設計需協調操作;對二進位制編碼而言,經選擇操作後,對個體隨機配對並按預先設定的交換機率來決定每對是否需要進行交換操作;設定配對個體的交換點,並對這些點前後的配對個體的部分結構進行相互交。基本的交換方法包括一點交換和兩點交換。
變異運算元:變異運算元的基本內容是對群體中的個體串的某些基因座上的基因值作變動。就基於字符集0,1的二值編碼而言,變異操作就是把某些基因座上的基因值取反,即1→0或0→1。一般,變異運算元操作的基本步驟是首先在群體中所有個體的碼串範圍內隨機地確定基因座,然後以事先設定的變異機率來對這些基因座上的基因值進行變異。
遺傳演算法中,交換運算元因其全域性搜尋能力而作為主要運算元,變異運算元因其區域性搜尋能力而作為輔助運算元。遺傳演算法透過交換和變異這一對相互配合又相互競爭的操作而使其具備兼顧全域性和區域性的均衡搜尋能力。
