基于蚁群算法的无线传感器网络路由算法
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节点的跳数信息。
评论