基于蟻群算法的無線傳感器網絡路由算法
2.2 前向螞蟻轉移規則
為了均衡網絡中節點的能量消耗,MP-ACA算法在蟻群算法的基礎上,新加入兩節點間的剩余能量因子改進前向螞蟻轉移規則。改進后的算法在螞蟻尋找最短路徑的同時受到了節點能量消耗的限制。MP-ACA算法中處于節點i的螞蟻k選擇下一節點j進行訪問的概率pkij使用以下公式確定:
式中,W(j)是節點j的剩余能量;JK(i)代表了位于節點i的前向螞蟻k允許訪問的鄰居節點集合。在這里定義滿足以下兩個要求的節點j將會屬于JK(i):(1)節點j還未被螞蟻k訪問;(2)節點j比前一節點i距離目的節點更近,且距離源節點更遠。
MP-ACA算法采用改進的轉移規則,簡化了MACO算法使得MP-ACA更適用于無線傳感器網絡。同時前向螞蟻在尋找路徑的同時受到了節點能量消耗的限制,平衡了節點的能量消耗。
2.3 信息素更新規則
如果節點i,j是前向螞蟻k選擇路徑上的相鄰節點,當每個前向螞蟻到達目的節點時,它們將通過式(5)、式(6)來調節。對前向螞蟻到達目的節點后立即轉化成一個后向螞蟻,并且它將沿著反向信息素表回到源節點。中間節點收到后向螞蟻時,將按照式(5)、式(7)更新相鄰節點信息素強度。
MP-ACA算法改進了MACO算法信息素更新規則,可以加快搜索路徑的速度,提高網絡數據傳輸的實時性,同時更進一步平衡了網絡節點的能量消耗。
2.4 MP-ACA算法步驟
(1)初始化時,Sink節點跳數設置為0,其他節點跳數設置為100。Sink節點在全網范圍內廣播跳數廣播報文,該報文包括數據包類型、距Sink節點跳數、剩余能量和源地址。該報文初始值為:跳數為0,源地址為0。中間節點收到該報文后,保存報文中節點的地址、跳數和能量狀態。
如果收到的報文中跳數小于節點自身的跳數,則將自身的跳數設置為報文中的跳數加1,并轉發自己新的跳數信息和能量信息的報文,否則不廣播。節點在轉發該報文的過程中收集、存儲鄰居節點相關信息,最終在全網內建立了到Sink節點的跳數信息。
評論