亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        自適應(yīng)多普勒補(bǔ)償與變異選擇的蝙蝠算法*

        2020-01-11 06:26:48王永貴張博雅呂歡歡
        計(jì)算機(jī)與生活 2020年1期
        關(guān)鍵詞:蝙蝠獵物多普勒

        王永貴,張博雅,呂歡歡

        遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島125105

        1 引言

        元啟發(fā)式算法是隨機(jī)算法與局部搜索算法相結(jié)合的產(chǎn)物,可以在全局搜索和局部搜索之間取得平衡。元啟發(fā)式算法由適者生存和隨機(jī)選擇兩部分組成,適者生存確??尚薪馐諗康阶顑?yōu)值,而隨機(jī)選擇可使搜索方式在局部搜索和全局搜索間相互轉(zhuǎn)換,增加可行解的多樣性,避免陷入局部極值。由于元啟發(fā)式算法可在合理的時(shí)間和空間開銷下獲得問(wèn)題的可行解,不受搜索空間限制條件(如不可微、非凸、多峰)的約束且不需要梯度等其他輔助信息,其作為主流優(yōu)化方法受到廣泛的關(guān)注。近年來(lái),許多學(xué)者從自然界中得到啟發(fā),模仿生物行為或自然現(xiàn)象,以種群為基礎(chǔ)提出了各種新型元啟發(fā)式算法。其中,蝙蝠算法[1](bat algorithm,BA)是一種基于群體智能的新型元啟發(fā)式算法,它是根據(jù)蝙蝠利用回聲定位搜尋獵物和避開障礙物的特性發(fā)展而來(lái)。目前,BA已被廣泛應(yīng)用在風(fēng)能開發(fā)[2]、模型預(yù)測(cè)[3]、無(wú)人機(jī)路徑規(guī)劃[4]、經(jīng)濟(jì)調(diào)度[5]等領(lǐng)域。雖然BA 具有收斂迅速、參數(shù)少、魯棒性強(qiáng)等優(yōu)點(diǎn),但和其他元啟發(fā)式算法一樣,BA 不可避免地存在易陷入局部最優(yōu)和求解精度不高的缺點(diǎn)。為了克服這些缺點(diǎn),提高全局探索和局部開發(fā)能力,目前一些學(xué)者主要從以下四方面對(duì)BA 作出改進(jìn)。

        (1)融合其他進(jìn)化算法。充分發(fā)揮其他算法的優(yōu)點(diǎn)彌補(bǔ)自身的不足。例如文獻(xiàn)[6]結(jié)合和聲搜索的音調(diào)微調(diào)算子產(chǎn)生變異的蝙蝠個(gè)體,根據(jù)精英選擇策略保留能進(jìn)入下一代的最優(yōu)個(gè)體,從而改善對(duì)搜索空間的探索。文獻(xiàn)[7]采用差分進(jìn)化中rand/1/bin、randToBest/1/bin、best/1/bin 和best/2/bin 四種不同的變異策略替換BA 原有的局部搜索模式,增加種群多樣性來(lái)提高搜索效率。文獻(xiàn)[8]引入蛙跳算法,考慮個(gè)體與群體間的信息交流,加快全局收斂。

        (2)利用混沌映射?;煦缡欠蔷€性系統(tǒng)的一個(gè)特征,由簡(jiǎn)單的確定性系統(tǒng)隨機(jī)產(chǎn)生。例如文獻(xiàn)[9]用混沌映射結(jié)合線性函數(shù)替換響度和脈沖發(fā)射率中的隨機(jī)數(shù),研究了11 種不同混沌映射對(duì)BA 優(yōu)化效率的影響;文獻(xiàn)[10]通過(guò)Logistic 映射對(duì)精英個(gè)體進(jìn)行混沌優(yōu)化,有效利用了混沌算法的局部搜索能力,避免BA 過(guò)早陷入局部最優(yōu)。

        (3)優(yōu)化搜索方式。通過(guò)修改頻率和速度方程,進(jìn)而控制個(gè)體的搜索位置。例如文獻(xiàn)[11]簡(jiǎn)化了位置方程,去除速度參數(shù),新位置的產(chǎn)生取決于最優(yōu)解和隨機(jī)解,并根據(jù)平均解和最優(yōu)解調(diào)整頻率,提高收斂效率。文獻(xiàn)[12]設(shè)計(jì)了最佳覓食策略來(lái)指導(dǎo)蝙蝠的移動(dòng)方向,將歷史最優(yōu)位置替換為由最佳覓食策略產(chǎn)生的位置,并采用隨機(jī)擾動(dòng)策略加強(qiáng)蝙蝠之間的信息共享。文獻(xiàn)[13]根據(jù)輪盤賭選擇機(jī)制和概率方法,設(shè)計(jì)了四種不同的速度更新策略,加強(qiáng)蝙蝠的自我學(xué)習(xí)能力。文獻(xiàn)[14]利用迭代局部搜索,當(dāng)搜索陷入局部最優(yōu)解時(shí),對(duì)最優(yōu)解進(jìn)行適當(dāng)?shù)碾S機(jī)移動(dòng),從而突破當(dāng)前空間獲得新解,逃出局部極值區(qū)域,并引入隨機(jī)慣性權(quán)重更新速度方程,在一定程度上繼承歷史速度的影響,穩(wěn)定尋優(yōu)結(jié)果。

        (4)模擬生物行為。從生物學(xué)角度進(jìn)一步模仿蝙蝠行為,使算法更符合自然規(guī)律。例如文獻(xiàn)[15]分別設(shè)計(jì)了具有機(jī)械性能和量子特性的飛行策略,用來(lái)模擬蝙蝠在不同棲息地之間的移動(dòng),并在機(jī)械飛行中引入多普勒效應(yīng)更新個(gè)體頻率。文獻(xiàn)[16]對(duì)蝙蝠產(chǎn)生兩個(gè)不同的飛行方向,一個(gè)向著最優(yōu)區(qū)域,另一個(gè)向著隨機(jī)區(qū)域,通過(guò)比較隨機(jī)個(gè)體與當(dāng)前個(gè)體的優(yōu)劣決定最終的飛行方向,在一定程度上模擬了蝙蝠利用回聲之間的延遲來(lái)預(yù)測(cè)獵物位置的特性。文獻(xiàn)[17]引入許多動(dòng)物都存在的Lévy 飛行特征,搜索中經(jīng)過(guò)一系列較小步長(zhǎng)的移動(dòng)后,突然轉(zhuǎn)變方向產(chǎn)生一個(gè)較大的跳躍,從而拓展搜索空間,有效避免蝙蝠個(gè)體被局部極值束縛。

        除此之外,還有學(xué)者從其他角度對(duì)BA 進(jìn)行改進(jìn)。例如文獻(xiàn)[18]使用鄰域搜索和動(dòng)態(tài)慣性權(quán)重策略,提出了一種改進(jìn)的二進(jìn)制蝙蝠算法。文獻(xiàn)[19]通過(guò)變異開關(guān)函數(shù)對(duì)滿足條件的蝙蝠個(gè)體進(jìn)行變異,保持較高的種群活躍性。文獻(xiàn)[20]引入外部子群和內(nèi)部子群,兩個(gè)子群共同演化協(xié)作,分別增強(qiáng)探索與開發(fā)能力。文獻(xiàn)[21]提出均衡負(fù)載的初始化策略,針對(duì)離散蝙蝠算法設(shè)計(jì)了新的搜索算子,最后應(yīng)用于求解柔性作業(yè)車間調(diào)度問(wèn)題。文獻(xiàn)[22]結(jié)合三種局部搜索策略與和聲搜索機(jī)制,使用新的隨機(jī)游走法則改善搜索能力,并用于求解無(wú)容量設(shè)施選址問(wèn)題。

        以上改進(jìn)算法雖從不同角度提高BA 的性能,但在高維問(wèn)題下仍難以準(zhǔn)確收斂到理論最優(yōu)值并存在早熟收斂的現(xiàn)象。從直觀來(lái)說(shuō),算法越符合自然規(guī)律,就越能高效地解決問(wèn)題,而BA 算法本質(zhì)上是對(duì)自然界蝙蝠行為的簡(jiǎn)化與抽象,因此對(duì)BA 算法的改進(jìn)仍需進(jìn)一步研究。本文提出自適應(yīng)多普勒補(bǔ)償與變異選擇的蝙蝠算法(Doppler and mutant bat algorithm,DMBA),該算法首先根據(jù)蝙蝠較自身相對(duì)獵物距離的遠(yuǎn)近變化,對(duì)頻率進(jìn)行自適應(yīng)多普勒補(bǔ)償,進(jìn)一步模擬回聲特性,同時(shí)利用種群平均速度產(chǎn)生速度偏移,修正飛行方向。其次,提出柯西和高斯變異機(jī)制,使最優(yōu)個(gè)體在開發(fā)的不同時(shí)期自適應(yīng)選擇變異策略,避免陷入局部極值從而精確搜尋最優(yōu)值。最后,通過(guò)調(diào)節(jié)響度和脈沖發(fā)射率,使算法前期執(zhí)行全局探索,后期執(zhí)行局部開發(fā),有效平衡探索和開發(fā)能力。

        2 蝙蝠算法與多普勒效應(yīng)

        2.1 蝙蝠算法

        BA 算法[1]是在理想狀態(tài)下,簡(jiǎn)化回聲定位的特征,模擬蝙蝠在捕食飛行中發(fā)出聲波的響度和脈沖發(fā)射率的變化,接收頻率、速度和位置信息搜尋最優(yōu)解。在D維下,記f(x)為目標(biāo)函數(shù),分別為第t代中第i只蝙蝠的位置和速度,fi和分別為蝙蝠的頻率和響度,為脈沖發(fā)射率。在完成以上參數(shù)的初始設(shè)置后,算法進(jìn)入以下4 個(gè)迭代過(guò)程:

        (1)隨機(jī)飛行。蝙蝠的空間位置通過(guò)下式更新:

        其中,fmin和fmax分別是最小和最大頻率值,β∈[0,1]是服從均勻分布的隨機(jī)數(shù),x*代表當(dāng)前搜尋到的全局最優(yōu)解。

        其中,?是隨機(jī)向量,?j∈[-1,1],j=1,2,…,D,At是平均響度,rand1是[0,1]內(nèi)服從均勻分布的實(shí)數(shù)。

        (3)接受新解。通過(guò)式(1)或式(2)產(chǎn)生新個(gè)體后,如果并且,則接受,其中rand2是[0,1]內(nèi)服從均勻分布的隨機(jī)數(shù)。

        (4)參數(shù)調(diào)整。當(dāng)新個(gè)體得到改進(jìn)時(shí),響度和脈沖發(fā)射率才會(huì)通過(guò)下式更新:

        其中,α和γ都是常數(shù),0 <α<1,γ>0,當(dāng)蝙蝠逼近目標(biāo)時(shí),響度逐漸減小,不易被獵物察覺,而脈沖發(fā)射率逐漸增大,發(fā)出急促的脈沖信號(hào),迅速定位獵物位置。當(dāng)Ai減小到0 時(shí)意味著蝙蝠捕獲到獵物,停止發(fā)聲。

        2.2 多普勒效應(yīng)

        事實(shí)上,蝙蝠能夠通過(guò)目標(biāo)昆蟲翅膀顫動(dòng)率引起的多普勒效應(yīng)的變化來(lái)區(qū)分目標(biāo)。這里將能夠發(fā)射聲波的物體稱為聲源,能接收聲波的物體稱為觀察者。研究發(fā)現(xiàn),當(dāng)聲源與觀察者之間存在相對(duì)運(yùn)動(dòng)時(shí),觀察者聽到的聲音頻率就會(huì)不同于聲源的發(fā)射頻率,這種現(xiàn)象就是多普勒效應(yīng)。假定f為聲源和觀察者之間沒有相對(duì)運(yùn)動(dòng)時(shí),觀察者聽到的聲音頻率,即聲源的發(fā)射頻率;f′為聲源和觀察者有相對(duì)運(yùn)動(dòng)時(shí),觀察者聽到的聲音頻率,若觀察者的運(yùn)動(dòng)速度為v,聲源的運(yùn)動(dòng)速度為u,聲音在空氣中傳播的速度為c時(shí),f′和f存在如下關(guān)系:

        當(dāng)觀察者靠近聲源時(shí),v用“+”號(hào),遠(yuǎn)離時(shí)用“-”號(hào);當(dāng)聲源靠近觀察者時(shí),u用“-”號(hào),遠(yuǎn)離時(shí)用“+”號(hào)。由于多普勒效應(yīng)的作用,當(dāng)觀察者與聲源互相靠近時(shí),接收頻率大于發(fā)射頻率,觀察者與聲源互相遠(yuǎn)離時(shí),接收頻率小于發(fā)射頻率。

        3 本文算法

        3.1 自適應(yīng)多普勒補(bǔ)償

        從式(1)可以看出頻率本質(zhì)上控制蝙蝠飛行的速度和位置,蝙蝠和獵物二者相對(duì)空氣都在運(yùn)動(dòng),因此聲波的頻率存在多普勒效應(yīng),而BA 算法的頻率是在一個(gè)區(qū)間內(nèi)隨機(jī)取值,忽略了這種效應(yīng)。在實(shí)際捕食中,蝙蝠本身會(huì)對(duì)頻率進(jìn)行多普勒補(bǔ)償,通過(guò)調(diào)整頻率獲知獵物的精確位置。在文獻(xiàn)[15]引入的多普勒效應(yīng)中,蝙蝠與獵物向量在各維上差值的大小并不能準(zhǔn)確反映二者的位置變化。因?yàn)楦鶕?jù)多普勒原理,頻率是隨著觀察者與聲源在某一時(shí)刻前后相對(duì)位置的變化而改變的。因此為使算法接近實(shí)際,本文對(duì)頻率自適應(yīng)補(bǔ)償策略的表達(dá)式如下:

        其中,因?yàn)槭剑?)的頻率和速度是標(biāo)量,而算法中的頻率是標(biāo)量,速度是向量,所以用速度的模長(zhǎng)代表速度值的大小。,v*表示當(dāng)前獵物即最優(yōu)個(gè)體的速度,代表當(dāng)前時(shí)刻蝙蝠到獵物的距離,代表前一時(shí)刻蝙蝠到獵物的距離。該補(bǔ)償策略參照了蝙蝠在上一次迭代中的位置,頻率的自適應(yīng)調(diào)整取決于蝙蝠與獵物間距離的相對(duì)變化,具體遠(yuǎn)近的程度是根據(jù)蝙蝠在先前迭代中的位置而言的。當(dāng)蝙蝠向獵物發(fā)射一定頻率的超聲波后,在等待接收獵物反射回的超聲波這一時(shí)期內(nèi),蝙蝠作為觀察者,獵物作為聲源。當(dāng)蝙蝠與獵物不存在相對(duì)運(yùn)動(dòng)時(shí),蝙蝠的發(fā)射頻率等于獵物接收的頻率,通常認(rèn)為入射波的頻率等于反射波的頻率,故此時(shí)獵物作為聲源發(fā)射的頻率即為。因此對(duì)頻率進(jìn)行自適應(yīng)調(diào)整的原理在于:如果,則表示當(dāng)前蝙蝠個(gè)體相比前一時(shí)刻已遠(yuǎn)離了獵物,相當(dāng)于觀察者逐漸遠(yuǎn)離聲源,根據(jù)式(4),二者從前后時(shí)刻來(lái)說(shuō)相互遠(yuǎn)離,故取“-”號(hào),v*取“+”號(hào)。此時(shí)蝙蝠接收到較低頻率的超聲波,應(yīng)當(dāng)放慢飛行速度,圍繞在獵物周圍細(xì)細(xì)探尋;如果,說(shuō)明前后時(shí)刻二者的距離不變,既沒有遠(yuǎn)離也沒有接近,或者在迭代后期蝙蝠已經(jīng)捕獲到獵物,即找到最優(yōu)解,此時(shí)應(yīng)保持當(dāng)前的頻率不再作調(diào)整;如果,則表示當(dāng)前蝙蝠個(gè)體相比前一時(shí)刻更加接近獵物,相當(dāng)于觀察者逐漸接近聲源,根據(jù)式(4),二者從前后時(shí)刻來(lái)說(shuō)相互靠近,故取“+”號(hào),v*取“-”號(hào)。此時(shí)蝙蝠會(huì)接收到更高頻率的超聲波,從而加速飛向獵物。之所以考慮先前迭代與當(dāng)前迭代中蝙蝠和獵物的距離,是因?yàn)樵诿恳淮蔚?,獵物的位置是變化的,蝙蝠自身的位置也是在變化,當(dāng)前時(shí)刻下二者間距離的遠(yuǎn)近是基于前一時(shí)刻各自的位置而言的。

        另外,頻率和速度共同影響了新解的位置,并且BA 算法中蝙蝠的飛行具有很強(qiáng)的隨機(jī)性,影響自身對(duì)最優(yōu)解的搜尋。定義式(1)為方式1,文獻(xiàn)[23]指出根據(jù)方式1 產(chǎn)生的新位置會(huì)使算法發(fā)散,并證明其收斂區(qū)域?yàn)榭占?。因此,本文?duì)速度產(chǎn)生偏移,結(jié)合補(bǔ)償后的頻率的位置更新方程如下:

        其中,w是[0,1]上服從均勻分布的隨機(jī)數(shù),vm表示種群平均速度。定義式(6)為方式2,不同于方式1,方式2 的速度更新策略引入vm作為種群對(duì)個(gè)體自身速度的影響,并將方式1 的改為,從而修正飛行方向,確保算法產(chǎn)生的新解能在一個(gè)封閉區(qū)域內(nèi)收斂,通過(guò)特征方程法證明其收斂的過(guò)程如3.5 節(jié)所述。

        Fig.1 Two ways of generating new position圖1 兩種方式產(chǎn)生新位置

        經(jīng)過(guò)多普勒補(bǔ)償后的頻率控制了飛行速度的快慢,進(jìn)而影響個(gè)體在搜索空間中的新位置,為直觀描述補(bǔ)償策略指導(dǎo)新解的準(zhǔn)確性,將向量空間簡(jiǎn)化到二維平面。圖1 表示在t-1 時(shí)刻,固定相同位置、速度和獵物x*時(shí),蝙蝠利用兩種方式產(chǎn)生新位置的差異。在方式1 中,蝙蝠的頻率fi沒有經(jīng)過(guò)多普勒補(bǔ)償,而是在上下區(qū)間內(nèi)取隨機(jī)值,因此頻率可大可小,如圖1(a)所示,沒能修正新速度的模長(zhǎng)和方向,最終使新位置遠(yuǎn)離獵物x*。在方式2 中,根據(jù)個(gè)體與獵物在前后時(shí)刻相對(duì)遠(yuǎn)近的變化,蝙蝠的頻率受到多普勒效應(yīng)的自適應(yīng)調(diào)整。圖1(b)表示當(dāng)蝙蝠個(gè)體遠(yuǎn)離獵物時(shí),經(jīng)過(guò)補(bǔ)償策略的影響,接收到更低的頻率。較小的頻率作用于交換順序后的位移偏差,最終與速度偏差共同決定新速度,此時(shí)的模長(zhǎng)小于舊速度的模長(zhǎng),方向比向著獵物x*,圍繞在獵物周圍減速飛行。圖1(c)表示當(dāng)蝙蝠個(gè)體接近獵物時(shí),同樣受到補(bǔ)償策略的影響,此時(shí)接收到更高的頻率,結(jié)合速度和位移偏差產(chǎn)生新速度,其模長(zhǎng)大于的模長(zhǎng),方向比更加接近x*,從而加速飛向獵物。從圖1(b)和圖1(c)可知,個(gè)體在接收到更低或更高頻率時(shí),通過(guò)方式2 產(chǎn)生的要比方式1 接近x*,促使蝙蝠努力朝最優(yōu)解的方向飛行。

        根據(jù)多普勒效應(yīng)自適應(yīng)補(bǔ)償頻率,調(diào)整飛行速度的大小和方向,盡可能地模擬蝙蝠在捕食中發(fā)生的自然行為,產(chǎn)生更接近獵物的新個(gè)體,從而快速定位到全局最優(yōu)區(qū)域,提高全局探索能力。

        3.2 變異選擇策略

        BA 算法根據(jù)式(2)進(jìn)行局部搜索,然而響度隨著迭代逐漸遞減到0,對(duì)最優(yōu)個(gè)體的擾動(dòng)步長(zhǎng)也逐漸減小,由于缺乏有效的變異機(jī)制,最終使種群在前期容易陷入局部極值。為此,已有很多方法對(duì)種群實(shí)行變異,例如使用和聲[6]或差分[7]等算子能有效避免局部極值的吸引,增加種群多樣性。從另一角度來(lái)說(shuō),這些算子可能會(huì)額外增加算法的負(fù)擔(dān)。差分算子涉及突變、交叉和選擇操作,和聲算子涉及微調(diào)擾動(dòng)和隨機(jī)選擇操作,可能會(huì)在一定程度上增加計(jì)算量,并且其各自參數(shù)如交叉概率和微調(diào)概率取值的不同,也可能會(huì)影響最終結(jié)果。因此為使算法易于操作并具有通用性,本文利用柯西和高斯分布的特性,在局部搜索中對(duì)最優(yōu)個(gè)體提出柯西變異和高斯變異兩種變異機(jī)制。圖2 給出了標(biāo)準(zhǔn)柯西分布和標(biāo)準(zhǔn)高斯分布密度函數(shù)曲線的差異??梢钥闯觯瑑煞N分布的密度函數(shù)相似,但從垂直方向上看,柯西分布在中心值附近的峰值小于高斯分布,在兩端的峰值高于高斯分布;從水平方向上看,柯西分布越接近水平軸的兩端,曲線下降越緩慢,而高斯分布的曲線趨近水平軸的兩端。

        Fig.2 Probability density of Cauchy and Gaussian圖2 標(biāo)準(zhǔn)柯西與高斯概率密度

        (1)柯西變異。由于柯西分布具有較高的兩翼概率特性,它比高斯分布更容易產(chǎn)生具有更寬分布范圍和遠(yuǎn)離原點(diǎn)的隨機(jī)數(shù)。在局部搜索的前期,對(duì)最優(yōu)個(gè)體進(jìn)行柯西擾動(dòng),使蝙蝠個(gè)體能以大幅度的步長(zhǎng)在最優(yōu)區(qū)域附近探尋,拓展搜索空間,增大逃離局部極值的概率。本文根據(jù)標(biāo)準(zhǔn)柯西密度函數(shù)的特性,對(duì)最優(yōu)個(gè)體構(gòu)造柯西變異的方程如下:

        其中,r是(0,1)上服從均勻分布的隨機(jī)數(shù),t是當(dāng)前迭代次數(shù),Tmax是最大迭代次數(shù),C(1,0)是服從標(biāo)準(zhǔn)柯西分布的隨機(jī)變量。

        (2)高斯變異。由于高斯分布在中心值附近產(chǎn)生隨機(jī)數(shù)的概率較高,在局部搜索的后期對(duì)最優(yōu)個(gè)體進(jìn)行高斯變異,使蝙蝠個(gè)體在最優(yōu)值附近以小幅度的步長(zhǎng)游走,對(duì)最優(yōu)區(qū)域進(jìn)行精細(xì)搜尋,準(zhǔn)確尋找全局最優(yōu)值。本文根據(jù)標(biāo)準(zhǔn)高斯密度函數(shù)的特性,對(duì)最優(yōu)個(gè)體構(gòu)造高斯變異的方程如下:

        其中,r是(0,1)上服從均勻分布的隨機(jī)數(shù),N(0,1)是服從標(biāo)準(zhǔn)高斯分布的隨機(jī)變量。

        式(7)、式(8)中的1-t/Tmax是在[0,1]內(nèi)的單調(diào)遞減函數(shù),在開發(fā)初期,t值較小,因此1-t/Tmax取值較大,當(dāng)其大于在[0,1]內(nèi)隨機(jī)產(chǎn)生的數(shù)r時(shí),算法對(duì)蝙蝠群的當(dāng)前最優(yōu)位置按照式(7)進(jìn)行柯西變異擾動(dòng)。在開發(fā)前期,柯西變異產(chǎn)生的較大變異步長(zhǎng)能避免種群聚集在最優(yōu)值附近,降低陷入局部極值的風(fēng)險(xiǎn)。隨著迭代推進(jìn)到開發(fā)的后期,t值增大,因此1-t/Tmax的取值逐漸變小,當(dāng)其小于隨機(jī)數(shù)r時(shí),算法對(duì)最優(yōu)位置按照式(8)進(jìn)行高斯變異擾動(dòng)。在開發(fā)后期,高斯變異產(chǎn)生的較小變異步長(zhǎng)能使種群保持對(duì)最優(yōu)解附近區(qū)域的空間開采能力,從而實(shí)行深度搜尋。兩種變異機(jī)制互相協(xié)作配合,在開發(fā)階段促使蝙蝠個(gè)體依據(jù)迭代的推進(jìn)自適應(yīng)選擇變異策略,提高算法的整體收斂速度和尋優(yōu)精度。

        3.3 平衡探索與開發(fā)

        3.3.1 響度和脈沖發(fā)射率更新策略

        在DMBA 算法中,為了有效平衡算法的探索和開發(fā)能力,利用個(gè)體的脈沖發(fā)射率控制算法是執(zhí)行全局探索還是局部開發(fā),利用響度進(jìn)一步?jīng)Q定是否接收具有更優(yōu)適應(yīng)度的新解,因此本文對(duì)響度和脈沖發(fā)射率提出如下更新策略:

        其中,Amax和Amin分別是響度的最大值和最小值,rmax和rmin分別是脈沖發(fā)射率的最大值和最小值,tmax是最大迭代次數(shù)。

        3.3.2 參數(shù)取值范圍分析

        根據(jù)式(9)當(dāng)t′=tmax/2 時(shí)(tmax?1),此時(shí)(rmax+rmin)/2,為實(shí)現(xiàn)探索到開發(fā)的轉(zhuǎn)換,且和rand1都在[0,1]內(nèi),rand1服從均勻分布,應(yīng)落到區(qū)間中點(diǎn)附近內(nèi),在t>t′時(shí)提高發(fā)生轉(zhuǎn)換的概率,即,解得0.8-rmax≤rmin≤1.2-rmax。而在初期要保證探索,rmax應(yīng)取較大的值,即rmax∈[0.8,1.0],此時(shí)對(duì)應(yīng)的rmin∈[0,0.2]。對(duì)于響度,在成立的同時(shí)也要滿足成立,獲得改進(jìn)的新解才能進(jìn)入到下一代。根據(jù)式(9)遞減到Amin,賦予其較大的值使成立即可,因?yàn)槿暨^(guò)小,即使新解獲得了改進(jìn),也不能被保留到下一次迭代,故取,即Amax=1,Amin=0.8。

        為了確定rmin∈[0,0.2]和rmax∈[0.8,1.0]的最優(yōu)參數(shù)值,需要分析在Amax=1,Amin=0.8 時(shí),rmax和rmin分別取不同的值對(duì)算法尋優(yōu)性能的影響。本文DMBA算法給出來(lái)自標(biāo)準(zhǔn)函數(shù)[24]的Schwefel 2.22(記為f1)和Quartic(記為f2)在100 維下,當(dāng)rmax和rmin取不同值時(shí)求得的平均適應(yīng)值fit 和標(biāo)準(zhǔn)差std 的比較結(jié)果,如表1所示。其中虛擬蝙蝠的數(shù)目為40,最大迭代次數(shù)為500,每個(gè)函數(shù)獨(dú)立運(yùn)行50 次。Schwefel 2.22 函數(shù)和Quartic 函數(shù)分別為單峰和多峰函數(shù),其全局最優(yōu)值均是0,因此算法求解結(jié)果的平均適應(yīng)值越接近0,說(shuō)明求解精度越高,標(biāo)準(zhǔn)差越小,收斂結(jié)果越穩(wěn)定。

        從表1 中可以看出,參數(shù)rmax和rmin的取值即共有9 種組合,整體來(lái)說(shuō),算法在各組合下的尋優(yōu)效果相似。其中在[0,0.8]下,算法的尋優(yōu)效果最好,另外[0.1,0.8]和[0.2,0.8]下的平均適應(yīng)值和標(biāo)準(zhǔn)差在整體上的尋優(yōu)效果更優(yōu)于其他6 種組合。的范圍在[0,0.8]、[0.1,0.8]和[0.2,0.8]內(nèi)時(shí),算法的尋優(yōu)性能均具有優(yōu)勢(shì),因此通過(guò)上述分析,本文DMBA 算法脈沖發(fā)射率的范圍取[0,0.8],響度的范圍取[0.8,1.0]。

        Table 1 Comparison of performance in value range of 表1 取值范圍對(duì)算法尋優(yōu)性能的對(duì)比

        Table 1 Comparison of performance in value range of 表1 取值范圍對(duì)算法尋優(yōu)性能的對(duì)比

        3.4 算法流程

        本文DMBA 算法的執(zhí)行流程如圖3 所示。

        Fig.3 Procedure of DMBA圖3 DMBA 算法流程

        步驟1初始化參數(shù),包括蝙蝠個(gè)體數(shù)、變量維數(shù)、最大迭代次數(shù)、目標(biāo)函數(shù)F(x)等。

        步驟2產(chǎn)生初始種群,根據(jù)F(x)計(jì)算每只蝙蝠的適應(yīng)度值,并記錄最優(yōu)個(gè)體x*。

        步驟3遍歷所有個(gè)體,依據(jù)式(5)和式(6)更新頻率、速度和位置信息,產(chǎn)生新個(gè)體xnew。

        步驟4生成隨機(jī)數(shù)R1,若R1>ri,則按照式(7)或式(8)選擇變異機(jī)制,將變異個(gè)體賦值給xnew。

        步驟5生成隨機(jī)數(shù)R2,若R2<Ai&F(xnew)<F(xi),則將xi替換為xnew,然后按照式(9)更新A和r。

        步驟6對(duì)所有蝙蝠個(gè)體的適應(yīng)值排序,更新當(dāng)前最優(yōu)解x*。

        步驟7判斷迭代次數(shù)是否達(dá)到最大次數(shù)或者能否求出滿足精度要求的解,若是則輸出最優(yōu)解x*及對(duì)應(yīng)的適應(yīng)度,退出;否則重復(fù)步驟3~步驟7。

        相對(duì)于上級(jí)的協(xié)調(diào)作用,采油廠是各項(xiàng)勘探開發(fā)行為運(yùn)行的主體。各勘探、開發(fā)項(xiàng)目的經(jīng)理及具體組成人員都來(lái)自于采油廠。直接掌握著各項(xiàng)目的投資及成本運(yùn)行、進(jìn)度運(yùn)行、質(zhì)量運(yùn)行、各相關(guān)方關(guān)系運(yùn)行等。

        3.5 全局收斂性分析

        根據(jù)式(6),即利用方式2 產(chǎn)生新解體現(xiàn)了算法的全局搜索能力,本文對(duì)此進(jìn)行收斂性分析。盡管和是多維變量,但各維度下分量間均是相互獨(dú)立的,故可以簡(jiǎn)化到一維進(jìn)行分析[23]。為簡(jiǎn)化計(jì)算,假設(shè)在某一時(shí)刻下,個(gè)體頻率記為常數(shù)e,種群最優(yōu)解位置和平均速度不變,分別記為常數(shù)g和m。

        定義1對(duì)于DMBA 算法,當(dāng)采用方式2 產(chǎn)生新解時(shí),極限在一個(gè)封閉區(qū)域內(nèi)收斂。

        證明由式(6)可得個(gè)體位置遞推公式:

        這是一個(gè)二階常系數(shù)非齊次差分方程,利用特征方程法求其通解,對(duì)應(yīng)特征方程如下:

        記Δ=(1+w-e)2-4w,仿照二階常系數(shù)齊次微分方程,分別求出通解。先由初始化時(shí)的x0、v0根據(jù)式(6)計(jì)算x1和x2:

        (1)Δ>0 時(shí),,此時(shí)xt=C0+,C0為特解,C1、C2為待定系數(shù),通過(guò)x0、x1、x2求出C0=x0-C1-C2,,。

        由于t=0,1,…,故當(dāng)t→+∞時(shí),若要保證xt極限存在,由洛必達(dá)法則可知收斂條件是|λ1,2|<1,解得-3 <w-e<1,2w-e+2 >0,e>0。

        (2)Δ=0 時(shí),λ=λ1=λ2=,此時(shí)xt=C0+(C1+C2t)λt,求出C0=x0-C1,C1=,。

        當(dāng)t→+∞時(shí),xt收斂的條件是|λ|<1,解此不等式得-3 <w-e<1。

        當(dāng)t→+∞時(shí),xt收斂的條件是0 <w<1。

        經(jīng)過(guò)上述分析可以得到如下結(jié)論:

        當(dāng)Δ>0 時(shí),收斂區(qū)域?yàn)?1+w-e)2-4w>0,2w-e+2 >0 和e>0 所圍成的區(qū)域。

        當(dāng)Δ=0 時(shí),收斂區(qū)域?yàn)?1+w-e)2-4w=0 和-3 <w-e<1 所圍成的區(qū)域。

        當(dāng)Δ<0 時(shí),收斂區(qū)域?yàn)?1+w-e)2-4w<0 和0 <w<1 所圍成的區(qū)域。

        綜合上面三種情況,DMBA 算法的收斂區(qū)域?yàn)?w-e+2 >0,-3 <w-e<1,0 <w<1和e>0 所圍成的區(qū)域,此時(shí)定義1 得證。 □

        3.6 運(yùn)算復(fù)雜性分析

        下面將本文提出的改進(jìn)蝙蝠算法DMBA 和標(biāo)準(zhǔn)BA 算法的運(yùn)算復(fù)雜度進(jìn)行分析和對(duì)比。

        設(shè)第i次迭代中算法獲得的最優(yōu)解為1,2,…,M),M為最大迭代次數(shù)。令ε為收斂閾值,若在第m次(m≤M)迭代中,,則認(rèn)為滿足收斂精度要求,終止迭代,否則繼續(xù)迭代直到M次結(jié)束,記m為終止迭代次數(shù)。標(biāo)準(zhǔn)BA 算法和DMBA算法每一次迭代中的虛擬蝙蝠數(shù)量不變,均記為Pb,每只虛擬個(gè)體每一次迭代需要的運(yùn)行時(shí)間為Ti(i=1,2,…,m)。設(shè)BA 算法的終止迭代次數(shù)為m1,則其時(shí)間復(fù)雜度為O(m1PbTi);設(shè)DMBA 算法的終止迭代次數(shù)為m2,則其時(shí)間復(fù)雜度為O(m2PbTi),故兩者運(yùn)行時(shí)間性能的差異主要決定于迭代次數(shù)m上,即語(yǔ)句執(zhí)行次數(shù)。由3.1 節(jié)分析可知,對(duì)于每一次迭代下的每一只虛擬蝙蝠,BA 算法中個(gè)體位置的更新具有很強(qiáng)的隨機(jī)性,致使新位置逐漸偏離最優(yōu)解,而DMBA 算法受自適應(yīng)多普勒補(bǔ)償?shù)淖饔茫痔剿髦袀€(gè)體的新位置逐漸向最優(yōu)解靠攏,即在相同迭代次數(shù)下,DMBA 算法的運(yùn)行結(jié)果會(huì)比BA 算法更加接近理論結(jié)果,比BA 算法先滿足閾值要求,提前終止迭代,故m1>m2(4.2 節(jié)實(shí)驗(yàn)表明,整體上減少運(yùn)行時(shí)間。DMBA 算法相比標(biāo)準(zhǔn)BA 算法新改變的計(jì)算式如式(5)、式(9)均為常數(shù)級(jí)計(jì)算,式(7)或式(8)本質(zhì)上與BA 算法的式(2)具有相同的計(jì)算結(jié)構(gòu),均為向量求和運(yùn)算,對(duì)時(shí)間復(fù)雜度帶來(lái)的增量遠(yuǎn)遠(yuǎn)小于語(yǔ)句執(zhí)行次數(shù)帶來(lái)的減量,可以忽略。因此DMBA 算法的時(shí)間復(fù)雜度O(m2PbTi)小于BA 算法的時(shí)間復(fù)雜度O(m1PbTi),而增加的計(jì)算部分使得新解在搜索空間中的分布更加合理,解的適應(yīng)性更好。

        在空間復(fù)雜度方面,本文DMBA 算法比標(biāo)準(zhǔn)BA算法在每次迭代中增加了常數(shù)量級(jí)的中間變量如式(5)中的,式(6)中的vm等,以及與之相關(guān)的臨時(shí)變量的存儲(chǔ),但整體上DMBA 算法的終止迭代次數(shù)遠(yuǎn)小于BA 算法的終止迭代次數(shù),語(yǔ)句執(zhí)行次數(shù)的降低減少了存儲(chǔ)的中間變量和臨時(shí)變量,因此空間復(fù)雜度相比BA 算法有所降低。

        本文算法屬于元啟發(fā)式算法,這一類算法不能保證獲得理論最優(yōu)解,而是獲得接近理論值的近似解。對(duì)于許多優(yōu)化問(wèn)題,使用確定性算法雖能獲得理論最優(yōu)解,但計(jì)算復(fù)雜(例如計(jì)算梯度等信息),運(yùn)行時(shí)間很長(zhǎng),以致時(shí)間復(fù)雜度的代價(jià)極大,有時(shí)需要保存很多的變量,導(dǎo)致空間復(fù)雜度也較大。而隨著問(wèn)題復(fù)雜性的增加,求解工程實(shí)際問(wèn)題往往并不需要得到理論最優(yōu)解,只需要一個(gè)能逼近理論值的近似解就能解決問(wèn)題,故元啟發(fā)式算法比確定性算法更加適用。因此通過(guò)設(shè)置一定的滿足條件如收斂閾值,使算法在獲得一個(gè)符合實(shí)際需求的近似解的同時(shí),能夠提前終止迭代,避免往后不必要的運(yùn)算,從而縮短運(yùn)行時(shí)間,減少存儲(chǔ)空間。

        3.7 綜合分析

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

        4.1 測(cè)試函數(shù)

        本文選取12 個(gè)標(biāo)準(zhǔn)函數(shù)[24],大部分函數(shù)存在很多局部極值,故準(zhǔn)確找到理論最優(yōu)值具有一定難度,適合充分考察算法的尋優(yōu)能力。如表2 所示,在所有測(cè)試函數(shù)中,f1~f6為單峰函數(shù),主要用于測(cè)試算法的尋優(yōu)精度和收斂速度;f7~f12為多峰函數(shù),主要用于測(cè)試算法的全局搜索和跳出局部極值避免早熟收斂的能力。本文的所有測(cè)試均在Intel Core i5-4200M,2.5 GHz,8 GB 內(nèi)存的PC Windows 7 機(jī)器上進(jìn)行,編寫的程序在Matlab R2016a上實(shí)現(xiàn)。

        Table 2 Benchmark functions表2 標(biāo)準(zhǔn)測(cè)試函數(shù)

        4.2 數(shù)值結(jié)果及分析

        為了評(píng)價(jià)DMBA 算法在高維度下的尋優(yōu)性能,本文除了選取BA 算法[1],還選取近兩年的NBA(novel bat algorithm)算 法[15]、dBA(directional bat algorithm)算法[16]和UGBA(uniform mutant and Gaussian mutant bat algorithm)算法[19]進(jìn)行比較。

        實(shí)驗(yàn)中所有算法的蝙蝠個(gè)數(shù)設(shè)置為40,最大迭代次數(shù)Tmax為500,各算法的具體參數(shù)設(shè)置如表3 所示。為了更清晰地表達(dá)算法尋優(yōu)效果,設(shè)置誤差值e=1.0E-100,當(dāng)?shù)趖次迭代的結(jié)果時(shí),可認(rèn)為其達(dá)到全局最優(yōu)值f(x*)(-1.0、0 或0.9),此時(shí)終止迭代,并記錄迭代次數(shù)和運(yùn)行時(shí)間,否則繼續(xù)迭代直到Tmax時(shí)結(jié)束迭代。

        Table 3 Algorithm parameter setting表3 算法參數(shù)設(shè)置

        5 種算法針對(duì)12 個(gè)標(biāo)準(zhǔn)函數(shù)分別在100 維、500維和1 000 維上獨(dú)立運(yùn)行50 次后,通過(guò)計(jì)算平均尋優(yōu)值mean、標(biāo)準(zhǔn)差std、平均終止迭代數(shù)iter 和平均運(yùn)行時(shí)間time(s)考察算法性能。實(shí)驗(yàn)中最好的結(jié)果用粗體顯示,Inf 表示正無(wú)窮,NaN 表示由Inf 參與運(yùn)算得到的非數(shù)。

        根據(jù)表4~表6,從收斂精度上分析可知,DMBA算法在不同維數(shù)下的尋優(yōu)效果具有明顯的優(yōu)勢(shì),其他4 種算法的求解精度整體上隨著維數(shù)的增加而降低。對(duì)于單峰函數(shù)f1~f6,隨著維數(shù)的增加,DMBA算法均達(dá)到收斂閾值從而獲得了理論最優(yōu)值和標(biāo)準(zhǔn)差;UGBA 和NBA 算法均在f1獲得了理論最優(yōu)值和標(biāo)準(zhǔn)差。對(duì)于f2,UGBA 算法在100 維度下獲得了理論最優(yōu)值和標(biāo)準(zhǔn)差,但在500 維和1 000 維上其求解精度降低。對(duì)于f5和f6,BA、dBA 和NBA 算法的尋優(yōu)結(jié)果逐漸偏離理論值,精度上的偏差在高維度下進(jìn)一步擴(kuò)大,在1 000 維下的平均適應(yīng)值均是正無(wú)窮;NBA 算法在500 維和1 000 維下同樣不能得出確切的運(yùn)算結(jié)果。對(duì)于多峰函數(shù)f7~f12,在不同維數(shù)下,DMBA 算法在除f9外的函數(shù)上均達(dá)到收斂閾值從而求解到理論最優(yōu)值和標(biāo)準(zhǔn)差;UGBA 算法在f8上均能求解到理論最優(yōu)值,在100 維下求解f10獲得了理論最優(yōu)值;對(duì)于f8、f9和f10,BA、dBA 和NBA算法的求解精度隨著維度的升高明顯下降,與理論值的偏離程度增大。

        從收斂快慢上分析可知,DMBA 算法收斂到閾值所需的終止迭代次數(shù)最少,對(duì)于f1、f2、f7、f8、f10和f12,其終止迭代數(shù)iter近似等于最大迭代數(shù)Tmax的1/25 ;對(duì)于f3、f4和f6,其所需的iter 近似等于Tmax的1/6 ;對(duì)于f5和f11,iter 近似等于Tmax的1/3,有效減少了迭代過(guò)程,縮短算法重復(fù)執(zhí)行的時(shí)間。另外,UGBA 算法在f1和f8上獲得理論最優(yōu)值時(shí)的終止迭代數(shù)稍高于DMBA 算法,NBA 算法在f1上的終止迭代數(shù)要高于DMBA 和UGBA 算法,其在500維和1 000 維下的iter 約占Tmax的1/2。BA 和dBA 算法對(duì)所有函數(shù)沒能求解到收斂閾值,因此直到Tmax時(shí)終止迭代。

        整體而言,BA 算法的求解精度與理論值有較大的偏差,在除f12外的函數(shù)上的尋優(yōu)效果偏低。dBA、NBA 和UGBA 算法的求解結(jié)果優(yōu)于BA 算法,這3 種算法在不同函數(shù)下的尋優(yōu)性能又互有優(yōu)劣,在大部分函數(shù)上的尋優(yōu)結(jié)果沒能達(dá)到收斂閾值,其獲得的平均尋優(yōu)值和標(biāo)準(zhǔn)差隨著維數(shù)的增加而明顯降低。DMBA 算法在除f9以外的函數(shù)上均能快速求解到收斂閾值,并且不受維度變化的影響。因此隨著維數(shù)的增加,在100 維、500 維和1 000 維的測(cè)試函數(shù)上,DMBA 算法表現(xiàn)出比BA、dBA、NBA 和UGBA 算法更強(qiáng)的全局收斂能力,證明了DMBA 算法求解高維復(fù)雜函數(shù)的有效性。

        Table 4 Performance comparison of 5 algorithms in dealing with 100 dimensional test functions表4 5 種算法求解100 維測(cè)試函數(shù)的性能比較

        Table 5 Performance comparison of 5 algorithms in dealing with 500 dimensional test functions表5 5 種算法求解500 維測(cè)試函數(shù)的性能比較

        Table 6 Performance comparison of 5 algorithms in dealing with 1000 dimensional test functions表6 5 種算法求解1 000 維測(cè)試函數(shù)的性能比較

        為了進(jìn)一步分析DMBA 算法在高維度下的尋優(yōu)性能,本文給出5 種算法在100 維度下求解標(biāo)準(zhǔn)函數(shù)的收斂曲線,衡量算法的收斂性能,如圖4~圖15 所示。由于不同算法的收斂結(jié)果存在較大差異,對(duì)f2~f7和f9~f12函數(shù)曲線圖的縱坐標(biāo)作取對(duì)數(shù)處理,曲線在某一點(diǎn)處消失說(shuō)明在該時(shí)期的適應(yīng)值滿足收斂閾值,獲得理論最優(yōu)值,從而終止迭代。

        Fig.4 Convergence curve of f1function圖4 f1函數(shù)收斂曲線

        Fig.5 Convergence curve of f2function圖5 f2函數(shù)收斂曲線

        Fig.6 Convergence curve of f3function圖6 f3函數(shù)收斂曲線

        Fig.7 Convergence curve of f4function圖7 f4函數(shù)收斂曲線

        Fig.8 Convergence curve of f5function圖8 f5函數(shù)收斂曲線

        Fig.9 Convergence curve of f6function圖9 f6函數(shù)收斂曲線

        Fig.10 Convergence curve of f7function圖10 f7函數(shù)收斂曲線

        Fig.11 Convergence curve of f8function圖11 f8函數(shù)收斂曲線

        Fig.12 Convergence curve of f9function圖12 f9函數(shù)收斂曲線

        Fig.13 Convergence curve of f10function圖13 f10函數(shù)收斂曲線

        Fig.14 Convergence curve of f11function圖14 f11函數(shù)收斂曲線

        Fig.15 Convergence curve of f12function圖15 f12函數(shù)收斂曲線

        分析圖4~圖15,由于BA 算法的搜索算子具有很強(qiáng)的隨機(jī)性,新解的位置大幅偏離全局最優(yōu),造成新解的適應(yīng)值較差,開發(fā)中對(duì)最優(yōu)值的擾動(dòng)越來(lái)越小,易產(chǎn)生聚集現(xiàn)象而陷入局部極值,從f2~f7和f9~f12可以看出,BA 算法的尋優(yōu)曲線處于停滯狀態(tài),基本上停止尋優(yōu)無(wú)法跳出局部極值的束縛,尋優(yōu)質(zhì)量較差。dBA 算法產(chǎn)生新解具有選擇性,利用在搜索空間中隨機(jī)選擇的一個(gè)較優(yōu)解的信息指導(dǎo)其進(jìn)入下一步的搜索,否則向最優(yōu)解靠攏。但這種選擇機(jī)制忽略了速度對(duì)位置的影響,在一定程度上降低了解的多樣性,開發(fā)中采用線性遞減的擾動(dòng)策略,同樣會(huì)使新解聚集在局部極值附近,在高維度下易造成早熟收斂的現(xiàn)象,因此dBA 算法的收斂曲線較平緩。NBA 算法一方面通過(guò)量子行為拓展個(gè)體的搜索范圍,提高了種群的多樣性;另一方面結(jié)合多普勒效應(yīng)指導(dǎo)其產(chǎn)生新解,該策略沒有利用個(gè)體與最優(yōu)解在空間位置上距離的遠(yuǎn)近信息,不能有效地調(diào)整新解的位置,因而在單峰函數(shù)上的尋優(yōu)效果較為有效,在部分復(fù)雜多峰函數(shù)如f10~f12上的求解效果較弱,但整體上的尋優(yōu)性能優(yōu)于BA 和dBA 算法。對(duì)于f1,NBA 算法在迭代50 次左右時(shí)獲得理論最優(yōu)值;對(duì)于f2,NBA 算法在迭代300 次左右時(shí)獲得理論最優(yōu)值;對(duì)于f3、f4、f7和f9,NBA 算法的收斂曲線的下降幅度明顯優(yōu)于BA 和dBA 算法。UGBA 算法引入變異開關(guān)函數(shù),使所有個(gè)體在任何時(shí)期都有機(jī)會(huì)發(fā)生變異,突破了傳統(tǒng)的只在算法后期對(duì)最優(yōu)解進(jìn)行變異的界限,具有較高的種群多樣性,但忽略了對(duì)全局搜索算子的改進(jìn),依靠強(qiáng)大的變異機(jī)制產(chǎn)生僅次于DMBA 算法的收斂性能。對(duì)于f1和f8,UGBA 算法在迭代25 次左右時(shí)獲得理論最優(yōu)值;對(duì)于f2和f10,UGBA 算法在迭代100 次左右時(shí)獲得理論最優(yōu)值。DMBA 算法先根據(jù)距離的變化自適應(yīng)補(bǔ)償頻率,并結(jié)合速度偏移機(jī)制產(chǎn)生更靠近最優(yōu)解的新解;其次在局部搜索中引入的柯西和高斯變異策略,在最優(yōu)區(qū)域分別進(jìn)行大步長(zhǎng)和小步長(zhǎng)的精細(xì)探尋,擺脫局部極值的束縛,最終迅速收斂,提前終止迭代。從圖4~圖15 可明顯看出,不管是求解單峰函數(shù)還是多峰函數(shù),DMBA 算法都具有更快的收斂速度和更高的收斂精度,在大部分函數(shù)上的收斂曲線更陡峭,下降幅度更明顯。對(duì)于f1、f2、f7、f8、f10和f12,DMBA算法均在迭代50 次內(nèi)收斂到理論最優(yōu)值;對(duì)于f3、f4和f6,DMBA 算法在迭代100 次左右時(shí)收斂到理論值;對(duì)于f5和f11,DMBA 算法在迭代150 次左右時(shí)收斂到理論值。

        綜上所述,實(shí)驗(yàn)表明對(duì)于高維度多極值的單峰和多峰函數(shù),DMBA 算法相比其他4 種算法在求解精度和速度上均具有良好的尋優(yōu)效果,體現(xiàn)了DMBA算法有效地平衡全局探索和局部開發(fā)的能力,驗(yàn)證了DMBA 算法求解高維復(fù)雜函數(shù)的優(yōu)勢(shì)。

        5 結(jié)論

        針對(duì)基本蝙蝠算法在求解高維單目標(biāo)優(yōu)化問(wèn)題時(shí),存在尋優(yōu)精度低和難以擺脫局部極值束縛的問(wèn)題,本文提出一種自適應(yīng)多普勒補(bǔ)償與變異選擇的蝙蝠算法。首先,為了準(zhǔn)確模擬蝙蝠受到的多普勒效應(yīng),根據(jù)蝙蝠個(gè)體距離最優(yōu)個(gè)體相對(duì)遠(yuǎn)近的變化自適應(yīng)補(bǔ)償頻率,并結(jié)合平均速度對(duì)個(gè)體速度產(chǎn)生的偏差,共同修正飛行方向,產(chǎn)生更靠近最優(yōu)個(gè)體的新個(gè)體。其次,為有效解決種群前期易陷入局部極值的問(wèn)題,對(duì)最優(yōu)個(gè)體提出柯西和高斯變異策略,先利用柯西變異產(chǎn)生較大的步長(zhǎng),提高擺脫局部極值束縛的概率,后利用高斯變異產(chǎn)生較小的步長(zhǎng),精細(xì)搜索最優(yōu)區(qū)域。最后,利用合理范圍內(nèi)的響度和脈沖發(fā)射率,調(diào)控算法前期執(zhí)行全局探索,后期執(zhí)行局部開發(fā),并提高接受較優(yōu)新解的概率,平衡探索和開發(fā)能力。從理論上分析了本文算法收斂的可行性和運(yùn)算的復(fù)雜性,利用12 個(gè)標(biāo)準(zhǔn)函數(shù)在不同維度下進(jìn)行仿真實(shí)驗(yàn),結(jié)果表明與最近文獻(xiàn)的算法相比,本文算法在求解高維度優(yōu)化問(wèn)題時(shí)能有效提高收斂精度和速度。

        猜你喜歡
        蝙蝠獵物多普勒
        為什么蛇可以吞下比自己寬大的獵物?
        蟒蛇為什么不會(huì)被獵物噎死
        可怕的殺手角鼻龍
        霸王龍的第一只大型獵物
        蝙蝠
        基于多普勒效應(yīng)的車隨人動(dòng)系統(tǒng)
        電子器件(2015年5期)2015-12-29 08:43:38
        蝙蝠女
        蝙蝠在黑暗處如何捕食
        蝙蝠為什么倒掛著睡覺?
        基于多普勒的車輛測(cè)速儀
        亚洲午夜久久久精品国产| 色偷偷噜噜噜亚洲男人| 久久久精品波多野结衣| 日本久久久免费高清| 国产午夜精品一区二区三区不卡| 国产婷婷丁香五月麻豆| 免费人成黄页网站在线观看国产| 久久综合久久综合久久| 久久精品www人人爽人人| 亚洲成a人v欧美综合天堂麻豆| 国产在线看不卡一区二区| 国产一区二区三区不卡视频| 少妇愉情理伦片丰满丰满| 欧美性大战久久久久久久| 无码国产精品一区二区AV| 久久免费精品日本久久中文字幕| 麻豆md0077饥渴少妇| 亚洲av无码精品色午夜果冻不卡| 久久国产自偷自免费一区100| 蜜桃一区二区免费视频观看| 亚洲国产精品情侣视频| 亚洲av永久无码精品网址| 91免费永久国产在线观看| 国产精品久久夜伦鲁鲁| 极品嫩模大尺度av在线播放| 东北妇女肥胖bbwbbwbbw| 亚洲日产无码中文字幕| 色噜噜亚洲精品中文字幕| 四虎影视久久久免费观看| 曰本无码人妻丰满熟妇5g影院| 亚洲AV无码成人精品区H| 国产不卡av一区二区三区| 无码乱肉视频免费大全合集| 国产精品成人免费视频网站京东| 亚洲AV无码AV色| 国产一区二区黄色网页| 少妇高潮流白浆在线观看| 亚洲国产欧美日韩一区二区| 亚洲综合在线一区二区三区| 午夜成人理论福利片| 亚洲一区二区三区偷拍女厕|