徐建波+戴月明+嚴大虎



摘要:
針對人工魚群算法在函數優化中存在陷入局部最優、后期收斂速度過慢及人工魚群尋優精度低等問題,對動態分組方案的人工魚群算法進行了研究,提出一種新的自適應人工魚群算法。該算法利用猴群算法中的空翻行為替代魚群的聚群和追尾行為,同時引入模糊函數,自適應調整魚群算法的視野及步長,提高了算法的運行效率,更好地平衡了全局搜索與局部搜索之間的關系。算法在后期避免提前收斂,能夠快速跳出局部最優位置,保證了尋優質量。仿真實驗表明,該算法明顯優于基于動態分組方案的人工魚群算法,有效提高了尋優精度和尋優質量,避免了人工魚群的早熟現象。
關鍵詞:人工魚群算法;優化;猴群空翻;自適應;全局搜索
DOIDOI:10.11907/rjdk.172186
中圖分類號:TP312
文獻標識碼:A文章編號文章編號:16727800(2018)001006404
Abstract:The Artificial Fish Swarm Algorithm (AFSA) in function optimization problems has some defectives such as falling into local optimum value converging slowly in the later period and lower fish accuracy. This paper proposed a new adaptive artificial fish swarm algorithm on the basis of dynamic dividing plan of adapting artificial fishswarm algorithm(DTAFSA). The algorithm uses the somersault behavior in the monkey algorithm to replace the clustering and trailing behavior of the artificial fish swarm algorithm. At the same time, the fuzzy function is used to adjust the field of view and the step size of the fish swarm algorithm, and the operation efficiency of the algorithm is improved to a great extent. Better balance the relationship between global search and local search, so that the algorithm in the late to avoid advance convergence, can quickly jump out of the local optimal position, to ensure the quality of the search. The simulation results show that this algorithm is superior to the artificial fish swarm algorithm based on dynamic dividing plan, at the same time, keeping the accuracy and quality of fish to avoid earlymaturing.
Key Words:artificial fish swarm algorithm; optimization; somersault; adaptive; global search
0引言
李曉磊[1]在2002年首次提出的人工魚群算法AFSA(Artificial Fish Swarm Algorithm),源于對魚群運動行為的研究,是一種新型的智能仿生優化算法,具有較強的魯棒性、優良的分布式計算機制、易于和其它方法結合等優點。該算法對初始值具有不敏感性,收斂速度快、全局搜索性能好。近幾年,AFSA算法已經在數據挖掘、圖像分析、時變系統的在線辨識、故障診斷等各類組合優化問題中取得較好效果。
但AFSA算法存在易陷入局部極值、搜索精度不高、收斂速度過慢以及算法運行后期盲目性較大等缺點,對此研究者提出了很多改進方法,如文獻[2]中提出的將粒子群算法中的粒子飛行速度和線性慣性權重引入到魚群算法中,加快了收斂速度,提高了尋優精度,但在多樣性方面還有待提高。文獻[34]均提出了采用自適應方法調整行為參數,提高了尋優精度及收斂速度,但此類方法易陷入局部最優,不能增加人工魚群的多樣性。文獻[5]提出了全局版人工魚群算法,提高了運算速度,但目標的尋優精度有待提高。文獻[67]則將高斯變異和柯西變異引入算法中,以期提高算法性能,其尋優精度和收斂速度在一定程度上得到了提高,但算法的局部開發能力還需進一步完善。文獻[8]提出了一種基于人工魚群算法的動態模糊聚類算法,該算法克服了聚類有效性對高維樣本空間分布的依賴性,提高了效率,但人工魚的多樣性還有待提高。文獻[9]提出了基于社會學習機制的改進人工魚群算法,該算法提高了群體多樣性,在一定程度上跳出了局部極值能力,但尋優質量還有待改善。
針對上述研究存在的不足,本文提出了猴群空翻機制作用下的自適應人工魚群算法MRAAFSA (Adaptive artificial fish swarm algorithm based on monkey somersault)。該算法在基于動態分組方案的人工魚群算法[10]基礎上,引入猴群算法的空翻行為替代魚群算法的聚群與追尾行為,并利用模糊函數對魚群的視野和步長進行自適應調整,從而提升算法的全局搜索能力,避免陷入局部最優。模糊函數的自適應策略,根據迭代進化次數自適應地調整人工魚的視野范圍和步長。實驗結果表明,MRAAFASA算法較好地平衡了全局搜索和局部搜索的矛盾,在保證尋優精度的同時尋優質量也有明顯提高。endprint
5結語
本文提出的猴群空翻機制作用下的自適應人工魚群算法MRAAFSA,針對文獻[10]提出的DTAFSA算法,為進一步提高算法的搜索精度與速度,利用猴群算法中的猴空翻行為替代聚群和追尾行為,使搜索速度加快,增加了算法搜索到最優解可能性。引入基于反正切函數的自適應策略,根據迭代進化次數調整人工魚的視野范圍和步長。實驗結果表明,MRAAFASA算法較好地平衡了全局搜索和局部搜索之間的矛盾,在保證尋優精度的同時尋優質量也有明顯提高,早熟現象出現的可能性降低。
參考文獻:
[1]李曉磊,邵之江,錢積新.一種基于動物自治體的尋優模式:魚群算法[J].系統工程理論與實踐,2002,22(11):3238.
[2]梁毓明,裴興環.粒子群優化人工魚群算法[J].計算機仿真, 2016(6):213281.
[3]易正俊,韋磊鵬,袁玉興.自適應重生魚群優化算法[J].計算機應用與軟件,2016,33(6):227276.
[4]唐莉,張正軍,王俐莉.人工魚群算法的改進[J].計算機技術與發展,2016,26(11):10053751.
[5]王聯國,洪毅,施秋紅. 全局版人工魚群算法[J].系統仿真學報, 2009,21(23): 74837502.
[6]ZHEHUANG H, YIDONG C. LogLinear model based on behavior selection method for artificial fish swarm algorithm[J]. Computational Intelligence and Neuroscience, 2015(1):110.
[7]YANBIN G, LIANWU G, TINGJUN W. Triaxial accelerometer error cofficients identification with a novel artificial fish swarm algorithm[J]. Journal of Sensors, 2015(1):117.
[8]劉白,周永權,謝竹誠.基于人工魚群算法的動態模糊聚類[J].計算機應用,2009,29(6):15691571.
[9]鄭延斌,劉晶晶,王寧.基于社會學習機制的改進人工魚群算法[J].計算機應用,2013,33(5):13051329.
[10]李會,張天麗,陶佰睿,等.動態分組方案的自適應人工魚群算法[J].計算機工程應用,2013,49(8):5862.
[11]ZHAO R Q,TANG W S. Monkey algorithm for global numerical optimization[J].Journal of Uncertiain Systems,2008,2(3):165176.
[12]朱旭輝,倪志偉,程美英.變步長自適應的改進人工魚群算法[J].計算機科學,2015,42(2):210246.
(責任編輯:杜能鋼)endprint