馬駿+項(xiàng)鐵銘
摘要:為改進(jìn)標(biāo)準(zhǔn)蜻蜓算法(DA)存在的收斂質(zhì)量不高、全局尋優(yōu)能力欠佳、易陷入局部最優(yōu)等問題,利用基于佳點(diǎn)集原理的方法初始化種群,將其與萬有引力搜索算法(GSA)結(jié)合,改進(jìn)步長(zhǎng)更新公式,并引入考慮維度變化的更新全局最優(yōu)解方法,提出一種新的改進(jìn)蜻蜓算法(DGSDA)。通過對(duì)10個(gè)測(cè)試函數(shù)的測(cè)試結(jié)果表明,改進(jìn)后的DGSDA收斂速度快,全局尋優(yōu)能力強(qiáng),尋優(yōu)精度高。
關(guān)鍵詞:蜻蜓算法;引力搜索算法;Tent映射;維度變化
DOIDOI:10.11907/rjdk.172139
中圖分類號(hào):TP312
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2018)001008504
Abstract:In order to improve the convergence quality of the standard dragonfly algorithm (DA) is not high, the global optimization ability is poor, and it is easy to fall into the local optimum. In this paper, the population is initialed by the method of good point set, and it is combined with the universal gravitational search algorithm (GSA), a new improved dragonfly algorithm (DGSDA) is proposed by introducing the formula of updating the global optimal solution considering the change of dimension. The test of 10 test functions shows that the improved DGSDA has a fast convergence speed and strong global search ability.
Key Words:dragonfly algorithm; gravitational search algorithm; tent mapping; dimension
0引言
群體智能(SI)[12]算法近年來引起了人們的廣泛重視。通過模擬蜻蜓個(gè)體之間的社會(huì)行為交流,SeyedaliMirjalili[3]于2015年提出一種新的群體智能優(yōu)化方法——蜻蜓算法(DA)。在靜態(tài)群體中,蜻蜓組成若干小群體在某個(gè)小型區(qū)域來回飛行覓食,對(duì)應(yīng)于全局搜索;在動(dòng)態(tài)群體中,大量蜻蜓聚集在一起朝某個(gè)方向飛行一長(zhǎng)段距離進(jìn)行遷移,對(duì)應(yīng)局部開發(fā)。作為一種提出時(shí)間較短的群體優(yōu)化算法,標(biāo)準(zhǔn)蜻蜓算法(DA)存在收斂質(zhì)量不高、全局尋優(yōu)能力有待提高、易陷入局部最優(yōu)等問題,因而有待改進(jìn)。為提高種群初期的探索能力與多樣性,本文采用基于佳點(diǎn)集原理的方法初始化種群[4],將該算法與萬有引力搜索算法(GSA)相結(jié)合,推動(dòng)算法向全局最優(yōu)所在區(qū)域集中搜索,降低在局部停滯的可能性。同時(shí),考慮到在全局最優(yōu)解更新時(shí)只注重整體而忽略了維度因素,因此將不同維度上的最優(yōu)值也納入考量。通過對(duì)給定的10個(gè)測(cè)試函數(shù)進(jìn)行仿真測(cè)試對(duì)比表明,改進(jìn)后的算法具有較強(qiáng)的全局探索能力、理想的收斂速度和較高的魯棒性。
1標(biāo)準(zhǔn)蜻蜓算法
Reynolds指出[5],群體行為遵循3個(gè)最原始的準(zhǔn)則:分離度、對(duì)齊度與聚合度。分離度指一個(gè)個(gè)體避免與之相鄰的個(gè)體發(fā)生碰撞;對(duì)齊度指?jìng)€(gè)體與相鄰個(gè)體沿著某一方向上的速度匹配;聚合度指?jìng)€(gè)體朝著與之相鄰個(gè)體中心靠攏的趨勢(shì)。以下是它們?cè)跀?shù)學(xué)上的定義:
定義1每個(gè)個(gè)體的分離度定義為:
4.2實(shí)驗(yàn)結(jié)果分析
實(shí)驗(yàn)中,仿真運(yùn)行環(huán)境為Windows10操作系統(tǒng),Intel i5處理器2.90GHz,8G內(nèi)存,仿真軟件MATLAB R2015b。測(cè)試結(jié)果與標(biāo)準(zhǔn)蜻蜓算法(DA)、粒子群算法(PSO)、遺傳算法(GA)、混合引力搜索粒子群算法(PSOGSA)進(jìn)行對(duì)比。為保持?jǐn)?shù)據(jù)的客觀性,采用相同設(shè)置:粒子數(shù)30,迭代次數(shù)500次,對(duì)每個(gè)測(cè)試函數(shù)獨(dú)立重復(fù)運(yùn)行30次。表3列出了DGSDA和其它4種算法在相同條件下在測(cè)試函數(shù)上的結(jié)果對(duì)比。
表3的結(jié)果顯示,在f1、f2、f7、f8測(cè)試函數(shù)上,DGSDA能夠在5種算法中得到最好的值,全面優(yōu)于標(biāo)準(zhǔn)DA。從多次運(yùn)行取均值看,改進(jìn)后的算法在f1、f2、f3、f4、f5、f7能夠得到最好的均值,全面優(yōu)于標(biāo)準(zhǔn)DA、PSO、GA,有效改進(jìn)了收斂性,在標(biāo)準(zhǔn)差方面也有相當(dāng)明顯的優(yōu)勢(shì)。這是由于本文在初始化時(shí)引入佳點(diǎn)集,從而有效改進(jìn)了易陷入局部最優(yōu)解的問題,對(duì)全局最優(yōu)解的取舍引入了維度變化的策略。由于文獻(xiàn)[9]已經(jīng)說明PSO、GSA相較于混合改進(jìn)后的PSOGSA,無論是收斂速度和精度方面都存在著不小的差距,為增強(qiáng)說服力,考慮將PSOGSA、標(biāo)準(zhǔn)蜻蜓算法DA以及改進(jìn)后的算法作收斂進(jìn)程的對(duì)比。圖3分別取兩個(gè)有代表性的單峰測(cè)試函數(shù)(f1、f3)和兩個(gè)多峰測(cè)試函數(shù)(f6、f7)進(jìn)行收斂軌跡的對(duì)比。由于本文對(duì)步長(zhǎng)更新的公式進(jìn)行了改進(jìn),同時(shí)引入了加速度項(xiàng),收斂速度有了一定程度提高。從圖中還能看到,在標(biāo)準(zhǔn)蜻蜓算法DA停滯,無法向更好的全局最優(yōu)值靠攏時(shí),DGSDA能夠及時(shí)跳出局部最優(yōu),向更好的全局最優(yōu)值靠攏,體現(xiàn)了改進(jìn)算法的有效性。
5結(jié)語
本文提出的基于佳點(diǎn)集原理的混合引力搜索蜻蜓算法從種群初始化、步長(zhǎng)更新公式、基于維度變化的全局最優(yōu)解更新方式方面對(duì)標(biāo)準(zhǔn)蜻蜓算法進(jìn)行了改進(jìn),在解決高維復(fù)雜問題的能力上有了很大提升。不足之處是未能從理論上加以分析,這是今后需要繼續(xù)研究的方向。同時(shí)在應(yīng)用方面,下一步需要研究如何將算法應(yīng)用到實(shí)際的工程優(yōu)化上。endprint