吳易軒 鄧艷 廖淑珍 蘇相琴
[摘 要]為了解決基本果蠅優(yōu)化算法收斂速度慢、收斂精度低的問題,文章探討基于指數(shù)函數(shù)步長的果蠅優(yōu)化算法,該優(yōu)化算法根據(jù)隨機(jī)變化的搜索步長,設(shè)計(jì)指數(shù)函數(shù)自適應(yīng)步長來代替原來的隨機(jī)步長,基于7個(gè)基準(zhǔn)函數(shù)D=30的測試,分析和比較新改進(jìn)算法的迭代速度和搜索精度。實(shí)驗(yàn)結(jié)果表明,該算法具有更快、更穩(wěn)定的搜索速度和更高的搜索精度,能夠快速增加種群,解決種群多樣性差的問題,并得到全局最優(yōu)解。
[關(guān)鍵詞]指數(shù)函數(shù);果蠅優(yōu)化算法;尋優(yōu)步長
[中圖分類號(hào)]G434 [文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)]1008-7656(2020)04-0022-06
引言
群智能優(yōu)化算法是近年來出現(xiàn)的一種優(yōu)化方法。眾所周知,求解各種特征優(yōu)化問題的算法可以分為不同的類別。具有自然進(jìn)化思想的啟發(fā)式算法(Heuristic Algorithms)[1]在國內(nèi)外學(xué)術(shù)界掀起了研究熱潮。群體智能優(yōu)化算法是模擬自然生物、人類社會(huì)等各種生物群體行為的結(jié)果。充分利用信息與合作,實(shí)現(xiàn)個(gè)體群體之間的優(yōu)化目標(biāo)。該算法原理具有結(jié)構(gòu)簡單、實(shí)現(xiàn)容易、效率高的特點(diǎn)。如遺傳算法(Genetic Algorithm,GA)[2]、粒子群優(yōu)化算法(Particle Swarm Optimization Algorithm,PSO)[3-4]、蝙蝠算法(Bat Algorithm,BA)[5]、蟻群算法(Ant Colony Optimization,ACO)[6]等。目前,群體智能優(yōu)化算法作為一種基于群體智能的新型啟發(fā)式算法,已應(yīng)用于工程設(shè)計(jì)與制造、網(wǎng)絡(luò)通信、自動(dòng)控制、資源配置、遠(yuǎn)程教育等領(lǐng)域。
果蠅優(yōu)化算法(Fruit fly Optimization Algorithm, FOA)[7-8]是學(xué)者潘文超在2011年提出的一種基于果蠅覓食行為的新型全局優(yōu)化進(jìn)化算法。與其他優(yōu)化算法相比,果蠅優(yōu)化算法具有算法簡單、參數(shù)少、易于調(diào)整和優(yōu)化精度高等優(yōu)點(diǎn)。因此,越來越多的國內(nèi)外學(xué)者開始研究該算法。目前,果蠅優(yōu)化算法在很多方面得到成功的應(yīng)用,如支持向量機(jī)故障診斷的優(yōu)化[9]、自適應(yīng)隨機(jī)共振軸承故障信號(hào)檢測方法的優(yōu)化[10]、廣義回歸神經(jīng)網(wǎng)絡(luò)滾動(dòng)軸承故障預(yù)測[11]等?;镜墓墐?yōu)化算法面臨復(fù)雜性高、影響因素多、待解問題維度高等情況時(shí),優(yōu)化性能會(huì)顯著降低。
由于指數(shù)函數(shù)增長的速度比較快,可很好地?cái)U(kuò)大果蠅個(gè)體的搜索步長,進(jìn)而加快算法的收斂速度,并且能夠有效地避免算法過早陷入局部最優(yōu)。因此,將指數(shù)函數(shù)增長速度快的思想引入到基本的果蠅優(yōu)化算法當(dāng)中,本文提出一種基于指數(shù)函數(shù)步長的果蠅優(yōu)化算法(A New Fruit Fly Optimization Algorithm Based On Exponential Function Adaptive Steps,EFOA)。在果蠅個(gè)體搜索求解過程中,增大尋優(yōu)迭代的步長,其所產(chǎn)生的新個(gè)體有利于跳出局部最優(yōu),并且能夠在搜索空間中找到潛在更優(yōu)的解。
一、基本果蠅優(yōu)化算法
果蠅優(yōu)化算法通過模擬果蠅覓食的過程,得到果蠅優(yōu)化算法的基本原理:首先是通過敏銳的嗅覺進(jìn)行搜索的過程,利用敏銳嗅覺,分析空氣中的食物源氣味,判斷氣味源的大致方位,并向氣味源飛行靠近。然后,通過視覺進(jìn)行具體的定位,當(dāng)飛近氣味源并達(dá)到視覺的可視范圍之內(nèi),迅速準(zhǔn)確的判斷食物的精準(zhǔn)位置,并飛向食物。
模擬果蠅搜索食物的過程,將果蠅優(yōu)化算法的數(shù)學(xué)模型,總結(jié)歸納為以下幾個(gè)主要步驟。
步驟1,種群規(guī)模初始化Sizepop,迭代數(shù)的最大值Maxgen,果蠅群體的位置的隨機(jī)初始化X_axis,Y_axis。
三、仿真實(shí)驗(yàn)
(一)實(shí)驗(yàn)仿真平臺(tái)
操作系統(tǒng):Microsoft Windows 7 旗艦版(32/Service Pack 1);處理器CPU:Intel(R) Core(TM) i7-7700;機(jī)器主頻:3.60GHz;內(nèi)存(RAM):8.00GB;集成開發(fā)環(huán)境:Matlab R2012(a)。
(二)測試函數(shù)
為了測試基于指數(shù)函數(shù)步長的果蠅優(yōu)化算法性能的有效性,選取了在測試中使用廣泛的7個(gè)標(biāo)準(zhǔn)測試函數(shù)[13],利用這些測試函數(shù)對算法的性能進(jìn)行檢測。這7個(gè)測試函數(shù)均有不同的特點(diǎn),單一某種算法不可能適用于全部的標(biāo)準(zhǔn)測試函數(shù)。使用這些函數(shù)進(jìn)行測試,這樣得到實(shí)驗(yàn)結(jié)果可以更能全面地反映算法的性能,更具有說服力。
本實(shí)驗(yàn)中,選取的測試函數(shù)各有特點(diǎn),主要分為兩大類:第Ⅰ類包括4個(gè)高維單峰函數(shù)f 1~f 4,第Ⅱ類包括了3個(gè)高維多峰函數(shù)f 5~f 7。表1列出了這些標(biāo)準(zhǔn)測試函數(shù)的名稱、表達(dá)式、維數(shù)、自變量的取值范圍以及算法在尋優(yōu)時(shí)的理論極值。
(三)參數(shù)設(shè)置
文章提出的算法EFOA分別與其他5種群智能優(yōu)化算法BA、CS、GGSA、MFO、FPA進(jìn)行了對比測試實(shí)驗(yàn),每個(gè)算法的最大迭代次數(shù)都設(shè)置為1000,種群規(guī)模設(shè)置為30,經(jīng)過30次獨(dú)立測試實(shí)驗(yàn)比較,算法中各項(xiàng)參數(shù)分別設(shè)置如下。
基本蝙蝠算法BA中,一般對參數(shù)如下設(shè)置:脈沖頻率搜索范圍為[0,2],脈沖發(fā)射率的最大值R°=0.1,最大響度值A(chǔ)=0.9,響度衰減系數(shù)α=0.95,脈沖發(fā)射率增加系數(shù)γ=0.9,種群數(shù)為30。
在布谷鳥算法CS中,β=1.5, ρ 0 =1.5。
在GGSA算法中,G 0=100,α=20。
在基本的FPA算法中,參數(shù)設(shè)置交換概率ρ=0.8。
(四)實(shí)驗(yàn)結(jié)果對比與分析
對表1中的兩類標(biāo)準(zhǔn)函數(shù)分別獨(dú)立進(jìn)行30次測試,測試對比結(jié)果見下頁表2和第26頁表3。f 1~f 4為高維單峰函數(shù)測試,f 5~f 7為高維多峰函數(shù)測試,并對實(shí)驗(yàn)的結(jié)果進(jìn)行對比試驗(yàn)。其中,表中的Best表示最優(yōu)適應(yīng)度值,Worst表示最差適應(yīng)度值,Mean表示平均適應(yīng)度值,Std表示標(biāo)準(zhǔn)方差值。其中,加粗字體的數(shù)據(jù)表示與其他算法進(jìn)行比較時(shí)的最優(yōu)實(shí)驗(yàn)結(jié)果,實(shí)驗(yàn)結(jié)果如表2所示。從表2實(shí)驗(yàn)結(jié)果對比分析可看出,在第Ⅰ類高維單峰函數(shù)測試中,指數(shù)函數(shù)步長的果蠅優(yōu)化算法在求解此類5個(gè)函數(shù)時(shí),EFOA算法與其他5種群智能優(yōu)化算法在最優(yōu)適應(yīng)度值、平均適應(yīng)度值、標(biāo)準(zhǔn)方差值對比中,均獲得較大的優(yōu)勢,特別是在最差適應(yīng)度值的對比中,EFOA算法的性能明顯優(yōu)于其他5種群智能優(yōu)化算法。在函數(shù)f 1、f 2、f 3、f 4測試中,從6種群智能優(yōu)化算法的對比實(shí)驗(yàn)結(jié)果可以看出,EFOA算法能夠獲得較大提高。f 1函數(shù)測試結(jié)果,EFOA算法最優(yōu)值高于其他5種群智能優(yōu)化算法最少高于10個(gè)數(shù)量級,最多高出20個(gè)數(shù)量級;f 3函數(shù)測試結(jié)果中,EFOA算法的最優(yōu)值比最好的結(jié)果FPA算法高出10個(gè)數(shù)量級,比最差的結(jié)果BA算法提高16個(gè)數(shù)量級。f 4函數(shù)測試結(jié)果中,EFOA算法的最優(yōu)值比最好的FPA算法高出7個(gè)數(shù)量級,相比最差的實(shí)驗(yàn)結(jié)果BA提高9個(gè)數(shù)量級。從標(biāo)準(zhǔn)方差的角度對比分析可以看出,EFOA算法的精度值均在10個(gè)數(shù)量級以上,表現(xiàn)出了此算法具有極高的穩(wěn)定性。特別是f 1函數(shù)的測試結(jié)果,EFOA的標(biāo)準(zhǔn)方差值達(dá)到了17個(gè)數(shù)量級,明顯優(yōu)越于其他5種優(yōu)化算法的標(biāo)準(zhǔn)方差值。在f 2函數(shù)的測試中,EFOA算法也表現(xiàn)出了很好的穩(wěn)定性。對于多維單峰標(biāo)準(zhǔn)函數(shù)的測試結(jié)果,EFOA均表現(xiàn)出了其算法的優(yōu)越性、穩(wěn)定性、魯棒性。因此,EFOA在高維單峰情況的最優(yōu)解和穩(wěn)定性明顯優(yōu)于其他5種算法,具有一定的優(yōu)勢。
從表3的實(shí)驗(yàn)結(jié)果對比來看,EFOA算法在高維多峰中的表現(xiàn)也十分優(yōu)異。在尋優(yōu)精度值方面,EFOA算法表現(xiàn)出了較高的精度,特別在函數(shù)f 6、f 7的函數(shù)測試結(jié)果中,EFOA比其他5種優(yōu)化算法表現(xiàn)出了較高的精度值。在函數(shù)f 6的測試結(jié)果中,EFOA算法的求解精度比最好的MFO算法提高5個(gè)數(shù)量級,比最差的BA算法提高9個(gè)數(shù)量級;在函數(shù)f 7的測試結(jié)果中,EFOA算法的求解精度比最好的MFO算法提高9個(gè)數(shù)量級,比最差的BA算法提高16個(gè)數(shù)量級。在第Ⅱ類高維多峰函數(shù)測試結(jié)果中,EFOA算法的標(biāo)準(zhǔn)方差結(jié)果均優(yōu)于其他5種優(yōu)化算法。顯然,對于第Ⅱ類函數(shù),EFOA的穩(wěn)定性優(yōu)于其他5種優(yōu)化算法。進(jìn)而說明了EFOA算法具有更強(qiáng)的魯棒性、更好的穩(wěn)定性、較好的可移植性。
四、結(jié)論
針對基本果蠅優(yōu)化算法種群多樣性差、尋優(yōu)精度較低、容易陷入局部最優(yōu)、求解收斂速度慢以及高維搜索性能較差等不足,將指數(shù)函數(shù)增長步長融入到果蠅優(yōu)化算法中,提出了一種基于指數(shù)函數(shù)步長的果蠅優(yōu)化算法,利用指數(shù)函數(shù)增長速度快,提高了算法的搜索速度;利用指數(shù)函數(shù)以增大尋優(yōu)迭代的步長,可以有效避免算法陷入局部最優(yōu),有利于迭代所產(chǎn)生的新個(gè)體跳出局部最優(yōu),達(dá)到全局搜索最優(yōu)值。仿真實(shí)驗(yàn)結(jié)果表明,基于指數(shù)函數(shù)步長的果蠅優(yōu)化算法是有效、可行的,并且在求解高維單峰、高維多峰函數(shù)時(shí)表現(xiàn)出良好的性能。
[參考文獻(xiàn)]
[1] Yu-Yu Zhao, Xin-She Yang, Li-Qiang Liu, Emerging Meta-heuristic Algorithms. science Publishing, 2013.
[2] K. S. Tang, K. F.Man , S.Kwong, ?and Q. He, “Genetic algorithms and their applications,” IEEE Signal Processing Magazine, vol. 13,no. 6, pp. 22-37, 1996.
[3] J. Kennedy,“Particle swarm optimization,” in Encyclopedia of Machine Learning, C. Sammut and G. I.Webb, Eds., pp. 760-766, Springer US, 2010.
[4] Kennedy J, Eberhart R. Particle swarm optimization, in Neural Networks, 1995.In: Proceedings, IEEE international conference on; 1995. p. 1942-1948.
[5] Cheng L I. A New Metaheuristic Bat-Inspired Algorithm, Nature Inspired Cooperative Strategies for Optimization (NICSO 2010). Springer Berlin Heidelberg, 2010:65-74.
[6] Dorigo M, Blum C. Ant colony optimization theory: A survey[J]. Theoretical Computer Science, 2005, 344(2-3):243-278.
[7] Pan W T. A new Fruit Fly Optimization Algorithm: Taking the financial distress model as an example.
Knowledge-Based Systems, 2012, 26(2):69-74.
[8] Wang L, Zheng X L, Wang S Y. A novel binary fruit fly optimization algorithm for solving the multidimensional knapsack problem. Knowledge-Based Systems, 2013, 48(2):17-23.
[9] 牛培峰, 麻紅波, 李國強(qiáng),等. 基于支持向量機(jī)和果蠅優(yōu)化算法的循環(huán)流化床鍋爐NOx排放特性研究[J]. 動(dòng)力工程學(xué)報(bào), 2013(4).
[10] 崔偉成, 李偉, 孟凡磊,等. 基于果蠅優(yōu)化算法的自適應(yīng)隨機(jī)共振軸承故障信號(hào)檢測方法[J]. 振動(dòng)與沖擊, 2016(10).
[11] 付巖. 果蠅算法優(yōu)化的廣義回歸神經(jīng)網(wǎng)絡(luò)滾動(dòng)軸承故障預(yù)測[D]. 哈爾濱:哈爾濱理工大學(xué),2018.
[12] 曹建軍.“指數(shù)函數(shù)的圖像和性質(zhì)”的探究學(xué)習(xí)——基于信息技術(shù)與建構(gòu)主義的數(shù)學(xué)實(shí)驗(yàn)教學(xué)案例[J]. 教學(xué)月刊:中學(xué)版, 2003(10).
[13] Jamil M, Yang X S. A Literature Survey of Benchmark Functions For Global Optimization Problems[J]. International Journal of Mathematical Modelling & Numerical Optimisation, 2013, 4(2):150-194.
[作者簡介]吳易軒(1987-),男,河南周口人,廣西廣播電視大學(xué)教師,碩士,研究方向:智能優(yōu)化及應(yīng)用;鄧艷(1979-),男,廣西南寧人,廣西廣播電視大學(xué)高級工程師,碩士,研究方向:建筑電氣工程與管理;廖淑珍(1984-),女,廣西南寧人,廣西廣播電視大學(xué)教師,碩士,研究方向:計(jì)算機(jī)軟件、區(qū)塊鏈應(yīng)用技術(shù);蘇相琴(1984-),女,廣西北海人,廣西廣播電視大學(xué)高級工程師,碩士,研究方向:遙感與地理信息技術(shù)研究。
[責(zé)任編輯 劉紹英]