国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

多策略融合的改進(jìn)黏菌算法

2023-03-24 13:25:12邱仲睿曾成碧
計算機應(yīng)用 2023年3期
關(guān)鍵詞:黏菌布朗運動測試函數(shù)

邱仲睿,苗 虹,曾成碧

(四川大學(xué) 電氣工程學(xué)院,成都 610065)

0 引言

群智能算法是一種模擬自然界中生物群體(如蟻群、獸群、鳥群、蜂群等)集體行為的元啟發(fā)式算法。這些群體在行為過程中互相交互、共享信息,通過學(xué)習(xí)彼此的經(jīng)驗來尋找最優(yōu)的解決方案[1-3]。相較于其他優(yōu)化方法,群智能算法實現(xiàn)較為簡單,而且優(yōu)化效率高。常見的群智能算法有粒子群優(yōu)化(Particle Swarm Optimization,PSO)[4]、灰狼優(yōu)化(Grey Wolf Optimization,GWO)[5]、黏菌算 法(Slime Mould Algorithm,SMA)[6]等。

SMA 是Li等[6]于2020 年提出的一種新型群智能算法,模擬了黏菌在尋找食物過程中形態(tài)和行為的變化。SMA 的權(quán)重系數(shù)模擬了黏菌在遇到不同濃度的食物時的生物振蕩器產(chǎn)生的正負(fù)反饋:當(dāng)找到高質(zhì)量食物時,黏菌會快速靠近;當(dāng)食物濃度較低時,黏菌會緩慢地向它靠近,從而以更高的效率接近最佳的食物源。SMA 代碼結(jié)構(gòu)簡單、可擴(kuò)展性強,并且在函數(shù)優(yōu)化和工程設(shè)計問題上表現(xiàn)出色,目前已被成功應(yīng)用于圖像分割[7]、蛋白質(zhì)序列比對[8]、機器人路徑規(guī)劃[9]、軸承缺陷識別[10]等領(lǐng)域。

然而,標(biāo)準(zhǔn)SMA 的尋優(yōu)機制比較簡單,它在優(yōu)化高維復(fù)雜函數(shù)和最優(yōu)解不在原點的函數(shù)時容易出現(xiàn)優(yōu)化結(jié)果不穩(wěn)定、收斂速度慢以及陷入局部最優(yōu)等問題。針對以上問題,學(xué)者們提出了多種改進(jìn)方法。Naik等[11]將平衡優(yōu)化器(Equilibrium Optimizer,EO)中的平衡池機制集成于SMA 的搜索模式中,提出一種平衡黏菌算法(Equilibrium Slime Mould Algorithm,ESMA),提高了SMA 的可搜索性;Houssein等[12]將自適應(yīng)引導(dǎo)差分進(jìn)化(Adaptive Guided Differential Evolution,AGDE)算法融入標(biāo)準(zhǔn)SMA,采用AGDE 突變的方式增強種群的局部搜索能力,提高了種群的多樣性,并避免SMA 過早收斂;郭雨鑫等[13]提出的改進(jìn)SMA 通過引入精英反向?qū)W習(xí)提高種群的質(zhì)量,并利用二次插值方法計算下一代黏菌個體的位置,提升了算法的收斂精度;Yu等[14]在SMA 的基礎(chǔ)上集成了量子旋轉(zhuǎn)門(Quantum Rotation Gate,QRG)和水循環(huán)(Water Cycle,WC)兩種機制,使算法在探索和開發(fā)之間保持平衡,增強了SMA 的局部搜索能力與魯棒性;Houssein等[15]將改進(jìn)的對立學(xué)習(xí)(Modified Opposition-Based Learning,MOBL)和正交學(xué)習(xí)(Orthogonal Learning,OL)策略融入標(biāo)準(zhǔn)SMA,提高了算法的求解精度,避免了算法長時間停留在局部最優(yōu)值上。

以上改進(jìn)不同程度地提升了標(biāo)準(zhǔn)SMA 的優(yōu)化性能,但這些方法大多是不同策略或不同算法與SMA 的簡單融合,并未深入改進(jìn)SMA 的位置更新公式,SMA 在求解最優(yōu)解不在原點的函數(shù)時仍存在后期收斂速度慢、優(yōu)化結(jié)果與最優(yōu)解偏差大的問題。因此,本文提出一種多策略融合的改進(jìn)黏菌算 法(Improved Slime Mould Algorithm with Multi-Strategy fusion,MSISMA)。針對SMA 求解精度低和易陷入局部最優(yōu)的問題,引入布朗運動和萊維飛行策略,提升算法的搜索能力和跳出局部最優(yōu)解的能力;改進(jìn)黏菌的位置更新公式,將SMA 單一的位置更新機制改進(jìn)為根據(jù)算法進(jìn)行的階段而變化的模式,以改善算法在探索和開發(fā)之間的過渡能力,提高算法的收斂速度和尋優(yōu)精度;引入?yún)^(qū)間自適應(yīng)反向?qū)W習(xí)策略,優(yōu)化種群質(zhì)量,提高收斂速度;加入收斂停滯監(jiān)測策略,即時判斷算法是否陷入收斂停滯,并對陷入停滯狀態(tài)的個體進(jìn)行位置初始化,幫助算法擺脫收斂停滯狀態(tài)。為驗證MSISMA 的有效性,選用了23 個測試函數(shù),將MSISMA 與幾種改進(jìn)的SMA、標(biāo)準(zhǔn)SMA 以及幾種最新的性能優(yōu)越的群智能算法進(jìn)行比較,同時使用Wilcoxon 秩和檢驗方法驗證MSISMA 的有效性。實驗結(jié)果表明,MSISMA 在收斂速度和求解精度上有較大的優(yōu)勢。

1 標(biāo)準(zhǔn)黏菌算法

黏菌算法模擬了多頭絨泡菌在覓食階段尋找食物、包圍食物的過程。黏菌的前端呈扇形,后面是相互連接的靜脈網(wǎng)絡(luò)。當(dāng)靜脈接近食物時,黏菌的生物振蕩器會產(chǎn)生擴(kuò)散波來改變靜脈中細(xì)胞質(zhì)的流動,使黏菌向更好的食物移動。黏菌在接近食物階段的位置更新公式為:

其中:Xb(t)為個體目前發(fā)現(xiàn)的最優(yōu)解的位置;vb是范圍為[-a,a]的一個隨機數(shù);W是黏菌的權(quán)重系數(shù);XA(t)和XB(t)為從黏菌中隨機選取的兩個個體的位置;vc是從1 到0 遞減的參數(shù);r為[0,1]的隨機數(shù);p為決定黏菌位置更新方式的參數(shù)。p可以用以下公式表示:

其中:S(i)為第i={1,2,…,N}個黏菌個體的適應(yīng)度;FD為當(dāng)前迭代下黏菌的最佳適應(yīng)度。

a值的更新公式如下:

其中:t為當(dāng)前迭代的次數(shù);tmax表示最大迭代次數(shù)。

權(quán)重系數(shù)W模擬了黏菌在遇到不同濃度的食物時生物振蕩器的振蕩頻率的變化:

其中:r為[0,1]的隨機數(shù);Fb和Fw為當(dāng)前迭代過程中的最佳適應(yīng)度和最差適應(yīng)度;SmellIndex表示個體適應(yīng)度S按升序排列(在最大值問題中按降序排列)后的個體位置索引。

黏菌在尋找食物的過程中也會分割一部分個體進(jìn)行隨機探索。綜合上述理論,黏菌的位置更新公式為:

其中:BU和BL是搜索范圍的上限和下限;rand和r為[0,1]區(qū)間的隨機數(shù);z是決定隨機分布的黏菌個體占黏菌總體的比例的參數(shù),z=0.03。

2 多策略融合的改進(jìn)黏菌算法

SMA 是一個簡單有效的算法,有一定的尋優(yōu)能力,但仍有幾點不足:

1)從黏菌位置更新機制來看,在標(biāo)準(zhǔn)SMA 中,黏菌位置的更新規(guī)則由r、p、z三者的大小關(guān)系決定。當(dāng)r<p時,黏菌的位置更新由當(dāng)前最優(yōu)個體的位置和兩個隨機個體的位置決定,此時黏菌表現(xiàn)為在當(dāng)前最佳位置附近隨機探索。這增強了SMA 前期的全局搜索能力,但無目的的隨機探索也會使SMA 的前期收斂速度變慢。隨著迭代次數(shù)增加,黏菌種群會向當(dāng)前最佳位置靠攏,使SMA 在求解具有多個局部最優(yōu)值的函數(shù)時極易陷入局部最優(yōu)。當(dāng)r≥p時,黏菌的位置更新由收斂因子vc和黏菌個體的自身位置決定。隨著迭代次數(shù)增加,vc從1 線性收斂到0,使黏菌種群的位置向原點方向收斂。這種位置更新方式不利于最優(yōu)解不在原點的函數(shù)的優(yōu)化,在優(yōu)化這類函數(shù)時,標(biāo)準(zhǔn)SMA 的求解精度較差。

2)SMA的z參數(shù)是一個很小的常數(shù),隨機分布的黏菌個體占總個體的比例很小,SMA 在陷入局部最優(yōu)時缺乏有效的跳出局部最優(yōu)的機制。

3)SMA 的尋優(yōu)機制較簡單,在平衡算法的探索和開發(fā)能力上還有較大的提升空間。

針對以上問題,本文提出了多策略融合的改進(jìn)黏菌算法(MSISMA),在以下方面作出改進(jìn):1)引用布朗運動和萊維飛行機制,增加黏菌個體分布的多樣性,增強黏菌在局部區(qū)域探索的能力;2)改進(jìn)黏菌的位置更新策略,使算法在不同階段采用不同的位置更新公式,平衡算法在探索和開發(fā)之間的過渡能力;3)采用區(qū)間自適應(yīng)的反向?qū)W習(xí)策略,增加黏菌分布的多樣性,優(yōu)化黏菌個體的質(zhì)量;4)引入收斂停滯監(jiān)測策略,動態(tài)監(jiān)測算法是否陷入收斂停滯,當(dāng)監(jiān)測到算法處于停滯狀態(tài)時,該策略會對部分個體的位置重新初始化,避免算法長時間處于收斂停滯狀態(tài)。

2.1 布朗運動與萊維飛行

2.1.1 標(biāo)準(zhǔn)布朗運動

布朗運動是一種無規(guī)則的隨機游走過程,已被研究者們廣泛用于群智能算法的設(shè)計及改進(jìn),以提升算法的搜索性能。沙林秀等[16]提出一種基于布朗運動與梯度信息的交替優(yōu)化算法(Alternately Optimizing Algorithm based on Brownianmovement and Gradient-information,AOABG),在算法全局搜索階段加入布朗運動機制,使種群以最優(yōu)個體的位置為中心作布朗運動,增強了算法的全局搜索能力。湯安迪等[17]在麻雀搜索算法的基礎(chǔ)上引入布朗運動,增強了算法的全局探索能力,并有助于算法脫離局部最優(yōu)狀態(tài)。在標(biāo)準(zhǔn)SMA 的前期迭代過程中,黏菌個體容易快速向當(dāng)前種群的最佳位置靠近,導(dǎo)致算法的全局探索能力較差,難以找到全局最優(yōu)解。本文將標(biāo)準(zhǔn)布朗運動引入MSISMA 迭代前期的位置更新公式中,增加黏菌個體的位置的多樣性,從而提高算法的全局探索能力。

標(biāo)準(zhǔn)布朗運動的步長由均值為0(μ=0)、方差為1(σ2=1)的正態(tài)分布概率密度函數(shù)決定:

引入布朗運動后的黏菌位置更新公式為:

其中:XC(t)為在適應(yīng)度排序為前N/3 的個體中隨機選取的個體的位置;α為步長控制因子;RB為布朗運動步長。由式(8)可知,在黏菌的基本位置更新公式上加入布朗運動,可增強黏菌個體的搜索軌跡的隨機性,進(jìn)而增強算法的搜索能力。

2.1.2 萊維飛行

在標(biāo)準(zhǔn)SMA 中,隨著算法進(jìn)入迭代后期,黏菌個體的位置分布趨于集中,SMA 容易陷入局部最優(yōu),導(dǎo)致收斂停滯。萊維飛行是一種步長服從萊維分布的隨機游走,它的運動方式既有小范圍的游走,也有大距離的跨越。萊維飛行已被廣泛用于優(yōu)化算法領(lǐng)域,例如帝王蝶優(yōu)化(Monarch Butterfly Optimization,MBO)[18]和哈里 斯鷹優(yōu)化器(Harris Hawks Optimizer,HHO)[19]都在種群位置更新公式上引入萊維飛行機制,有效地提升了算法的尋優(yōu)效果。Mantegna[20]于1994年提出了一種生成萊維分布隨機數(shù)的算法,萊維飛行步長s的計算方式如下:

u和v服從均值為0、方差分別為σu、σv的正態(tài)分布:

其中:β取值為1.5。

本文使用文獻(xiàn)[20]中的算法模擬萊維飛行,并將萊維飛行引入MSISMA 迭代后期的位置更新公式中,使黏菌個體保持它的位置的活躍性,增加黏菌個體跳出局部極值的概率,從而有效改善標(biāo)準(zhǔn)SMA 在迭代后期易陷入局部最優(yōu)的缺陷。改進(jìn)后的黏菌位置更新公式表示如下:

其中:X(t)為t次迭代時黏菌的位置;δ為步長控制因子;RL為萊維飛行步長。

2.2 黏菌位置更新的改進(jìn)

在標(biāo)準(zhǔn)SMA 中,黏菌的尋優(yōu)過程主要由當(dāng)前最佳個體和兩個隨機個體的位置引導(dǎo),尋優(yōu)機制比較單一。在迭代初期,下一代黏菌種群的位置受兩個隨機個體的位置的影響,使SMA 全局搜索的效果較差,前期收斂速度較慢;在迭代后期,黏菌種群的位置受收斂因子vc的影響而向原點方向移動,當(dāng)優(yōu)化問題的最優(yōu)解不在原點時,SMA 的尋優(yōu)過程會受到干擾,導(dǎo)致算法收斂精度較差。為改善SMA 在前期探索和后期開發(fā)之間的過渡過程,提高SMA 在迭代前期的收斂速度,優(yōu)化求解精度,本文改進(jìn)黏菌位置的更新公式,將位置更新過程劃分為三個階段。

1)階段1。

2)階段2。

3)階段3。

在階段1,r<p時,黏菌種群位置更新由當(dāng)前最佳個體和一個隨機個體的位置引導(dǎo),位置更新模式表現(xiàn)為以當(dāng)前最佳個體為中心的放射性擴(kuò)散,階段1 在保證算法的全局搜索能力的同時加快了種群向最優(yōu)個體移動的過程,以提升算法在前期的收斂速度。在階段2,rand≥z時,黏菌種群位置更新由當(dāng)前最佳個體和適應(yīng)度排在前N/3 的一個隨機個體的位置引導(dǎo),此時種群的搜索軌跡在較優(yōu)個體所在的區(qū)域內(nèi);同時在基本位置更新公式上加入了布朗運動,以增強算法在較優(yōu)個體附近的搜索能力。在階段3,rand≥z時,種群位置更新由當(dāng)前最佳個體和本體的位置引導(dǎo),此時種群在最佳個體附近進(jìn)行局部搜索,以提高算法在迭代后期的尋優(yōu)精度,加入的萊維飛行機制則給算法提供了跳出局部最優(yōu)的能力。此外,在三個階段,rand<z時會對黏菌個體的位置重新隨機,從而使黏菌種群在算法的整個迭代過程都具有多樣性。

2.3 區(qū)間自適應(yīng)反向?qū)W習(xí)策略

Tizhoosh[21]于2005 年提出了一種反向?qū)W習(xí)(Opposition-Based Learning,OBL)方法以提升算法的尋優(yōu)效率。該方法首先計算當(dāng)前解的反向解,然后將反向解與當(dāng)前解進(jìn)行比較,最后保留兩者中更接近最優(yōu)解的一項用于下次的迭代計算。反向點的定義如下:

定義1反向點。D維空間內(nèi)有一點h=(x1,x2,…,xD),且x1,x2,…,xD∈R,xi∈[ai,bi],i={1,2,…,D},則h點的反向點為

設(shè)優(yōu)化問題為求解最小值,優(yōu)化問題的函數(shù)為f(x),當(dāng)前解為h,反向解為,則解的保留策略為:

其中:t為當(dāng)前迭代數(shù)。

傳統(tǒng)OBL 方法計算反向解時,邊界ai和bi是固定值,生成的反向解的質(zhì)量可能較差。因此本文提出一種區(qū)間自適應(yīng)反向?qū)W習(xí)(Interval Adaptative Opposition-Based Learning,IAOBL)策略優(yōu)化反向?qū)W習(xí)的邊界,進(jìn)一步提高反向解的質(zhì)量。IAOBL的反向解計算公式如下:

其中:i={1,2,…,D};j={1,2,…,N};D為求解問題維度;N為種群個體數(shù);t為當(dāng)前迭代數(shù)。IAOBL 策略中的上下邊界隨算法迭代的進(jìn)行不斷變化,當(dāng)種群集中到某區(qū)域時,生成反向解的上下邊界也在不斷縮小。將IAOBL 引入標(biāo)準(zhǔn)SMA中,有助于提升黏菌種群的整體質(zhì)量,加快算法的收斂進(jìn)度。

2.4 收斂停滯監(jiān)測策略

SMA 在迭代過程中會遇到收斂速度變慢,甚至收斂停滯的情況。為了識別并改善這種情況,本文提出一種收斂停滯監(jiān)測策略,具體方案如下。

步驟1設(shè)gc為算法t次迭代與t-3 次迭代的適應(yīng)度差值:

其中:t={ 4,5,…,tmax};tmax為最大迭代次數(shù)。

步驟2設(shè)gmin為適應(yīng)度監(jiān)測因子:

其中:t={4,5,…,tmax}。

步驟3 比較gc與gmin的大小關(guān)系,如果gc<gmin,則視為算法收斂停滯,即對1/3 的黏菌個體進(jìn)行位置重新隨機的操作:

收斂停滯策略能實時監(jiān)測算法的收斂狀態(tài),判斷算法是否停止收斂,并在算法進(jìn)入收斂停滯狀態(tài)時對部分種群進(jìn)行重新初始化,從而增加黏菌個體分布的多樣性,避免算法長時間處于收斂停滯狀態(tài)。

2.5 算法具體流程

MSISMA 首先對種群的位置進(jìn)行初始化,并計算所有個體的適應(yīng)度和權(quán)重系數(shù);然后判斷算法所處的階段,根據(jù)不同階段選擇不同的位置更新策略;隨后應(yīng)用IAOBL 策略生成反向種群,通過解的保留策略對當(dāng)前種群和反向種群中的個體進(jìn)行選擇和保留;最后通過收斂停滯監(jiān)測策略判斷算法是否處于收斂停滯,如果算法處于停滯狀態(tài)則對部分個體的位置再進(jìn)行初始化。MSISMA 的具體步驟如下:

步驟1 算法參數(shù)初始化。設(shè)置黏菌個體數(shù)N,問題維度D,最大迭代次數(shù)tmax,搜索邊界BU和BL,黏菌的位置X。

步驟2 計算每個個體的適應(yīng)度,并對適應(yīng)度進(jìn)行排序,記錄最佳適應(yīng)度Fb和最差適應(yīng)度Fw。

步驟3 根據(jù)式(4)更新黏菌的權(quán)重系數(shù)W。

步驟4 根據(jù)式(13)~(15)更新黏菌個體的位置。

步驟5 根據(jù)式(17)生成當(dāng)前種群的反向種群,并根據(jù)式(16)決定要保留的個體。

步驟6 根據(jù)式(20)對陷入搜索停滯的黏菌個體進(jìn)行位置重新隨機。

步驟7 迭代次數(shù)加1,判斷結(jié)束條件,若滿足,則算法終止,輸出最佳適應(yīng)度及對應(yīng)位置;若沒有,則返回步驟2。

2.6 時間復(fù)雜度分析

設(shè)黏菌種群規(guī)模為N,問題維度為D,迭代次數(shù)為tmax,則MSISMA 的時間復(fù)雜度分析如下。

步驟1 黏菌種群的位置初始化階段需要進(jìn)行D次運算,時間復(fù)雜度為O(D)。

步驟2 計算每個黏菌個體的適應(yīng)度,時間復(fù)雜度為O(N)。對所有黏菌個體的適應(yīng)度進(jìn)行排序,時間復(fù)雜度為O(N× logN)。

步驟3 計算所有黏菌個體的權(quán)重系數(shù),時間復(fù)雜度為O(N×D)。

步驟4 更新黏菌個體的位置,時間復(fù)雜度為O(N×D)。

步驟5 根據(jù)當(dāng)前黏菌種群的位置生成反向種群,時間復(fù)雜度為O(D)。比較當(dāng)前黏菌種群和反向種群的適應(yīng)度值,判斷要保留的個體。此過程需要進(jìn)行N次判斷,時間復(fù)雜度為O(N)。

步驟6 判斷算法是否處于收斂停滯狀態(tài),需要1 次計算,時間復(fù)雜度為O(1)。若滿足收斂停滯監(jiān)測條件,則對部分黏菌個體的位置進(jìn)行重新隨機,時間復(fù)雜度為O(N/3)。

所以在滿足收斂停滯監(jiān)測條件時,MSISMA 的總體時間復(fù)雜度為O(D+T(7/3×N+D+N·logN+2ND+1));不滿足收斂停滯監(jiān)測條件時,MSISMA 的總體時間復(fù)雜度為O(D+T(2N+D+N·logN+2ND+1))。標(biāo)準(zhǔn)SMA 的時間復(fù)雜度主要是黏菌種群的位置初始化、適應(yīng)度計算、適應(yīng)度排序、權(quán)重系數(shù)更新以及種群的位置更新,時間復(fù)雜度計算為:O(D+T(N+N·logN+2ND)。相較于標(biāo)準(zhǔn)SMA,MSISMA 的時間復(fù)雜度最大增加了O(T(4/3×N+D+1))。而2TND遠(yuǎn)大于T(4/3×N+D+1),所以MSISMA 與標(biāo)準(zhǔn)SMA 的時間復(fù)雜度大致相同。

3 實驗與結(jié)果分析

3.1 實驗環(huán)境

本次仿真實驗環(huán)境如下:CPU 為Intel Core i7-10750H,主頻2.60 GHz;32 GB 內(nèi)存;Windows 10(64 位)操作系統(tǒng);運行軟件為Matlab R2021b 64 位。

3.2 測試函數(shù)

本節(jié)使用了文獻(xiàn)[22]中的23 個基準(zhǔn)函數(shù)對算法的性能進(jìn)行測試。其中:f1~f7為多維的單峰函數(shù),這類函數(shù)只有一個最小值,因此可以測試算法的收斂速度;f8~f13為多維的多峰函數(shù),這類函數(shù)存在多個局部極小值,并且局部極小值的數(shù)量隨維度的增加呈指數(shù)增長,這類函數(shù)可以測試算法定位全局最優(yōu)解和擺脫局部最優(yōu)的能力;f14~f23為固定維的多峰函數(shù),這類函數(shù)的局部極小值數(shù)量較少。

3.3 對比算法及參數(shù)設(shè)置

為驗證本文的多策略改進(jìn)黏菌算法(MSISMA)的有效性,將MSISMA 與平衡黏菌算法(ESMA)[11]、黏菌-自適應(yīng)引導(dǎo)差分進(jìn)化混合算法(Slime Mould Algorithm combined to Adaptive Guided Differential Evolution,SMA-AGDE)[12]、SMA[6]以及最近提出的海洋捕食者算法(Marine Predators Algorithm,MPA)[23]和平衡優(yōu)化器(EO)[24]這5 種算法進(jìn)行比較。為了比較的公平性,設(shè)置所有算法的種群規(guī)模N=30,維度D=30,最大迭代次數(shù)tmax=500,運行次數(shù)Times=30。各算法的內(nèi)部參數(shù)設(shè)置如表1 所示。

表1 各算法的參數(shù)設(shè)置Tab.1 Parameter setting for each algorithm

3.4 測試函數(shù)實驗結(jié)果與分析

所有算法在每個測試函數(shù)上獨立運行30 次,記錄下每次運行后的優(yōu)化結(jié)果,然后計算30 次運行結(jié)果的平均值(Avg)和標(biāo)準(zhǔn)差(Std),得到結(jié)果如表2 所示。

由表2 可以看出,相較于其他算法,MSISMA 在19 個測試函數(shù)上獲得了最佳平均值,在12 個測試函數(shù)上獲得了最佳標(biāo)準(zhǔn)差值。相較于ESMA、SMA-AGDE、SMA、MPA 和EO,MSISMA 的優(yōu)化精度平均提高了26.04%、55.97%、36.79%、23.39%和54.18%。

表2 不同算法的測試函數(shù)優(yōu)化結(jié)果Tab.2 Test functions optimization results of different algorithms

對于單峰函數(shù)f1~f7,MSISMA 在求解f1~f4時的每次運行都能取得函數(shù)的全局最優(yōu)解;對于f5,MSISMA 的求解精度最高,并且標(biāo)準(zhǔn)差最??;MSISMA 求解f6的結(jié)果僅次于MPA,但要優(yōu)于其他改進(jìn)的SMA;對于f7,MSISMA 計算的平均值和標(biāo)準(zhǔn)差僅次于ESMA。從單峰函數(shù)優(yōu)化結(jié)果來看,MSISMA 的表現(xiàn)優(yōu)于對比算法,且MSISMA 的標(biāo)準(zhǔn)差很小,說明算法有較好的魯棒性。對于可變維多峰函數(shù)f8~f13,MSISMA 的優(yōu)化精度最高,且標(biāo)準(zhǔn)差最小。特別是在函數(shù)f8、f12、f13的優(yōu)化上,MSISMA 明顯優(yōu)于其他算法。說明MSISMA 解決了SMA 在求解具有多個局部最優(yōu)解的函數(shù)時優(yōu)化精度不高、容易陷入局部最優(yōu)的問題。對于f14、f16~f19,MSISMA 的求解精度最高,接近函數(shù)的最小值,但標(biāo)準(zhǔn)差不如MPA;對于f15,MSISMA 的優(yōu)化精度比MPA、EO 差,但優(yōu)于ESMA、SMA-AGDE 和SMA;對于f20,MSISMA 的表現(xiàn)較差;對于f21、f22和f23,MSISMA 的優(yōu)化精度提升比較明顯,優(yōu)化平均值與函數(shù)的全局最優(yōu)值非常接近。綜合來看,MSISMA 無論是在優(yōu)化精度還是算法的魯棒性上相較于對比算法都更有優(yōu)勢。

為了更直觀地比較各個算法的收斂速度和求解精度,圖1 給出了算法運行30 次后部分測試函數(shù)的平均收斂曲線。對于單峰函數(shù)f1和f2,MSISMA 的收斂速度最快,能夠以最快速度收斂到函數(shù)的最優(yōu)值;對于單峰函數(shù)f5,MSISMA 的收斂速度最快,運算精度最高,而且沒有在迭代過程中陷入局部最優(yōu)。對于多峰函數(shù)f8、f10、f12、f14和f21,MSISMA 無論是收斂速度還是最后的優(yōu)化結(jié)果都有明顯的優(yōu)勢。

圖1 部分測試函數(shù)收斂曲線對比Fig.1 Comparison of convergence curves of some test functions

3.5 Wilcoxon秩和檢驗

為了進(jìn)一步評估MSISMA 的性能,本文使用Wilcoxon 秩和檢驗方法來檢驗MSISMA 和對比算法的運行結(jié)果是否有顯著性差別。顯著性水平設(shè)置為0.05,將所有算法運行30次的優(yōu)化結(jié)果作為樣本。當(dāng)檢驗的p值大于0.05 時,說明兩種算法的運行結(jié)果沒有顯著差異;否則,兩種算法運行結(jié)果存在顯著差異。表3 為MSISMA 與對比算法的Wilcoxon 秩和檢驗結(jié)果。

由表3 可知,MSISMA 在17 個測試函數(shù)上的表現(xiàn)優(yōu)于ESMA 與SMA,在19 個測試函數(shù)上表現(xiàn)優(yōu)于SMA-AGDE,在12 個測試函數(shù)上的表現(xiàn)優(yōu)于MPA,在16 個測試函數(shù)上表現(xiàn)優(yōu)于EO。因此MSISMA 的性能在統(tǒng)計上有顯著的優(yōu)越性。

表3 Wilcoxon秩和檢驗結(jié)果Tab.3 Wilcoxon rank-sum test results

實驗結(jié)果表明,本文提出的多策略融合的改進(jìn)黏菌算法的收斂速度、求解精度和魯棒性都有明顯提升。

4 結(jié)語

為了提高黏菌算法的優(yōu)化性能,本文提出了一種多策略融合的改進(jìn)黏菌算法(MSISMA)。引入布朗運動和萊維飛行機制增強算法的搜索能力;改進(jìn)算法的位置更新公式,以平衡算法在探索和開發(fā)之間的過渡能力,提升尋優(yōu)效率和精度;引入?yún)^(qū)間自適應(yīng)的反向?qū)W習(xí)策略,優(yōu)化解的質(zhì)量;引入收斂停滯監(jiān)測策略,避免算法長時間處于收斂停滯狀態(tài)。在測試函數(shù)上的實驗結(jié)果表明,MSISMA 在收斂速度、尋優(yōu)精度和魯棒性上比ESMA、SMA-AGDE、SMA、MPA 和EO 更優(yōu)秀。然而,MSISMA 在優(yōu)化某些固定維的多峰函數(shù)時仍存在精度較低的情況,未來將在種群位置更新模式方面作進(jìn)一步研究和優(yōu)化。

猜你喜歡
黏菌布朗運動測試函數(shù)
黏糊糊的生命
大自然探索(2021年3期)2021-04-30 09:06:08
黏菌觀察記
養(yǎng)群黏菌當(dāng)寵物
雙分?jǐn)?shù)布朗運動重整化自相交局部時的光滑性
黏菌一點不簡單
華夏地理(2019年2期)2019-07-24 10:05:57
分?jǐn)?shù)布朗運動驅(qū)動的脈沖中立型隨機泛函微分方程的漸近穩(wěn)定性
布朗運動說明了什么
具有收縮因子的自適應(yīng)鴿群算法用于函數(shù)優(yōu)化問題
帶勢函數(shù)的雙調(diào)和不等式組的整體解的不存在性
約束二進(jìn)制二次規(guī)劃測試函數(shù)的一個構(gòu)造方法
湄潭县| 岳阳市| 桦川县| 阳城县| 独山县| 于都县| 岳普湖县| 吉安县| 察哈| 连江县| 阿拉尔市| 吴川市| 马龙县| 涿州市| 河曲县| 桐城市| 青田县| 普兰店市| 汝阳县| 建昌县| 平遥县| 梅河口市| 彭州市| 中牟县| 包头市| 武定县| 丰都县| 河南省| 米泉市| 芜湖县| 宁明县| 呼和浩特市| 西贡区| 陆河县| 文安县| 钟祥市| 略阳县| 故城县| 交城县| 秦皇岛市| 屏东市|