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