張軍
(華北電力大學,北京102206)
遺傳算法是由美國密歇根大學的John H. Holland 教授及其學生于1975 年提出的,由于其具有高效,實用,魯棒性強等特點,在機器學習,模式識別,控制科學等領域得到廣泛的應用。目前大量的實踐,研究表明,經典的遺傳算法存在著局部搜索能力差,早熟等缺點,不能保證算法最終收斂,大量的文獻[1][2]對遺傳算法提出了一系列的改進,主要集中在操作算子方面。本文將算法中的交叉和變異操作設置為互斥關系,且將交叉概率設定為一個隨著種群分布動態變化,通過仿真對比實驗對結論進行分析。
在種群進行選擇操作后,將其分為A,B 兩個部分:


配對好的種群由NP/2 對個體組成。在進行交叉操作之前,需要先生成交叉概率pc:

其中:f 是種群中適應度值最優的個體,f' 是配對的兩個種群中適應度較大的個體,f 是種群的平均適應度值。
對于A 組中的個體實施:

對于B 組中的個體實施:

其中:

(b)Di為基于雜交配對組獲取的優化方向信息,按照如下規則計算:

本算法中變異算子與交叉算子為互斥關系,算法的尋優則有交叉操作完成,局部尋優由變異操作完成,顯著強化算法的收斂能力。變異操作主要按照如下的形式完成:
(a)對A 組中的個體實施:

(b)對B 組中的個體實施:

其中:
本文的仿真選取經典的Schaffer 測試函數:

通過多次對算法進行仿真,結果如圖2-3 所示。

圖1 算法流程圖

圖2 適應度曲線

圖3 種群一致性曲線
本文通過對改進的遺傳算法和經典的遺傳算法進行仿真與對比分析,證明了通過調整算法框架和改進操作算子,能夠對算法的尋優能力進行較大的提升,獲得更好的性能。