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