王 扉
?
一種新的改進人工魚群算法
王 扉
(湖南城市學院理學院,湖南 益陽 413000)
人工魚群算法是李曉磊等人于2002年提出的一種新型群智算法,該算法源于魚群活動行為的研究,具備較好的全局尋優能力﹒本文基于基本人工魚群算法,提出一種步長和視野自適應調整的新方法,新方法在提高個體優化的效率的同時兼顧了群體優化的性能﹒數值實驗表明新算法提高了全局收斂的成功率,也有效地提高了最優解的精度﹒
全局最優化;智能算法;人工魚群算法;自適應步長
最優化問題是生產實踐和社會管理中常見的問題,其數學模型為

人工魚群算法(Artificial Fish Swarm Algorithm,簡稱AFSA)是一種群智算法,由李曉磊于2002年首次提出[1],隨后受到人們的廣泛關注,算法不斷被改進,并用來解決實際工程優化問題﹒關于人工魚群算法的發展和相關文獻的最新綜述,可參見江銘炎的專著[2]和Neshat M等的有關評論[3]﹒文獻[4]介紹了一種增廣Lagrangian魚群算法求解式(1)的全局最優解﹒本文主要研究魚群算法的改進,并且對有界的無約束優化問題的求解進行了數值實驗,所提出的改進策略結合文獻[4]中所提出的Lagrangian魚群算法技術可推廣到求解一般約束優化問題的全局最優解﹒
人工魚群算法不需要了解問題的特殊信息,只需要對方案進行優劣比較,并且有較快的收斂速度﹒每條人工魚都探索它當前所處的環境(包括目標函數的變化情況和伙伴的變化情況),從而選擇一種行為,最終人工魚集結在幾個局部極值的周圍﹒
人工魚算法采用面向對象的技術,將人工魚(Artificial Fish,簡稱AF)封裝成變量和函數兩部分﹒變量部分包括:人工魚個體的狀態、人工魚移動的最大步長、人工魚的視野、嘗試次數、擁擠度、人工魚之間的距離等﹒函數部分包括:食物濃度、人工魚的行為函數(覓食行為、聚群行為、追尾行為、隨機行為)和行為評價函數﹒
人工魚群算法的一般步驟如下[5]:
(1)初始化設置;
(2)計算每條魚的適應度,并記錄全局最優的魚的狀態;
(3)對每條魚評價,對其4種行為進行選擇;
(4)對每條魚執行選擇行為,更新狀態信息;
(5)更新全局最優的魚的狀態;
(6)滿足中止條件則輸出結果,否則轉步(2).
人工魚在執行不同行為時采用不同方式選擇目標點,但是都是沿著某方向移動,即



本文擬提出一種新的自適應全局人工魚群算法,通過采用一種躍遷方式和變視野的搜索策略,以此來提高收斂速度和全局最優解的近似精度﹒



為保障人工魚跳出局部極值范圍,并達到全局極值,有必要擴大人工魚的視野﹒而當人工魚進入目標函數變化劇烈的區域時,有必要仔細地探索該區域,從而需要縮小人工魚的視野﹒據筆者所知還無人發表關于人工魚視野的調節策略﹒


綜上所述,我們提出一個新的人工魚群算法,其一般步驟如下:
(1)人工魚群的初始化設置;
(2)計算每條魚的適應度,并記錄全局最優的魚的狀態;
(3)對每條魚按式(2)和式(4)分別計算其4種行為,并進行評價;
(4)對每條魚執行所選擇行為,更新其狀態信息,按式(7)調整其視野;
(5)更新全局最優的魚的狀態;
(6)滿足中止條件則輸出結果,否則轉步(2).


為了驗證本文所提出的新算法的可行性和效率,與文獻[5]所提出的2種算法作了實驗對比﹒4個相互比較的算法策略如下:
Basic:采用隨機步長,即式(2);
Global:采用全局信息修正步長,即式(3);
MAFSA:本文所提出的算法,即式(2)~(7);
GAFSA:是MAFSA的改進算法,允許了人工魚隨機重生,并采用了虛擬人工魚的全局優化策略﹒
GAFSA算法中所采用的重生機制是當某人工魚執行完覓食、聚群和追尾后,若前后兩次位置的跨度小于解域半徑并且其在最優解域之外,則讓該人工魚在其視野之外重生﹒
實驗選取了幾個典型全局優化測試函數,具體如下:

表1 4種算法實驗結果的比較
實驗結果表明,對于問題P1,4種算法收斂成功率均為100%,4種算法的平均迭代次數相差不大﹒對于問題P2,GAFSA算法的成功率為100%,而其他3種算法的失敗率很高﹒對于問題P3,MAFSA和GAFSA算法收斂成功率為100%,并且平均迭代次數較文獻[5]中所提出的2種算法要少很多﹒對于問題P4,GAFSA和MAFSA算法成功率要明顯高于文獻[5]中所提出的算法﹒
問題P2的區域4角為局部極值點,區域中心為全局極值點,MAFSA算法中變視野策略失效,而GAFSA算法中允許人工魚隨機重生,可以增大魚群總數,增加了搜索到全局極值點的機會﹒
GAFSA算法中人工魚追尾、聚群和覓食行為中偏向最優人工魚的策略表現出效果一般﹒該策略有利有弊,好的方面是加快了整個魚群向當前最優人工魚靠近,壞的方面是當前最優人工魚并不一定是距全局最優點最近的,過早的收斂容易陷入局部極值的某鄰域,增加了跳出該區域的工作量﹒
總體來說,實驗結果表明本文所提出的新算法有效,其表現較文獻[5]中所提出的算法要好﹒
本算法的基本思想是在執行覓食、聚群和追尾行為時,允許人工魚跳躍到好的視點,通過一個步長修正因子來提高算法收斂的速度和精度,而視野的調節有利于算法收斂到全局最優點﹒算法不足之處有2點,一是人工魚的跳躍使區域的探索不均勻;二是依靠重生雖然激活了陷于一處的人工魚,但也增加了迭代次數和計算量﹒
[1]李曉磊, 錢積新. 人工魚群算法: 自下而上的尋優模式[C]. 過程系統工程2001年會論文集, 北京: 中國石化出版社, 2001.
[2]江銘炎, 袁東風. 人工魚群算法及其應用[M]. 北京: 科學出版社, 2011.
[3]NESHAT M, SEPIDNAM G, SARGOLZAEI M, et al. Artificial fish swarm algorithm: a survey of the state-of-the-art, hybridization, combinatorial and indicative applications[J]. Artificial Intelligence Review, 2014, 42(4): 965-997.
[4]ROCHA A M A C, MARTINS T F M C, FERNANDES E M G P. An augmented lagrangian fish swarm based method for global optimization[J]. Journal of Computational & Applied Mathe- matics, 2011, 235(16): 4611-4620.
[5]李曉磊. 一種新型的智能優化方法-人工魚群算法[D]. 杭州:浙江大學, 2003.
[6]黃光球, 王西鄧, 劉冠. 基于網格劃分策略的改進人工魚群算法[J]. 微電子學與計算機, 2007, 24(7): 83-86.
(責任編校:龔倫峰)
A New Improved Artificial Fish Swarm Algorithm
WANG Fei
(College of Science, Hunan City University, Yiyang, Hunan 413000, China)
The artificial fish swarm algorithm proposed by Li Xiaolei et al in 2002 is a new swarm intelligent algorithm. The algorithm is derived from the study of the behavior of fishes, which has better global optimization ability. Based on the basic artificial fish swarm algorithm, a new method of adaptive adjustment of step size and visual field is presented. The new method not only improves the efficiency of individual optimization, but also takes the performance of group optimization into account. Numerical experiments show that the new algorithm improves the success rate of global convergence and improves the accuracy of the optimal solution.
global optimization; intelligence algorithm; artificial fish swarm algorithm; adaptive step-size
TP18;O229
A
10.3969/j.issn.1672-7304.2017.04.0011
1672–7304(2017)04–0052–04
2017-06-16
王扉(1971- ),男,湖南益陽人,講師,博士,主要從事最優化理論與方法的研究﹒E-mail: mafwang@126.com