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