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

        ?

        一種人工魚群蛙跳混合優(yōu)化算法

        2020-01-06 08:47:56姜慧楠張向鋒
        關(guān)鍵詞:測試函數(shù)魚群青蛙

        姜慧楠, 張向鋒

        (上海電機(jī)學(xué)院 電氣學(xué)院, 上海 201306)

        人工魚群算法(Artificial Fish Swarm Algori-thm, AFSA),是一種根據(jù)魚群覓食行為的優(yōu)化算法[1]。算法以模仿自然界的魚群尋食過程來求得問題的最優(yōu)解,它最初的收斂速度較快,但是后期收斂速度慢,因此,適用于精度要求不高的尋優(yōu)問題[2-3]。蛙跳算法(Shuffled Frog Leaping Algori-thm, SFLA)是一種新的結(jié)合了全局搜索和局部更新的元啟發(fā)式協(xié)同搜索算法[4]。SFLA求解速度快且全局尋優(yōu)能力強(qiáng),但存在前期收斂速度慢的問題。

        AFSA因具有收斂速度快、計(jì)算原理簡單等優(yōu)勢,得到了國內(nèi)外學(xué)者的廣泛關(guān)注。文獻(xiàn)[5]對適應(yīng)度值最好的人工魚利用最速下降法進(jìn)行更新,提高魚群的整體水平;文獻(xiàn)[6]采用引入對稱正態(tài)隨機(jī)行為及自適應(yīng)調(diào)整行為參數(shù),使得系統(tǒng)的收斂速度更佳;文獻(xiàn)[7]驗(yàn)證了一種基于DNA改進(jìn)的AFSA;文獻(xiàn)[8]將禁忌搜索策略融入到AFSA尋優(yōu)過程中,并在求解車間調(diào)度問題中取得了比較好的結(jié)果;文獻(xiàn)[9-10]采用對魚群行為的改變,提高了AFSA的搜索速度。文獻(xiàn)[11-12]為克服SFLA存在的問題,對全局及局部做出改進(jìn),提出一種改進(jìn)的SFLA;文獻(xiàn)[13-14]通過對步長公式的改變及引入影響因子的方法,提升了SFLA的搜索能力;文獻(xiàn)[15-16]通過借鑒優(yōu)化及搜索策略的思想,使得最差青蛙的位置趨向最佳,提高了SFLA搜索的速度。

        針對SFLA在后期收斂速度慢、易陷入局部最優(yōu)和精度低等問題,本文將結(jié)合AFSA前期收斂速度快和SFLA局部搜索能力強(qiáng)的優(yōu)勢,通過將兩種仿生算法聯(lián)合運(yùn)用,提出一種人工魚群-蛙跳混合優(yōu)化算法(Artificial Fish Swarm Algori-thm-Shuffled Frog Leaping Algorithm, AFSA-SFLA)。

        1 人工魚群算法及蛙跳算法

        1.1 AFSA基本原理

        魚群的主要行為包括魚群初始化、覓食行為、聚群行為、追尾行為、隨機(jī)行為[17]。其主要行為如下:

        (1) 魚群初始化。魚群中的每一條人工魚是在給定范圍內(nèi)產(chǎn)生的隨機(jī)數(shù)組。

        (2) 覓食行為。假設(shè)當(dāng)前人工魚的狀況為Xi,在其感知的范圍內(nèi)隨機(jī)選擇一個(gè)狀況Xj,如果求極大值問題,Yi為第i條人工魚當(dāng)前所在食物濃度(Yi

        (3) 聚群行為。設(shè)當(dāng)前人工魚的狀況為Xi,探究當(dāng)前領(lǐng)域內(nèi)(即di,jδYi(δ為擁擠度),說明同伴中央有較多的食物且不太擁擠,則朝同伴中央的位置行進(jìn)一步,否則實(shí)施覓食行為。

        (4) 追尾行為。設(shè)當(dāng)前人工魚的狀況為Xi,試探當(dāng)前領(lǐng)域內(nèi)(即di,jδYi,說明同伴Xj的狀態(tài)有較多的食物且不太擁擠,則朝同伴的Xj的位置行進(jìn)一步,否則實(shí)施覓食行為。

        (5) 隨機(jī)行為。隨機(jī)行為的實(shí)現(xiàn)比較簡單,就是在視線中隨機(jī)抉擇一個(gè)情況,然后向該方向行進(jìn),即Xi的下一個(gè)動(dòng)作為

        X′i=Xi+r·V

        (1)

        式中:r是[-1,1]區(qū)間的隨機(jī)數(shù)。

        1.2 SFLA基本原理

        SFLA是模擬青蛙在尋食的過程當(dāng)中,青蛙群體通過按子群分類進(jìn)行信息交換的進(jìn)展,將全局搜索與子群局部搜索相結(jié)合,使算法朝著全局最優(yōu)解的方向進(jìn)化[18]。

        (1) 全局搜索。全局搜索的布置如下:① 設(shè)置SFLA參數(shù)種群分組數(shù)m,每組青蛙包含的青蛙個(gè)數(shù)n,組內(nèi)迭代次數(shù)Ne,最大、最小步長分別為swmax、swmin,種群總的進(jìn)化代數(shù)N′max,青蛙位置的最大、最小值分別為Pmax、Pmin;② 隨機(jī)初始化青蛙的種群,共生成F只青蛙,簡記為P={P1,P2,…,PF},其中Pi代表第i個(gè)解(0≤i≤F),Pi={Pi1,Pi2,…,Pid},d為解的維數(shù),每一只青蛙代表著一種可行的解;③ 設(shè)Ff(Pi)為適應(yīng)度函數(shù),計(jì)算P中的每一只青蛙的適應(yīng)度值,并將其進(jìn)行降序處理,同時(shí)將第一個(gè)適應(yīng)度值所對應(yīng)的Pi記錄為全局最優(yōu)青蛙gx,并將排序后的青蛙放置P中;④ 將P中的F只青蛙,分成m組,每一組包含n只青蛙。將P中第1只青蛙放置第一組,依次第m只青蛙放置第m組。第m+1只青蛙放置第1組,依次第m+m只青蛙放置第m組,依次共循環(huán)n次,F(xiàn)只青蛙分組完成;⑤ 每個(gè)子群執(zhí)行子群局部搜索,具體步驟見局部搜索;⑥判別是不是達(dá)到了最大迭代次數(shù)N′max,若達(dá)到了則算法結(jié)束,反之,重新混合所有的青蛙,執(zhí)行步驟③。

        (2) 局部搜索。局部搜索的布置如下:① 設(shè)j=1,用于記錄每組內(nèi)的迭代次數(shù);② 關(guān)于每一組青蛙適應(yīng)度值按降序排序,pb代表著每一組的最優(yōu)青蛙,pw代表著每一組的最差青蛙;③ 組內(nèi)更新,利用式(2)計(jì)算最差青蛙的移動(dòng)步長sw1,若Ff(pwnew)>Ff(pwold),執(zhí)行步驟⑥,否則執(zhí)行步驟④;

        sw1=r·(pb-pw)swmin≤sw1≤swmax

        (2)

        pwnew=pwold+sw1

        (3)

        ④ 全局最優(yōu)更新。利用式(4)計(jì)算最差青蛙的移動(dòng)步長sw2,若Ff(pwnew)>Ff(pwold),執(zhí)行步驟⑥,不然執(zhí)行步驟⑤;

        sw2=r·(gx-pw)swmin≤sw2≤swmax

        (4)

        pwnew=pwold+sw2

        (5)

        ⑤ 隨機(jī)更新。利用式(6)計(jì)算最差青蛙的移動(dòng)步長sw3;

        sw3=Pmax·r(1,d)swmin≤sw3≤swmax

        (6)

        pwnew=pwold+sw3

        (7)

        ⑥ 將pwnew代替pwold,判別j>Ne是否成立,若成立則一組的局部搜索完成,反之,j=j+1,執(zhí)行步驟②。

        圖1 混合算法流程圖

        2 人工魚群蛙跳混合優(yōu)化算法

        針對AFSA和SFLA算法優(yōu)缺點(diǎn),本文提出一種AFSA-SFLA,該算法首先采用AFSA收斂速度快的優(yōu)勢快速尋找到待求解參數(shù)全局最優(yōu)解所在區(qū)域。后期為SFLA利用前期AFSA的迭代結(jié)果,進(jìn)行SFLA的初始化。AFSA-SFLA的具體流程如圖1所示。具體步驟如下:① 設(shè)定主要初始參數(shù),在給定的規(guī)模內(nèi)初始化魚群;②i=1作為一個(gè)循環(huán)變量來循環(huán)記錄人工魚的個(gè)數(shù),人工魚的數(shù)目為N;③ 魚群執(zhí)行聚群行為得到(X1,Y1),執(zhí)行追尾行為得到(X2,Y2);④ 若Y1>Y2則Xi=X1,不然Xi=X2;⑤ 判別i>N是否成立,若成立執(zhí)行步驟⑥,不然i=i+1,執(zhí)行步驟③,gen=gen+1;⑥ 判別gen>Nmax是否成立,若成立則執(zhí)行步驟⑦,反之,執(zhí)行步驟②;⑦ 切換至SFLA,采用AFSA的最后一次迭代產(chǎn)生的人工魚群進(jìn)行SFLA的初始化,設(shè)置SFLA參數(shù)種群分組數(shù)m、每組青蛙包含的青蛙個(gè)數(shù)n、組內(nèi)迭代數(shù)Ne、最大步長swmax、種群總的進(jìn)化代數(shù)N′max,青蛙位置最大、最小值分別為Pmax、Pmin,循環(huán)變量ii=1。其中特意要說明的是初始化青蛙種群時(shí),將AFSA迭代后的結(jié)果,取占取青蛙種群個(gè)數(shù)的L倍賦值給青蛙種群(0N′max是不是成立,若成立則輸出參數(shù)最優(yōu)值,不然ii=ii+1執(zhí)行步驟⑧。

        3 仿真實(shí)驗(yàn)與分析

        本文采取Rastrigin函數(shù)、Griewank函數(shù)和Rosenbrock函數(shù)作為基準(zhǔn)函數(shù),這3個(gè)函數(shù)都具有數(shù)個(gè)局部最小值點(diǎn)和一個(gè)全局最小值點(diǎn),可以很好地測驗(yàn)算法規(guī)避局部極值搜索全局最優(yōu)的能力,標(biāo)準(zhǔn)測試函數(shù)如表1所示。

        3.1 參數(shù)設(shè)置與測試函數(shù)

        實(shí)驗(yàn)中主要參數(shù)設(shè)置如下:人工魚的數(shù)目fishnum=100,最多試探次數(shù)try_number=100,最大步長step=0.1,蛙跳組內(nèi)迭代次數(shù)Ne=25,種群分組數(shù)m=10。本實(shí)驗(yàn)的仿真軟件如下:Intel i3 CPU 2.40 GHz,RAM 4.00 GB,Window 2007操作系統(tǒng),MatLab2016b。

        表1 標(biāo)準(zhǔn)測試函數(shù)

        3.2 仿真結(jié)果分析

        3.2.1 固定迭代次數(shù)下算法求解精度對比 采用不同的維數(shù)d消除算法的隨機(jī)性干擾,在維數(shù)d為10和20時(shí),對每一個(gè)測試函數(shù)分別用SFLA、AFSA-SFLA各自進(jìn)行20次實(shí)驗(yàn),仿真結(jié)果如表2所示。圖2~圖7為3個(gè)基準(zhǔn)測試函數(shù)在不同維數(shù)下的優(yōu)化結(jié)果圖,其中橫軸為迭代的次數(shù),縱軸為log化的函數(shù)最優(yōu)解。

        表2 3種基準(zhǔn)測試函數(shù)仿真數(shù)據(jù)結(jié)果

        圖2 Griewank函數(shù)在d=10時(shí)的進(jìn)化曲線

        圖3 Griewank函數(shù)在d=20時(shí)的進(jìn)化曲線

        圖4 Rosenbrock函數(shù)在d=10時(shí)的進(jìn)化曲線

        圖6 Rastrigin函數(shù)在d=10時(shí)的進(jìn)化曲線

        圖7 Rastrigin函數(shù)在d=20時(shí)的進(jìn)化曲線

        由表2可以看出,當(dāng)維數(shù)d相同時(shí),AFSA-SFLA的尋優(yōu)結(jié)果優(yōu)于單獨(dú)SFLA的尋優(yōu)結(jié)果。當(dāng)維數(shù)d由10增大至20時(shí),對Griewank函數(shù),SFLA平均尋優(yōu)結(jié)果由1.106 29增大至2.256 83,增大了2.04倍,AFSA-SFLA平均尋優(yōu)結(jié)果由0.000 70增大至0.015 42,增大了22倍。當(dāng)維數(shù)d由10增大至20時(shí),對Rosenbrock函數(shù),SFLA平均尋優(yōu)結(jié)果由10.054 70增大至87.308 12,增大了8.6倍,AFSA-SFLA的平均尋優(yōu)結(jié)果由3.574 68增大至7.456 81,增大了2.08倍,說明AFSA-SFLA相對SFLA對該函數(shù)的維數(shù)適應(yīng)性更好。當(dāng)維數(shù)d由10增大至20時(shí),對Rastrigin函數(shù),SFLA平均尋優(yōu)結(jié)果由0.167 38增大至4.361 75,增大了26倍,AFSA-SFLA的平均尋優(yōu)結(jié)果由1.03×10-4,增大至0.102 65,增大了996倍,雖然AFSA-SFLA增大的倍數(shù)較大,但是AFSA-SFLA的求解精度優(yōu)于SFLA的求解精度。

        由圖2可知,對于Griewank函數(shù),SFLA在后期迭代效果比較明顯,前期迭代的效果不佳,AFSA-SFLA相對SFLA能快速地在其前期找到可行解,并于迭代70次左右收斂。由圖4和圖5可知,對于Rosenbrock函數(shù)在維數(shù)為20時(shí),SFLA的平均尋優(yōu)曲線接近直線,開始就陷入局部最優(yōu),全局尋優(yōu)能力不強(qiáng)。由圖6和7可以看出,對于Rastrigin函數(shù),AFSA-SFLA在前期尋優(yōu)結(jié)果明顯,SFLA收斂慢且平均尋優(yōu)結(jié)果遠(yuǎn)大于AFSA-SFLA的尋優(yōu)結(jié)果。

        綜合圖2~7可知,SFLA的尋優(yōu)結(jié)果要遠(yuǎn)小于AFSA-SFLA的尋優(yōu)結(jié)果,且在高緯數(shù)時(shí)更易陷入局部最優(yōu)解,而AFSA-SFLA能更快地找到全局最優(yōu)解所在的區(qū)域,迭代速度快,尋優(yōu)結(jié)果更佳。需要指出的是AFSA-SFLA前段使用AFSA,并將AFSA最后一次迭代產(chǎn)生的人工魚群按照適應(yīng)度值大小降序排列,取前一定比例賦值給青蛙種群,使得青蛙種群更接近最優(yōu)范圍,因而其收斂曲線在前期能快速的找到最優(yōu)解所在的區(qū)域,且迭代較為緩慢。

        3.2.2 指定精度下算法迭代次數(shù)對比 表3為AFSA-SFLA在指定精度下求解基準(zhǔn)函數(shù)迭代次數(shù)的對比,其中成功率是指算法達(dá)到指定求解精度的實(shí)驗(yàn)次數(shù)除以總實(shí)驗(yàn)次數(shù)20。Griewank函數(shù)、Rosenbrock函數(shù)、Rastrigin函數(shù)指定精度分別為10-1、10、10-1,最大迭代次數(shù)為300次,即算法迭代300次仍未達(dá)到指定精度時(shí),表示迭代失敗。

        表3 指定精度下算法迭代次數(shù)對比

        從表3中可以看出,在指定收斂精度下,對Griewank函數(shù)SFLA算法達(dá)到指定精度的成功率只有5%,平均迭代次數(shù)為263次,對Rosenbrock函數(shù)SFLA算法達(dá)到指定精度的成功率只有66.67%,平均迭代次數(shù)為156次,對Rastrigin函數(shù)SFLA算法未能達(dá)到指定精度,平均迭代次數(shù)為300次。AFSA-SFLA對3個(gè)基準(zhǔn)測試函數(shù)成功率均為100%,并且迭代次數(shù)比SFLA迭代次數(shù)少很多。

        以上仿真結(jié)果分析表明,在指定精度下,AFSA-SFLA的成功率、穩(wěn)定性和計(jì)算效率均比SFLA算法有一定優(yōu)勢。

        3.2.3 與他算法尋優(yōu)結(jié)果對比分析 粒子群算法(Particle Swarm Optimization, PSO)的參數(shù)設(shè)置為速度更新參數(shù)C1=1.494 45、C2=1.494 45,種群規(guī)模Spop=100,AFSA及AFSA-SFLA的參數(shù)設(shè)置同3.1小節(jié)的參數(shù)設(shè)置一樣。在d維數(shù)為10時(shí)對于每一個(gè)測試函數(shù)均采用AFSA、PSO、AFSA-SFLA各自進(jìn)展20次試驗(yàn),仿真數(shù)據(jù)如表4所示。

        由表4中的仿真數(shù)據(jù)能看出,對于Griewank函數(shù),AFSA-SFLA的平均尋優(yōu)結(jié)果為0.000 70,PSO的平均尋優(yōu)結(jié)果為0.004 01,AFSA的平均尋優(yōu)結(jié)果為0.083 99,AFSA-SFLA的平均尋優(yōu)結(jié)果是PSO的平均尋優(yōu)結(jié)果的5.74倍,是AFSA的平均尋優(yōu)結(jié)果的119.48倍;對于Rosenbrock函數(shù),AFSA-SFLA的平均尋優(yōu)結(jié)果為3.574 68,PSO的平均尋優(yōu)結(jié)果為9.659 31,AFSA的平均尋優(yōu)結(jié)果為11.326 70,AFSA-SFLA的平均尋優(yōu)結(jié)果是PSO的平均尋優(yōu)結(jié)果的2.70倍,是AFSA的平均尋優(yōu)結(jié)果的3.17倍;對于Rastrigin函數(shù)AFSA-SFLA的平均尋優(yōu)結(jié)果為1.03×104,PSO的平均尋優(yōu)結(jié)果為5.912 86,AFSA的平均尋優(yōu)結(jié)果為49.499 70,AFSA-SFLA的平均尋優(yōu)結(jié)果是PSO的平均尋優(yōu)結(jié)果的5.74×104倍,是AFSA的平均尋優(yōu)結(jié)果的4.806×105倍。由此可以看出在維數(shù)相同的情況下AFSA-SFLA的尋優(yōu)精度是最小的,尋優(yōu)能力是較強(qiáng)的。

        4 參數(shù)L值對AFSA-SFLA的影響分析

        初始化青蛙種群過程中,將AFSA最后一次產(chǎn)生的人工魚群依據(jù)適應(yīng)度值大小降序排序,取占青蛙種群個(gè)數(shù)的L倍賦值給青蛙種群,作為初始化青蛙種群的一部分,剩余青蛙種群則依照常規(guī)的方法進(jìn)行青蛙的初始化,L為采用人工魚群初始化青蛙的個(gè)數(shù)占青蛙種群總個(gè)數(shù)的比例。分析不同比例對AFSA-SFLA所帶來的影響,分別取L為0.3、0.5、0.7時(shí)對測試函數(shù)進(jìn)行優(yōu)化實(shí)驗(yàn),函數(shù)參數(shù)設(shè)定同3.1節(jié)參數(shù)設(shè)定一樣,其中d為20,每組進(jìn)行20次實(shí)驗(yàn),圖8~圖10給出了L值不同的情況下,AFSA-SFLA對測試函數(shù)的平均優(yōu)化結(jié)果。

        圖8 L取值不同時(shí)對Griewank函數(shù)的影響

        圖9 L取值不同時(shí)對Rosenbrock函數(shù)的影響

        圖10 L取值不同時(shí)對Rastrigin函數(shù)的影響

        由圖8可知,對Griewank函數(shù),L為0.5時(shí),平均尋優(yōu)優(yōu)化結(jié)果最好,且L為0.3時(shí)在迭代40次左右收斂,而L為0.5時(shí)在迭代90次左右仍有迭代的趨勢。由圖9可知:對Rosenbrock函數(shù)L為0.3時(shí)迭代效果最好,且平均尋優(yōu)結(jié)果最好。由圖10可知,對Rastrigin函數(shù)L為0.7時(shí)平均尋優(yōu)結(jié)果最好,但L為0.5時(shí)的迭代效果是較好的。由此可見應(yīng)根據(jù)不同的目標(biāo)函數(shù)選取合適的L值。

        5 結(jié) 論

        為改善SFLA前期收斂速度慢及易陷入局部最優(yōu)的問題,本文提出了一種人工魚群-蛙跳混合優(yōu)化算法。算法前期采用ASFA前期搜索速度快的優(yōu)勢,迅速找到可能的最優(yōu)解,后期切換至SFLA,初始化青蛙種群時(shí),將ASFA迭代后的結(jié)果,取一定比例賦值給青蛙種群,提高了青蛙種群的質(zhì)量。通過與ASFA、SFLA、PSO 3種算法的比較與分析驗(yàn)證了混合算法能有效的避免陷入局部最優(yōu),且優(yōu)化精度高。分析混合算法中初始青蛙種群中前期AFSA迭代結(jié)果所占的比例對混合算法的影響,結(jié)果表明:不同L值對函數(shù)的影響不同,故應(yīng)根據(jù)不同的目標(biāo)函數(shù)選擇不同的L值。

        猜你喜歡
        測試函數(shù)魚群青蛙
        魚群漩渦
        中外文摘(2017年19期)2017-10-10 08:28:41
        小青蛙捉蟲
        具有收縮因子的自適應(yīng)鴿群算法用于函數(shù)優(yōu)化問題
        誰能叫醒小青蛙?
        帶勢函數(shù)的雙調(diào)和不等式組的整體解的不存在性
        基于改進(jìn)魚群優(yōu)化支持向量機(jī)的短期風(fēng)電功率預(yù)測
        電測與儀表(2016年3期)2016-04-12 00:27:44
        基于人工魚群算法的光伏陣列多峰MPPT控制策略
        約束二進(jìn)制二次規(guī)劃測試函數(shù)的一個(gè)構(gòu)造方法
        青蛙便簽夾
        多子群并行人工魚群算法的改進(jìn)研究
        亚洲人成网77777色在线播放| 99riav精品国产| 国产精品污一区二区三区在线观看| 国产成人大片在线播放| 99精品国产丝袜在线拍国语| 国产免费午夜a无码v视频| 成人无码无遮挡很H在线播放| 亚洲综合国产精品一区二区| 欧洲美女黑人粗性暴交视频| 久久人与动人物a级毛片| av无码天一区二区一三区| 亚洲av色香蕉第一区二区三区| 日韩精品熟女中文字幕| 亚洲女初尝黑人巨高清| 亚洲免费观看网站| 热门精品一区二区三区| 极品美女一区二区三区免费| 4399理论片午午伦夜理片| 人妻在线中文字幕| 国产一区二区三区特区| 天天躁夜夜躁狠狠躁婷婷| 欧美野外疯狂做受xxxx高潮| 国产视频网站一区二区三区| 日韩一级137片内射视频播放| 五月av综合av国产av| 亚洲乱码日产精品bd在线观看| 中文字幕一区韩国三级| 久久亚洲精品国产av| 777精品久无码人妻蜜桃| 中文字幕一区二区三区乱码不卡| 国内精品嫩模av私拍在线观看| av大全亚洲一区二区三区| 欧美国产一区二区三区激情无套| 日韩av一区二区毛片| 国产成人精品久久二区二区91| 青青草国产精品一区二区| 色爱区综合激情五月综合小说| 亚洲av一二三又爽又爽又色| 婷婷色婷婷开心五月四| 白又丰满大屁股bbbbb| 久久青草国产免费观看|