全局能量均衡的智能化无线传感网路由算法的制作方法

文档序号:7967418阅读:150来源:国知局
专利名称:全局能量均衡的智能化无线传感网路由算法的制作方法
技术领域
本发明涉及一种无线传感网路由算法,特别是一种全局能量均衡的智能化无线传感网路由算法。
背景技术
无线传感网作为一种新兴的技术,凭借着其自组织、多点协作监测以及其他传统网络所不具备的特点,极大的增强了人们信息获取的能力,越来越受到人们的重视,有着非常重要的应用前景。在无线传感网中,能量消耗是一个非常重要的问题。无线传感网的一个非常重要的研究热点就是如何节省能量,延长网络生存时间。有关研究表明,无线发送是无线传感网中最消耗能量的部分。路由技术作为无线传感网的关键技术之一,直接影响数据在转发过程中需要转发的次数,也即需要无线发送的次数,对网络的能量消耗起着非常重要的作用。
无线传感网采用多跳无线通信技术,各节点将采集到的数据利用多跳接力的方式发至汇聚节点,这必将导致内层节点承担的数据发送量较重,能量消耗过快。如果节点在选择路由时,不考虑下跳节点的能量消耗情况,某些关键节点将因过重的负载流量而能量耗尽,最终导致网络被切割成几个孤立的小岛,有效覆盖面积降低。因此,在无线传感网的路由协议研究中,人们提出了能量路由,其基本思想是在路由的选择时要结合节点的能量信息,使得节点的能量消耗能够均衡,延长网络连通正常工作的时间。

发明内容
本发明的目的在于提供一种全局能量均衡的智能化无线传感网路由算法。能够有效的均衡无线传感网中节点的能量消耗,延长网络的生存时间。
为达到上述发明目的,本发明的构思是本发明将结合蚁群算法以及模拟退火算法来实现,提出一种新的无线传感网全局能量均衡路由算法。
蚁群算法是模拟蚁群寻食过程的一种群体智能算法。蚂蚁群在觅食过程中,通过之前蚂蚁在路径上的留下的信息素的强弱来选择路径。在短路径上的蚂蚁经过的多,信息素强,就有更多的蚂蚁采用该路径。可见,蚁群算法是通过单个蚂蚁之间的相互合作,来发现路由的。这与无线传感网的自组织性非常相似。因此,蚁群算法用于无线传感网路由发现有先天的优势。
模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。
本发明采用蚁群算法以及模拟退火算法,结合系统能量熵的概念,模拟自然界蚂蚁群觅食的过程在无线传感网中寻找路由,同时模拟金属退火现象,经过迭代使得能够使系统能量熵最大,也即全局节点能量消耗最平衡的路由保留下来。同时本发明算法采用了仿生计算中的蚁群算法,算法具有自组织性,节点间可以通过个体的单个的简单交流使得群体间达到复杂的最优,非常符合无线传感网的特点。本发明算法较为简单易于实现,可用于各种以数据为中心的无线传感网应用场合,具有较大的社会效应和经济效应。
在我们提出的全局能量均衡算法中,应用了蚁群算法以及模拟退火算法的思想。
首先,各个节点在路由建立准备阶段时,由汇聚节点发起,并建立在节点发起准备过程,通过携带到达距离汇聚节点跳数的HELLO包的发送,使得网络中每个节点可以知道自己到达汇聚节点的跳数,同时可以构建出邻居表,并初始化表中节点的初始信息素等相关信息。接着,节点发出路由探测包(即前向蚂蚁),该蚂蚁包将会根据信息素的强弱来选择下跳地址,当前向蚂蚁包到了汇聚节点后,汇聚节点将根据模拟退火算法思想,结合网络中已有路由计算系统能量熵以决定是否接纳该路由,并由后向蚂蚁通知源节点以及中间节点,节点根据后向蚂蚁包修改信息素。
根据上述发明构思,本发明采用下述技术方案一种全局能量均衡的智能化无线传感网路由算法,其特征在干采用蚁群算法及模拟退火算法,结合系统能量熵的概念,模拟自然界蚂蚁群觅食的过程,在无线传感网中寻找路由,同时模拟金属退火现象,经过迭代使得能够使系统能量熵最大,即全局节点能量消耗最平衡的路由保留下来;具体步骤如下(1)由汇聚节点开始发送HELLO包,以使得网络中各个节点能够知道自己到汇聚节点的最小跳数,并维持邻居表;(2)各个节点发出蚂蚁包,并根据邻居表中邻居节点到汇聚节点的跳数选取下跳地址;(3)蚂蚁包到达汇聚节点后,由汇聚节点按照模拟退火算法计算该蚂蚁包携带的路由是否能使系统全局能量得以均衡;(4)并发出后向蚂蚁包指示节点是否接受该路由,节点根据后向蚂蚁包指示设置自己路由。
上述的步骤(1)中,汇聚节点发送HELLO包使得各个节点能够得知其自身到汇聚节点的跳数的步骤是(a)由Sink点发起节点跳数建立;(b)在Sink点周围一跳范围内的节点假定为K,最先得知自己的邻接节点表中有Sink点,则将自己的跳数计为1,并且向邻接节点表中的其他节点发送自己的跳数信息;(c)邻接节点K+1收到消息,将邻接节点表中K节点的跳数写为1,并且进行判断,选取邻接节点表中跳数最小的节点加1作为自己的跳数,并且向邻接节点表中除了最小跳数节点之外的邻接节点发送自己的跳数信息;这样从汇聚节点开始的网络中连通的节点都会得到自身到汇聚节点的跳数。
上述的步骤(2)中,节点发出蚂蚁包在邻居节点中选取下跳节点过程是每个节点保存邻居节点蚂蚁包经过的信息素,每个节点将邻接节点链路的信息素置为1,生成当前节点的蚂蚁包,蚂蚁包中包含起止点的编号,地址信息,以及经过的路径表,并将出发节点写入蚂蚁包的经过路径表;蚂蚁包所在当前节点从邻接节点表挑选出一批跳数最小的节点作为候选的下一跳节点;按照p(m)=1/information(m,k)计算出候选节点的选择概率,并且选择概率最大的节点作为下一跳节点发送蚂蚁包,如果有相同概率的节点则从这些节点中随机的选择一个作为下一跳节点发送蚂蚁包。
上述的步骤(3)中,汇聚节点按照模拟退火算法计算该蚂蚁包携带的路由是否能使系统全局能量得以均衡即能量熵的步骤是(a)Sink点接受到每个节点的蚂蚁包;(b)根据蚂蚁包中的路径表统计出每个节点有多少蚂蚁包发出,假定共有m个节点,每个节点发出蚂蚁包的数量是f(m),代表了每个节点的能量消耗;(c)根据F=Σn≤mn=0f(m)]]>计算出总的发送量,根据I(m)=f(m)F]]>计算出每个节点在系统中所占的发送比,最后根据E(x)=-Σn≤mn=0I(m)*lnI(m)]]>计算出采取该路由的系统能量熵值;设定Tmax,Tmin,Imax;●当T>Tmin计算ΔE=E(x)-E(x+1),当i<Imax;根据p=exp(-ΔET)....ΔE>0;1.....................ΔE≤0;]]>计算出接受概率,当ΔE≤0时,E(x)=E(x+1);ΔE>0时,随机产生一个c∈
,当p>c时E(x)=E(x+1),i=i+1;i>Imax时i=i+1;T=T-1;●当T=Tmin结束,计算ΔE=E(x)-E(x+1),当i<Imax;根据p=exp(-ΔET)....ΔE>0;1...................ΔE≤0;]]>计算出接受概率,当ΔE≤0时,E(x)=E(x+1);ΔE>0时,随机产生一个c∈
,当p>c时E(x)=E(x+1)(d)接收E(x)=E(x+1)时,Sink点根据每个节点的蚂蚁包产生后向蚂蚁包。在T!=Tmin时在后向蚂蚁包中要求节点发送新的蚂蚁包,不然则认为路由建立完毕。
上述的步骤(4)中,汇聚节点发送后向蚂蚁包的步骤是(a)节点收到自己的后向蚂蚁包,将后向蚂蚁包中的邻接链路信息更新,information(m,k)=information(m,k)+1;(b)选择后向蚂蚁包中的节点做为下一跳;同时根据后向蚂蚁包中信息判断是否发送新的蚂蚁包;(d)当不需要发送时,则路由建立完毕。
本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著优点本发明的无线传感网路由算法采用全局能量均衡算法,能够全局平衡网络节点间的能量消耗,避免由于关键节点的过早死亡网络而分隔成很多孤岛,延长网络的生存时间。本发明在选择路由时利用蚁群算法的优点,使用模拟退火算法实现系统全局能量的均衡优化,符合无线传感网的特点,算法较为简单,易于实现,可用于种各以数据为中心的无线传感网应用场合,具有较大的社会效应和经济效应。


图1是由汇聚节点发起准备阶段示意图。
图2是节点蚂蚁包选择下跳地址示意图。
图3是节点根据反向蚂蚁。
图4是系统算法流程图。
图5是无线传感网结构示意图。
具体实施例方式
本发明的一个优选实施例结合附图详述如下
在本实施例中,在选择路由时利用蚁群算法的优点,而使用模拟退火算法思想来实现对系统全局能量的均衡优化。
具体算法如下所示1.路由建立准备阶段由Sink点发起节点跳数建立;在Sink点周围一跳范围内的节点(假定为K)最先得知自己的邻接节点表中有Sink点,则将自己的跳数计为1,并且向邻接节点表中的其他节点发送自己的跳数信息。邻接节点K+1收到消息,将邻接节点表中K节点的跳数写为1,并且进行判断,选取邻接节点表中跳数最小的节点加1作为自己的跳数,并且向邻接节点表中除了最小跳数节点之外的邻接节点发送自己的跳数信息。直至网内每个节点知道自己的跳数,和邻接节点的跳数。
2.路由建立阶段(1)每个节点将邻接节点链路的信息素置为1,生成当前节点的蚂蚁包,蚂蚁包中包含起止点的编号,地址信息,以及经过的路径表,并将出发节点写入蚂蚁包的经过路径表。
(2)蚂蚁包所在当前节点从邻接节点表挑选出一批跳数最小的节点作为候选的下一跳节点;按照p(m)=1/information(m,k)计算出候选节点的选择概率,并且选择概率最大的节点作为下一跳节点发送蚂蚁包,如果有相同概率的节点则从这些节点中随机的选择一个作为下一跳节点发送蚂蚁包。
(3)节点(Sink点除外)受到蚂蚁包按照(2)的规则进行蚂蚁包的转发。
(4)Sink点接受到每个节点的蚂蚁包;根据蚂蚁包中的路径表统计出每个节点有多少蚂蚁包发出,假定共有m个节点,每个节点发出蚂蚁包的数量是f(m),代表了每个节点的能量消耗;根据F=Σn≤mn=0f(m)]]>计算出总的发送量,根据I(m)=f(m)F]]>计算出每个节点在系统中所占的发送比,最后根据E(x)=-Σn≤mn=0I(m)*lnI(m)]]>计算出采取该路由的系统能量熵值。设定Tmax,Tmin,Imax;●当T>Tmin计算ΔE=E(x)-E(x+1),当i<Imax;根据p=exp(-ΔET)....ΔE>0;1.................ΔE≤0;]]>计算出接受概率,当ΔE≤0时,E(x)=E(x+1);ΔE>0时,随机产生一个c∈
,当p>c时E(x)=E(x+1),i=i+1;i>Imax时i=i+1;T=T-1;●当T=Tmin结束,计算ΔE=E(x)-E(x+1),当i<Imax;根据p=exp(-ΔET)....ΔE>0;1..................ΔE≤0;]]>计算出接受概率,当ΔE≤0时,E(x)=E(x+1);ΔE>0时,随机产生一个c∈
,当p>c时E(x)=E(x+1)接收E(x)=E(x+1)时,Sink点根据每个节点的蚂蚁包产生后向蚂蚁包。在T!=Tmin时在后向蚂蚁包中要求节点发送新的蚂蚁包,不然则认为路由建立完毕。
(5)节点收到自己的后向蚂蚁包,将后向蚂蚁包中的邻接链路信息更新,information(m,k)=information(m,k)+1;选择后向蚂蚁包中的节点做为下一跳;同时根据后向蚂蚁包中信息判断是否发送新的蚂蚁包。当不需要发送时,则路由建立完毕。
权利要求
1.一种全局能量均衡的智能化无线传感网路由算法,其特征在于采用蚁群算法及模拟退火算法,结合系统能量熵的概念,模拟自然界蚂蚁群觅食的过程,在无线传感网中寻找路由,同时模拟金属退火现象,经过迭代使得能够使系统能量熵最大,即全局节点能量消耗最平衡的路由保留下来;具体步骤如下(1)由汇聚节点开始发送HELLO包,以使得网络中各个节点能够知道自己到汇聚节点的最小跳数,并维持邻居表;(2)各个节点发出蚂蚁包,并根据邻居表中邻居节点到汇聚节点的跳数选取下跳地址;(3)蚂蚁包到达汇聚节点后,由汇聚节点按照模拟退火算法计算该蚂蚁包携带的路由是否能使系统全局能量得以均衡;(4)并发出后向蚂蚁包指示节点是否接受该路由,节点根据后向蚂蚁包指示设置自己路由。
2.按权利要求1所述的全局能量均衡的智能化无线传感网路由算法,其特征在于所述的步骤(1)中,汇聚节点发送HELLO包使得各个节点能够得知其自身到汇聚节点的跳数的步骤是(a)由Sink点发起节点跳数建立;(b)在Sink点周围一跳范围内的节点假定为K,最先得知自己的邻接节点表中有Sink点,则将自己的跳数计为1,并且向邻接节点表中的其他节点发送自己的跳数信息;(c)邻接节点K+1收到消息,将邻接节点表中K节点的跳数写为1,并且进行判断,选取邻接节点表中跳数最小的节点加1作为自己的跳数,并且向邻接节点表中除了最小跳数节点之外的邻接节点发送自己的跳数信息;这样从汇聚节点开始的网络中连通的节点都会得到自身到汇聚节点的跳数。
3.按权利要求1所述的全局能量均衡的智能化无线传感网路由算法,其特征在于所述的步骤(2)中,节点发出蚂蚁包在邻居节点中选取下跳节点过程是每个节点保存邻居节点蚂蚁包经过的信息素,每个节点将邻接节点链路的信息素置为1,生成当前节点的蚂蚁包,蚂蚁包中包含起止点的编号,地址信息,以及经过的路径表,并将出发节点写入蚂蚁包的经过路径表;蚂蚁包所在当前节点从邻接节点表挑选出一批跳数最小的节点作为候选的下一跳节点;按照p(m)=1/information(m,k)计算出候选节点的选择概率,并且选择概率最大的节点作为下一跳节点发送蚂蚁包,如果有相同概率的节点则从这些节点中随机的选择一个作为下一跳节点发送蚂蚁包。
4.按权利要求1所述的全局能量均衡的智能化无线传感网路由算法,其特征在于所述的步骤(3)中,汇聚节点按照模拟退火算法计算该蚂蚁包携带的路由是否能使系统全局能量得以均衡即能量熵的步骤是(a)Sink点接受到每个节点的蚂蚁包;(b)根据蚂蚁包中的路径表统计出每个节点有多少蚂蚁包发出,假定共有m个节点,每个节点发出蚂蚁包的数量是f(m),代表了每个节点的能量消耗;(c)根据F=Σn≤mn=0f(m)]]>计算出总的发送量,根据I(m)=f(m)F]]>计算出每个节点在系统中所占的发送比,最后根据E(x)=-Σn≤mn=0I(m)*lnI(m)]]>计算出采取该路由的系统能量熵值;设定Tmax,Tmin,Imax;●当T>Tmin计算ΔE=E(x)-E(x+1),当i<Imax;根据p=exp(-ΔET)....ΔE>0;1............ΔE≤0;]]>计算出接受概率,当ΔE≤0时,E(x)=E(x+1);Δ E>0时,随机产生一个c∈
,当p>c时E(x)=E(x+1),i=i+1;i>Imax时i=i+1;T=T-1;●当T=Tmin结束,计算ΔE=E(x)-E(x+1),当i<Imax;根据p=exp(-ΔET)...ΔE>0;1...........ΔE≤0;]]>计算出接受概率,当ΔE≤0时,E(x)=E(x+1);ΔE>0时,随机产生一个c∈
,当p>c时E(x)=E(x+1)(d)接收E(x)=E(x+1)时,Sink点根据每个节点的蚂蚁包产生后向蚂蚁包。在T1=Tmin时在后向蚂蚁包中要求节点发送新的蚂蚁包,不然则认为路由建立完毕。
5.按权利要求1所述的全局能量均衡的智能化无线传感网路由算法,其特征在于所述的步骤(4)中,汇聚节点发送后向蚂蚁包的步骤是(a)节点收到自己的后向蚂蚁包,将后向蚂蚁包中的邻接链路信息更新,information(m,k)=information(m,k)+1;(b)选择后向蚂蚁包中的节点做为下一跳;同时根据后向蚂蚁包中信息判断是否发送新的蚂蚁包;(d)当不需要发送时,则路由建立完毕。
全文摘要
本发明涉及一种全局能量均衡的智能化无线传感网路由算法。本发明采用蚁群算法以及模拟退火算法,结合系统能量熵的概念,模拟自然界蚂蚁群觅食的过程,在无线传感网中寻找路由,同时模拟金属退火现象,经过迭代使得能够使系统能量熵最大,也即全局节点能量消耗最平衡的路由保留下来。同时本发明算法采用了仿生计算中的蚁群算法,算法具有自组织性,节点间可以通过个体的单个的简单交流使得群体间达到复杂的最优,非常符合无线传感网的特点。本发明算法较为简单易于实现,可用于各种以数据为中心的无线传感网应用场合,具有较大的社会效应和经济效应。
文档编号H04L12/56GK1960331SQ20061011636
公开日2007年5月9日 申请日期2006年9月21日 优先权日2006年9月21日
发明者王潮, 何军, 刘海涛, 龚旭, 贾翔宇, 王海玲, 时向勇, 汪镭 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1