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

?

基于多策略改進(jìn)的蜜獾優(yōu)化算法

2024-03-05 01:41:18徐碧陽(yáng)范圓成
關(guān)鍵詞:柯西測(cè)試函數(shù)獵物

徐碧陽(yáng),覃 濤,魏 巍,范圓成,楊 靖

1(貴州大學(xué) 電氣工程學(xué)院,貴陽(yáng) 550025)

2(中國(guó)電建集團(tuán) 貴州電力設(shè)計(jì)研究院有限公司,貴陽(yáng) 550025)

3(中國(guó)電建集團(tuán) 貴州工程有限公司,貴陽(yáng) 550025)

0 引 言

在過去的幾十年里,隨著優(yōu)化問題的復(fù)雜性和難度不斷增加,眾多學(xué)者對(duì)優(yōu)化技術(shù)的研究變得越來越深入[1].優(yōu)化方法主要基于數(shù)學(xué)方法和隨機(jī)方法[2]兩種,數(shù)學(xué)方法在解決高維問題時(shí)容易受到約束條件的影響陷入維度災(zāi)難,而基于隨機(jī)方法尋優(yōu)的元啟發(fā)式算法在解決高維問題時(shí)能夠跳出局部限制,找到全局最優(yōu)解.因此,元啟發(fā)式算法目前廣泛應(yīng)用于工程應(yīng)用、交通運(yùn)輸、智能醫(yī)療和經(jīng)濟(jì)管理等領(lǐng)域中的復(fù)雜優(yōu)化問題.

近些年來,大量元啟發(fā)式的仿生優(yōu)化算法被提出,如根據(jù)鳥群和魚群的覓食行為提出的粒子群算法(Particle Swarm Optimization,PSO)[3]、根據(jù)灰狼群體中的社會(huì)等級(jí)機(jī)制和捕獵行為提出的灰狼算法(Grey Wolf Optimization,GWO)[4]、根據(jù)鯨魚圍捕獵物的行為提出的鯨魚優(yōu)化算法(Whale Optimization Algorithm,WOA)[5]、根據(jù)麻雀的覓食行為和反捕食行為提出的麻雀搜索算法(Sparrow Search Algorithm,SSA)[6]、根據(jù)白骨頂雞在水面上的兩種不同運(yùn)動(dòng)模式提出的白骨頂優(yōu)化算法(Coot Optimization Algorithm,COOT)[7]、根據(jù)北方蒼鷹的捕獵過程提出的北方蒼鷹算法(Northern Goshawk Optimization,NGO)[8]等.

2021年Fatma A等人通過模擬蜜獾的覓食行為提出一種新型的仿生優(yōu)化算法—蜜獾算法(Honey Badger Algorithm,HBA)[9].HBA算法尋優(yōu)能力強(qiáng),收斂精度高,穩(wěn)定性強(qiáng),解決優(yōu)化問題具有一定的優(yōu)勢(shì),但在尋優(yōu)過程中,存在收斂速度慢,容易陷入局部最優(yōu)等問題.針對(duì)上述問題,部分學(xué)者對(duì)HBA進(jìn)行了優(yōu)化,文獻(xiàn)[10]在初始化階段采用邏輯映射,使種群分布更加合理,并通過反向?qū)W習(xí)對(duì)個(gè)體進(jìn)行選擇,找到最好的個(gè)體;文獻(xiàn)[11]在位置更新階段引入交叉變異原則,使得搜索范圍更廣,收斂速度更快.文獻(xiàn)[12]在局部搜索階段引入維度學(xué)習(xí)策略,平衡勘探與開發(fā)的能力.上述改進(jìn)算法相比原始蜜獾算法在性能上有了一定的提升,但仍存在一些不足:1)部分改進(jìn)算法的優(yōu)化策略單一,只對(duì)種群初始化階段進(jìn)行優(yōu)化,沒有深層次考慮HBA收斂緩慢和陷入局部最優(yōu)的原因;2)現(xiàn)有優(yōu)化策略并沒有從根本上優(yōu)化蜜獾的挖掘?qū)?yōu)機(jī)制,算法收斂速度和跳出局部最優(yōu)的能力沒有得到提升;3)改進(jìn)算法的測(cè)試實(shí)驗(yàn)不充分,未對(duì)高維度條件下的測(cè)試函數(shù)和實(shí)際應(yīng)用進(jìn)行分析,未能充分體現(xiàn)算法的優(yōu)越性與魯棒性.

綜上所述,現(xiàn)有針對(duì)HBA的改進(jìn)算法還存在不足,因此本文提出一種基于多策略改進(jìn)的蜜獾優(yōu)化算法(Improved Honey Badger Optimization Algorithm based on Multi-strategies,IHBA).首先,通過Sobol序列對(duì)蜜獾種群進(jìn)行初始化,提升種群的多樣性;其次,采用優(yōu)化的動(dòng)態(tài)自適應(yīng)密度因子,平衡全局探索與局部探索的能力;并在挖掘階段引入黃金正弦策略,按照黃金分割系數(shù)切割解空間,提升蜜獾的搜索速度;最后,利用柯西變異因子對(duì)最優(yōu)位置進(jìn)行擾動(dòng),提升算法跳出局部最優(yōu)的能力.本文采用10個(gè)經(jīng)典測(cè)試函數(shù)對(duì)IHBA和7種優(yōu)化算法進(jìn)行尋優(yōu)對(duì)比和Wilcoxon秩和檢驗(yàn),同時(shí)將8種算法應(yīng)用到2個(gè)工程設(shè)計(jì)優(yōu)化問題中進(jìn)行對(duì)比測(cè)試,實(shí)驗(yàn)結(jié)果驗(yàn)證了IHBA的優(yōu)越性與魯棒性.

1 蜜獾算法(HBA)

蜜獾具有獨(dú)特的狩獵方式,其擅長(zhǎng)用嗅覺估計(jì)獵物的位置,用挖掘確定獵物的位置,從而完成對(duì)獵物的抓捕.蜜獾喜歡以蜂蜜為食,但不善于定位蜂巢.而蜂蜜向?qū)B擅長(zhǎng)定位蜂巢,但得不到蜂蜜.因而蜜獾在導(dǎo)蜜鳥的引導(dǎo)下找到并打開蜂巢,使二者共同享受蜂蜜.Fatma A等[9]將上述的兩種行為抽象為挖掘階段和采蜜階段,通過建立數(shù)學(xué)模型提出了蜜獾算法(HBA).

1)初始化種群

根據(jù)式(1)初始化蜜獾的數(shù)量及位置.

xi=lbi+r1×(ubi-lbi)

(1)

式中,r1∈(0,1)內(nèi)的隨機(jī)數(shù),xi是種群中第i個(gè)蜜獾的位置,lbi和ubi分別是搜索域的下界和上界.

2)定義強(qiáng)度

蜜獾的嗅覺強(qiáng)度不僅與獵物的集中強(qiáng)度有關(guān),還與獵物和蜜獾之間的距離有關(guān).Ii是獵物的氣味強(qiáng)度,氣味強(qiáng)度越高,蜜獾運(yùn)動(dòng)越快,反之亦然.定義如下:

(2)

S=(xi-xi+1)2

(3)

di=xprey-xi

(4)

式中,r2∈(0,1)內(nèi)的隨機(jī)數(shù),S為源強(qiáng)度或獵物集中強(qiáng)度,di表示獵物與第i只蜜獾之間的距離.

3)更新密度因子

密度因子w控制時(shí)變隨機(jī)化,以確??碧降介_發(fā)的平穩(wěn)過渡.當(dāng)更新隨著迭代次數(shù)減少時(shí),密度因子w也會(huì)減少隨機(jī)化.定義如下:

(5)

式中,tmax是迭代最大次數(shù),C為一個(gè)大于1的常數(shù),一般設(shè)置為2.

4)挖掘階段

在挖掘階段,蜜獾運(yùn)動(dòng)范圍類似于心形,定義如下:

xnew=xprey+F×β×I×xprey+F×r3×w×di×
|cos(2πr4)×[1-cos(2πr5)]|

(6)

式中,xprey是獵物的全局最優(yōu)位置,β是蜜獾獲取食物的能力,取大于等于1的數(shù),一般設(shè)為6,di是獵物與第i只蜜獾之間的距離,r3、r4和r5是(0,1)3個(gè)不同的隨機(jī)數(shù),F是改變搜索方向的標(biāo)志,由式(7)所確定:

(7)

式中,r6∈(0,1)內(nèi)的隨機(jī)數(shù).在挖掘階段中,蜜獾對(duì)嗅覺強(qiáng)度Ii、與獵物之間的距離di、更新密度因子w的依賴性很強(qiáng),同時(shí)挖掘期間會(huì)受F的干擾,以便找到更好的獵物位置.

5)采蜜階段

蜜獾跟隨導(dǎo)蜜鳥找到蜂巢的情況定義如下:

xnew=xprey+F×r7×w×di

(8)

式中,xnew是蜜獾的新位置,xprey是獵物的位置.由式(8)可知,蜜獾在搜尋獵物時(shí)根據(jù)距離信息di在xprey附近的位置進(jìn)行搜索.搜索過程中也會(huì)受到密度因子w和搜索方向F的影響.

2 基于多策略改進(jìn)的蜜獾優(yōu)化算法(IHBA)

針對(duì)原始的蜜獾算法在解決高維優(yōu)化問題時(shí)存在收斂速度慢、容易陷入局部最優(yōu)的問題,本文在HBA的基礎(chǔ)上做了如下改進(jìn):1)引入Sobol序列初始化種群;2)在位置更新處引入優(yōu)化的動(dòng)態(tài)自適應(yīng)密度因子和黃金正弦策略;3)引入柯西變異對(duì)最優(yōu)位置進(jìn)行擾動(dòng).

2.1 Sobol序列初始化種群

種群初始化方式對(duì)仿生優(yōu)化算法的尋優(yōu)過程有一定的影響,均勻合理的種群分布可以保證算法尋優(yōu)過程中解的多樣性.HBA采用隨機(jī)分布的方式進(jìn)行種群初始化,造成蜜獾在初始階段位置不能均勻分布,進(jìn)而導(dǎo)致搜索范圍不全面,種群多樣性變差.因此,本文在初始化階段中引入了Sobol序列.

Sobol[13]序列是一種低差異序列,在高維數(shù)上具有優(yōu)勢(shì),并且在初始化時(shí)按照序列產(chǎn)生數(shù)字,其具有分布均勻,收斂速度快的優(yōu)點(diǎn).圖1為隨機(jī)序列與Sobol序列,在二維空間內(nèi)種群數(shù)為N=300,產(chǎn)生范圍為[0,1]的條件下生成的種群分布圖.可以看出Sobol序列在給定條件下分布更均勻,空間利用率更高.通過使用Sobol序列改變蜜獾的初始化方式,提升了種群的多樣性和解的多樣性,有利于算法后期全局勘探和局部開發(fā)的平衡.

圖1 隨機(jī)序列與Sobol序列分布對(duì)比Fig.1 Comparison of distribution between random sequence and Sobol sequence

2.2 動(dòng)態(tài)自適應(yīng)密度因子

蜜獾在進(jìn)行挖掘或采蜜時(shí)都會(huì)受到密度因子w的影響,隨著迭代次數(shù)的增加,蜜獾的搜索范圍會(huì)被限制,不能夠遍歷最優(yōu)值,導(dǎo)致算法容易陷入局部最優(yōu)值,搜索精度變差.為解決此類問題,現(xiàn)有研究采用了多種策略.文獻(xiàn)[14]引入了動(dòng)態(tài)自適應(yīng)權(quán)重,通過自適應(yīng)地調(diào)整搜索空間,達(dá)到平衡勘探與開發(fā)的目的.文獻(xiàn)[15]提出非線性控制參數(shù)組合調(diào)整策略,通過選擇權(quán)重系數(shù)的最佳參數(shù)值得到最優(yōu)的動(dòng)態(tài)自適應(yīng)權(quán)重,從而更好的均衡全局搜索和局部搜索的能力.本文通過以上兩種策略對(duì)HBA原有的密度因子公式進(jìn)行優(yōu)化,文獻(xiàn)[14]的密度因子為w1,如式(9)所示,文獻(xiàn)[15]的密度因子為w2,如式(10)所示.式中,rand為[0,1]內(nèi)的隨機(jī)數(shù).

w1=2×exp(-5.×rand×(t/tmax))

(9)

(10)

為驗(yàn)證3種密度因子的性能,本文對(duì)3種密度因子進(jìn)行對(duì)比,如圖2所示.

圖2 3種密度因子的變化曲線Fig.2 Variation curves of three density factors

由圖2可知,w1在迭代前期遞減速度較快,導(dǎo)致對(duì)全局搜索不完整,后期遞減速度緩慢,導(dǎo)致對(duì)局部搜索不完整,并且其自身具有一定的隨機(jī)性,會(huì)導(dǎo)致在迭代結(jié)束時(shí)收斂因子未能收斂到0.w2在迭代前期變化速率較慢,在搜尋中保持較大的距離,因此蜜獾在尋優(yōu)時(shí)能夠擴(kuò)大搜索范圍,增強(qiáng)全局搜索能力;在迭代中期w2變化速度較快,提高了算法的收斂速度和跳出局部最優(yōu)的能力;在迭代后期w2的變化速率減慢,蜜獾對(duì)現(xiàn)有解空間進(jìn)行尋優(yōu),提升了算法的局部搜索能力.因此,為平衡算法勘探和開發(fā)的能力,本文采用式(10)對(duì)挖掘階段和采蜜階段進(jìn)行位置更新.

2.3 黃金正弦策略更新位置

黃金正弦算法(Golden Sine Algorithm,Gold-SA)是由Tanyildizi等人[16]于2017年提出的一種元啟發(fā)式算法,該算法依據(jù)單位圓與正弦函數(shù)的關(guān)系,遍歷單位圓上所有的點(diǎn)即正弦函數(shù)上所有的點(diǎn),以此增強(qiáng)算法的全局勘探能力.此外,該算法在每次迭代中引入黃金分割系數(shù)切割并探索解空間,提升了算法的局部開發(fā)能力.

Gold-SA將黃金分割系數(shù)c1和c2引入位置更新中切割解空間,從而平衡勘探與開發(fā)的能力,數(shù)學(xué)表達(dá)式如下:

c1=a(1-h)+bh

(11)

c2=ah+b(1-h)

(12)

黃金分割系數(shù)每經(jīng)一次迭代就會(huì)切割一次解空間,位置更新公式如下:

xgnew=xi|sin(r1)|-r2sin(r2)|c1xb-c2xi|

(13)

式中,xgnew為迭代后個(gè)體的位置;xb為個(gè)體的最優(yōu)位置;r1∈(0,2π)內(nèi)的隨機(jī)數(shù),r2∈(0,π)內(nèi)的隨機(jī)數(shù).

因此,本文將Gold-SA算法作為局部算子引入挖掘階段的位置更新公式,使尋優(yōu)空間縮小,尋優(yōu)時(shí)間減少,收斂速度加快.改進(jìn)后的式(6)如下:

xnew=xprey+F×β×I×xprey+F×r3×α×di×
|cos(2πr4)×[1-cos(2πr5)]|×xgnew

(14)

通過引入Gold-SA算法,從根本上改變了蜜獾算法的挖掘搜索機(jī)制,在獵物范圍不變的情況下,蜜獾在探索階段的搜索空間減小,大幅度縮短了蜜獾尋優(yōu)的時(shí)間,如圖3所示.

圖3 蜜獾的原運(yùn)動(dòng)軌跡與加入黃金正弦后的運(yùn)動(dòng)軌跡圖Fig.3 Original trajectory of the honey badger and the trajectory after adding the golden sine

2.4 融合柯西變異策略

蜜獾算法在尋優(yōu)后期容易陷入局部最優(yōu)值,因此本文引入柯西變異算子.柯西變異來源于柯西分布,柯西分布是一種在概率論中常見的連續(xù)型概率分布[17],其中間概率密度大,兩端概率密度小.由于柯西分布具有兩端形狀又長(zhǎng)又扁的特點(diǎn),因此柯西變異的擾動(dòng)能力很強(qiáng).標(biāo)準(zhǔn)柯西分布的概率密度公式如下:

(15)

圖4為高斯分布與柯西分布的概率密度曲線.柯西分布的峰值在原點(diǎn)處,并且從峰值向兩端延伸的過程平緩,而高斯變異在原點(diǎn)的峰值較高,會(huì)導(dǎo)致擾動(dòng)能力變差.因此將柯西變異引入蜜獾算法中,對(duì)蜜獾的最優(yōu)位置進(jìn)行擾動(dòng)變異得到新解,從而改善原始算法跌入局部區(qū)域的缺陷[18].使用式(16)對(duì)最優(yōu)位置進(jìn)行擾動(dòng):

圖4 標(biāo)準(zhǔn)柯西分布和高斯分布的概率密度函數(shù)曲線Fig.4 Probability density function curves of standard Cauchy distribution and Gaussian distribution

xnew=xbest+xbest×Cauchy(0,1)

(16)

2.5 IHBA算法

IHBA算法執(zhí)行的流程如下:

Step 1.初始化種群數(shù)N,最大迭代次數(shù)tmax,蜜獾獲取食物的能力β等參數(shù);

Step 2.根據(jù)Sobol序列對(duì)種群進(jìn)行初始化;

Step 3.計(jì)算每只蜜獾的適應(yīng)度值并進(jìn)行排序;

Step 4.根據(jù)式(2)~式(4)計(jì)算蜜獾的嗅覺強(qiáng)度;

Step 5.在蜜獾的挖掘階段根據(jù)式(6)、式(7)、式(10)~式(14)更新蜜獾的位置;

Step 6.在蜜獾的采蜜階段根據(jù)式(4)、式(8)、式(10)更新蜜獾的位置;

Step 7.根據(jù)式(16)對(duì)當(dāng)前最優(yōu)解進(jìn)行擾動(dòng),得到新解;

Step 8.判斷是否滿足最大迭代次數(shù),若滿足條件則進(jìn)入下一步,反之跳轉(zhuǎn)Step 4;

Step 9.程序結(jié)束,輸出最優(yōu)解.

2.6 IHBA算法時(shí)間復(fù)雜度分析

原始HBA算法的時(shí)間復(fù)雜度為O(T×N×D),其中N為種群規(guī)模,T為最大迭代次數(shù),D為維度.引入Sobol序列初始化種群的時(shí)間復(fù)雜度為O(N×D),引入動(dòng)態(tài)自適應(yīng)權(quán)重雖然改變了原算法中的更新密度因子,但沒有增加額外操作,因此該階段的時(shí)間復(fù)雜度仍為O(N×D),引入黃金正弦策略的時(shí)間復(fù)雜度為O(N×D),引入柯西變異策略的時(shí)間復(fù)雜度為O(N×D).綜上所述,IHBA總的時(shí)間復(fù)雜度為O(T×N×D),與基礎(chǔ)的HBA算法時(shí)間復(fù)雜度一致,改進(jìn)后的算法并沒有使原算法的運(yùn)行時(shí)間增加.

3 實(shí)驗(yàn)仿真與結(jié)果分析

3.1 實(shí)驗(yàn)環(huán)境

本文仿真環(huán)境采用Windows11 64bit操作系統(tǒng),其中內(nèi)存為16GB,CPU為Intel(R)Core(TM)i5-11400HU@2.70GHz,仿真軟件為MATLAB R2016a.

3.2 實(shí)驗(yàn)設(shè)計(jì)

為測(cè)試IHBA算法在優(yōu)化問題中的性能,本文選取PSO、WOA、GWO、SSA、COOT、HBA、NGO與IHBA進(jìn)行對(duì)比.

本文選取10個(gè)經(jīng)典的測(cè)試函數(shù)[19]進(jìn)行尋優(yōu)測(cè)試,f1~f5為單峰函數(shù),用于考察算法的局部搜索能力,f6~f10為多峰函數(shù)用于考察算法的全局搜索能力,測(cè)試函數(shù)的詳細(xì)信息如表1所示.實(shí)驗(yàn)中每個(gè)算法的種群數(shù)為30,迭代次數(shù)為1000次,其它參數(shù)設(shè)置如表2所示.

表1 基準(zhǔn)測(cè)試函數(shù)Table 1 Benchmark function

表2 實(shí)驗(yàn)中算法的參數(shù)設(shè)置Table 2 Parameter setting of algorithm in experiment

3.3 IHBA與智能算法的尋優(yōu)性能分析

為了測(cè)試算法在不同維度下的尋優(yōu)能力,本文將8種算法分別在維度為30、50和100的情況下進(jìn)行試驗(yàn).為了保證實(shí)驗(yàn)結(jié)果的可靠性,8種算法在每個(gè)測(cè)試函數(shù)下獨(dú)立運(yùn)行30次,并且選擇每個(gè)算法的平均值、標(biāo)準(zhǔn)差、最差值以及最優(yōu)值為評(píng)價(jià)指標(biāo).其中,最優(yōu)值和最差值反映解的質(zhì)量,平均值和標(biāo)準(zhǔn)差反映算法的收斂精度和穩(wěn)定性,具體結(jié)果如表3~表5所示.

表3 單峰和多峰函數(shù)測(cè)試結(jié)果(D=30)Table 3 Test results of unimodal and multimodal functions(D=30)

表5 單峰和多峰函數(shù)測(cè)試結(jié)果(D=100)Table 5 Test results of unimodal and multimodal functions(D=100)

由表3~表5分析可知:

1)在10個(gè)測(cè)試函數(shù)中,IHBA在低維度下具有很好的尋優(yōu)性能,與其他算法相比,改進(jìn)后的算法在高維度下的優(yōu)越性更大.從單個(gè)表分析,IHBA在測(cè)試函數(shù)f1~f4、f6、f8下均收斂到理論值0,并且最差值、最優(yōu)值、標(biāo)準(zhǔn)差都為0,說明IHBA具有較高的收斂精度和較好的魯棒性.雖然改進(jìn)后的算法在其他的測(cè)試函數(shù)下未能收斂到理論值,但相對(duì)于其他算法,IHBA的各個(gè)指標(biāo)具有一定的優(yōu)勢(shì).對(duì)于函數(shù)f5,SSA、WOA、HBA、IHBA都具有較好的收斂能力,但HBA、IHBA具有輕微的優(yōu)勢(shì),并且IHBA比HBA高1個(gè)數(shù)量級(jí),比SSA高2個(gè)數(shù)量級(jí),這表明HBA本身具有一定的優(yōu)勢(shì);對(duì)于函數(shù)f7,除了PSO和GWO,其他算法都收斂到一定值,但I(xiàn)HBA和SSA的標(biāo)準(zhǔn)差精度遠(yuǎn)遠(yuǎn)高于其他算法;對(duì)于函數(shù)f9,除SSA、PSO算法外,IHBA的收斂精度高于其它算法至少4個(gè)數(shù)量級(jí),比HBA的平均值精度高于5個(gè)數(shù)量級(jí),說明了IHBA改進(jìn)策略的有效性;對(duì)于函數(shù)f10,PSO、HBA和IHBA的收斂精度較高,但I(xiàn)HBA的魯棒性更好.通過該角度分析,可以看出IHBA保持了HBA原有的優(yōu)勢(shì),增加了尋優(yōu)精度.

2)隨著維度的增加,IHBA無論在30維、50維還是100維,都能夠跳出局部最優(yōu)值,達(dá)到理想最優(yōu)值,這說明改進(jìn)的效果是可行的.隨著維度的增加,對(duì)于函數(shù)f1~f4、f6、f8,IHBA依然能收斂到理論最優(yōu)值0,在其它函數(shù)的測(cè)試下,雖然所有算法未收斂到最優(yōu)值,但I(xiàn)HBA在尋優(yōu)時(shí),仍然保持著較高水平,向理論最優(yōu)值無限靠近;對(duì)于函數(shù)f7,IHBA在高維上的尋優(yōu)精度和標(biāo)準(zhǔn)差都未發(fā)生改變,且在其他函數(shù)上,IHBA在尋優(yōu)精度和穩(wěn)定性方面始終具有優(yōu)勢(shì).通過該角度分析,可以看出IHBA在高維度下的優(yōu)勢(shì)很大,并且能夠跳出局部最優(yōu)值找到最優(yōu)解,提高了算法解決高維問題的能力,為解決工程應(yīng)用問題打下良好的基礎(chǔ).

3.4 IHBA與智能算法的收斂曲線分析

為了更好地反映IHBA的動(dòng)態(tài)收斂特性,本文給出了8種算法在10個(gè)測(cè)試函數(shù)(維度D=30)下的收斂曲線,如圖5(a)~圖5(j)所示,其中橫坐標(biāo)為迭代次數(shù),縱坐標(biāo)為適應(yīng)度值.對(duì)于單峰函數(shù)f1~f4,IHBA的收斂速度和尋優(yōu)精度明顯優(yōu)于其它算法,并且在算法初期的全局搜索能力和后期的局部搜索能力上具有明顯的優(yōu)勢(shì).對(duì)于多峰函數(shù)f5~f10,IHBA的收斂速度和尋優(yōu)精度仍然優(yōu)于其他算法,與原算法HBA相比,IHBA由于引入柯西變異,種群跳出局部最優(yōu)能力增強(qiáng),引入黃金正弦策略,算法的尋優(yōu)速度大幅度增加.通過對(duì)收斂曲線的分析,可以看出IHBA的收斂速度得到很大的提升,IHBA在很大程度上改善了HBA算法的缺陷,并且提升了尋優(yōu)精度,在維持原有的優(yōu)勢(shì)下提升了算法的性能.

圖5 測(cè)試函數(shù)收斂曲線Fig.5 Test function convergence curve

綜上所述,IHBA算法能平衡勘探和開發(fā)的能力,在低維和高維問題上都具有較好的尋優(yōu)性能.在求解不同的測(cè)試函數(shù)時(shí),IHBA算法的尋優(yōu)精度、求解速度、魯棒性均優(yōu)于其它7種算法.

3.5 Wilcoxon秩和檢驗(yàn)

為進(jìn)一步驗(yàn)證IHBA算法的優(yōu)越性,保證算法評(píng)估的客觀性,對(duì)算法進(jìn)行數(shù)據(jù)統(tǒng)計(jì)學(xué)分析.本文對(duì)測(cè)試函數(shù)集進(jìn)行Wilcoxon秩和檢驗(yàn)[20],顯著性水平為P=5%.原假設(shè)H0:兩種算法不存在顯著性差異.若檢驗(yàn)結(jié)果P<5%時(shí),原假設(shè)不成立,說明算法存在顯著性差異;若檢驗(yàn)結(jié)果P>5%時(shí),原假設(shè)成立,說明算法差異不明顯.用檢驗(yàn)符號(hào)Q表示結(jié)果,若Q=0,說明H0假設(shè)成立;若Q=1,說明H0假設(shè)不成立;若出現(xiàn)NaN標(biāo)記,說明算法性能相當(dāng).在維度為30,獨(dú)立運(yùn)行30次條件下,本文選取IHBA在10個(gè)測(cè)試函數(shù)下的運(yùn)行結(jié)果與其他算法的運(yùn)行結(jié)果進(jìn)行Wilcoxon秩和檢驗(yàn),“+/-/=”分別表示“優(yōu)/劣/相當(dāng)”,具體結(jié)果見表6.

表6 測(cè)試函數(shù)下的秩和檢驗(yàn)P值Table 6 P-value of rank sum test under test function

由表6可知,大部分算法的秩和檢驗(yàn)P值均小于0.05,表明IHBA算法與其余7種算法之間存在顯著性差異,且具有良好的尋優(yōu)性能,進(jìn)一步表明IHBA具有較好的魯棒性和穩(wěn)定性.

4 IHBA算法的工程應(yīng)用分析

元啟發(fā)式優(yōu)化算法主要解決實(shí)際的工程應(yīng)用問題,工程應(yīng)用的結(jié)果也是評(píng)價(jià)一個(gè)算法優(yōu)越性的指標(biāo)之一.本文將IHBA與上述7種算法應(yīng)用于壓縮彈簧設(shè)計(jì)問題和壓力容器設(shè)計(jì)問題中.這2個(gè)工程問題采用文獻(xiàn)[21]中的罰函數(shù)作為非線性約束條件,使算法能夠拋棄差值.在尋優(yōu)過程中,每個(gè)算法獨(dú)立運(yùn)行30次,取最優(yōu)值的平均值,參數(shù)設(shè)置與3.2節(jié)相同.

4.1 壓縮彈簧設(shè)計(jì)問題

壓縮彈簧設(shè)計(jì)是最小約束優(yōu)化問題,其目的主要是減輕彈簧的重量.該優(yōu)化問題根據(jù)最小撓度、剪切應(yīng)力、振蕩頻率以及外徑限制4個(gè)約束條件來設(shè)計(jì)3個(gè)變量-彈簧圈平均直徑(D)、彈簧金屬絲直徑(d)、以及彈簧有效圈數(shù)(N).該問題的數(shù)學(xué)描述如下所示:

1)變量

壓縮彈簧的3個(gè)屬性用x1、x2、x3來表示.

x=[x1x2x3]=[dDN]

(17)

2)目標(biāo)函數(shù)

(18)

3)決策變量取值范圍

(19)

4)約束條件

(20)

由表7可知,IHBA算法在d=0.0519,D=0.3633,N=10.9089處得到最輕質(zhì)量0.012664.這說明與SSA、COOT等尋優(yōu)能力很強(qiáng)的算法相比,IHBA算法在壓縮彈簧設(shè)計(jì)問題上具有更好的搜索能力,也說明本文提出的優(yōu)化策略提升了原始HBA算法跳出局部最優(yōu)的能力,充分驗(yàn)證了改進(jìn)策略的有效性.

4.2 壓力容器設(shè)計(jì)問題

壓力容器設(shè)計(jì)問題的主要目的是在滿足生產(chǎn)的前提下使總費(fèi)用最少.該優(yōu)化問題的4個(gè)設(shè)計(jì)變量為外殼厚度(Ts)、封頭厚度(Th)、內(nèi)半徑(R)、以及容器長(zhǎng)度(L).其中Ts和Th為0.625的整數(shù)倍,R和L為連續(xù)變量.該問題的數(shù)學(xué)描述如下所示:

1)變量

壓力容器的4個(gè)屬性用x1、x2、x3和x4來表示.

x=[x1x2x3x4]=[TsThRL]

(21)

2)目標(biāo)函數(shù)

(22)

3)決策變量取值范圍

(23)

4)約束條件

(24)

由表8可知,IHBA算法在Ts=0.5133,Th=0.2497,R=45.2658,L=200處得到最低費(fèi)用5835.577,與其它7種算法相比,費(fèi)用是最低的.這表明IHBA在解決壓力容器設(shè)計(jì)問題時(shí)能夠在最優(yōu)值的范圍內(nèi)搜索,在搜索過程中能夠憑借較好的搜索能力得到最優(yōu)解,以達(dá)到更好的優(yōu)化效果.這說明改進(jìn)后的動(dòng)態(tài)自適應(yīng)密度因子擴(kuò)大搜索范圍的能力很強(qiáng),柯西變異策略跳出局部最優(yōu)值的能力很強(qiáng),驗(yàn)證了改進(jìn)策略的有效性.

通過對(duì)上述2個(gè)工程問題的求解,表明了本文所提出的算法IHBA提升了HBA算法的性能,在解決典型工程優(yōu)化問題時(shí)具有較大的優(yōu)勢(shì),彌補(bǔ)了HBA算法在工程應(yīng)用中的不足.

5 總 結(jié)

本文針對(duì)原始HBA算法在解決大規(guī)模問題存在收斂速度慢、容易陷入局部最優(yōu)的不足,提出了一種基于多策略改進(jìn)的蜜獾優(yōu)化算法(IHBA).使用Sobol序列初始化種群,增加種群的多樣性;引入改進(jìn)的動(dòng)態(tài)自適應(yīng)密度因子,平衡勘探與開發(fā);在蜜獾的挖掘階段引入黃金正弦策略提高算法的尋優(yōu)效率;引入柯西變異策略,對(duì)最優(yōu)位置進(jìn)行擾動(dòng),進(jìn)一步優(yōu)化種群和提升解的質(zhì)量.采用10個(gè)經(jīng)典測(cè)試函數(shù)對(duì)IHBA和7種優(yōu)化算法進(jìn)行的尋優(yōu)對(duì)比和Wilcoxon秩和檢驗(yàn),結(jié)果表明IHBA具有更好的尋優(yōu)能力和魯棒性.最后,將IHBA應(yīng)用到2種實(shí)際的工程應(yīng)用中,進(jìn)一步驗(yàn)證了算法的有效性和優(yōu)越性.未來將對(duì)IHBA的改進(jìn)策略進(jìn)行優(yōu)化,更大地提升算法的延展性.

猜你喜歡
柯西測(cè)試函數(shù)獵物
為什么蛇可以吞下比自己寬大的獵物?
蟒蛇為什么不會(huì)被獵物噎死
柯西積分判別法與比較原理的應(yīng)用
柯西不等式在解題中的應(yīng)用
柯西不等式的變形及應(yīng)用
可怕的殺手角鼻龍
具有收縮因子的自適應(yīng)鴿群算法用于函數(shù)優(yōu)化問題
柯西不等式的應(yīng)用
霸王龍的第一只大型獵物
帶勢(shì)函數(shù)的雙調(diào)和不等式組的整體解的不存在性
前郭尔| 绥江县| 于都县| 通江县| 江陵县| 南皮县| 高州市| 宣化县| 镇安县| 清丰县| 商都县| 平度市| 疏附县| 陈巴尔虎旗| 民和| 安仁县| 永德县| 府谷县| 措美县| 疏勒县| 民和| 秦安县| 寻甸| 普兰县| 临高县| 怀集县| 桑植县| 阜阳市| 贵阳市| 开鲁县| 拉孜县| 金坛市| 稻城县| 浦东新区| 仙居县| 台北市| 亳州市| 驻马店市| 霍城县| 林芝县| 榆中县|