基于蚁群算法的无线传感网络路由方法与流程

文档序号:11139751阅读:1105来源:国知局
基于蚁群算法的无线传感网络路由方法与制造工艺

本发明属于无线传感网络技术领域,具体涉及一种数据传输效率高、网络能量消耗均衡、网络寿命长的基于蚁群算法的无线传感网络路由方法。



背景技术:

无线传感网络是由大量低成本低功耗的传感器以自组织和多跳的方式构成的无线网络,具有大规模、自组织、可靠性、以数据为中心等特点。无线传感网络综合了传感器技术、通信技术、嵌入式技术和分布式信息处理技术,能够协作的感知、采集、处理网络覆盖区域内对象的信息。其在军事、环境监测、医疗健康、智能家居等领域有着广泛的应用前景。

无线传感网络路由协议的目的是将分组数据从源节点发送到目的节点,即需要完成两大内容:选择合适的优化路径,和沿着选定的优化路径正确的转发数据。通常,传统的无线传感网络或Ad hoc网络为提高服务质量QoS提出多种路由协议,常见的路由协议如基于聚簇的LEACH协议、以数据为中心的SPIN协议、基于地理位置的GPSR协议等,这些路由协议往往旨在追求端到端的延迟最小、网络利用率最高等,而无线传感网络自身多跳路由、动态拓扑的特点使得路由的能量消耗和开销很大。

由于无线传感网络节点能量有限的特点,对路由协议的设计具有极大的挑战。将蚁群算法应用于无线传感网络路由方法中,利用蚁群算法的自组织、自动寻优、个体简单而群体智能的特点均衡网络负载,延长网络寿命。

然而,现有基于基本蚁群算法的无线传感网络路由方法仍然存在如下不足:前向蚂蚁和后向蚂蚁定义相同的数据结构导致数据传输效率不够高;网络节点的数量众多、不必要的路径搜索导致能量消耗不够均衡;剩余能量较小的节点由于过多的转发导致网络寿命不够长。



技术实现要素:

本发明的目的在于提出一种基于蚁群算法的无线传感网络路由方法,数据传输效率高、网络能量消耗均衡、网络寿命更长。

实现本发明目的的技术方案为:

一种基于蚁群算法的无线传感网络路由方法,包括如下步骤:

(10)网络初始化:将无线传感网络划分为多个大小相等的正方形网格,sink节点在全网范围内广播报文及跳数,并对路由中的前向蚂蚁和后向蚂蚁定义不同的报文结构,将蚂蚁在路径搜索过程中释放的信息素初始浓度设为0;

(20)路径搜索:前向蚂蚁从源节点出发,向下一节点运动,下一节点的位置,根据概率选择公式确定,确定启发信息的重要程度的值;

(30)信息素值确定:确定前向蚂蚁在经过某路径时释放的信息素值;

(40)路由建立:根据信息素挥发机制,对路径上的信息素进行迭代搜索,在前向蚂蚁到达目标节点后,确定后向蚂蚁在返回源节点时路径上的信息素值,后向蚂蚁沿着反向信息素表返回源节点,路由建立成功;

(50)数据传输:各节点获得其邻居节点到sink节点的路由情况,同时通过信息素广播机制定期广播各个节点的邻居节点的路由表信息,并进行数据传输。

本发明与现有技术相比,其显著优点在于:

1、数据传输效率高:通过设计前向蚂蚁和后向蚂蚁不同的报文结构来提高传输效率;

2、网络能量消耗均衡:在前向蚂蚁的报文结构设计中增加禁忌表,大大避免回路的产生;

3、网络寿命长:在确定概率选择公式中,考虑各邻居节点剩余能量的大小,达到均衡网络能量消耗、延长网络寿命的目的。

附图说明

图1是本发明基于蚁群算法的无线传感网络路由方法的主流程图。

图2是前向蚂蚁报文结构示例。

图3是后向蚂蚁报文结构示例。

图4是是节点分布的仿真场景示意图。

图5是本发明方法法与现有技术方法的性能比较表。

具体实施方式

如图1所示,本发明基于蚁群算法的无线传感网络路由方法,其包括如下步骤:

(10)网络初始化:将无线传感网络划分为多个大小相等的正方形网格,sink节点在全网范围内广播报文及跳数,并对路由中的前向蚂蚁和后向蚂蚁定义不同的报文结构,将蚂蚁在路径搜索过程中释放的信息素初始浓度设为0;

所述(10)网络初始化步骤中,

所述前向蚂蚁报文结构如图2所示,包括:源节点地址、各邻居节点的剩余能量、信息素强度、避免回路的禁忌表、节点跳数,所述避免回路的禁忌表用于记录所经过的路径,避免回路的产生;

所述后向蚂蚁报文结构如图3所示,包括:信息素的更新值、后向蚂蚁的目的节点地址、后向蚂蚁距离Sink节点的路径长度。

(20)路径搜索:前向蚂蚁从源节点出发,向下一节点运动,下一节点的位置,根据概率选择公式确定,确定启发信息的重要程度的值;

所述(20)路径搜索步骤中,下一节点j的位置根据如下概率选择公式确定:

式中,表示蚂蚁k由节点i转移到节点j的概率,k=1,2,3,···,m,ε(i,j)k表示节点i到节点j的信息素强度与剩余能量的相对大小的运算因子,β为启发信息的重要程度,

其中,τ(i,j)表示节点i到j的信息素强度,E(j)表示下一个节点j的剩余能量,表示邻近节点的剩余能量的总和;

η(i,j)=1/di,j (3),

di,j表示节点i到节点j的距离;Jk(i)表示邻居节点位置的集合。

(30)信息素值确定:确定前向蚂蚁在经过某路径时释放的信息素值;

所述(30)信息素更新步骤中,前向蚂蚁在经过路径l时,信息素强度的值为:

τ(i,j)=1/Pl (4),

所述的Pl表示经过传输路径l的总代价,路径l为蚂蚁所经过的路径。

(40)路由建立:根据信息素挥发机制,对路径上的信息素进行迭代搜索,在前向蚂蚁到达目标节点后,确定后向蚂蚁在返回源节点时路径上的信息素值,后向蚂蚁沿着反向信息素表返回源节点,路由建立成功;

所述(40)路由建立步骤中,根据信息素挥发机制,后向蚂蚁返回源节点时的信息素值为:

τ(i,j)(t+Δt)=(1-ρ)τ(i,j)(t)+∑kτ(i,j)(k) (5),

所述的ρ为信息素挥发参数,ρ∈(0,1),所述的τ(i,j)(k)表示在时间间隔Δt内第k只蚂蚁经过路径l释放的信息素。

在此步骤(30)、(40)中引入信息素挥发机制避免因信息素浓度相差太大,出现系统停滞状态,陷入局部最优的情况,所以设定ρ的取值范围为0<ρ<1,ρ为信息素挥发参数,但是当值过大时,信息素的挥发速率太快,会使以前已经搜索过的路径被再次选择的可能性增大;而当值过小时,虽然可以提高全局搜索能力,但算法的收敛性便降低了,所以应该选择合适的ρ值。公式(5)中τ(i,j)(k)是在Δt时间间隔内第k只蚂蚁经过路径l释放的信息素值。

(50)数据传输:各节点获得其邻居节点到sink节点的路由情况,同时通过信息素广播机制定期广播各个节点的邻居节点的路由表信息,并进行数据传输。

经过多次迭代之后,各个节点已经获得从源节点到目的节点的路由信息情况,已经可以选择出最优路径进行数据传输。

路径搜寻的具体过程为:

在初始阶段,赋予每条路经上的信息素强度为0,前向蚂蚁从源节点出发,根据公式(1)概率选择公式选择下一个节点j,并根据公式(5)更新挥发机制后路径上的信息素强度;当中间节点j收到来自邻居节点的蚂蚁节点时,检·查是否已经收到比该蚂蚁节点更合适的节点,若是则丢弃;若不是,则代替原来的蚂蚁节点,并将跳数加1;依次进行迭代搜索路径,当前向蚂蚁到达目的节点后,立即转化为后向蚂蚁,并沿着反向信息素强度表回到源节点。

最后,对本发明基于蚁群算法(Ant Colony Routing Optimization of Wireless Sensor Network,ACROWSN)的无线传感网络路由方法进行测试,如图3所示为节点分布的仿真场景,图中标明了源节点和Sink节点的位置,传感器节点随机部署在正方形的网格交点上。通过随机部署的传感器节点可能比较均匀的分布在区域中,也可能不太均匀的分布在区域中,从而距离Sink节点较远的传感器节点能量的消耗而失效,所以在设计算法时更要将能量消耗考虑其中。

在如图4的仿真场景中,取参数β=4.5,ρ=0.5,节点数目设置为20个,仿真次数为20次,初始能量为100J,图5为ACROWSN算法与BACA算法的性能比较图。从图5中可以清晰看出,当时间呈递增趋势时,ACROWSN算法比BACA算法的节点减少速率更平缓且更少,BACA算法由于没有考虑节点剩余能量的情况,造成节点能耗的不均衡而过早失效;由于BACA算法需要通过多次迭代运算建立完成,增加了网络时延,所以ACROWSN算法的平均网络时延要小于BACA算法的平均网络时延;因为ACROWSN算法通过概率选择公式选择下一个节点,很大程度上减少了各节点能量的消耗,所以ACROWSN算法的节点剩余能量要比BACA算法的剩余能量多。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1