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

?

一種改進(jìn)的鳥群優(yōu)化算法

2023-01-17 10:19:44馮娟婷王進(jìn)成顧銀魯
關(guān)鍵詞:鳥群測(cè)試函數(shù)生產(chǎn)者

馮娟婷,王進(jìn)成,顧銀魯

(銀川能源學(xué)院 基礎(chǔ)部,寧夏 銀川 750021)

在過(guò)去的二十年里,人們提出了大量的群智能優(yōu)化算法.群智能優(yōu)化算法是一種人工智能算法,其思想來(lái)源于自然界中生物群體在遷移和覓食等活動(dòng)中所表現(xiàn)出的社會(huì)行為.該算法簡(jiǎn)單易于實(shí)現(xiàn),近些年得到很大的發(fā)展,已被“國(guó)際進(jìn)化計(jì)算會(huì)議(CEC)”列為討論專題之一.到目前為止所提出的算法有粒子群優(yōu)化(PSO)[1]、正余弦算法[2](SCA)、蛾火焰優(yōu)化算法[3](MFO)、蟻群優(yōu)化算法[3](ACO)、螢火蟲算法[4](GSO)、人工蜂群算法[5](ABC)和雞群算法[6](CSO)等.這些算法都具有較好的優(yōu)化能力,已被成功應(yīng)用于各個(gè)領(lǐng)域.

鳥群算法(Bird Swarm Algorithm,BSA)是由Meng X B等[7]于2015年提出的一種新的基于群體智能的啟發(fā)式算法,通過(guò)模仿鳥類的覓食、警覺和飛行行為來(lái)尋求最優(yōu)解.BSA具有運(yùn)算速度快和健壯性好等優(yōu)點(diǎn),不僅在解決多領(lǐng)域最優(yōu)化問(wèn)題時(shí)具有明顯的優(yōu)勢(shì)[8],而且在電網(wǎng)優(yōu)化調(diào)度、水庫(kù)優(yōu)化調(diào)度和年徑流量預(yù)測(cè)等方面取得了較好的應(yīng)用效果[9-10].然而對(duì)于算法的改進(jìn)和提高算法的性能也成為一個(gè)重要的研究領(lǐng)域,本文針對(duì)BSA算法求解高維復(fù)雜優(yōu)化問(wèn)題時(shí)容易陷入局部最優(yōu)等問(wèn)題,提出一種改進(jìn)的鳥群優(yōu)化算法(Improved Bird Swarm Optimization Algorithm,IBSA),通過(guò)改進(jìn)鳥群的覓食策略和飛行策略,有效地提高了算法的搜索性能.最后,通過(guò)對(duì)測(cè)試函數(shù)進(jìn)行數(shù)值試驗(yàn),試驗(yàn)結(jié)果與PSO、CSO和BSA算法對(duì)比,結(jié)果表明,IBSA算法具有較快的收斂速度和較好的尋優(yōu)精度.

1 鳥群算法

鳥群算法模仿的是鳥類的覓食、警戒和飛行行為來(lái)尋求最優(yōu)解,然而這些行為中都包含著一些簡(jiǎn)單的規(guī)則[11-12].

規(guī)則1,每只鳥的選擇依賴于0到1上的隨機(jī)數(shù),同時(shí)設(shè)定一個(gè)常量p,當(dāng)隨機(jī)數(shù)小于p時(shí),該鳥將進(jìn)行覓食,否則,繼續(xù)保持警戒.

規(guī)則2,鳥群的覓食行為遵從每只鳥根據(jù)其自身和整個(gè)種群的經(jīng)驗(yàn)來(lái)尋找食物.則覓食行為的位置更新公式為

(1)

其中,j∈[1,2,…,D],rand(0,1)為0到1之間均勻分布的隨機(jī)數(shù),C和S表示學(xué)習(xí)因子為兩個(gè)正數(shù),分別稱為自我加速系數(shù)和社會(huì)加速系數(shù),pi,j表示第i只鳥早先最優(yōu)位置,gj表示種群共享的早先最優(yōu)位置.

規(guī)則3,鳥群在保持警戒時(shí),個(gè)體鳥會(huì)試圖飛向群體中心,鳥群之間存在著同類的競(jìng)爭(zhēng),因而每一只鳥不會(huì)直接向中心移動(dòng).則警戒行為的位置更新公式為

(2)

(3)

(4)

其中,k(k≠i)是從1到N之間的隨機(jī)正整數(shù),a1,a2∈[0,2],pFiti表示第i只鳥的最佳適應(yīng)度值,sumFit表示種群所有鳥最佳適應(yīng)度值之和,ε是計(jì)算機(jī)用來(lái)避免分母為零的很小常數(shù),meanj表示在第j個(gè)元素上的平均位置.A1描述為一只鳥向鳥群中心移動(dòng)過(guò)程中由環(huán)境引發(fā)的間接作用,而A2描述為由某個(gè)具體沖突而引發(fā)的直接作用.

規(guī)則4和5,因天敵的威脅、覓食或其他原因.每當(dāng)?shù)竭_(dá)一個(gè)新的地點(diǎn),鳥類將在生產(chǎn)者和乞討者之間做出選擇,自行覓食或者跟隨生產(chǎn)者獲取食物.則飛行行為中生產(chǎn)者和乞討者的位置更新公式分別為

(5)

(6)

其中,randn(0,1)表示服從均值為0、標(biāo)準(zhǔn)差為1的高斯分布的隨機(jī)數(shù),k∈[1,2,…,N],k≠i,F(xiàn)L(FL∈[0,2])為乞討者跟隨生產(chǎn)者尋找食物的概率,F(xiàn)Q表示鳥群中的每只鳥飛行的時(shí)間間隔.

2 改進(jìn)的鳥群優(yōu)化算法

2.1 慣性權(quán)重

慣性權(quán)重ω作為BSA算法引入的一個(gè)重要參數(shù),對(duì)平衡算法的收斂速度和全局搜索能力有著重要的作用.Eberhart R C[13]等將慣性權(quán)重引入粒子群算法中,有效地提高了算法的局部和全局尋優(yōu)能力.本文對(duì)ω采用線性遞減策略,為保證算法在前期具有較好的全局搜索能力和在后期有較好的局部搜索能力.即慣性權(quán)重ω的更新公式如下

(7)

其中,t為當(dāng)前迭代次數(shù),T為最大迭代次數(shù),ωmax為慣性權(quán)重最大值,通常取0.9,ωmin為慣性權(quán)重的最小值,通常取0.4.(7)式表示慣性權(quán)重由0.9線性遞減至0.4.

2.2 動(dòng)態(tài)學(xué)習(xí)因子

傳統(tǒng)鳥群算法對(duì)社會(huì)認(rèn)知部分與自我認(rèn)知部分都采用恒定學(xué)習(xí)常數(shù),一定程度上限制種群全局協(xié)調(diào)能力,在算法收斂后期種群多樣性喪失而導(dǎo)致全部個(gè)體收斂于搜索空間中的某一點(diǎn),很容易出現(xiàn)早熟現(xiàn)象.因此,在初始搜索階段,C取大,S取小,個(gè)體可以在搜索空間中自由分布,從而增加了個(gè)體位置的多樣性.隨著迭代次數(shù)的增加,讓C線性減少,S線性增加,有利于加強(qiáng)算法局部搜索能力.為了在算法迭代過(guò)程中更好進(jìn)行個(gè)體搜索能力,避免過(guò)早陷入局部早熟,本文采用動(dòng)態(tài)調(diào)整學(xué)習(xí)因子,即更新公式如下

c(t)=cmax-cmax×(t-1)/T,

(8)

s(t)=cmin+(t-1)/T,

(9)

其中,t為當(dāng)前迭代次數(shù),T為最大迭代次數(shù),cmax和cmin分別表示學(xué)習(xí)因子的上限和下限.為了避免無(wú)效率搜索,本文中控制學(xué)習(xí)因子上下限取2和1.

通過(guò)以上分析,改進(jìn)的BSA算法中鳥群覓食行為的更新公式如下

(10)

2.3 飛行行為中生產(chǎn)者的改進(jìn)

為了克服鳥群算法中生產(chǎn)者因選擇前期步長(zhǎng)可能帶來(lái)的尋優(yōu)誤差,本文通過(guò)對(duì)原步長(zhǎng)加權(quán)取均值來(lái)取代生產(chǎn)者前期步長(zhǎng)的選擇,避免直接選取當(dāng)前個(gè)體作為下一步迭代步長(zhǎng)而導(dǎo)致算法陷入局部最優(yōu).即對(duì)鳥群算法中生產(chǎn)者的位置公式(5)做如下改進(jìn)

(11)

2.4 IBSA算法步驟

Step1 隨機(jī)初始化每只鳥,設(shè)定種群規(guī)模、最大迭代次數(shù)、飛行行為頻率及其他相關(guān)參數(shù);

Step2 計(jì)算初始解,尋找當(dāng)前最優(yōu)個(gè)體;

Step3 根據(jù)公式(7)、(8)和(9)計(jì)算慣性權(quán)重和學(xué)習(xí)因子;

Step4 判斷鳥群的飛行狀態(tài),若鳥群在不飛行的覓食狀態(tài)下,則用公式(10)更新鳥的位置;若鳥群在不飛行的警戒狀態(tài)下,則根據(jù)公式(2)來(lái)更新鳥的位置.否則,用公式(11)和公式(6)更新所有鳥的位置;

Step5 更新相應(yīng)的適應(yīng)度值,若新個(gè)體對(duì)應(yīng)的適應(yīng)值比先前的好,則取代先前的個(gè)體.并尋找當(dāng)前最優(yōu)適應(yīng)值對(duì)應(yīng)的個(gè)體;

Step6 判斷算法迭代終止條件是否滿足,若滿足則結(jié)束循環(huán)并輸出最優(yōu)解,否則返回步驟step2.

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

為評(píng)估IBSA算法的優(yōu)化性能,選取十二個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行仿真測(cè)試(見表2),其中,F1~F7均為高維單峰函數(shù),而F8~F12均為高維多峰函數(shù).將IBSA算法與PSO、CSO和BSA算法的仿真測(cè)試結(jié)果進(jìn)行對(duì)比(見表3),四種算法分別在8個(gè)測(cè)試函數(shù)上獨(dú)立運(yùn)行30次,設(shè)置算法相關(guān)參數(shù)見表1.試驗(yàn)都是在win7系統(tǒng)MATLAB 2012a中完成的,電腦配置為-Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz.

表1 參數(shù)設(shè)置

表2 測(cè)試函數(shù)

序號(hào)函數(shù)名測(cè)試函數(shù)定義域最優(yōu)解F8Generalizedpenalizedfunctionfx()=0.1∑D-1i=1(xi-1)2[1+10sin2(3,πxi+1]+10sin2(3πx1)+(xn-1)2{)+ ∑Di=1uxi,10,100,4()[-50,50]0

從表示3可以看出,對(duì)于單峰函數(shù),PSO、CSO所得的結(jié)果遠(yuǎn)遠(yuǎn)大于BSA、IBSA,CSO、PSO都可能陷入了局部最優(yōu),而IBSA在BSA的基礎(chǔ)上進(jìn)一步提高了解的質(zhì)量,搜索結(jié)果更加準(zhǔn)確;對(duì)于多峰函數(shù),PSO、CSO算法可能在迭代初期已經(jīng)陷入了局部極值,BSA、IBSA的尋優(yōu)精度相差不大,而IBSA相比其他三種算法有更好的尋優(yōu)精度.根據(jù)表3的統(tǒng)計(jì)結(jié)果顯示,IBSA在8個(gè)測(cè)試函數(shù)上的尋優(yōu)精度都顯著優(yōu)于其他三種算法.

表3 PSO、CSO、BSA和IBSA數(shù)值結(jié)果

函數(shù)算法最差解最佳解平均值方差F6PSO7.3410×1022.9343×1031.6640×1033.6181×105CSO-2.5483×102-1.8293×102-2.1583×1023.3879×102BSA-2.4449×102-6.6773×101-1.2825×1022.1827×102IBSA-2.9502×102-2.9502×102-2.9502×1026.7945×10-7F7PSO1.8635×1027.1945×1067.5013×1052.3608×1012CSO1.09515.8565×1052.0282×1021.1413×106BSA2.87332.99962.99114.9792×10-4IBSA3.2505×10-79.0806×10-51.6160×10-52.7848×10-10F8PSO2.8617×1031.3489×1071.4974×1068.1313×1012CSO1.7411×10-12.1080×1011.85021.7379×101BSA4.0961×10-11.09648.3391×10-13.1923×10-2IBSA2.3624×10-85.2382×10-67.4299×10-78.6108×10-13

圖1~圖8給出了四種算法的收斂曲線圖,從圖1~6圖可以看出,對(duì)單峰函數(shù),CSO和PSO收斂速度較為緩慢,而BSA和IBSA都具有較好的收斂趨勢(shì),但I(xiàn)BSA較BSA收斂速度更快;從圖7~圖8可以看出,對(duì)多峰函數(shù),CSO、PSO和BSA的收斂速度都低于IBSA,不僅前期收斂速度較慢而且后期不穩(wěn)定,而IBSA具有較好的收斂速度和穩(wěn)定性.綜上所述,本文所提出的IBSA收斂穩(wěn)定性和收斂速度都明顯優(yōu)于CSO、PSO和BSA.

圖1 四種算法對(duì)F1的收斂圖 圖2 四種算法對(duì)F2的收斂圖

圖3 四種算法對(duì)F3的收斂圖 圖4 四種算法對(duì)F4的收斂圖

圖5 四種算法對(duì)F5的收斂圖 圖6 四種算法對(duì)F6的收斂圖

圖7 四種算法對(duì)F7的收斂圖 圖8 四種算法對(duì)F8的收斂圖

4 結(jié)論

針對(duì)鳥群算法存在的缺點(diǎn),本文提出了一種基于改進(jìn)的鳥群優(yōu)化算法.通過(guò)對(duì)鳥群算法的覓食行為和飛行行為的改進(jìn),增強(qiáng)了個(gè)體的全局尋優(yōu)能力,有效地平衡了種群局部和全局搜索能力.通過(guò)對(duì)八個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行測(cè)試以及與PSO、CSO和BSA算法相比,無(wú)論是單峰函數(shù)還是多峰函數(shù),IBSA在收斂速度和尋優(yōu)精度方面都明顯優(yōu)于其他三種算法.

猜你喜歡
鳥群測(cè)試函數(shù)生產(chǎn)者
飛翔的鳥群
1月巴西生產(chǎn)者價(jià)格指數(shù)上漲3.92%
為什么鳥要成群飛翔?
為什么鳥群飛行時(shí)不會(huì)彼此沖撞?
2019德國(guó)IF設(shè)計(jì)大獎(jiǎng)
家禽福利的未來(lái):生產(chǎn)者能期待什么?
具有收縮因子的自適應(yīng)鴿群算法用于函數(shù)優(yōu)化問(wèn)題
一場(chǎng)大風(fēng)帶給生產(chǎn)者的思考
帶勢(shì)函數(shù)的雙調(diào)和不等式組的整體解的不存在性
鳥群優(yōu)雅
山東青年(2016年1期)2016-02-28 14:25:21
大厂| 涿州市| 醴陵市| 镇雄县| 丹棱县| 建始县| 兰西县| 五峰| 天水市| 桃江县| 耿马| 卢氏县| 辛集市| 濮阳县| 得荣县| 林西县| 休宁县| 湘乡市| 绍兴县| 巢湖市| 罗源县| 云霄县| 平陆县| 镇安县| 新化县| 库伦旗| 澳门| 高邑县| 利辛县| 平顺县| 北碚区| 商河县| 满城县| 阳新县| 左贡县| 衡阳县| 彰化县| 宣城市| 舒兰市| 凤阳县| 灌南县|