摘 要:針對(duì)麻雀搜索算法SSA易陷入局部最優(yōu)、算法過(guò)早收斂等問(wèn)題,提出一種融合小生境的麻雀搜索算法NSSA。首先,NSSA使用一種基于發(fā)現(xiàn)者相似性形成自適應(yīng)物種的小生境策略將麻雀種群自動(dòng)劃分為以發(fā)現(xiàn)者為中心的若干個(gè)小種群或物種,且使跟隨者朝所屬物種內(nèi)的發(fā)現(xiàn)者位置移動(dòng),以保持種群的多樣性。其次,通過(guò)結(jié)合模糊邏輯的差分變異并使用發(fā)現(xiàn)者所屬物種內(nèi)的其他個(gè)體信息對(duì)發(fā)現(xiàn)者進(jìn)行變異操作,以提高算法跳出局部最優(yōu)的能力。選用CEC2017測(cè)試集中的12個(gè)函數(shù)作為實(shí)驗(yàn)測(cè)試集,將NSSA與CSSOA、ISSA、MSSSA、SHSSA、MSWOA進(jìn)行性能測(cè)試。實(shí)驗(yàn)結(jié)果表明,在大多數(shù)多峰目標(biāo)函數(shù)上,NSSA與排名第二的算法相比,收斂精度提升了10%以上。對(duì)NSSA的各改進(jìn)策略進(jìn)行了消融實(shí)驗(yàn),結(jié)果表明,在綜合改進(jìn)策略的共同作用下,NSSA的綜合優(yōu)化性能排名第一。最后將NSSA應(yīng)用于壓力容器設(shè)計(jì)問(wèn)題,結(jié)果表明,相比于其他算法,NSSA仍能夠獲得最優(yōu)的解。
關(guān)鍵詞:麻雀搜索算法; 小生境; 差分變異操作; 模糊邏輯; 壓力容器設(shè)計(jì)
中圖分類號(hào):TP301.6文獻(xiàn)標(biāo)志碼: A文章編號(hào):1001-3695(2024)04-018-1077-09
doi:10.19734/j.issn.1001-3695.2023.08.0353
Enhanced sparrow search algorithm by integrating nichemechanism and its application
Li Dahai, Li Xin, Wang Zhendong
Abstract:Aiming at overcoming drawbacks of lower accuracy and being trapped easily into local optimums of the sparrow search algorithm(SSA), this paper proposed an enhanced sparrow search algorithm by integrating niche mechanism(NSSA). Firstly, NSSA adopted an adaptive niche mechanism based on producers’ similarity to automatically partition the whole sparrow population into several producer-centered speciation, and to move scroungers inside the speciation towards to the producer inside the same speciation, in order to maintaining the diversity of the whole population. Secondly, NSSA applied a fuzzy logic based differential mutation operation to further mutate sparrow producers to raise the probability to jump out of local optimums. It used 12 functions selected from the CEC2017 benchmark function as the testbed to evaluate NSSA with CSSO ISS MSSS SHSS and MSWOA. Experimental results show that NSSA even can raise convergence accuracy up by 10% compared with the second ranked evaluated algorithm on most of multimodal objective test functions. This paper also conducted ablation experiments for each improved strategy proposed in NSSA. Experimental results show NSSA can achieve supreme performance by applying all 3 strategies simultaneously. At last, NSSA is applied to solve the pressure vessel design problem. Experimental results illustrate that NSSA has the ability to find the best solutions compared to other evaluated algorithms.
Key words:sparrow search algorithm(SSA); niche; difference mutation operation; fuzzy logic; pressure vessel design
0 引言
很多實(shí)際的工程問(wèn)題可以轉(zhuǎn)換為求解目標(biāo)函數(shù)的最優(yōu)值問(wèn)題,如機(jī)器人路徑規(guī)劃[1]、發(fā)電機(jī)優(yōu)化調(diào)度[2]等。近年來(lái),隨著工程優(yōu)化問(wèn)題的規(guī)模不斷增大并且問(wèn)題的維度也越來(lái)越高,傳統(tǒng)的優(yōu)化算法如梯度下降法、牛頓法已經(jīng)難以解決上述工程優(yōu)化問(wèn)題。受自然界生物的啟發(fā),學(xué)者們提出了很多智能優(yōu)化算法,例如粒子群算法[3]、基因算法[4]、蟻群算法[5]等來(lái)求解上述的工程優(yōu)化問(wèn)題。
麻雀搜索算法(sparrow search algorithm,SSA)是在2020年由Xue等人[6]提出的一種新型的高效輕量級(jí)群智能優(yōu)化算法。與其他群智能優(yōu)化算法相比,SSA具有算法結(jié)構(gòu)簡(jiǎn)單、參數(shù)少、收斂速度快、易實(shí)現(xiàn)等特點(diǎn),目前已經(jīng)被廣泛應(yīng)用于輪轂減速器優(yōu)化[7]、SVM參數(shù)尋優(yōu)[8]等領(lǐng)域。SSA在求解復(fù)雜問(wèn)題的時(shí)候,也與其他群智能優(yōu)化算法有著類似的易陷入局部最優(yōu)、全局搜索能力偏弱等缺點(diǎn)。為了增強(qiáng)SSA的尋優(yōu)能力,目前,眾多學(xué)者已經(jīng)對(duì)SSA進(jìn)行了諸多改進(jìn)。
Ma等人[9]為解決SSA收斂精度低和易陷入局部最優(yōu)等問(wèn)題,提出一種增強(qiáng)型多策略麻雀搜索算法(enhanced multi-strategies sparrow search algorithm,EMSSA)。該算法使用了三種策略對(duì)SSA進(jìn)行改進(jìn)。一是在種群初始化位置使用自適應(yīng)tent混沌映射,使初始種群中具有豐富的多樣性和更大的隨機(jī)性;二是在警戒者位置更新處引入加權(quán)的正余弦算法,避免移動(dòng)距離取決于最優(yōu)麻雀與最差麻雀之間的距離的原因而使得算法陷入局部最優(yōu);三是利用三角形相似性原理對(duì)當(dāng)前最優(yōu)麻雀位置進(jìn)行擾動(dòng),提高了算法的搜索能力。
張曉萌等人[10]提出了一種融合正弦搜索策略和多樣化變異處理的改進(jìn)麻雀搜索算法(improved sparrow search algorithm,ISSA)。根據(jù)群體中麻雀的適應(yīng)度,采用正弦搜索策略自適應(yīng)地調(diào)整個(gè)體權(quán)重值,有效地平衡了SSA算法的全局和局部搜索能力。同時(shí)引入聚集度的概念,當(dāng)聚集度大于預(yù)設(shè)閾值時(shí),使用柯西變異對(duì)全局最優(yōu)解進(jìn)行變異處理,增大了SSA算法跳出局部最優(yōu)的可能。
呂鑫等人[11]提出了一種混沌麻雀搜索優(yōu)化算法(chaos sparrow search optimization algorithm,CSSOA)。在種群初始化階段利用改進(jìn)tent混沌序列提高初始解的質(zhì)量。在一次迭代完成后分別使用高斯變異與tent混沌擾動(dòng),加強(qiáng)算法局部搜索能力和跳出限制繼續(xù)搜索的能力。
毛清華等人[12]為解決SSA種群多樣性減小,容易陷入局部極值的問(wèn)題,提出一種融合柯西變異和反向?qū)W習(xí)的改進(jìn)麻雀算法(improved sparrow algorithm combining Cauchy mutation and opposition-based learning,ISSA)。首先,采用sin混沌初始化種群,提升初始種群的質(zhì)量;其次,在麻雀發(fā)現(xiàn)者飛行公式中引入上一代全局最優(yōu)解,同時(shí)為協(xié)調(diào)局部挖掘和全局探索的能力,加入自適應(yīng)權(quán)重;最后,引入融合柯西變異算子和反向?qū)W習(xí)的策略對(duì)當(dāng)前最優(yōu)解進(jìn)行擾動(dòng),增強(qiáng)算法跳出局部空間的能力。
Gao等人[13]提出了一種多策略改進(jìn)進(jìn)化麻雀搜索算法(multi-strategy improved evolutionary sparrow search algorithm,MSSA)。MSSA在種群初始化時(shí)引入tent混沌使得麻雀初始種群能均勻地分布在搜索域中,同時(shí)在發(fā)現(xiàn)者位置更新中引入Lévy飛行方法以增強(qiáng)算法的全局搜索能力。最后MSSA在警戒者位置更新處加入交叉變異策略,以增強(qiáng)算法跳出局部最優(yōu)的能力。
陳功等人[14]提出一種螺旋探索與自適應(yīng)混合變異的麻雀搜索算法(sparrow search algorithm based on spiral search and adaptive hybrid mutation,SHSSA)。首先,在種群初始化階段引入ICMIC混沌映射初始化種群以增加初始種群的多樣性;其次,為提升算法全局搜索性能,在發(fā)現(xiàn)者位置更新處加入螺旋探索因子;最后,在最優(yōu)個(gè)體處使用融合精英差分和隨機(jī)反向的混合策略對(duì)最優(yōu)個(gè)體進(jìn)行擾動(dòng),以增強(qiáng)算法跳出局部最優(yōu)的能力。
上述文獻(xiàn)提出的改進(jìn)SSA主要是從以下幾個(gè)方面進(jìn)行改進(jìn):a)使用混沌算法對(duì)初始種群進(jìn)行擾動(dòng),以增強(qiáng)種群多樣性;b)與其他算法相融合,對(duì)某種角色麻雀的飛行方式進(jìn)行改進(jìn);c)對(duì)當(dāng)前最優(yōu)或是全局最優(yōu)位置進(jìn)行處理,使得算法跳出局部最優(yōu)的能力變強(qiáng)。上述改進(jìn)算法提高了原SSA的優(yōu)化能力,但在一些復(fù)雜多峰問(wèn)題上,仍存在易陷入局部最優(yōu)、算法過(guò)早收斂等問(wèn)題。為進(jìn)一步提升SSA的性能,本文提出一種融合小生境機(jī)制的增強(qiáng)麻雀搜索算法(enhanced sparrow search algorithm by integrating niche mechanism,NSSA)。NSSA主要采取了以下兩項(xiàng)改進(jìn)策略:
a)引入了一種自適應(yīng)物種形成的小生境策略來(lái)劃分麻雀種群,該策略可以保持種群的多樣性,加快算法的收斂速度。
b)針對(duì)麻雀發(fā)現(xiàn)者在尋優(yōu)過(guò)程中容易陷入局部最優(yōu)的問(wèn)題,通過(guò)引入同物種中其他的位置,結(jié)合差分變異操作產(chǎn)生新的發(fā)現(xiàn)者位置,增加算法跳出局部最優(yōu)的概率。
本文采用CEC2017中的12個(gè)測(cè)試函數(shù),將NSSA與其他四種改進(jìn)麻雀算法和一種改進(jìn)的鯨魚(yú)算法進(jìn)行性能測(cè)試,并對(duì)于采用的改進(jìn)策略進(jìn)行了消融實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,在綜合改進(jìn)策略的共同作用下,NSSA的綜合優(yōu)化性能突出,且全局收斂性能較為穩(wěn)定。最后,將NSSA應(yīng)用于壓力容器設(shè)計(jì)實(shí)驗(yàn),結(jié)果表明NSSA能夠獲得最低成本的壓力容器。
1 麻雀搜索算法
SSA是通過(guò)模擬麻雀捕食與反捕食機(jī)制而提出的群智能優(yōu)化算法。在算法中存在發(fā)現(xiàn)者、跟隨者、警戒者三種角色。發(fā)現(xiàn)者負(fù)責(zé)尋找整個(gè)搜索區(qū)域中食物較充足的位置,并帶領(lǐng)其他麻雀移動(dòng)到食物位置,跟隨者則是跟隨發(fā)現(xiàn)者來(lái)獲取食物。發(fā)現(xiàn)者與跟隨者的角色會(huì)根據(jù)個(gè)體的適應(yīng)度值動(dòng)態(tài)變化,只要麻雀可以搜尋到更優(yōu)的食物所在位置,都可以成為發(fā)現(xiàn)者,但發(fā)現(xiàn)者在整個(gè)種群中所占的比例是固定的。
發(fā)現(xiàn)者有兩種飛行方式。當(dāng)R<ST時(shí),表示發(fā)現(xiàn)者在周圍未發(fā)現(xiàn)危險(xiǎn),這時(shí)發(fā)現(xiàn)者會(huì)進(jìn)入廣域搜索;當(dāng)R≥ST時(shí),表示發(fā)現(xiàn)者發(fā)現(xiàn)了危險(xiǎn),這時(shí)發(fā)現(xiàn)者會(huì)向安全區(qū)移動(dòng)。發(fā)現(xiàn)者的位置更新公式為
其中:Xbest是當(dāng)前全局最佳位置;β是一個(gè)步長(zhǎng)控制參數(shù),服從均值為0,方差為1的正態(tài)分布;K是[-1,1]中的一個(gè)隨機(jī)數(shù);fi為當(dāng)前個(gè)體的適應(yīng)度;fg和fw為當(dāng)前全局最佳和最劣適應(yīng)度值;ε是一個(gè)常數(shù),避免分母為零。
2 融合小生境機(jī)制的增強(qiáng)麻雀搜索算法
對(duì)跟隨者的位置更新式(2)進(jìn)行分析可知,原SSA的跟隨者在每次迭代都會(huì)向當(dāng)前最優(yōu)的發(fā)現(xiàn)者位置靠近。這意味著麻雀種群的多樣性可能會(huì)隨著算法的迭代快速降低,導(dǎo)致算法易陷入局部最優(yōu)并早熟。NSSA采用了兩項(xiàng)改進(jìn)策略解決上述問(wèn)題:第一項(xiàng)是引入新式小生境機(jī)制,將種群分成小種群(物種),并使每個(gè)物種中的跟隨者向該物種內(nèi)的發(fā)現(xiàn)者靠近,以保持種群的多樣性并提升算法的收斂速度;第二項(xiàng)是對(duì)所有的發(fā)現(xiàn)者進(jìn)行差分變異操作,避免由于發(fā)現(xiàn)者陷入局部最優(yōu)而導(dǎo)致算法陷入局部最優(yōu)的情況。
2.1 改進(jìn)的小生境策略
SSA的搜索機(jī)制總是選擇個(gè)體適應(yīng)值排序靠前的小部分麻雀?jìng)€(gè)體作為發(fā)現(xiàn)者,并且使占種群多數(shù)的跟隨者向當(dāng)前最優(yōu)的發(fā)現(xiàn)者移動(dòng),容易使麻雀?jìng)€(gè)體迅速向當(dāng)前最優(yōu)位置匯聚,造成麻雀算法具有較快的收斂速度,但也會(huì)造成算法的種群多樣性快速減少,導(dǎo)致算法易陷入局部最優(yōu)或者早熟。文獻(xiàn)[9,11~14]都使用某種混沌映射機(jī)制對(duì)種群的初始分布進(jìn)行擾動(dòng),目的是增強(qiáng)種群的初始多樣性,但其只能在初始化階段對(duì)種群進(jìn)行優(yōu)化。為直觀顯示原SSA中麻雀種群隨迭代次數(shù)變化的情況,在種群數(shù)量為50,發(fā)現(xiàn)者規(guī)模為種群的20%,搜索空間每一維是[-500,500]的情況下,對(duì)2維的generalized Schwefel’s problem函數(shù)進(jìn)行優(yōu)化。圖1(a)和(b)顯示了麻雀種群分別迭代了1次和5次的分布情況。從圖1(a)中可以看出,在進(jìn)行了1次迭代后,麻雀種群還較為分散;而1(b)中,只進(jìn)行了5次迭代,麻雀種群就已經(jīng)聚集在某幾個(gè)點(diǎn)附近。
在智能優(yōu)化算法領(lǐng)域,通常采用基于物種形成的小生境策略(niche strategies based on speciation,NBS)[15]來(lái)將種群劃分成若干個(gè)小種群或者物種。NBS根據(jù)兩個(gè)個(gè)體之間的歐氏距離來(lái)確定它們之間的相似性,即兩個(gè)個(gè)體的距離越小,它們之間的相似性就越大。物種的形成取決于預(yù)設(shè)的參數(shù),即物種半徑R。其表示從物種中心到其邊界的歐氏距離的半徑。物種的中心被稱為物種種子,其是該物種中具有最優(yōu)適應(yīng)值的個(gè)體。所有落在距離物種種子半徑R距離內(nèi)的個(gè)體都被歸類為同一物種。NBS策略形成物種種子并完成物種劃分的具體步驟為:
a)以適應(yīng)度最好的個(gè)體為物種種子,將與之距離小于R的個(gè)體劃分為屬于同一物種。
b)若有物種種子距離大于R的個(gè)體,將這些個(gè)體保存在種子集中,將種子集中的候選種子進(jìn)行適應(yīng)度排序。
c)如果種子集非空,重復(fù)a),否則完成物種劃分。
NBS存在以下兩個(gè)問(wèn)題:a)NBS使用的物種半徑R是預(yù)先設(shè)置的固定值,其可能不利于算法隨搜索環(huán)境變化而作出相應(yīng)的調(diào)整;b)其時(shí)間復(fù)雜度較高,NBS的時(shí)間復(fù)雜度為O(n2) [15]。
文獻(xiàn)[16]提出了一種基于粒子相似性形成自適應(yīng)物種的小生境策略(niche strategy for adaptive speciation based on particle similarity,NABPS)對(duì)NBS策略進(jìn)行了改進(jìn)。NABPS策略采用了基于粒子相似性的自適應(yīng)機(jī)制動(dòng)態(tài)地設(shè)置物種半徑,具體過(guò)程如下:
a)計(jì)算每個(gè)個(gè)體xi與其最近粒子的距離Li,將所有的Li依次相加得出總距離L,再將L除以個(gè)體數(shù)就可以得出自適應(yīng)半徑R的值是對(duì)所有個(gè)體即計(jì)算整個(gè)種群的聚集程度,然后根據(jù)這些距離設(shè)置自適應(yīng)半徑R。
b)為每個(gè)個(gè)體xi找到半徑R內(nèi)所有比xi適應(yīng)度好的個(gè)體xj,這些xj可認(rèn)為屬于xi的物種A,其中A物種中最優(yōu)的個(gè)體被稱為nbest個(gè)體,算法進(jìn)行迭代時(shí)可用nbest個(gè)體代替算法的全局最優(yōu)位置,維持種群的多樣性。
NABPS存在幾個(gè)問(wèn)題:a)設(shè)置自適應(yīng)半徑時(shí)需計(jì)算每個(gè)個(gè)體與之最近個(gè)體的距離,這大大地增加了算法的時(shí)間復(fù)雜度;b)在劃分小生境時(shí)需要為每個(gè)個(gè)體生成以該個(gè)體為中心的小生境,可能會(huì)存在一個(gè)個(gè)體屬于多個(gè)物種的現(xiàn)象,這與現(xiàn)實(shí)情況不相符。上述的i,j∈N,N是種群個(gè)體數(shù)。
本文在文獻(xiàn)[15,16]的基礎(chǔ)上加以改進(jìn),提出基于發(fā)現(xiàn)者相似性形成自適應(yīng)物種形成的小生境策略(niche strategy for adaptive speciation based on finders similarity,NABFS)。與NABPS類似,NABFS的自適應(yīng)半徑可由發(fā)現(xiàn)者的聚集程度進(jìn)行設(shè)置。首先計(jì)算每個(gè)發(fā)現(xiàn)者與其最近發(fā)現(xiàn)者的距離并進(jìn)行求和,進(jìn)行求和之后對(duì)和求平均值即是半徑。具體做法如式(4)(5)所示。
以發(fā)現(xiàn)者為中心,并以發(fā)現(xiàn)者的聚集程度設(shè)置半徑,不需要對(duì)每個(gè)粒子的最小距離進(jìn)行計(jì)算,大大減少了算法的時(shí)間復(fù)雜度,同時(shí)NABFS限定某個(gè)跟隨者只能屬于某一個(gè)物種,符合現(xiàn)實(shí)情況。
在組成物種后,跟隨者不再向當(dāng)前最優(yōu)發(fā)現(xiàn)者靠近,而是改為向物種中發(fā)現(xiàn)者靠近,為方便稱呼,本文將物種中的發(fā)現(xiàn)者稱為整個(gè)物種的neighbor best個(gè)體,簡(jiǎn)稱NB個(gè)體,物種中的跟隨者則稱為neighbor個(gè)體,簡(jiǎn)稱NE個(gè)體。若物種中存在一個(gè)發(fā)現(xiàn)者,則該發(fā)現(xiàn)者既是NB個(gè)體也是NE個(gè)體。與標(biāo)準(zhǔn)SSA中麻雀飛行方式不同的是,NABFS策略中的跟隨者并不再向當(dāng)前最優(yōu)的發(fā)現(xiàn)者靠近,而是向著
其中:XNB為物種中的NB個(gè)體;YNE為物種中隨機(jī)一個(gè)NE個(gè)體YNE≠Xti;rand∈[0,1]。
當(dāng)進(jìn)行物種劃分時(shí),存在一些與任何發(fā)現(xiàn)者的距離都大于自適應(yīng)半徑的跟隨者,這些個(gè)體不屬于任何物種的跟隨者。若這些個(gè)體不加入某個(gè)物種,則沒(méi)有引導(dǎo)者指導(dǎo)其飛行。為了模仿自然界中優(yōu)勝劣汰的特性,本文將上述個(gè)體進(jìn)行淘汰,即可認(rèn)為上述麻雀因?yàn)闆](méi)有引導(dǎo)者而被淘汰,本文將這些個(gè)體稱為淘汰個(gè)體。為了保證種群的數(shù)量,在離淘汰個(gè)體距離最短的物種中會(huì)隨機(jī)生成一個(gè)新的跟隨者,設(shè)新個(gè)體生成的物種中發(fā)現(xiàn)者是NB,則被新生成的跟隨者位置為
2.2 結(jié)合模糊邏輯的差分變異操作
差分進(jìn)化算法(differential evolution,DE)[17]是一種基于群體差異的進(jìn)化算法。DE算法的每次迭代都會(huì)對(duì)種群執(zhí)行變異操作、交叉操作和選擇操作。其中差分變異操作是用來(lái)產(chǎn)生父代個(gè)體的變異個(gè)體,并選擇優(yōu)勢(shì)個(gè)體保留至下一次迭代。常見(jiàn)的差分變異操作有DE/rand/1、DE/best/2、DE/current-to-best/1[18]。
對(duì)于標(biāo)準(zhǔn)SSA中發(fā)現(xiàn)者的飛行方式分析可得:隨著迭代次數(shù)的增加,R<ST時(shí)發(fā)現(xiàn)者位置更新公式中的指數(shù)部分會(huì)不斷變小,于是發(fā)現(xiàn)者個(gè)體的每一維也在變小,若無(wú)其他的變異機(jī)制,在面對(duì)多維搜索空間時(shí)難以進(jìn)行全面的搜索,導(dǎo)致算法陷入局部最優(yōu)。本文結(jié)合2.1節(jié)小生境中的NE個(gè)體提出一種SSA/current-to-neighbor/1策略,對(duì)發(fā)現(xiàn)者種群進(jìn)行差分變異操作,具體如式(8)所示。
其中:ui為發(fā)現(xiàn)者進(jìn)行差分變異后的變異個(gè)體;F為放縮因子;XNE是Xi的NE個(gè)體;Xr1和Xr2為不同于當(dāng)前發(fā)現(xiàn)者個(gè)體位置的兩個(gè)隨機(jī)位置,且r1≠r2。生成變異個(gè)體后,與父代Xi交叉生成子代個(gè)體ui,j,該過(guò)程的數(shù)學(xué)公式為
在經(jīng)典 DE 算法中,放縮因子F與交叉概率CR的設(shè)置對(duì)于算法的性能非常重要,但經(jīng)典DE算法采用的是固定參數(shù)的方式,即參數(shù)在搜索之前預(yù)先設(shè)置好,并且在整個(gè)迭代過(guò)程中保持不變。然而,這種固定參數(shù)的方式很難在迭代的各個(gè)階段都生成符合要求的變異向量。為了靈活控制參數(shù),使算法在各個(gè)階段都能獲得符合要求的變異向量,有學(xué)者提出利用模糊推理系統(tǒng)來(lái)完成對(duì)參數(shù)的靈活控制[19]。
模糊推理系統(tǒng)以模糊邏輯理論為主要計(jì)算工具,能夠方便且高效地實(shí)現(xiàn)多輸入變量與單輸出變量之間復(fù)雜的非線性映射關(guān)系[20]。模糊推理系統(tǒng)功能主要由模糊化、模糊規(guī)則庫(kù)、模糊推理方法和去模糊化四個(gè)部分組成。
本文提出的用來(lái)動(dòng)態(tài)改變放縮因子F與交叉概率CR的模糊推理系統(tǒng)的兩個(gè)輸入變量分別是當(dāng)前的迭代階段Iter和種群多樣性Diver。當(dāng)前的迭代階段Iter如式(10)所示。
其中:N為種群數(shù)量;D為變量維度;Xi,d(t)為迭代t時(shí)第i個(gè)個(gè)體的第d維的值;cd(t)為迭代t時(shí)麻雀種群的質(zhì)心;∑ N/i=1 ∑ D/j=1 (Xi,j-cd(t))2表示的是t次迭代時(shí)總體與質(zhì)心cd(t)的離散度。計(jì)算離散度后,經(jīng)過(guò)歸一化可表示個(gè)體差異程度的高低,當(dāng)Diver越小,則表示個(gè)體差異程度越低,反之則個(gè)體差異程度越高。
模糊推理系統(tǒng)的兩個(gè)輸入變量Iter和Diver的隸屬度函數(shù)分別如圖3(a)和(b)所示。當(dāng)前的迭代階段,Iter被三個(gè)隸屬度函數(shù)分別劃分為early、medium、late三個(gè)階段,分別表示前期、中期、后期。種群多樣性Diver被三個(gè)隸屬度函數(shù)分別劃分為low、medium、high三種狀態(tài),分別表示種群多樣性低、中等、高。輸出放縮因子F與交叉概率CR都被五個(gè)隸屬函數(shù)分別劃分為small、small_medium、medium、medium _big、big五個(gè)階段,分別表示小、中等偏小、中等、中等偏大、大。同時(shí)由文獻(xiàn)[21]可知,放縮因子的理想?yún)^(qū)間應(yīng)該為0.4~0.95,其中F為0.9時(shí)可實(shí)現(xiàn)搜索能力與開(kāi)發(fā)能力的平衡;文獻(xiàn)[22]指出交叉概率CR的取值應(yīng)為[0.3,0.9]。本文輸出的F與CR采用上述兩個(gè)取值范圍。
在模糊推理系統(tǒng)中除了對(duì)輸入和輸出進(jìn)行選擇,還需要進(jìn)行合理的模糊規(guī)則設(shè)計(jì)。放縮因子F和交叉概率CR的模糊規(guī)則如表1、2所示。這些模糊規(guī)則基于以下幾點(diǎn)進(jìn)行設(shè)計(jì):a)算法迭代初期需要進(jìn)行大范圍的搜索,這時(shí)不考慮種群多樣性的情況都需要一個(gè)較大的放縮因子和較小的交叉概率使差分操作能生成較大范圍內(nèi)的變異向量;b)算法在迭代過(guò)程中搜索方式逐漸由大范圍的全局搜索變?yōu)榫植克阉鳎噪S著當(dāng)前迭代次數(shù)與最大迭代次數(shù)之間的百分?jǐn)?shù)變大,放縮因子隨之變小而交叉概率隨著變大;c)種群多樣性較低時(shí),算法進(jìn)入局部搜索,這時(shí)需要一個(gè)較小的F和一個(gè)較大的CR以生成一個(gè)小范圍的擾動(dòng)值;反之則需要較大的F和較小的CR,使生成的擾動(dòng)解在充分大的范圍中搜索。
設(shè)計(jì)模糊規(guī)則之后,對(duì)模糊輸出去模糊化就可以得到經(jīng)過(guò)模糊系統(tǒng)推理輸出的放縮因子F和交叉概率CR,如圖4所示。在對(duì)發(fā)現(xiàn)者個(gè)體進(jìn)行差分變異操作差分得到其變異個(gè)體后進(jìn)行適應(yīng)值對(duì)比,并選擇適應(yīng)值優(yōu)者作為發(fā)現(xiàn)者進(jìn)行下一輪迭代。
2.3 算法流程
綜上所述,NSSA的偽代碼如下:
輸入:算法最大迭代次數(shù)It;種群規(guī)模N;發(fā)現(xiàn)者規(guī)模PD;警戒者規(guī)模SD;問(wèn)題維度D;預(yù)警值ST。
輸出:全局最優(yōu)位置Xbest以及其適應(yīng)度值f(Xbest)。
a)初始化種群個(gè)體,評(píng)估其適應(yīng)度;
b)for t=1∶ It
c) 對(duì)適應(yīng)度進(jìn)行排序,適應(yīng)度優(yōu)的前N×PD個(gè)麻雀為發(fā)現(xiàn)者,其余麻雀為跟隨者;
d) for i=1∶ PD
e)按照式(1)更新發(fā)現(xiàn)者位置;
f) end for
g) 按照式(4)(5)計(jì)算小生境的半徑R的值;
h) for i=1∶ PD
i)for j=(PD+1)∶ N
j) 計(jì)算Xi與Xj的距離L1;
k) if L1<R
l)Xj加入Xi的物種A;
m) end if
n) end for
o) q=i+1
p) 計(jì)算Xi與Xq的距離L2;
q) if L2<R
r) q++;返回步驟p);
s)else
t) i=q;
u) end for
v) 使用式(7)對(duì)不屬于任何物種的跟隨者進(jìn)行淘汰
w) 通過(guò)式(10)和(12) 計(jì)算Iter和Diver,并調(diào)用模糊邏輯得到放縮因子F與交叉概率CR;
x) for i=1∶ PD
y)通過(guò)式(8)和(9)進(jìn)行混合差分變異操作,產(chǎn)生變異發(fā)現(xiàn)者子群并擇優(yōu)交換;
z) end for
aa) for i=(PD+1)∶ N
ab)按照式(6)更新跟隨者位置;
ac) end for
ad) for i=1∶ SD
ae)使用式(3)更新偵查者位置;
af)end for
ag)t=t+1;
ah)判斷算法是否達(dá)到最大迭代,是則停止搜索,否則進(jìn)行步驟c);
ai)end for
2.4 NSSA的時(shí)間復(fù)雜度分析
原SSA的時(shí)間復(fù)雜度可以表示為O(T×D×M),其中T為最大迭代次數(shù)、D為問(wèn)題維度、M為種群規(guī)模。在引入自適應(yīng)物種形成的小生境策略時(shí)需要進(jìn)行半徑R的計(jì)算,設(shè)PD為發(fā)現(xiàn)者的占比,則額外增加的時(shí)間復(fù)雜度為O1(T×D×PD×(M-PD)),物種淘汰機(jī)制每次需要淘汰常數(shù)個(gè)物種,設(shè)每次淘汰的物種為C個(gè),則額外增加的時(shí)間復(fù)雜度為O2(T×D×C)。在結(jié)合模糊邏輯的差分變異操作策略中,首先會(huì)通過(guò)式(10)(12)計(jì)算當(dāng)前迭代階段的百分比、種群多樣性百分比并調(diào)用模糊系統(tǒng)計(jì)算放縮因子F與交叉概率CR,最后通過(guò)計(jì)算出的F與CR生成子代個(gè)體。在該步驟中,計(jì)算當(dāng)前迭代階段的百分比時(shí)間為一個(gè)常數(shù),可假設(shè)為t1,計(jì)算種群多樣性百分 比增加的時(shí)間復(fù)雜度為O3=O(T×M)+O(T×D×M)=O(T×D×M) ,生成子代個(gè)體增加的時(shí)間復(fù)雜度為O4(T×D×PD),因?yàn)榘l(fā)現(xiàn)者的占比PD只占種群規(guī)模M的小部分,該步驟增加的時(shí)間復(fù)雜度為O5=t1+O3+O4=O(T×D×M)。綜上所述,NSSA的時(shí)間復(fù)雜度為O6=O(T×D×M)+O1+O2+O5=O(T×D×M)。NSSA的時(shí)間復(fù)雜度與原SSA相同。
3 算法性能測(cè)試與分析
3.1 實(shí)驗(yàn)設(shè)計(jì)
為保證實(shí)驗(yàn)的嚴(yán)謹(jǐn)和公平,所有的仿真實(shí)驗(yàn)均是處于同一實(shí)驗(yàn)環(huán)境:使用MATLAB R2021b作為算法仿真軟件,操作系統(tǒng)為Microsoft Windows 10,硬件配置為AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz,16.0 GB內(nèi)存。為了驗(yàn)證NSSA的有效性,本文選取12個(gè)CEC2017中有代表性的測(cè)試函數(shù)用于測(cè)試。將NSSA和其他四個(gè)改進(jìn)麻雀算法,即CSSOA[11]、ISSA[12]、MSSA[13]、SHSSA[14]以及一個(gè)改進(jìn)鯨魚(yú)優(yōu)化算法MSWOA[23],在12個(gè)測(cè)試函數(shù)上進(jìn)行測(cè)試。其中F1~F4為多峰函數(shù)、F5~F8為混合函數(shù)、F9~F12為復(fù)合函數(shù)。測(cè)試函數(shù)的名稱與相關(guān)參數(shù)如表3所示。
將NSSA與其他五種算法在維度為100維的測(cè)試函數(shù)上進(jìn)行測(cè)試, 且獨(dú)立運(yùn)行30次,算法的迭代次數(shù)為500次,所有參與實(shí)驗(yàn)的改進(jìn)麻雀搜索算法參數(shù)皆被設(shè)置為一致:種群規(guī)模為100,發(fā)現(xiàn)者占總種群的20%,警戒者占總種群的10%,預(yù)警值ST=0.6。30次運(yùn)算后根據(jù)每個(gè)算法最優(yōu)解的均值(mean)和方差(std)來(lái)評(píng)估算法的優(yōu)越性和穩(wěn)定性。本文對(duì)各個(gè)算法的性能進(jìn)行排名(rank),排名越小表示效果越好。其中排名的標(biāo)準(zhǔn)是先比較同一函數(shù)上獲得的平均值,平均值越小算法的性能越好;在平均值相等時(shí),再比較方差,方差越小表示算法的穩(wěn)定性和性能越好。
3.2 實(shí)驗(yàn)結(jié)果分析
表4給出了各算法在100維下的測(cè)試數(shù)據(jù),其中“count”表示的是各算法得第一名的次數(shù),“ave rank”表示算法的平均排名,“total rank”表示的是對(duì)ave rank的排名。從表4可以看出,在100維的測(cè)試環(huán)境下,NSSA的改進(jìn)策略有效,由兩種改進(jìn)策略的引導(dǎo),NSSA在高維的測(cè)試函數(shù)中有著更好的表現(xiàn)。結(jié)果表明NSSA在12個(gè)測(cè)試函數(shù)上均獲得了第一,同時(shí)在total rank總排名中也取得第一名的好成績(jī), 說(shuō) 明NSSA相比于其他 改進(jìn)算法有更好的解決高維問(wèn)題的能力。同時(shí),NSSA在多峰函數(shù)F1~F4中均有很大的提升,分別比排名第二的算法提升了82.8%、12.6%、0.58%、10.1%。這表明NSSA相比于其他的改進(jìn)SSA,在處理有著多個(gè)局部最優(yōu)點(diǎn)的高維多峰函數(shù)上具有更好的性能。算法在std方差上取得的成績(jī)代表了算法在處理復(fù)雜問(wèn)題上的魯棒性,在std的對(duì)比中,NSSA僅在F8上次于MSWOA、CSSOA、ISSA排名第四,在F9上次于MSWOA、SHSSA排名第三,在其余的10個(gè)測(cè)試函數(shù)上均比其他算法更具有優(yōu)勢(shì),這表示在引入改進(jìn)策略后,NSSA在處理復(fù)雜問(wèn)題上比其余的改進(jìn)SSA具有更好的魯棒性。綜上所述,在高維的情況下,NSSA相對(duì)于對(duì)比算法有著更好的收斂精度和魯棒性。
3.3 算法收斂曲線對(duì)比分析
為了直觀觀察NSSA與其他改進(jìn)SSA尋優(yōu)能力的優(yōu)劣,圖5列出了六種算法對(duì)上述12個(gè)測(cè)試函數(shù)在維度為100時(shí)的收斂曲線對(duì)比圖。從收斂圖可以看出,在12個(gè)函數(shù)中,NSSA在全部的測(cè)試函數(shù)中都有更好的收斂精度,其中在F5、F12中分別比第二名的算法高了兩個(gè)量級(jí)與一個(gè)量級(jí)。從圖5的大部分收斂圖可以看出,NSSA有著更快的收斂速度,其中在F1、F4、F7、F10等函數(shù)中,在算法迭代前期就已經(jīng)迅速搜尋到全局最優(yōu)附近,這說(shuō)明基于發(fā)現(xiàn)者相似性形成自適應(yīng)物種形成的小生境策略在保持種群多樣性上的有效性,使NSSA在收斂速度上有著良好的表現(xiàn)。NSSA跳出局部最優(yōu)的能力也在收斂曲線上體現(xiàn),例如在F5中,當(dāng)算法迭代搜索到50代左右,只有MSSA、SHSSA、NSSA三個(gè)算法繼續(xù)向前搜索,剩余的三個(gè)算法都已經(jīng)陷入局部最優(yōu),在這三個(gè)能繼續(xù)向前搜索的算法中,NSSA收斂的速度最快、精度最高,這表明結(jié)合模糊邏輯的差分變異操作能夠有效地對(duì)發(fā)現(xiàn)者個(gè)體進(jìn)行擾動(dòng),令NSSA具備在防止陷入局部最優(yōu)方面有著更強(qiáng)的能力。以上表明,NSSA 在多策略的作用下,在提高種群多樣性,防止陷入局部最優(yōu)等策略的改進(jìn)中,加快了收斂速度,并提高了尋優(yōu)精度。
3.4 算法箱線圖對(duì)比分析
圖6包括了NSSA與各對(duì)比算法對(duì)上述12個(gè)測(cè)試函數(shù)在維度為100時(shí)獨(dú)立執(zhí)行30次條件下獲取最優(yōu)解的箱線圖。在箱線圖中,箱體的高度代表了算法最優(yōu)值的波動(dòng)情況,箱體底部表示著算法的最優(yōu)值。F1、F5、F6、F10與F12等函數(shù)中的NSSA箱體較窄,說(shuō)明NSSA在這幾個(gè)測(cè)試函數(shù)中的所有最優(yōu)值波動(dòng)情 況小,即算法收斂速度較快,導(dǎo)致每一代的最優(yōu)解之間跨度較小。而其他改進(jìn)算法的箱體較寬,代表算法從開(kāi)始搜索到迭代結(jié)束獲取的所有解變化大,魯棒性比NSSA算法低。同時(shí)也可以明顯看出,NSSA的F1、F5、F6、F10、F12等函數(shù)中箱體的下限比其他算法更低,也就代表它的搜索精度更高。以上表明了由于兩種策略的協(xié)助有利于增強(qiáng)NSSA的求解精度與穩(wěn)定性。
3.5 完整性消融實(shí)驗(yàn)
為體現(xiàn)本文各策略的有效性,對(duì)NSSA中的策略進(jìn)行完整性消融實(shí)驗(yàn)。設(shè)SSA中只融入小生境策略的算法為NSSA1、只融入小生境策略與差分進(jìn)化策略的算法為NSSA2,即NSSA2中F與CR為固定值、在NSSA2的基礎(chǔ)上加上模糊推理系統(tǒng)的 算法為NSSA3。本文將標(biāo)準(zhǔn)SSA、NSSA1、NSSA2、NSSA3與NSSA一起進(jìn)行函數(shù)測(cè)試。這些測(cè)試是基于表3中的測(cè)試函數(shù)進(jìn)行的,參與測(cè)試的所有算法在維度為30維的測(cè)試函數(shù)上進(jìn)行,且獨(dú)立運(yùn)行10次,算法的迭代次數(shù)為500次,其余算法參數(shù)與3.1節(jié)中的設(shè)置相同。表5展示了不同改進(jìn)策略的收斂精度情況。
從表5可以看出,只融入小生境策略對(duì)的NSSA1在12個(gè)函數(shù)上都優(yōu)于SSA,同時(shí)只融入小生境策略與差分進(jìn)化策略的NSSA2在12個(gè)函數(shù)上也都優(yōu)于SSA。對(duì)比NSSA2與NSSA3可以看出,加上模糊推理系統(tǒng)可以使得算法獲得更優(yōu)的解,這說(shuō)明使用模糊推理系統(tǒng)能夠在迭代的各個(gè)階段都生成符合要求的變異向量,進(jìn)一步增強(qiáng)差分變異的效果。這證明了每個(gè)策略在SSA上都是有效的。最后對(duì)于融合改進(jìn)策略的NSSA,其收斂精度高于參與測(cè)試的任何算法,這表明所有改進(jìn)策略都是相輔相成且穩(wěn)定有效的,它們能夠提升NSSA的綜合求解能力。
3.6 Friedman檢驗(yàn)
本次還對(duì)記錄的六種算法運(yùn)行30次得到的平均值采用Friedman檢驗(yàn)[24],結(jié)果如表6所示。表中的P-value表示漸進(jìn)顯著性。P-value是判斷算法之間是否存在顯著性差異的重要指標(biāo),若該值小于0.01,則表示各項(xiàng)數(shù)據(jù)之間存在顯著性差異。其他的值為各個(gè)算法在不同維度中的秩平均值。從表6可以看出,對(duì)于30維、50維、100維,NSSA的P-value分別為1.069 9E-7、1.09E-08、2.39E-09,都遠(yuǎn)遠(yuǎn)小于0.01,表明NSSA和其他改進(jìn)算法之間存在明顯的差異。在三種不同維度中,NSSA的秩的平均值都是最小的,再次證明NSSA的性能最優(yōu)。總體上,NSSA的優(yōu)化能力在統(tǒng)計(jì)學(xué)意義上相較于其他改進(jìn)算法有較大的提升。
4 工程設(shè)計(jì)問(wèn)題
為了進(jìn)一步驗(yàn)證NSSA解決實(shí)際問(wèn)題的能力,將NSSA應(yīng)用于壓力容器設(shè)計(jì)這個(gè)經(jīng)典的工程設(shè)計(jì)問(wèn)題。利用NSSA與標(biāo)準(zhǔn)SSA[6]、CSSOA[11]、ISSA[12]、MSSA[13]、SHSSA[14]、MSWOA[23],對(duì)每個(gè)問(wèn)題獨(dú)立運(yùn)行30次,并進(jìn)行優(yōu)化結(jié)果比較。參與實(shí)驗(yàn)的算法的迭代次數(shù)為500次,種群規(guī)模為50,其中改進(jìn)麻雀算法的發(fā)現(xiàn)者占總種群的20%,警戒者占總種群的10%,預(yù)警值ST=0.6。
在壓力容器設(shè)計(jì)問(wèn)題中,有四個(gè)設(shè)計(jì)變量,分別為容器厚度Ts、封頭厚度Th、內(nèi)半徑R、長(zhǎng)度L,如圖7所示。
壓力容器的設(shè)計(jì)是基于四個(gè)參數(shù)(x1、x2、x3和x4)和四個(gè)約束(g1、g2、g3和g4)來(lái)最小化容器的制造成本。實(shí)驗(yàn)中采用罰函數(shù)法處理有約束的壓力容器設(shè)計(jì)問(wèn)題,若計(jì)算出的參數(shù)滿足約束條件則計(jì)算適應(yīng)度值,否則將適應(yīng)度值記為無(wú)窮大。壓力容器的數(shù)學(xué)模型如式(13)所示。
前文的仿真實(shí)驗(yàn)已經(jīng)驗(yàn)證了NSSA在無(wú)約束的測(cè)試函數(shù)上有著良好的表現(xiàn)。壓力容器設(shè)計(jì)問(wèn)題作為經(jīng)典的約束問(wèn)題,可證明NSSA在解決帶約束問(wèn)題也具有優(yōu)越性。表7列出了NSSA和其他六種算法在求解壓力容器設(shè)計(jì)問(wèn)題的實(shí)驗(yàn)結(jié)果。
從表7可知,NSSA在Ts=1.346 6、Th=0.651 4、R=67.457 9、L=10.000 0處求得最優(yōu)解8 252優(yōu)于其他六種算法。說(shuō)明NSSA在求解壓力容器設(shè)計(jì)問(wèn)題時(shí),能夠求得最低成本,適合該類有約束的工程設(shè)計(jì)問(wèn)題的求解,相較于其他算法擁有更加優(yōu)越的性能。綜上所述,NSSA在無(wú)約束和帶約束問(wèn)題上都有很好的表現(xiàn),能適用于求解數(shù)學(xué)問(wèn)題,也能適用于現(xiàn)實(shí)世界問(wèn)題。
5 結(jié)束語(yǔ)
針對(duì)SSA容易陷入局部最優(yōu)等問(wèn)題,本文提出一種融合小生境的麻雀搜索算法NSSA。首先,使用自適應(yīng)物種形成的小生境技術(shù)將麻雀種群分成若干個(gè)小種群,提出一種新型跟隨者飛行方式,使得各個(gè)物種在各自的搜索域中同步搜索,同時(shí)提出一種物種淘汰機(jī)制,小生境技術(shù)可以避免麻雀種群多樣性的減少;其次,引入結(jié)合模糊邏輯的差分變異操作,使用物種中跟隨者麻雀的位置信息在不同的迭代時(shí)期與不同的種群多樣性的情況下,靈活地對(duì)麻雀發(fā)現(xiàn)者進(jìn)行變異操作,降低算法陷入局部最優(yōu)的可能性。基于12個(gè)CEC2017測(cè)試函數(shù)的實(shí)驗(yàn)結(jié)果表明,相比參與測(cè)試的其他五個(gè)改進(jìn)SSA,NSSA可以獲取最優(yōu)的性能。最后將NSSA應(yīng)用于壓力容器設(shè)計(jì)實(shí)驗(yàn),結(jié)果表明NSSA能夠得到最低成本。未來(lái)計(jì)劃對(duì)NSSA進(jìn)行進(jìn)一步的改進(jìn),并將其應(yīng)用于解決多目標(biāo)問(wèn)題。
參考文獻(xiàn):
[1]韓明,劉教民,吳朔媚,等. 粒子群優(yōu)化的移動(dòng)機(jī)器人路徑規(guī)劃算法[J].計(jì)算機(jī)應(yīng)用, 2017, 37 (8):2258-2263. (Han Ming, Liu Jiaomin, Wu Shuomei, et al. Path planning algorithm of mobile robot based on particle swarm optimization[J].Journal of Computer Applications,2017, 37 (8):2258-2263.)
[2]Paul K, Dalapati P, Kumar N. Optimal rescheduling of generators to alleviate congestion in transmission system: a novel modified whale optimization approach[J].Arabian Journal for Science and Engineering , 2022, 47 (3): 3255-3279.
[3]Si W Pan Xun, Ogai H, et al. LP guided PSO algorithm for office lighting control[J]. IEICE Trans on Information and Systems , 2016,E99D(7): 1753-1761.
[4]Grefenstette J J. Optimization of control parameters for genetic algorithms[J].IEEE Trans on Systems, Man, and Cybernetics , 1986, 16 (1): 122-128.
[5]Dorigo M, Birattari M, Stutzle T. Ant colony optimization[J].IEEE Computational Intelligence Magazine , 2006, 1 (4): 28-39.
[6]Xue Jiankai, Shen Bo. A novel swarm intelligence optimization approach: sparrow search algorithm[J].Systems Science amp; Control Engineering , 2020, 8 (1): 22-34.
[7]李建偉,于廣濱.改進(jìn)麻雀搜索算法的輪轂減速器優(yōu)化設(shè)計(jì)[J].哈爾濱理工大學(xué)學(xué)報(bào), 2022, 27 (5):56-63. (Li Jianwei, Yu Guangbin. Optimization design of hub reducer based on improved sparrow search algorithm[J]. Journal of Harbin University of Science and Technology , 2022, 27 (5):56-63.)
[8]方旺盛,趙如華,朱東林,等. 基于K-means聚類的麻雀搜索算法研究[J]. 計(jì)算機(jī)仿真, 2022, 39 (9):403-409. (Fang Wang-sheng, Zhao Ruhu Zhu Donglin, et al. Study on sparrow search algorithm based on K-means clustering[J].Computer Simulation , 2022, 39 (9):403-409.)
[9]Ma Jie, Hao Zhiyuan, Sun Wenjing. Enhancing sparrow search algorithm via multi-strategies for continuous optimization problems[J].Information Processing amp; Management , 2022, 59 (2): 102854.
[10]張曉萌,張艷珠,劉祿,等. 融合多策略的改進(jìn)麻雀搜索算法[J].計(jì)算機(jī)應(yīng)用研究, 2022, 39 (4):1086-1091,1117. (Zhang Xiaomeng, Zhang Yanzhu, Liu Lu, et al. Improved sparrow search algorithm fused with multiple strategies[J].Application Research of Computers , 2022, 39 (4):1086-1091,1117.)
[11]呂鑫,慕曉冬,張鈞,等. 混沌麻雀搜索優(yōu)化算法[J].北京航空航天大學(xué)學(xué)報(bào), 202 47 (8):1712-1720. (Lyu Xin, Mu Xiaodong,Zhang Jun, et al. Chaos sparrow search optimization algorithm[J].Journal of Beijing University of Aeronautics and Astronautics , 202 47 (8):1712-1720.)
[12]毛清華,張強(qiáng). 融合柯西變異和反向?qū)W習(xí)的改進(jìn)麻雀算法[J].計(jì)算機(jī)科學(xué)與探索, 202 15 (6):1155-1164. (Mao Qinghu Zhang Qiang. Improved sparrow algorithm combining Cauchy mutation and opposition-based learning[J].Journal of Frontiers of Computer Science and Technology , 202 15 (6):1155-1164.)
[13]Gao Bingwei, Shen Wei, Guan Hao, et al. Research on multistrategy improved evolutionary sparrow search algorithm and its application[J].IEEE Access , 2022, 10 : 62520-62534.
[14]陳功,曾國(guó)輝,黃勃,等. 螺旋探索與自適應(yīng)混合變異的麻雀搜索算法[J].小型微型計(jì)算機(jī)系統(tǒng), 2023, 44 (4):779-786. (Chen Gong, Zeng Guohui, Huang Bo, et al. Sparrow search algorithm based on spiral exploration and adaptive hybrid mutation[J].Journal of Chinese Computer Systems , 2023, 44 (4):779-786.)
[15]Li Xiaodong. Efficient differential evolution using speciation for multimodal function optimization[C]//Proc of the 7th Annual Conference on Genetic and Evolutionary Computation. New York :ACM Press, 2005: 873-880.
[16]Wang Rui, Hao Kuangrong, Huang Biao, et al. Adaptive niching particle swarm optimization with local search for multimodal optimization[J]. Applied Soft Computing , 2022, 133 : 109923.
[17]Storn R, Price K. Differential evolution—a simple and efficient heuristic for global optimization over continuous spaces[J].Journal of Global Optimization , 1997, 11 (4): 341.
[18]Zhang Jingqiao, Sanderson A C. JADE: adaptive differential evolution with optional external archive[J]. IEEE Trans on Evolutionary Computation , 2009, 13 (5): 945-958.
[19]Liu Junhong, Lampinen J. A fuzzy adaptive differential evolution algorithm[J].Soft Computing , 2005,9 : 448-462.
[20]Valdez F, Castillo O, Peraza C. Fuzzy logic in dynamic parameter adaptation of harmony search optimization for benchmark functions and fuzzy controllers[J].International Journal of Fuzzy Systems , 2020,22 (4): 1198-1211.
[21]Ronkkonen J, Kukkonen S, Price K V. Real-parameter optimization with differential evolution[C]//Proc of IEEE Congress on Evolutionary Computation. Piscataway, NJ:IEEE Press, 2005: 506-513.
[22]Gmperle R, Müller S D, Koumoutsakos P. A parameter study for differential evolution[J].Advances in Intelligent Systems, Fuzzy Systems, Evolutionary Computation , 2002, 10 (10): 293-298.
[23]柴巖,朱玉,任生. 多策略協(xié)同的改進(jìn)鯨魚(yú)優(yōu)化算法[J].計(jì)算機(jī)工程與科學(xué), 2023, 45 (7):1308-1319. (Chai Yan, Zhu Yu, Ren Sheng. An improved whale optimization algorithm based on multi-strategy coordination[J]. Computer Engineering amp;. Science , 2023, 45 (7):1308-1319.)
[24]張新明,姜云,劉尚旺,等. 灰狼與郊狼混合優(yōu)化算法及其聚類優(yōu)化[J].自動(dòng)化學(xué)報(bào), 2022, 48 (11):2757-2776. (Zhang Xinming, Jiang Yun, Liu Shangwang, et al. Hybrid coyote optimization algorithm with grey wolf optimizer and its application to clustering optimization[J].Acta Automatica Sinica , 2022, 48 (11):2757-2776.)
收稿日期:2023-08-23;修回日期:2023-10-07基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61563019,615620237);江西理工大學(xué)校級(jí)基金資助項(xiàng)目(205200100013)
作者簡(jiǎn)介:李大海(1975—),男,山東乳山人,副教授,碩導(dǎo),博士,CCF會(huì)員,主要研究方向?yàn)橹悄軆?yōu)化算法、強(qiáng)化學(xué)習(xí)算法及應(yīng)用等;李鑫(1996—),男(通信作者),江西贛州人,碩士研究生,主要研究方向?yàn)橹悄軆?yōu)化算法(1270533160@qq.com);王振東(1982—),男,湖北人,副教授,碩導(dǎo),博士,主要研究方向?yàn)闊o(wú)線傳感器網(wǎng)絡(luò)、智能優(yōu)化算法等.