基于蚁群算法的LEACH协议优化方法与流程

文档序号:11207683阅读:844来源:国知局

技术领域:

本发明涉及一种基于蚁群算法的leach协议优化方法。



背景技术:

无线传感器网络(wirelesssensornetwork,wsn)是由大量具有特定功能的传感器节点构成的具有数据采集、检测、感知和控制的自组织测控网络系统,是一种全新的信息获取和处理技术,被广泛用于军事、医学和工农业等众多领域。无线传感器网络是由电池提供的,因此在能量有限的约束条件下,降低节点的能量消耗,延长网络的生命周期和网络传输的可靠性、可扩展性是研究和应用无线传感器网络的热点。

在无线传感器网络中,leach(low-energyadap-tiveclusteringhierarchyprotocol,leachprotocol)协议是第一个基于多簇结构的层次路由协议,其后很多的层次协议,如teen、pegasis等大多都是在其基础上发展起来的,它是目前应用较广泛、较成熟的一种无线传感器网络路由协议。它的基本思想是通过对簇头进行等概率的随机循环选择,将整个网络的能量负载平均分配到每个节点,从而达到降低网络能量消耗、延长网络生命周期的目的。但是,随机簇头的选择易造成网络内节点能量损耗不均,缩短

网络生命周期,使得网络生存期的后期形成监控盲点,影响网络的整体性能。

本文在leach的基础上提出了一种基于蚁群算法的算法,该算法通过环状模型控制的节点间距离与路径信息素的相互作用来选择最优路径,该算法与leach算法相比,在降低能耗,提高网络生命周期方面有更好的性能。



技术实现要素:

本发明的目的是提供一种基于蚁群算法的leach协议优化方法。

上述的目的通过以下的技术方案实现:

基于蚁群算法的leach协议优化方法,通过以下步骤实现:

步骤一、初始化阶段,sink节点获取传感器网络的网络拓扑和网络能量,创造簇建立所需的条件;

步骤二、根据预先划分的区域建立簇,将能量较大的节点作为簇头,相邻的簇头之间进行信息交流,更新路由表,计算信息度浓度,簇内节点采用单跳的方式与簇头通信;

步骤三、簇头完成数据融合,去除冗余数据,减少通讯业务量,建立簇间路由,通过选择下一跳簇头完成簇间路由,将数据发送给sink节点;

步骤四、从簇头节点按搜索角度发出m只人工蚂蚁,每只人工蚂蚁携带包括此节点的剩余能量和id的数据包,人工蚂蚁分布在搜索角度范围内的边界节点上;

步骤五、人工蚂蚁按转移概率以及环状模型限定的距离相结合的方法寻找下一跳节点,当人工蚂蚁到达非汇聚节点且按照规则无法移动时,则回退到前一节点重新搜索,并将已经搜索过的节点放入第k只蚂蚁的禁忌表中;

步骤六、人工蚂蚁在1跳内就找到汇聚节点,该人工蚂蚁不再参与以后的搜索;

步骤七、人工蚂蚁到达汇聚节点后得到一个路径评价值,然后根据路径评价和信息素浓度更新规则更新路径上的信息素浓度;

步骤八、直到当前人工蚂蚁搜索到的节点是汇聚节点时,则完成单次搜索;

步骤九,若迭代次数内,相邻3次搜索的路径相同或者到达迭代次数的最大值,则完成搜索

有益效果:

1.本发明的协议具有能量消耗增长速度慢的优点,且大约可降低12.5%的能量消耗。这是因为在无线传感器网络中,能量的主要消耗是节点发送数据消耗的能量,而不是数据的融合,相比现有的lfach和leach-c算法,簇首通过单跳的方式将数据直接发送给sink节点,当簇首距离sink节点距离较远时,能量的消耗更加明显,而本发明改进后的算法将单跳的数据传输方式改为多跳形式,使网络中能量的消耗更加均衡,延长了能连过的消耗时间,从而盐城了网络的生命周期。

本发明根据无线传感器网络的特点,运用分簇算法的思想,提出了将蚁群算法医用于无线传感器网络的路由选择。本发卖给你方法是可以运用到分簇路由选择中的,并且算法中考虑到了节点剩余能量以及路径的长度,因而使得算法有了更好地鲁棒性和可扩性。

具体实施方式:

具体实施方式一:

本实施方式的基于蚁群算法的leach协议优化方法,基于蚁群算法的leach协议优化方法通过以下步骤实现:

步骤一、初始化阶段,sink节点获取传感器网络的网络拓扑和网络能量,创造簇建立所需的条件;

步骤二、根据预先划分的区域建立簇,将能量较大的节点作为簇头,相邻的簇头之间进行信息交流,更新路由表,计算信息度浓度,簇内节点采用单跳的方式与簇头通信,降低了系统的能量消耗,同时减少了传输延迟;

步骤三、簇头完成数据融合,去除冗余数据,减少通讯业务量,建立簇间路由,通过选择下一跳簇头完成簇间路由,将数据发送给sink节点;

步骤四、从簇头节点按搜索角度发出m只人工蚂蚁,每只人工蚂蚁携带包括此节点的剩余能量和id的数据包,人工蚂蚁分布在搜索角度范围内的边界节点上;

步骤五、人工蚂蚁按转移概率以及环状模型限定的距离相结合的方法寻找下一跳节点,当人工蚂蚁到达非汇聚节点且按照规则无法移动时,则回退到前一节点重新搜索,并将已经搜索过的节点放入第k只蚂蚁的禁忌表中;

步骤六、人工蚂蚁在1跳内就找到汇聚节点,该人工蚂蚁不再参与以后的搜索;

步骤七、人工蚂蚁到达汇聚节点后得到一个路径评价值,然后根据路径评价和信息素浓度更新规则更新路径上的信息素浓度;

步骤八、直到当前人工蚂蚁搜索到的节点是汇聚节点时,则完成单次搜索;

步骤九,若迭代次数内,相邻3次搜索的路径相同或者到达迭代次数的最大值,则完成搜索。

具体实施方式二:

与具体实施方式一不同的是,本实施方式的基于蚁群算法的leach协议优化方法,步骤二所述的根据预先划分的区域建立簇的过程具体为:在簇的建立阶段,各节点根据自身产生的随机数来自主决定是否选为簇头,并广播通知整个网络,在第一轮选择过程中,将整个网络按照簇头数目划分为若干区域,在每个区域中选出簇头,保证簇头产生的均衡性,从第二轮开始,考虑节点当前能量这一因素,设定一个阈值tn)1,选出第二轮的簇头,阈值tn)1定义为:;其中:ecurrent为节点当前的剩余能量,etotal为为节点的总能量,在数据传输阶段簇内的节点持续的采集数据,并将采集的数据传送给簇头,由簇头完成数据的融合,数据的传输通过蚁群算法寻找最优路径的方式通信。

簇头节点在选择下一跳节点传输数据的过程中,必然要对整个网络进行搜索、遍历,这样会造成能量的消耗,因此为了避免这种不必要的消耗,本文中定义了搜索角度这样一个概念。

具体实施方式三:

与具体实施方式一或二不同的是,本实施方式的基于蚁群算法的leach协议优化方法,步骤四所述的搜索角度具体是指:搜索角度是将簇头节点与其周围的任意两个簇头节点的连线作为角平分线,搜索角度就是为节点的遍历限定一个范围,只有在搜索角度内的节点才是下一条的可能。

具体实施方式四:

与具体实施方式三不同的是,本实施方式的基于蚁群算法的leach协议优化方法,步骤五所述的转移概率以及环状模型分别为:

蚂蚁在i节点选择j节点的转移概率为:;其中,allowedk={c-tabuk},表示蚂蚁k下一步允许选择的节点,反映了蚂蚁在运动过程中所积累的信息在蚂蚁运动时所起的作用,其值越大,则该蚂蚁倾向于选择其他蚂蚁经过的路径,蚂蚁之间的协作越强,β为期望启发式因子,表示能见度的重要性,反映了蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重视程度,其值越大,该状态转移概率越接近于贪心规则,dij表示两个节点之间的距离;

环形模型用来控制节点的传输距离,整个网络是一个半径为r的区域,将其按照相同的半径划分为若干个同心圆,每个环的宽度为d,第i个环用ei来表示环ei表示距离汇聚点在(i-1)与i个单位传输距离之间的所有节点。

具体实施方式五:

与具体实施方式一、二或四不同的是,本实施方式的基于蚁群算法的leach协议优化方法,步骤七所述的信息素浓度更新规则具体为:

在一轮搜索结束后,路径上的信息素浓度更新规则为:

若第k只蚂蚁在本次循环中经过(i,j),则

否则;其中,ρ表示信息素挥发系数,则1-ρ表示信息素残留因子,为了防止信息的无限累积,ρ的取值范围为:ρ∈[0,1);表示本次循环中路径(tt+1)上的信息素增量,初始时刻表示第k只蚂蚁在本次循环中留在路径(tt+1)上的信息量,q表示信息素强度,它在一定强度上影响算法收敛度,lk表示k只蚂蚁在本次循环中所走的路径总长度。

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