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

        ?

        基于初始信息素和二次揮發(fā)的改進(jìn)蟻群算法

        2019-01-09 10:18:52何亮亮王曉東
        關(guān)鍵詞:按式蟻群螞蟻

        何亮亮,王曉東

        (西安工程大學(xué) 理學(xué)院,陜西 西安 710048)

        0 引 言

        隨著智能計(jì)算領(lǐng)域的不斷擴(kuò)大,用于解決優(yōu)化問(wèn)題的蟻群算法(ACO)[1]、螢火蟲算法(FA)[2]、粒子群算法(PSO)[3]以及蝙蝠算法(BA)[4]等群體智能算法[5]不斷涌入,這類算法為解決NP-hard問(wèn)題提供了較好的方法,其設(shè)計(jì)原理來(lái)源于對(duì)大自然中生物行為的效仿.蟻群算法作為最早的仿生物算法,一直備受專家學(xué)者關(guān)注.近些年,眾多學(xué)者對(duì)蟻群算法進(jìn)行了深入的研究,解決了旅行商問(wèn)題[6-7]、指派問(wèn)題[8]以及調(diào)度問(wèn)題[9]等.目前,針對(duì)蟻群算法的改進(jìn)已有大量的研究,張飛君等[10]提出了一種相遇螞蟻算法,一次完整的周游路徑由2只相遇螞蟻共同完成,提高了算法運(yùn)行速度以及擴(kuò)大了解的搜索空間[10];楊延慶等[11]對(duì)信息素最大最小值進(jìn)行了固定,避免了路徑上信息素的差異;HUANG M等[12]針對(duì)車輛路徑問(wèn)題引入了3-opt交換策略,初始規(guī)劃路徑得到了進(jìn)一步的優(yōu)化;張琦等[13]針對(duì)移動(dòng)機(jī)器人路徑規(guī)劃問(wèn)題,對(duì)算法局部啟發(fā)式函數(shù)進(jìn)行了調(diào)整與改進(jìn),并且在引入交叉操作的同時(shí)調(diào)整參數(shù)值;姜坤霖等[14]在輪盤賭法的基礎(chǔ)上提出了一種新的城市選擇策略,并結(jié)合提前結(jié)束任務(wù)的方法減少了算法運(yùn)行時(shí)間;朱顥東等[15]通過(guò)選擇下一節(jié)點(diǎn)轉(zhuǎn)移規(guī)則對(duì)算法進(jìn)行了改進(jìn),提高了選擇最優(yōu)路徑的概率;胡偉[16]將蟻群算法與禁忌搜索算法相結(jié)合,改進(jìn)了蟻群算法的局部搜索能力.這些算法雖然都改善了蟻群算法的缺點(diǎn),但對(duì)初始信息素分布的改進(jìn)以及信息素的二次揮發(fā)的研究還較少.由于基本蟻群算法中的初始信息素濃度為定值,螞蟻選擇下一節(jié)點(diǎn)時(shí)僅依靠路徑的長(zhǎng)度,而信息素的揮發(fā)發(fā)生在每條路徑上,降低了算法的尋優(yōu)效率,因此結(jié)果不一定最優(yōu);另外,隨著迭代次數(shù)的增加,后期路徑信息素殘余量較少,算法的尋優(yōu)能力也相應(yīng)減弱.為了改善以上2種狀況,本文對(duì)蟻群算法初始信息素的分布以及信息素的揮發(fā)因子進(jìn)行改進(jìn),提高了算法的收斂速度和后期的尋優(yōu)能力.

        1 基本蟻群算法

        蟻群算法是學(xué)者從螞蟻覓食過(guò)程受到啟示得來(lái)的一種仿生物算法.研究者發(fā)現(xiàn)螞蟻會(huì)在路徑上釋放一種信息素的激素,它會(huì)隨著時(shí)間逐漸揮發(fā),之后的螞蟻可以感覺到信息素的存在,并且沿信息素濃度較高的路徑前進(jìn),同時(shí)繼續(xù)釋放信息素,這樣越來(lái)越多的螞蟻會(huì)聚集到一條路徑上,從而形成了正反饋機(jī)制.螞蟻根據(jù)式(1)選擇未被訪問(wèn)的下一個(gè)城市,并將其添加到禁忌列表.

        (1)

        (2)

        (3)

        2 蟻群算法改進(jìn)

        2.1 初始化信息素改進(jìn)

        在基本蟻群算法中,設(shè)m為螞蟻個(gè)數(shù),n為城市數(shù)目,剛開始時(shí)的信息素量為m/cm,其中cm是由最鄰近方法構(gòu)造出來(lái)的路徑的長(zhǎng)度.在算法初始階段,信息素濃度小,螞蟻可覺察到信息素的能力相對(duì)較弱,需要經(jīng)過(guò)一段時(shí)間的摸索,才能找出一條相對(duì)較優(yōu)路徑.在這個(gè)過(guò)程中耗費(fèi)了大量的時(shí)間,降低了算法的收斂速度.為了改善這種狀況,考慮通過(guò)路徑距離重新設(shè)定初始信息素的分布,使得算法有方向地進(jìn)行搜索,以克服搜索的盲目性.對(duì)初始信息素改進(jìn)如下:

        (4)

        式中:dij為螞蟻所在城市i到城市j之間所有可能的距離,min(dij)為所有可能距離中最短路徑距離.由于城市坐標(biāo)位置固定,所以全局最小距離min(dij)不變,螞蟻所選擇的路徑dij越短,初始信息素就越大,且螞蟻是在權(quán)衡全局路徑距離dij與最短路徑min(dij)的比重之后選擇路徑,從而使得算法避免盲目搜索,節(jié)省了大量的時(shí)間.

        2.2 信息素?fù)]發(fā)因子

        在基本蟻群算法中,信息素的更新僅對(duì)較優(yōu)路徑上的信息素進(jìn)行更新,然而最優(yōu)路徑的子路徑并不總是最短路徑,同時(shí)可能存在較長(zhǎng)路徑,這樣會(huì)導(dǎo)致螞蟻從一開始就選錯(cuò)路徑,也就錯(cuò)過(guò)了最優(yōu)路徑.為了解決這一缺陷,文獻(xiàn)[17]引入了路徑貢獻(xiàn)度,見式(5).在最優(yōu)路徑中,找出對(duì)整體路徑貢獻(xiàn)度大于路徑貢獻(xiàn)度閾值的子路徑.并按式(6),(7)對(duì)這條子路徑上的信息素進(jìn)行二次更新:

        (5)

        (6)

        (7)

        在基本蟻群算法中,信息素?fù)]發(fā)因子為定值.由于每次迭代得到的較差解對(duì)最終結(jié)果沒(méi)有幫助,如果信息素的揮發(fā)在較差路徑上相對(duì)較慢,則殘留的信息素越多,就會(huì)影響算法尋找最優(yōu)解的速度,因此應(yīng)減慢較優(yōu)路徑信息素?fù)]發(fā)的速度,加快較差路徑上的信息素?fù)]發(fā)速度,所以針對(duì)文獻(xiàn)[17]中信息素的二次更新后的信息素考慮進(jìn)行二次揮發(fā),使得二次揮發(fā)系數(shù)與迭代次數(shù)平方成反比.隨著迭代次數(shù)的增加,揮發(fā)因子相應(yīng)減小,算法后期未走路徑上信息素?fù)]發(fā)速度相應(yīng)減慢,螞蟻感知到的信息素則相應(yīng)增多,一定程度上改善了算法后期尋優(yōu)能力弱的缺陷.因此對(duì)二次揮發(fā)因子改進(jìn)為

        (8)

        式中:C為以常數(shù);NC表示算法的迭代次數(shù);CDSP為路徑貢獻(xiàn)度;q0為路徑貢獻(xiàn)閾值(取常數(shù)).信息素按照式(9)進(jìn)行更新:

        τij(t+n)=(1-ρ)τij(t+n)+ρ1τij(new).

        (9)

        3 改進(jìn)的蟻群算法步驟

        Step 1:初始化蟻群算法中的參數(shù)m,α,β,η,ρ,q0、NC-max,NC=1,計(jì)算城市間的距離dij,初始信息素τij(0)按照式(4)取值;

        Step 2:將m只螞蟻放置n個(gè)城市中作為起點(diǎn),為每只螞蟻建立禁忌表tabu,計(jì)算啟發(fā)因子;

        Step 3:按照式(1)選擇下一個(gè)要訪問(wèn)的城市j,當(dāng)螞蟻到達(dá)城市j后,將j加入到禁忌表tabu中;

        Step 4:若禁忌表tabu未滿,則跳轉(zhuǎn)至Step 3;若tabu已滿,則輸出本次迭代最優(yōu)長(zhǎng)度Length-best及最優(yōu)路徑Route-best;

        Step 5:根據(jù)全局更新規(guī)則,按式(2),(3)對(duì)信息素進(jìn)行首次更新;

        Step 6:按式(5)計(jì)算路徑貢獻(xiàn)度;按式(6),(7)計(jì)算新的信息素變化量Δτij(new);按式(8)得出二次揮發(fā)因子ρ1;根據(jù)全局更新規(guī)則,按式(9)對(duì)信息素進(jìn)行二次更新;

        Step 7:若滿足迭代條件NC≥NC-max,則輸出最優(yōu)長(zhǎng)度Length-best;若不滿足條件,則NC=NC+1,返回Step 2.

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

        為了驗(yàn)證改進(jìn)蟻群算法的有效性,將基本蟻群算法與改進(jìn)后的算法通過(guò)TSPLIB中的4組數(shù)據(jù)Eil51、31個(gè)城市、Oliver30和Att48分別進(jìn)行尋優(yōu)搜索對(duì)比.運(yùn)行環(huán)境為Windows 10系統(tǒng)、Matlab 2016a軟件.2種算法的公共參數(shù):m=50,α=6,η=7,ρ=0.1,q0=0.4.在此參數(shù)下每組數(shù)據(jù)各運(yùn)行20次,運(yùn)行結(jié)果見表1,改進(jìn)前后蟻群算法對(duì)比如圖1,2所示.表1中最優(yōu)解和最差解分別為運(yùn)行20次后2種算法搜索到的最優(yōu)解中最好的1次和最差的1次,平均解表示運(yùn)行20次后2種算法搜索到的最優(yōu)解平均值.

        (a) Eil51迭代圖 (b) 31個(gè)城市迭代圖圖 1 改進(jìn)前后蟻群算法對(duì)比Fig.1 Comparison of ant colony algorithm before and after improvement

        數(shù)據(jù)算法最優(yōu)解最差解平均解平均迭代次數(shù) 31個(gè)城市基本蟻群算法16 16016 79016 25045改進(jìn)后的蟻群算法15 78816 25015 81022 Eil51基本蟻群算法467.8497.2468.322 改進(jìn)后的蟻群算法465.1496.3465.712 Oliver30基本蟻群算法434.828 6436.486 8435.439 117 改進(jìn)后的蟻群算法429.214 7435.703 9431.323 88 Att48基本蟻群算法35 768.77135 952.33235 798 62444 改進(jìn)后的蟻群算法35 137.13535 756.52335 597.56725

        從表1可以看出,在31個(gè)城市數(shù)據(jù)下,基本蟻群算法得到最優(yōu)解為16 160,而改進(jìn)后的蟻群算法的最優(yōu)解為15 788,最優(yōu)解減少了372,最差解的差值為540,平均解提升了440;在Oliver30數(shù)據(jù)下,基本蟻群算法所得到最優(yōu)解為434.828 6,而改進(jìn)后的蟻群算法的最優(yōu)解為429.214 7,最優(yōu)解減少了5.613 9,最差解的差值為0.782 9,平均解提升了4.115 3;其余2組數(shù)據(jù)的最優(yōu)解和平均解比改進(jìn)前更優(yōu),改進(jìn)后的蟻群算法尋優(yōu)能力更強(qiáng);從平均迭代次數(shù)上看,31個(gè)城市數(shù)據(jù)下迭代次數(shù)縮減了23次;Eil51數(shù)據(jù)下迭代次數(shù)縮減了10次;Oliver30數(shù)據(jù)下迭代次數(shù)縮減了9次;Att48數(shù)據(jù)下迭代次數(shù)縮減了19次.4組數(shù)據(jù)改進(jìn)前后的迭代次數(shù)均有明顯的減少,改進(jìn)后的蟻群算法收斂速度更快.

        2種算法對(duì)Eil51和31個(gè)城市的20次搜索最優(yōu)值中其中的一次迭代對(duì)比如圖1所示.從圖1(a)可以看出,基本蟻群算法的最優(yōu)解大于470,而改進(jìn)后的最優(yōu)解小于460;從圖1(b)圖中可以看出,基本蟻群算法最優(yōu)解大于16 100,而改進(jìn)后的最優(yōu)解明顯小于16 000;并且達(dá)到最優(yōu)解時(shí),改進(jìn)后的蟻群算法迭代曲線的拐點(diǎn)均在基本蟻群算法迭代曲線拐點(diǎn)前,說(shuō)明改進(jìn)后的蟻群算法較基本蟻群算法優(yōu)先跳出局部最優(yōu).

        31個(gè)城市下蟻群算法優(yōu)化路徑如圖2所示.從圖2(a)可以看出,在中國(guó)的31個(gè)城市數(shù)據(jù)下的基本蟻群算法最優(yōu)解為16 148.379 8,最優(yōu)路線為27,28,26,25,24,20,21,22,18,3,17,19,23,11,12,14,13,7,6,5,16,4,2,8,9,10,15,1,29,30,31.從圖2(b)可以看出,在中國(guó)的31個(gè)城市數(shù)據(jù)下的改進(jìn)蟻群算法的最優(yōu)解為15 989.982 1,最優(yōu)路線為:1,15,13,12,14, 11,23,16,5,6,7,2,4,8,9,10,3,18,17,19,24,25,20,21,22,26,28,27,30,31,29,1.

        (a) 基本蟻群算法路徑 (b) 改進(jìn)的蟻群算法路徑圖 2 蟻群算法優(yōu)化路徑Fig.2 Ant colony optimization path

        5 結(jié) 論

        (1) 在基本蟻群算法的基礎(chǔ)上,對(duì)初始信息素改進(jìn),在文獻(xiàn)[17]的基礎(chǔ)上建立了二次信息素?fù)]發(fā)因子,并通過(guò)MATLAB軟件在相同的參數(shù)條件下,對(duì)改進(jìn)的蟻群算法和基本蟻群算法進(jìn)行仿真.

        (2) 改進(jìn)的蟻群算法不但繼承了算法本身的優(yōu)良性,而且彌補(bǔ)了基本蟻群算法效率低、“早熟”以及后期尋優(yōu)能力差等缺點(diǎn),改進(jìn)的蟻群算法有效可行.

        猜你喜歡
        按式蟻群螞蟻
        氨法脫硫物料平衡及設(shè)備選型計(jì)算
        游戲社會(huì):狼、猞猁和蟻群
        基于自適應(yīng)蟻群的FCM聚類優(yōu)化算法研究
        基于奇異值差分譜分析和蟻群算法的小波閾值降噪
        我們會(huì)“隱身”讓螞蟻來(lái)保護(hù)自己
        螞蟻
        人造石線性熱膨脹系數(shù)的測(cè)量不確定度評(píng)定
        佛山陶瓷(2015年9期)2015-03-19 01:46:26
        螞蟻找吃的等
        厚壁圓筒自增強(qiáng)幾個(gè)關(guān)鍵問(wèn)題辨析*
        絞吸式挖泥船仿生絞刀刀齒的蟻群優(yōu)化
        国产精品激情综合久久| 亚洲熟女综合色一区二区三区| 高清偷自拍亚洲精品三区| 激情久久av一区av二区av三区| 中国精品视频一区二区三区| 青青青草视频手机在线| 蜜桃视频在线观看免费亚洲| 国产精品自在拍在线拍| 久久伊人影院| 插入中文字幕在线一区二区三区| 国产丝袜美腿在线播放| 色五月丁香五月综合五月| 国产免费午夜a无码v视频| 无码国产日韩精品一区二区| 乳乱中文字幕熟女熟妇| 胸大美女又黄的网站| 久久精品国产自清天天线| 亚洲A∨日韩Av最新在线| 熟妇人妻精品一区二区视频| 国产尤物精品视频| 国产一区日韩二区欧美三区| 国产内射视频在线播放| 久久精品国产亚洲av性瑜伽| 少妇高潮流白浆在线观看| 激情综合欧美| 少妇一区二区三区乱码| 蜜桃av噜噜一区二区三区策驰| 大陆极品少妇内射aaaaaa| 无码人妻少妇久久中文字幕蜜桃| 视频在线播放观看免费| 无码av天天av天天爽| 综合无码一区二区三区| 国产三级精品美女三级| 手机免费高清在线观看av| 亚洲精品v欧洲精品v日韩精品| 91视频香蕉| 亚洲一区二区日韩在线| 国产精品麻豆va在线播放| 熟妇人妻中文av无码| 国内自拍第一区二区三区| 亚洲免费国产中文字幕久久久 |