基于蟻群算法的無線傳感器網(wǎng)絡(luò)路由算法
(2)路徑搜索初始時(shí),賦予每條路徑上相等數(shù)量的初始信息素τ0,本文設(shè)置為信息素濃度下限τmin。
(3)路徑搜索開始時(shí),m只前向螞蟻從源節(jié)點(diǎn)S處出發(fā),前向螞蟻所要攜帶的信息有:源節(jié)點(diǎn)ID號(hào)、目的節(jié)點(diǎn)ID號(hào)、節(jié)點(diǎn)i到節(jié)點(diǎn)j的信息素強(qiáng)度τ(i,j)、經(jīng)過節(jié)點(diǎn)的剩余能量的總和以及當(dāng)前總跳數(shù)。
(4)位于節(jié)點(diǎn)i的前向螞蟻k,依據(jù)轉(zhuǎn)移規(guī)則從相鄰的下一跳節(jié)點(diǎn)集合中選擇一個(gè)節(jié)點(diǎn),并根據(jù)式(5)、式(6)更新路徑上信息素強(qiáng)度。
(5)當(dāng)中間節(jié)點(diǎn)j收到來自鄰居節(jié)點(diǎn)的螞蟻節(jié)點(diǎn)時(shí):①更新前向螞蟻搜索包跳數(shù)h(i)=h(i)+1,i∈[1,m]。如果前向螞蟻沒有到達(dá)目的節(jié)點(diǎn),且h
(6)當(dāng)每個(gè)前向螞蟻到達(dá)目的節(jié)點(diǎn)時(shí),它們將立即轉(zhuǎn)化成一個(gè)后向螞蟻,并且它將沿著反向信息素表回到源節(jié)點(diǎn)。中間節(jié)點(diǎn)收到后向螞蟻數(shù)據(jù)包時(shí),按照式(5)、式(7)將更新相鄰節(jié)點(diǎn)信息素強(qiáng)度,并建立到目的節(jié)點(diǎn)的路由表,路由表是一個(gè)三元組包括:目的節(jié)點(diǎn)、下一個(gè)節(jié)點(diǎn)、信息素。
(7)后向螞蟻到達(dá)源節(jié)點(diǎn)后路由建立完畢。
2.5 網(wǎng)絡(luò)的維護(hù)
在無線傳感器網(wǎng)絡(luò)中,節(jié)點(diǎn)的故障和能量的耗盡都將導(dǎo)致網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化,這使得路由維護(hù)顯得十分重要。路由斷路和節(jié)點(diǎn)能量的消耗是路由維護(hù)中必須解決的兩個(gè)關(guān)鍵問題。
(1)路由斷路。
當(dāng)中間節(jié)點(diǎn)發(fā)現(xiàn)路徑不通或收到路由斷路的消息后,它首先根據(jù)斷路的路徑信息刪除自己對(duì)應(yīng)的路由表?xiàng)l目,然后查詢可能性路由表?xiàng)l目,看是否能找到到達(dá)同一目的地的其他路徑。如果有,則根據(jù)路由表中信息素最大的條目作為最優(yōu)的路徑進(jìn)行通信;
如果沒有到達(dá)對(duì)應(yīng)目的地的可選路徑后,即向其他節(jié)點(diǎn)繼續(xù)發(fā)送路由斷路消息。當(dāng)源節(jié)點(diǎn)在通信完成前收到路由斷路消息后,如果沒有到目的地的其他路徑,則將發(fā)起新的路徑探索過程,直到通信完成。
(2)節(jié)點(diǎn)能量的消耗。
為了不頻繁地重建路由表,節(jié)省能量,MP-ACA算法根據(jù)每個(gè)節(jié)電的剩余能量自動(dòng)更新路由表,這樣就使得節(jié)點(diǎn)的能耗盡可能保持平衡。節(jié)點(diǎn)能量每下降10%,節(jié)點(diǎn)就會(huì)向周圍節(jié)點(diǎn)廣播自己的剩余能量,收到廣播的節(jié)點(diǎn)用式(8)更新路由表:
為了分析改進(jìn)方案的性能,這里選用了以下2個(gè)典型參數(shù):(1)接收到數(shù)據(jù)包的平均時(shí)延(EndtoEndAverageDelay),單位為s;(2)能量不為零的節(jié)點(diǎn)數(shù)目(NumberofNodes)。
3.1 接收到數(shù)據(jù)包的平均延時(shí)
圖1反映了三種算法網(wǎng)絡(luò)傳輸數(shù)據(jù)的平均傳輸延時(shí)隨時(shí)間的變化關(guān)系。由圖可知,各算法的時(shí)延呈現(xiàn)先降后增的趨勢,主要是由于網(wǎng)絡(luò)剛建立時(shí),節(jié)點(diǎn)需要建立路由表,然后時(shí)延呈下降趨勢。網(wǎng)絡(luò)運(yùn)行一段時(shí)間后,由于網(wǎng)絡(luò)中部分節(jié)點(diǎn)死亡,導(dǎo)致路由的重建,致使時(shí)延呈上升趨勢。
總的來說,MP-ACA的平均傳輸延時(shí)要小于MACO和ACA的平均傳輸延遲,主要是因?yàn)樵贛ACO和ACA其路由是通過多次迭代而建立起來的,需要的時(shí)間長,從而增加了網(wǎng)絡(luò)延時(shí)。
評(píng)論