考虑能量均衡的能量优化路由选择算法.pdf

上传人:Y948****062 文档编号:4762900 上传时间:2018-11-08 格式:PDF 页数:17 大小:1.45MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310236799.X

申请日:

2013.06.14

公开号:

CN103945482A

公开日:

2014.07.23

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):H04W 40/02申请公布日:20140723|||实质审查的生效IPC(主分类):H04W 40/02申请日:20130614|||公开

IPC分类号:

H04W40/02(2009.01)I; H04W40/10(2009.01)I

主分类号:

H04W40/02

申请人:

北京信息科技大学

发明人:

姚彦鑫; 刘秋实; 王媛桢

地址:

100192 北京市海淀区清河小营东路12号

优先权:

专利代理机构:

北京金恒联合知识产权代理事务所 11324

代理人:

李强

PDF下载: PDF下载
内容摘要

本文提出了一种新方法来优化无线网络的能源消耗问题。这种新方法试图解决整个网络的能量消耗问题,同时平衡每个节点消耗的能量。特别是,侧重于减少能源的路径损耗,同时考虑能量平衡的控制,以免过度使用某一个特定节点而造成工作负载的不平衡。会引入一个用遗传算法得到的适应度函数来实现。这个适应度函数被设计成一个专用的方式,以便达到比以前EA-AODV方法更好的效果。经过仿真验证,该方法能保持能量消耗和能量平衡同时达到一个更好的水平。

权利要求书

权利要求书1.  通过获得最优路径的能量消耗降低方法,其特征在于包括: 从整个网络矩阵中随机选取一个节点,作为源节点,其中不取目的节点作为源节点, 确定最短路径, 利用剩余能量值,获得能量平衡,获得最优路径, 其中,最后一个节点总是作为目的节点。 2.  根据权利要求1的方法,其特征在于确定最短路径的步骤包括: 对种群进行初始化,包括设定种群大小, 设定遗传代数:it=1, 执行交叉操作, 进行变异操作,形成新个体, 在完成交叉和变异操作后,进行适应度函数的计算, 随后将遗传代数加1,并判断是否达到了预定的达到最大进化代数,若“否”,则继续进行整个算法的过程,若“是”则结束算法, 多次迭代,获得最短路径。 3.  根据权利要求2的方法,其特征在于: 将最大进化代数设置为一个值,在进行到该最大代数时,无论是否获得最终结果,都将已获得的最短路径的解作为最优解使用。 4.  根据权利要求3的方法,其特征在于: 设定所述种群大小为100, 设定所述最大进化代数为200。 5.  根据权利要求2-4之一的方法,其特征在于所述对种群进行初始化的步骤包括: 生成一个n*PN的0,1矩阵v, 令矩阵v第一列全为1,第PN列全为1。 6.  根据权利要求5的方法,其特征在于: 所述交叉-变异操作包括: 把交叉概率设置为一个预定值, 变异概率设置为=1-交叉概率, 变异原则设定为: 根据M=rand(N,L)<=pm;产生一个随机矩阵,其中N为种群数,L为染色体元素个数,pm为所述变异概率, 若M矩阵中M(i,j)=1,则将对应矩阵上的v(i,j)取反,即矩阵v(i,j)中为1的将其变成0,为0的变为1,即进行了变异, 其中,新矩阵v的计算公式为:v=v-2*(v*M)+M。 7.  根据权利要求2-4之一的方法,其特征在于 适应度函数可写成如下形式:   式(2.3.1) 式(2.3.1)中,i为此次选中路径上选定的各节点的标号,i=1,2,…N′,N′代表此次选中路径除目的节点的节点选中节点的总个数,lengthi代表此次选中路径中第i个节点向下一个节点的路径的长度。 8.  根据权利要求1的方法,其特征在于利用剩余能量值获得能量平衡获得最优路径的步骤包括: 进行能量初始化, 随机选择发送信息的节点, 寻找能量零点,确定零点位置, 刷新网络拓扑:通过交叉与变异操作,产生新的染色体组,节点传输路径改变,从而刷新网络拓扑结构, 获得最优路径:通过所构建的适应度函数和网络节点矩阵,利用遗传算法,进行迭代求解,获得最优路径, 确定加入了剩余能量的适应度函数: 其中α和β为路径和剩余能量的权重值,power_rei为第i号节点的剩余能量, 然后,根据每个节点的传递信息距离扣除相应的能量消耗: energy=20log10(f)+20log10(d)-28 得到剩余能量最多的节点。 9.  根据权利要求8的方法,其特征在于所述进行能量初始化的步骤包括: 生成一个16*16的矩阵cord[r,c],其中r代表两节点之间的距离,自身节点的距离用0来表示,c表示剩余能量, 设定每个矩阵的初始能量, 其中 若某些节点与其他个别节点不连通,则将距离表示为100,计算适应度函数 的时候,由于距离过大,将忽略此链路。 10.  根据权利要求8的方法,其特征在于所述寻找能量零点的步骤包括: 设置一个大小为m行,n列的新能量矩阵new_power, 设定i为1到m行的一个值,j为1到n列的一个值,若新能量矩阵new_power{i,j}(2)为0,则发现所要寻找的点在第j列,并结束,否则继续循环。 

说明书

说明书考虑能量均衡的能量优化路由选择算法
技术领域
本发明涉及通过获得最优路径的能量消耗降低方法,属于信息和通信技术领域。 
背景技术
随着信息和通信技术(ICT)的不断发展和完善,服务要求的爆炸式增长,信息和通信技术正在发挥越来越重要的作用。有报告指出,无线网络,有线网络和局域网络的能量消耗占据了全球30%以上的电子能量消耗,并且这个比例在未来将会快速增加。因此无线通信的能耗效率问题正逐步的受到大家关注。信息和通信技术的一个重要发展方向是无线通信的节能。一方面,无线通信网络的续航能力已经成为了衡量网络好坏的一个重要标准。另一方面,电池技术的发展速度大大的慢于能量消耗的增长速度,所以无线通信的节能更为重要。因此,提升能量效率是未来无线通信设计的一个重要发展趋势。 
过去几十年中,人们更多的在努力提升网络吞吐率。不同的网络配置已经被研究用来提高区域谱效率,例如蜂窝网络中基站数目的优化和在中继系统中中继节点的放置。很多的资源分配方法已经也被提出来保证每位用户的服务质量,和利用多用户差异来保证不同的用户之间的公平性。很多先进的通信技术,例如正交频分复用、多输入多输出技术和中继传输已经被在无线网络中被开发来提供高的谱效率。然而,过高的网络吞吐率通常会导致大量的能量消耗,这对于能量感知网络和能量有限设备来说是无法承受的。寻求如何降低能量消耗同时又满足吞吐率要求的网络和设备是一个急需解决的问题。 
协同传输技术是现代无线传感网络中最常见的技术。网络节点间相互协作,将信息发送到目的节点。这样做可以降低节点负担,同时提升传输效率。但是同时也带来了一些难以避免的问题。例如,某些节点处于关键位置,即多条传输路径都会选取同一个节点作为中继节点。因此会造成网络节点的工作量不平衡,导致个别节点过早衰竭,影响整体的网络传输效率。 
目前,无线网络的能耗优化方法有很多,其中以AODV(Ad hoc On-Demand Distance Vector Routing)(按需距离矢量路由协议)及其衍生算法较为常见。在传统的AODV算法上,研究人员又对其进行变形和优化,使之针对不同的网络结构和协议能够发挥更大的功效。AODVjr和EA-AODV(Energy Aware-Ad hoc  on-demand distance vector routing)(节能高效按需距离矢量路由协议)是两个典型的AODV优化算法。 
AODV(按需距离矢量路由协议)是一种反应式的路由协议,换句话说,只有当向目的节点发送数据包时,源节点才在网络中发起路由查找过程,找出相应的路由。普通的网络路由协议是先验式的,也就是说他们对路由的查找是不依赖于传输路径上的节点是否有数据请求,而是每一个节点维护一张包含所有节点信息的路由表。节点通过周期性的交换路由信息来不断更新自身的路由表,以此来及时的反应网络拓扑结构变化,用以维护及时、一致的路由信息。在AODV算法中,由于整个网络是静止的,所以只有当一个网络节点需要建立链接时才会广播连接请求。其他的AODV节点转发此请求消息,记录源节点和回到源节点的临时路由。当接收连接请求的节点知道到达目的节点路由是,就会直接吧路由信息按照先前的记录回到源节点的临时路由发回源节点。如果网络断掉,源节点重新发起路由查找过程。AODV算法主要是通过降低节点的路由查找次数,以降低节点的工作时间达到的节能目的。 
ZigBee网状的网络拓扑结构通常采用AODVjr算法,AODVjr算法是AODV算法的简化版本,其具有AODV算法的主要功能,考虑到ZigBee协议的需要,对AODV算法进行了一些裁剪。为了减少ZigBee网络的控制开销,简化路由发现过程,AODVjr算法没有使用AODV算法中使用的目的节点序号,为了在网络中无环路,AODVjr算法规定一致的目的节点路由的中继节点不能回复路由请求,只能由目的节点回复路由请求。AODVjr算法的路由表不存在AODV算法中的先去节点列表,这样降低了路由表的复杂度。且路由请求信息的格式被大大简化,仅仅包含一个不可达目的节点地址。 
EA-AODV算法是在AODV算法上的一大改进。加入了对节点剩余能量的衡量,以此来避免节点的工作量不平衡问题。避免使用能量较小的节点,从而延长低剩余能量节点的生存时间。记录节点剩余能量的百分比,将剩余能量参数加入到路由选择标准中,避免了多个路由路径中选择同一节点的情况发生。 
但是,由于AODV算法对于节点选取是选取最先答复的节点,因此可能会陷入局部最优。因此,能够克服此问题的方案,就变得有必要了。 
(现有的AODV算法中,通过采反应式的方法获得节点的传输路径。即,当信号源节点发出数据包时,第一个收到数据并发送反馈信息的节点作为传递节点。用这种方法可以寻求到近似的最短路径,但是在某些情况下会陷入局部最优解而非全局最优,甚至可能发生路径错误的情况。在这种情况下,普通的AODV算法很难准确的找到最优路径。当1号节点发送数据至3号节点时,现有算法会通过2号节点的中继作用将信息传递给3号节点,这会造成不必要的路径损耗,影响2号节点的正常工作。AODV算法陷入的局部最优解,将能量过多的消耗在路径传输上。) 
发明内容
本文在EA-AODV的基础上提出了新的优化方法,即通过使用遗传算法来获取最佳的路由路径。寻找全网的最短传输路径,以降低路径损耗所带来的额外能量损耗。由于AODV算法对于节点选取是选取最先答复的节点,因此可能会陷入局部最优。而此方法是获取了全局最优,避免了局部最优情况,因此更为有效;通过修改遗传算法的适应度函数,将剩余能量值作为考虑因素,配比路径长度和剩余能量的权重值,选取最优的路由路径,在保证节点工作量分配平衡的前提下降低路径损耗。对于节点的剩余能量是实时获的,且以真实的能量剩余值为依据,所以此方法在能量的控制上更为精确。 
根据本发明的一个方面,提供了一种通过获得最优路径的能量消耗降低方法,其特征在于包括: 
从整个网络矩阵中随机选取一个节点,作为源节点,其中不取目的节点作为源节点, 
确定最短路径, 
利用剩余能量值,获得能量平衡,获得最优路径, 
其中,最后一个节点总是作为目的节点。 
附图说明
图1是根据本发明的一个实施例的通过获得最优路径的能量消耗降低方法的主流程。 
图2是根据本发明的一个实施例的最短路径确定流程。 
图3显示了根据本发明的一个实施例的最优路径确定流程。 
图4用于说明网络节点的矩阵的建立。 
图5显示了一个完整的网络节点分布矩阵。 
图6所示为一个具有16个节点的网络仿真结果。 
具体实施方式
无线传输过程中的路径损耗是无法避免的。路径损耗是指在发射器和接收器之间由于传播环境而造成的损耗。由于发射机与接收机之间的传播路径非常复杂,从简单的视距传播,到遭遇各种复杂的地物,如建筑物、山脉和树叶等。无线信道不像有线信道那样固定并且可预见,而是具有很大的随机性,难以分析。无线信道的建模历来是移动无线系统设计中的难点,这一问题的解决一般利用统计方法,并且根据对特定频带上的通信系统的测量值来进行。 
路径损耗发生在每一次的无线传输过程中,网络的运行时间越长,所积累的路径损耗总量越大。因此,降低路径损耗是降低整体无线网络能耗的一个重 要因素。 
路径损耗相对比较复杂,有多种模型用来计算路径损耗。忽略过多复杂因素的考虑,选用自由空间传播模型来进行路径损耗的计算。自由空间传播模型用于预测接收机和发射机之间是完全无阻挡的视距路径时的接受信号场强。自由空间模型预测接受功率的衰减为T-R距离的函数。 
Pr(d)=PtGtGrλ2(4π)2d2L]]>  式(2.1.4) 
其中,Pt为发射功率;Pr(d)是接收功率,为T-R距离的函数,Gt和Gr分别是发射天线和接收天线的增益;d是T-R间距离,单位为米;L是与传播无关的系统损耗因子;λ为波长,单位米。 
假设发射天线和接受天线的增益等于1,即Gt=1,Gr=1;ZigBee传输网络中频率已知,可根据不同传输速率选定频率;可将式(2.1.4)变形为式(2.1.5)求解路径损耗。 
Lf[dB]=20lg(f)+20lg(d)-28  式(2.1.5) 
其中f为频率,单位MHz,d为传输距离,单位m。可通过式(2.1.5)计算出路径损耗。 
优化方法 
通过降低传输路径的长度,可以从根本上降低传输损耗。因此可以将路径损耗的问题转换为寻求最短路径的问题。选用一个合理的算法进行全局最短路径的搜寻可以有效的降低整网的能量消耗。在这里,可将路径损耗的问题转换为求最短路径的问题,简化问题的复杂程度。已知有多种途径寻求最短路径。 
遗传算法(GA,Genetic Algorithm)是一种新兴的智能算法。遗传算法是模拟达尔文生物进化论的自然选择和遗传学激励的生物进化过程的计算模型,是一种通过模拟自然进化过程的搜索最优解方法,最初由美国密歇根大学的J.Holland教授于1975年首先提出。遗传算法是从代表问题可能潜在的解集的一个种群开始的,而一个种群则经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现是某种基因组合,它决定了个体的形状的外部表现。按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度大小选择个体,并借助算子进行交叉和变异产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后代比前代更加适应于环境,末代种群中最优个体经过解码,可以作为问题近似最优解。 
根据本发明的一个实施例,通过获得最优路径的方法降低能量消耗,同时保证能量平衡。 
在根据本发明的一个实施例的通过获得最优路径的能量消耗降低方法中,最优路径的选择有两个考虑,其一是尽可能地降低路径损耗;其二是根据节点 的剩余能量尽量避免剩余能量较低的节点。 
图1显示了根据本发明的一个实施例的通过获得最优路径的能量消耗降低方法的主流程。其中,最后一个节点永远作为目的节点。如图1所示, 
首先,系统从整个网络矩阵中随机选取一个节点,作为源节点,发送信息。在源节点的选取中,会避免选取目的节点作为源节点(发射节点)。 
然后,通过寻找最优路径,确定路由路径。在本实施例中,使用遗传算法来获得最优路径。(图1中还包括了对所确定的最优路径进行模拟-仿真操作的步骤,但这些步骤并不是本发明的通过获得最优路径的能量消耗降低方法的必要步骤,而是对其效果进行评估的处理。) 
先用遗传算法来确定最短路径。 
根据本发明的一个实施例的最短路径方法如图2所示,其包括以下处理。 
先对种群进行初始化,包括设定种群大小(例如设定种群大小为100,此数据是经过反复试验得出的值,既保证了计算精度,又保证了收敛速度),并设定遗传代数:it=1。 
之后,交叉操作。 
随后,进行变异操作,形成新个体。 
在完成交叉和变异操作后,进行适应度的计算。随后将遗传代数加1,并判断是否达到了预定的最大遗传代数。若“否”,则继续进行整个算法的过程,若“是”则结束算法。经过多次迭代,获得最短路径。根据一个具体实施例,将最大进化代数设置为一个值,在进行到该最大代数时,无论是否获得最终结果,都将已获得的解作为最优解使用。本发明人经过反复试验,发现可以将最大进化代数设置为200,虽然这样做会存在一些误差,但是保证了整个优化过程的速度。且误差足够小,不会过多影响优化效果。 
根据一个具体实施例,上述种群初始化步骤包括:生成一个n*PN的0,1矩阵v,令第一列全为1,第PN列全为1,得到矩阵的大小,N行L列,我们设定种群大小为100,此数据是经过反复试验得出的值,既保证了计算精度,又保证了收敛速度。设定遗传代数:it=1。 
然后,判断遗传代数it是否达到了所设定的最大遗传代数,若it达到了最大的遗传代数,算法结束得到最优个体,即本发明中的最短距离。 
根据一个具体实施例,上述交叉-变异操作包括:交叉概率设置为一个预定值(诸如90%,这个值通过试验获得,如此取值的情况下,算法获得效果较好,且收敛速度较快)。所谓交叉概率就是每次算法迭代时,通过交叉方式产生新解的概率。交叉的过程可采用部分映射杂交,确定交叉操作的父代,将父代样本两两分组,每组重复以下过程。首先获取两组父代样本;诸如: 

对其进行交叉操作; 

获得最终的交叉结果; 

变异的概率设置为=1-交叉概率(诸如10%)。由于使用的遗传算法中,只用到了交叉和变异两种变换形式,所以变异概率+交叉概率=1。变异的过程相对交叉较为简单。随机确定两个位置,将其交换位置即可。诸如: 
9    5    1    3    7    4    2    10    4    2 
10   5    1    2    7    4    3    10    4    2 
加粗部分为被选定的两个点,将其调换位置,完成变异过程。此过程均为随机。 
根据本发明的一个具体实施例,变异原则设定为:根据M=rand(N,L)<=pm;产生一个随机矩阵,其中N为种群数,L为染色体元素个数,pm为变异概率。若M矩阵中M(i,j)=1,则将对应矩阵上的v(i,j)取反,即矩阵v(i,j)中为1的将其变成0,为0的变为1。即进行了变异。新矩阵v的计算公式为:v=v-2*(v*M)+M 
根据一个具体实施例,上述适应度函数可写成如下形式: 
Fitness=Σi=1Nlengthi]]>  式(2.3.1) 
式(2.3.1)中,lengthi代表路径长度,i为选定节点的标号,i=1,2,…N′,lengthi 代表试验路径中第i个节点向下一个节点的路径的长度,N′代表此次选中路径除目的节点的节点选中节点的总个数。 
最短路径并不等同于最优路径。最优路径在考虑了最短路径的同时,还需要考虑能量平衡的问题。图3显示了根据本发明的一个实施例的最优路径确定流程,其中: 
首先,进行能量初始化。根据一个具体实施例,生成一个16*16的矩阵cord[r,c],r代表两节点之间的距离,自身节点的距离用0来表示,若某些节点与其他个别节点不连通,则将距离表示为100,计算适应度函数的时候,由于距离过大,将忽略此链路。c表示的是剩余能量。在一个具体实施例中,每个矩阵的初始能量设定为20dB,由于统计的是路径损耗,所以单位为dB而非焦耳。网络节点设置完毕。 
然后,随机选择发送信息的节点。 
之后,寻找能量零点:设置一个大小为m行,n列的新能量矩阵new_power,设定i为1到m行的一个值,j为1到n列的一个值。若新能量矩阵new_power{i,j}(2)为0,则发现所要寻找的点在第j列。结束,否则继续循环。 
在EA-AODV算法中,对能量平衡有所涉及,但是由于控制粒度过粗,导致效果并不理想。为了更准确容易的控制剩余能量,根据一个具体实施例,在适应度函数中引入实时的剩余能量变量,通过修改式(2.1.5)在不影响其函数特性的情况下,按比例缩小路径损耗的数值。如此,将剩余能量实际的反映在适应度函数中,而非以比例的形式引入。这样做可以无需考虑能量等级划分区间的问题,也就不用为了获得数据而进行反复试验。实际数值进行衡量,也就没有不同能量等级之间的跨越,从而减少误差。如式(2.3.4)为修改过的加入剩余能量的适应度函数: 
Fitness=αΣi=1Nlengthi-βΣi=1Npower_rei]]>  式(2.3.4) 
其中α和β为路径和剩余能量的权重值,此权重值用来平衡路径长度和剩余能量的比重,可以根据自己系统的需求,自行修改,也可以通过程序进行动态配备,以应对不同情况。power_rei为第i号节点的剩余能量。 
刷新网络拓扑:通过交叉与变异操作,产生新的染色体组,节点传输路径改变,从而刷新了网络拓扑结构。 
获得最优路径:通过所构建的适应度函数和网络节点矩阵,利用遗传算法,进行迭代求解,获得最优路径。 
然后,根据每个节点的传递信息距离扣除相应的能量消耗:energy=20log10(f)+20log10(d)-28当距离小,且剩余能量较大时,适应度函数会相应的减小,此时更容易被接受。在路径长度相同的情况下,如果剩余能量比较大,那么此时的适应度函数比较小,会被算法接受作为新解,进行了能量替换。即 刷新了能量零点。从而得到剩余能量最多的节点。 
在使用遗传算法之前,先进行一些初始化设置。首先是建立网络节点的矩阵。矩阵需要包含的信息包括,节点间的距离,节点的剩余能量。此外,矩阵的建立也决定了遗传算法的编码方式。遗传算法的编码会直接影响到算法的效率和正确性。二进制编码最为常用,它将问题空间参数用一个[0,1]字符集构成的染色体表示,符合最小字符集原则,便于用模式定理分析。对于遗传算法的交叉、变异的操作也能非常方便的实现。 
由于一个节点的信息包含两部分,可选用MATLAB软件中的Cell类型数据建立网络矩阵。Cell如同一个收集器一样,可以在一个Cell变量下储存不同类型的数据。例如,cell A={[1,2]‘啊’sum(1)};在A中储存了不同的数据类型,这样会极大的方便用户随时调取所需数据,尤其是在多组数据相互制约和影响的情况下,无需担心数据转换所带了的过多问题。因此网络矩阵的建立我们选用了Cell型数据。 
为了配合遗传算法的二进制编码,降低算法的复杂性,网络矩阵中应该包含源节点到其他节点的不同距离。以距离作为信息,可以省去通过坐标计算距离的过程,简化适应度函数,加快整个遗传算法的进行。而且,可以将网络节点的信息从三个(X坐标,Y坐标,剩余能量)降低至两个(距离,剩余能量)。具体的矩阵建立方法如图4所示,网络cell中的每一个元素是一个一行两列的小矩阵,其中矩阵中第一个元素代表节点与节点之间的距离。网络cell中的每一列代表节点编号,第一个cell元素即为1号节点,第二个cell元素即为2号节点。如图4所示,自身节点的距离用0表示,第二个元素中的5米表示,1号节点距离2号节点的距离是5米。如果某些节点与个别节点无法连通,则将距离表示为100,计算适应度函数时,由于距离过大,将忽略此链路。 
Cell中的矩阵内的第二个元素代表了剩余能量。每个矩阵的初始能量分配为20dBm。此处需要说明的是,由于统计的是路径损耗,所以单位为dB,而非焦耳。如图5所示为一个完整的网络节点分布矩阵,其中包括了8个节点的距离位置信息和剩余能量信息。从中可以看出,该网络具有单向传输的特性。至此,网络节点设置完毕。假设以节点1为信息源节点发射信息至8号节点,如果初始解为‘11001001’那么表明信息的传递路径为1号节点至2号节点至5号节点最终至8号节点。 
遗传算法还需要设置一些重要的参数。种群大小是一个非常关键的内容。如表2.3.1所示,其中P为种群大小,S为求解精度。在同样种群值大小P的情况下,重复运行100次,获得100个函数的最优值yi,取其算术平均值作为此种群大小下函数求解结果y,即:则求解精度S定义为:S=(y×100/y0)%,y0为函数的理论最优值。 
表2.3.1种群大小与求解精度关系 

由于过早收敛是遗传算法的局限性,因此加大种群数量是改善过早收敛的有效方法。但是过大的种群会导致计算速度的明显下降,所以需要制定一个合适的值。在根据本发明的一个优选实施例中,设定种群大小为100,经过反复试验验证,表明这样的种群大小既保证了计算精度,又保证了收敛速度。 
最大进化代数设置为200代,即在进化至200代时,无论是否获得最终结果,都将已获得的解作为最优解使用。虽然这样做会存在一些误差,但是保证了整个优化过程的速度。且误差足够小,不会过多影响优化效果。 
交叉概率设置为90%。这个值也是通过试验获得,如此取值的情况下,算法获得效果较好,且收敛速度较快。所谓交叉概率就是每次算法迭代时,通过交叉方式产生新解的概率。交叉的过程并不复杂,采用部分映射杂交,确定交叉操作的父代,将父代样本两两分组,每组重复以下过程。首先获取两组父代样本; 

对其进行交叉操作; 

获得最终的交叉结果; 

变异的概率设置为10%。由于使用的遗传算法中,只用到了交叉和变异两种变换形式,所以变异的概率为10%。变异的过程相对交叉较为简单。随机确定两个位置,将其交换位置即可。此过程如下所示。 
9    5    1    3    7    4    2    10    4    2 
10   5    1    2    7    4    3    10    4    2 
加粗部分为被选定的两个点,将其调换位置,完成变异过程。 
在完成交叉和变异操作后,如果还未达到最大进化代数,那么将继续进行适应度的计算。继续进行整个算法的过程。如果达到了最大进化代数,那么将结束算法。 
在最短路径的搜寻中遗传算法的适应度函数可写成如下形式: 
Fitness=Σi=1Nlengthi]]>  式(2.3.1) 
式(2.3.1)中,lengthi代表路径长度,i为选定节点的标号,N′表示此次选中路径除目的节点的节点选中节点的总个数。适应度函数值越小越容易被接受,因此通过多次迭代后,可以求得最短路径。 
最短路径并不等同于最优路径。最优路径在考虑了最短路径的同时,还需要考虑能量平衡的问题。在EA-AODV算法中,对能量平衡有所涉及,但是由于控制粒度过粗,导致效果并不理想。如式(2.3.2),式(2.3.3)所示。其中,式(2.3.2)为AODV算法的能量计算公式,式(2.3.3)为EA-AODV算法的计算公式。相比两个公式,EA-AODV在AODV的基础上引入了剩余能量百分比的参数,以此来将剩余能量加入至路由选择中。但是由于EA-AODV的能量剩余百分比仅仅是在阶段性起作用,所以无法保证良好的控制效果。 
Ci(t)=Pt(i)(E0Ei(t))α]]>  式(2.3.2) 
Ci(t)=Pt(i)(Ki×E0Ei(t))α]]>  式(2.3.3) 
其中Ci(t)为节点能量消耗;Pt(i)为发射功率;E0是节点的初始能量;Ei(t)是节点的剩余能量;α是权重值,通常参考路径损耗指数,可参考不同情况下的路径损耗系数;式(2.3.3)中的Ki为剩余能量系数。因为每个节点的能量消耗速度不同,在EA-AODV算法中,所有的节点根据剩余能量不同被分为不同等级。这可以根据他们在处理数据时的能量等级像路由要求发出反馈。如果能量等级数太多、太精细,那么会因为在分辨能量等级时花费过多时间。如果等级数量太少,那么又很难完成能量平衡的任务。因此,EA-AODV算法中,难免会因为此情况令使用者对于能量等级的划分上左右为难。普遍将能量等级划分为3个等级,在能量大于20%初始能量时都是正常状态。在剩余能量在10%~20%初始能量之间时,为警告区间,系统会尽量避免使用此节点。在能量小于10%初始能量时,为危险区域,仅有在不得已的情况下才会使用此节点。我们应该注意到,如此的能量等级划分导致了在临界区域的节点控制不准确,能量化分不细致的问题。 
为了更为准确、容易的控制剩余能量,我们在适应度函数中引入了实时的剩余能量变量,以获得更加准确的控制效果。由于路径损耗的数值远远大于传输距离的数值,所以适应度函数很难正确计算。为了减小径路径损耗带来的过多影响,我们通过修改式(2.1.5),在不影响其函数特性的情况下,按比例缩小计算数值,以降低其数值。我们将剩余能量实际的反映在适应度函数中,而非以比例的形式引入。这样做可以无需考虑能量等级划分区间的问题,也就不用为了获得数据而进行反复试验。以实际数值进行衡量,也就没有不同能量等级之间的跨越,从而减少误差。如式(2.3.4)所示为修改过的适应度函数。 
Fitness=αΣi=1Nlengthi-βΣi=1Npower_rei]]>  式(2.3.4) 
其中α和β为路径和剩余能量的权重值,此权重值用来平衡路径长度和剩余能量的比重,可以根据自己系统的需求,自行修改。甚至,可以通过程序进行动态配备,以应对不同情况。power_rei为第i号节点的剩余能量。当距离小,且剩余能量较大时,适应度函数会相应的减小,此时更容易被接受。在路径长度相同的情况下,如果剩余能量比较大,那么此时的适应度函数比较小,会被算法接受作为新解。 
首先通过设置合理的网络矩阵,将无线传感网络的传输路径问题,转换为求解最短路径的问题。然后通过引入剩余能量值,解决能量平衡的问题。以上两个问题,通过所构建的适应度函数和网络节点矩阵,利用遗传算法,进行迭代求解,获得最优路径。 
最优路径的仿真结果及分析 
仿真结果共分为两部分,一部分是无线信息传感网络在最优传输路径下传输时所消耗的能量与在传统AODV算法下所消耗的能量的对比。为了方便对比和说明效果,对两个不同节点数的无线网络矩阵进行仿真。每次仿真都将随机进行预定次数(如15次)的信息传递。每次信息传递时,将随机挑选一个节点(此节点不能是目的节点)作为源节点进行信息的发送。目的节点永远都是网络矩阵中的最后一个节点。 
如图6所示为一个具有16个节点的网络仿真结果。从图中可以看出,采取最优路径的优化后,网络能量消耗相比AODV算法下的网络能耗有所降低。AODV算法在第7次信息传输时就首先出现了能量衰竭的节点,所以导致其在第7次信息传输时能量超出了最优路径的算法。而经过最优路径优化的无线信息网络中,在每一次的信息传递中,能量消耗普遍低于AODV算法下无线信息网络的能量消耗。相比AODV算法,最优路径优化平均降低了15%的能耗。且最优路径算法在第9次信息传递中才出现了衰竭节点,由此可见,最优路径算法不仅降低了能量消耗,还平衡了网络各个节点的工作负担,达到了能量平衡的效果。 
表(3.1.2)可以更直观的表示出最优路径和AODV算法在8节点网络中的能耗情况。由于8节点的网络规模较小,且网络情况比较简单,所以AODV算法所寻求的路径往往就是最短路径。所以此时最优路径的优化效果并不明显。平均能耗差异仅在0.3%左右,相差并不大。但是在运行时间较长,能耗逐渐积累的情况下,也能为网络节省能量。虽然整体能耗的降低并不明显,但是对于维持网络的能量平衡依然有帮助。 
表(3.1.2)8节点网络仿真能耗统计 
AODV 最优路径优化 平均差异 97.84 97.82 0.02% 102.64 102.06 0.57% 107.24 107.03 0.2% 111.75 111.73 0.017% 109.23 109.13 0.09%
通过仿真结果的对比我们发现最优路径的选取能够有效的降低路径损耗,且效果明显。路径损耗的降低,有效降低了无效的能量损失。但是在仿真中也发现了此方法的不足之处。在寻找最优路径的过程中会有较长的搜寻时间,相比AODV的路由选择过程,最优路径的搜寻将会耗费更多的时间。可以根据所需,设置好遗传算法的终止条件,用来降低搜寻时间,但这样可能会导致最优路径的搜寻不准确。 
延迟-能耗的优化是“按需”优化。在满足延迟约束的情况下,可以尽量的降低信息的传输速度,以此来降低发射功率,达到节能的目的。相比最优路径的优化方法,延迟-能耗的双优化并不需要过多的操作时间,也更加灵活。在不同的情况下,可以设置多个目标的优化,在系统启动之前,寻求出多个目标之间的函数关系。此法还能够用于系统性能的检测、预测。 
ZigBee网络为近年来比较有代表性的。ZigBee网络具有较强的抗干扰性能、强大的大规模组网能力、低成本等优势。由于ZigBee网络节点分布比较分散,多以电池供电,所以节点的续航能力是评定网络好坏的重要指标。因此对ZigBee网络节点实施此方法,其能耗明显降低,取得了显著的效果。 

考虑能量均衡的能量优化路由选择算法.pdf_第1页
第1页 / 共17页
考虑能量均衡的能量优化路由选择算法.pdf_第2页
第2页 / 共17页
考虑能量均衡的能量优化路由选择算法.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《考虑能量均衡的能量优化路由选择算法.pdf》由会员分享,可在线阅读,更多相关《考虑能量均衡的能量优化路由选择算法.pdf(17页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103945482 A (43)申请公布日 2014.07.23 CN 103945482 A (21)申请号 201310236799.X (22)申请日 2013.06.14 H04W 40/02(2009.01) H04W 40/10(2009.01) (71)申请人 北京信息科技大学 地址 100192 北京市海淀区清河小营东路 12 号 (72)发明人 姚彦鑫 刘秋实 王媛桢 (74)专利代理机构 北京金恒联合知识产权代理 事务所 11324 代理人 李强 (54) 发明名称 考虑能量均衡的能量优化路由选择算法 (57) 摘要 本文提出了一种新方法来优化无线。

2、网络的能 源消耗问题。这种新方法试图解决整个网络的能 量消耗问题, 同时平衡每个节点消耗的能量。 特别 是, 侧重于减少能源的路径损耗, 同时考虑能量平 衡的控制, 以免过度使用某一个特定节点而造成 工作负载的不平衡。会引入一个用遗传算法得到 的适应度函数来实现。这个适应度函数被设计成 一个专用的方式, 以便达到比以前 EA-AODV 方法 更好的效果。 经过仿真验证, 该方法能保持能量消 耗和能量平衡同时达到一个更好的水平。 (51)Int.Cl. 权利要求书 2 页 说明书 10 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书10页 附。

3、图4页 (10)申请公布号 CN 103945482 A CN 103945482 A 1/2 页 2 1. 通过获得最优路径的能量消耗降低方法, 其特征在于包括 : 从整个网络矩阵中随机选取一个节点, 作为源节点, 其中不取目的节点作为源节点, 确定最短路径, 利用剩余能量值, 获得能量平衡, 获得最优路径, 其中, 最后一个节点总是作为目的节点。 2. 根据权利要求 1 的方法, 其特征在于确定最短路径的步骤包括 : 对种群进行初始化, 包括设定种群大小, 设定遗传代数 : it=1, 执行交叉操作, 进行变异操作, 形成新个体, 在完成交叉和变异操作后, 进行适应度函数的计算, 随后将遗。

4、传代数加 1, 并判断是否达到了预定的达到最大进化代数, 若 “否” , 则继续进 行整个算法的过程, 若 “是” 则结束算法, 多次迭代, 获得最短路径。 3. 根据权利要求 2 的方法, 其特征在于 : 将最大进化代数设置为一个值, 在进行到该最大代数时, 无论是否获得最终结果, 都将 已获得的最短路径的解作为最优解使用。 4. 根据权利要求 3 的方法, 其特征在于 : 设定所述种群大小为 100, 设定所述最大进化代数为 200。 5. 根据权利要求 2 4 之一的方法, 其特征在于所述对种群进行初始化的步骤包括 : 生成一个 n*PN 的 0, 1 矩阵 v, 令矩阵 v 第一列全为。

5、 1, 第 PN 列全为 1。 6. 根据权利要求 5 的方法, 其特征在于 : 所述交叉变异操作包括 : 把交叉概率设置为一个预定值 , 变异概率设置为 1 交叉概率 , 变异原则设定为 : 根据 M=rand(N,L)=pm; 产生一个随机矩阵, 其中 N 为种群数, L 为染色体元素个数, pm 为所述变异概率 , 若 M 矩阵中 M(i,j) =1, 则将对应矩阵上的 v(i, j) 取反, 即矩阵 v(i,j) 中为 1 的将 其变成 0, 为 0 的变为 1, 即进行了变异, 其中, 新矩阵 v 的计算公式为 : v=v-2*(v*M)+M。 7. 根据权利要求 2 4 之一的方法。

6、, 其特征在于 适应度函数可写成如下形式 : 权 利 要 求 书 CN 103945482 A 2 2/2 页 3 式 (2.3.1) 式 (2.3.1) 中, i 为此次选中路径上选定的各节点的标号, i=1,2,N, N代表此次 选中路径除目的节点的节点选中节点的总个数, lengthi代表此次选中路径中第i个节点向 下一个节点的路径的长度。 8. 根据权利要求 1 的方法, 其特征在于利用剩余能量值获得能量平衡获得最优路径的 步骤包括 : 进行能量初始化, 随机选择发送信息的节点, 寻找能量零点, 确定零点位置, 刷新网络拓扑 : 通过交叉与变异操作, 产生新的染色体组, 节点传输路径改。

7、变, 从而刷 新网络拓扑结构, 获得最优路径 : 通过所构建的适应度函数和网络节点矩阵, 利用遗传算法, 进行迭代求 解, 获得最优路径, 确定加入了剩余能量的适应度函数 : 其中 和 为路径和剩余能量的权重值, power_rei为第 i 号节点的剩余能量, 然后, 根据每个节点的传递信息距离扣除相应的能量消耗 : energy=20log10(f)+20log10(d)-28 得到剩余能量最多的节点。 9. 根据权利要求 8 的方法, 其特征在于所述进行能量初始化的步骤包括 : 生成一个 16*16 的矩阵 cordr,c, 其中 r 代表两节点之间的距离, 自身节点的距离用 0 来表示,。

8、 c 表示剩余能量, 设定每个矩阵的初始能量, 其中 若某些节点与其他个别节点不连通, 则将距离表示为 100, 计算适应度函数 的时候, 由 于距离过大, 将忽略此链路。 10. 根据权利要求 8 的方法, 其特征在于所述寻找能量零点的步骤包括 : 设置一个大小为 m 行, n 列的新能量矩阵 new_power, 设定 i 为 1 到 m 行的一个值, j 为 1 到 n 列的一个值, 若新能量矩阵 new_poweri,j (2) 为 0, 则发现所要寻找的点在第 j 列, 并结束, 否则继续循环。 权 利 要 求 书 CN 103945482 A 3 1/10 页 4 考虑能量均衡的能。

9、量优化路由选择算法 技术领域 0001 本发明涉及通过获得最优路径的能量消耗降低方法, 属于信息和通信技术领域。 背景技术 0002 随着信息和通信技术 (ICT) 的不断发展和完善, 服务要求的爆炸式增长, 信息和通 信技术正在发挥越来越重要的作用。 有报告指出, 无线网络, 有线网络和局域网络的能量消 耗占据了全球 30% 以上的电子能量消耗 , 并且这个比例在未来将会快速增加。因此无线通 信的能耗效率问题正逐步的受到大家关注。 信息和通信技术的一个重要发展方向是无线通 信的节能。 一方面, 无线通信网络的续航能力已经成为了衡量网络好坏的一个重要标准。 另 一方面, 电池技术的发展速度大大。

10、的慢于能量消耗的增长速度, 所以无线通信的节能更为 重要。因此, 提升能量效率是未来无线通信设计的一个重要发展趋势。 0003 过去几十年中, 人们更多的在努力提升网络吞吐率。不同的网络配置已经被研究 用来提高区域谱效率, 例如蜂窝网络中基站数目的优化和在中继系统中中继节点的放置。 很多的资源分配方法已经也被提出来保证每位用户的服务质量, 和利用多用户差异来保证 不同的用户之间的公平性。 很多先进的通信技术, 例如正交频分复用、 多输入多输出技术和 中继传输已经被在无线网络中被开发来提供高的谱效率。然而, 过高的网络吞吐率通常会 导致大量的能量消耗, 这对于能量感知网络和能量有限设备来说是无法。

11、承受的。寻求如何 降低能量消耗同时又满足吞吐率要求的网络和设备是一个急需解决的问题。 0004 协同传输技术是现代无线传感网络中最常见的技术。网络节点间相互协作, 将信 息发送到目的节点。这样做可以降低节点负担, 同时提升传输效率。但是同时也带来了一 些难以避免的问题。 例如, 某些节点处于关键位置, 即多条传输路径都会选取同一个节点作 为中继节点。 因此会造成网络节点的工作量不平衡, 导致个别节点过早衰竭, 影响整体的网 络传输效率。 0005 目前, 无线网络的能耗优化方法有很多, 其中以AODV(Ad hoc On-Demand Distance Vector Routing)(按需距离。

12、矢量路由协议) 及其衍生算法较为常见。在传统的 AODV 算法 上, 研究人员又对其进行变形和优化, 使之针对不同的网络结构和协议能够发挥更大的功 效。AODVjr 和 EA-AODV(Energy Aware-Ad hoc on-demand distance vector routing) (节能高效按需距离矢量路由协议) 是两个典型的 AODV 优化算法。 0006 AODV(按需距离矢量路由协议) 是一种反应式的路由协议, 换句话说, 只有当向目 的节点发送数据包时, 源节点才在网络中发起路由查找过程, 找出相应的路由。 普通的网络 路由协议是先验式的, 也就是说他们对路由的查找是不依。

13、赖于传输路径上的节点是否有数 据请求, 而是每一个节点维护一张包含所有节点信息的路由表。节点通过周期性的交换路 由信息来不断更新自身的路由表, 以此来及时的反应网络拓扑结构变化, 用以维护及时、 一 致的路由信息。在 AODV 算法中, 由于整个网络是静止的, 所以只有当一个网络节点需要建 立链接时才会广播连接请求。其他的 AODV 节点转发此请求消息, 记录源节点和回到源节点 的临时路由。当接收连接请求的节点知道到达目的节点路由是, 就会直接吧路由信息按照 说 明 书 CN 103945482 A 4 2/10 页 5 先前的记录回到源节点的临时路由发回源节点。如果网络断掉, 源节点重新发起。

14、路由查找 过程。AODV 算法主要是通过降低节点的路由查找次数, 以降低节点的工作时间达到的节能 目的。 0007 ZigBee 网状的网络拓扑结构通常采用 AODVjr 算法, AODVjr 算法是 AODV 算法的简 化版本, 其具有 AODV 算法的主要功能, 考虑到 ZigBee 协议的需要, 对 AODV 算法进行了一些 裁剪。 为了减少ZigBee网络的控制开销, 简化路由发现过程, AODVjr算法没有使用AODV算 法中使用的目的节点序号, 为了在网络中无环路, AODVjr 算法规定一致的目的节点路由的 中继节点不能回复路由请求, 只能由目的节点回复路由请求。AODVjr 算。

15、法的路由表不存在 AODV 算法中的先去节点列表, 这样降低了路由表的复杂度。且路由请求信息的格式被大大 简化, 仅仅包含一个不可达目的节点地址。 0008 EA-AODV 算法是在 AODV 算法上的一大改进。加入了对节点剩余能量的衡量, 以此 来避免节点的工作量不平衡问题。避免使用能量较小的节点, 从而延长低剩余能量节点的 生存时间。 记录节点剩余能量的百分比, 将剩余能量参数加入到路由选择标准中, 避免了多 个路由路径中选择同一节点的情况发生。 0009 但是, 由于 AODV 算法对于节点选取是选取最先答复的节点, 因此可能会陷入局部 最优。因此, 能够克服此问题的方案, 就变得有必要。

16、了。 0010 (现有的 AODV 算法中, 通过采反应式的方法获得节点的传输路径。即, 当信号源节 点发出数据包时, 第一个收到数据并发送反馈信息的节点作为传递节点。用这种方法可以 寻求到近似的最短路径, 但是在某些情况下会陷入局部最优解而非全局最优, 甚至可能发 生路径错误的情况。在这种情况下, 普通的 AODV 算法很难准确的找到最优路径。当 1 号节 点发送数据至 3 号节点时, 现有算法会通过 2 号节点的中继作用将信息传递给 3 号节点, 这 会造成不必要的路径损耗, 影响2号节点的正常工作。 AODV算法陷入的局部最优解, 将能量 过多的消耗在路径传输上。 ) 发明内容 0011。

17、 本文在 EA-AODV 的基础上提出了新的优化方法, 即通过使用遗传算法来获取最佳 的路由路径。 寻找全网的最短传输路径, 以降低路径损耗所带来的额外能量损耗。 由于AODV 算法对于节点选取是选取最先答复的节点, 因此可能会陷入局部最优。而此方法是获取了 全局最优, 避免了局部最优情况, 因此更为有效 ; 通过修改遗传算法的适应度函数, 将剩余 能量值作为考虑因素, 配比路径长度和剩余能量的权重值, 选取最优的路由路径, 在保证节 点工作量分配平衡的前提下降低路径损耗。对于节点的剩余能量是实时获的, 且以真实的 能量剩余值为依据, 所以此方法在能量的控制上更为精确。 0012 根据本发明的。

18、一个方面, 提供了一种通过获得最优路径的能量消耗降低方法, 其 特征在于包括 : 0013 从整个网络矩阵中随机选取一个节点, 作为源节点, 其中不取目的节点作为源节 点, 0014 确定最短路径, 0015 利用剩余能量值, 获得能量平衡, 获得最优路径, 0016 其中, 最后一个节点总是作为目的节点。 说 明 书 CN 103945482 A 5 3/10 页 6 附图说明 0017 图 1 是根据本发明的一个实施例的通过获得最优路径的能量消耗降低方法的主 流程。 0018 图 2 是根据本发明的一个实施例的最短路径确定流程。 0019 图 3 显示了根据本发明的一个实施例的最优路径确定。

19、流程。 0020 图 4 用于说明网络节点的矩阵的建立。 0021 图 5 显示了一个完整的网络节点分布矩阵。 0022 图 6 所示为一个具有 16 个节点的网络仿真结果。 具体实施方式 0023 无线传输过程中的路径损耗是无法避免的。 路径损耗是指在发射器和接收器之间 由于传播环境而造成的损耗。由于发射机与接收机之间的传播路径非常复杂, 从简单的视 距传播, 到遭遇各种复杂的地物, 如建筑物、 山脉和树叶等。无线信道不像有线信道那样固 定并且可预见, 而是具有很大的随机性, 难以分析。 无线信道的建模历来是移动无线系统设 计中的难点, 这一问题的解决一般利用统计方法, 并且根据对特定频带上。

20、的通信系统的测 量值来进行。 0024 路径损耗发生在每一次的无线传输过程中, 网络的运行时间越长, 所积累的路径 损耗总量越大。因此, 降低路径损耗是降低整体无线网络能耗的一个重 要因素。 0025 路径损耗相对比较复杂, 有多种模型用来计算路径损耗。忽略过多复杂因素的考 虑, 选用自由空间传播模型来进行路径损耗的计算。自由空间传播模型用于预测接收机和 发射机之间是完全无阻挡的视距路径时的接受信号场强。 自由空间模型预测接受功率的衰 减为 T-R 距离的函数。 0026 式 (2.1.4) 0027 其中, Pt为发射功率 ; Pr(d) 是接收功率, 为 T-R 距离的函数, Gt和 Gr。

21、分别是发射 天线和接收天线的增益 ; d是T-R间距离, 单位为米 ; L是与传播无关的系统损耗因子 ; 为 波长, 单位米。 0028 假设发射天线和接受天线的增益等于 1, 即 Gt=1,Gr=1 ; ZigBee 传输网络中频率已 知, 可根据不同传输速率选定频率 ; 可将式 (2.1.4) 变形为式 (2.1.5) 求解路径损耗。 0029 LfdB=20lg(f)+20lg(d)-28 式 (2.1.5) 0030 其中 f 为频率, 单位 MHz, d 为传输距离, 单位 m。可通过式 (2.1.5) 计算出路径损 耗。 0031 优化方法 0032 通过降低传输路径的长度, 可以。

22、从根本上降低传输损耗。因此可以将路径损耗的 问题转换为寻求最短路径的问题。 选用一个合理的算法进行全局最短路径的搜寻可以有效 的降低整网的能量消耗。 在这里, 可将路径损耗的问题转换为求最短路径的问题, 简化问题 的复杂程度。已知有多种途径寻求最短路径。 0033 遗传算法 (GA,Genetic Algorithm) 是一种新兴的智能算法。遗传算法是模拟达 尔文生物进化论的自然选择和遗传学激励的生物进化过程的计算模型, 是一种通过模拟自 说 明 书 CN 103945482 A 6 4/10 页 7 然进化过程的搜索最优解方法, 最初由美国密歇根大学的J.Holland教授于1975年首先提。

23、 出。遗传算法是从代表问题可能潜在的解集的一个种群开始的, 而一个种群则经过基因编 码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体。染色体作为遗传物 质的主要载体, 即多个基因的集合, 其内部表现是某种基因组合, 它决定了个体的形状的外 部表现。按照适者生存和优胜劣汰的原理, 逐代演化产生出越来越好的近似解, 在每一代, 根据问题域中个体的适应度大小选择个体, 并借助算子进行交叉和变异产生出代表新的解 集的种群。这个过程将导致种群像自然进化一样的后代比前代更加适应于环境, 末代种群 中最优个体经过解码, 可以作为问题近似最优解。 0034 根据本发明的一个实施例, 通过获得最优路。

24、径的方法降低能量消耗, 同时保证能 量平衡。 0035 在根据本发明的一个实施例的通过获得最优路径的能量消耗降低方法中, 最优路 径的选择有两个考虑, 其一是尽可能地降低路径损耗 ; 其二是根据节点 的剩余能量尽量避 免剩余能量较低的节点。 0036 图 1 显示了根据本发明的一个实施例的通过获得最优路径的能量消耗降低方法 的主流程。其中, 最后一个节点永远作为目的节点。如图 1 所示, 0037 首先, 系统从整个网络矩阵中随机选取一个节点, 作为源节点, 发送信息。在源节 点的选取中, 会避免选取目的节点作为源节点 (发射节点) 。 0038 然后, 通过寻找最优路径, 确定路由路径。在本。

25、实施例中, 使用遗传算法来获得最 优路径。 (图 1 中还包括了对所确定的最优路径进行模拟仿真操作的步骤, 但这些步骤并 不是本发明的通过获得最优路径的能量消耗降低方法的必要步骤, 而是对其效果进行评估 的处理。 ) 0039 先用遗传算法来确定最短路径。 0040 根据本发明的一个实施例的最短路径方法如图 2 所示, 其包括以下处理。 0041 先对种群进行初始化, 包括设定种群大小 (例如设定种群大小为 100, 此数据是经 过反复试验得出的值, 既保证了计算精度, 又保证了收敛速度) , 并设定遗传代数 : it=1。 0042 之后, 交叉操作。 0043 随后, 进行变异操作, 形成。

26、新个体。 0044 在完成交叉和变异操作后, 进行适应度的计算。随后将遗传代数加 1, 并判断是否 达到了预定的最大遗传代数。若 “否” , 则继续进行整个算法的过程, 若 “是” 则结束算法。经 过多次迭代, 获得最短路径。根据一个具体实施例, 将最大进化代数设置为一个值, 在进行 到该最大代数时, 无论是否获得最终结果, 都将已获得的解作为最优解使用。 本发明人经过 反复试验, 发现可以将最大进化代数设置为 200, 虽然这样做会存在一些误差, 但是保证了 整个优化过程的速度。且误差足够小, 不会过多影响优化效果。 0045 根据一个具体实施例, 上述种群初始化步骤包括 : 生成一个 n*。

27、PN 的 0, 1 矩阵 v, 令 第一列全为 1, 第 PN 列全为 1, 得到矩阵的大小, N 行 L 列, 我们设定种群大小为 100, 此数据 是经过反复试验得出的值, 既保证了计算精度, 又保证了收敛速度。设定遗传代数 : it=1。 0046 然后, 判断遗传代数it是否达到了所设定的最大遗传代数, 若it达到了最大的遗 传代数, 算法结束得到最优个体, 即本发明中的最短距离。 0047 根据一个具体实施例, 上述交叉变异操作包括 : 交叉概率设置为一个预定值 (诸 说 明 书 CN 103945482 A 7 5/10 页 8 如90%, 这个值通过试验获得, 如此取值的情况下,。

28、 算法获得效果较好, 且收敛速度较快) 。 所 谓交叉概率就是每次算法迭代时, 通过交叉方式产生新解的概率。交叉的过程可采用部分 映射杂交, 确定交叉操作的父代, 将父代样本两两分组, 每组重复以下过程。首先获取两组 父代样本 ; 诸如 : 0048 0049 对其进行交叉操作 ; 0050 0051 获得最终的交叉结果 ; 0052 0053 变异的概率设置为1交叉概率 (诸如10%) 。 由于使用的遗传算法中, 只用到了 交叉和变异两种变换形式, 所以变异概率交叉概率 1。变异的过程相对交叉较为简单。 随机确定两个位置, 将其交换位置即可。诸如 : 0054 9 5 1 3 7 4 2 1。

29、0 4 2 0055 10 5 1 2 7 4 3 10 4 2 0056 加粗部分为被选定的两个点, 将其调换位置, 完成变异过程。此过程均为随机。 0057 根据本发明的一个具体实施例, 变异原则设定为 : 根据 M=rand(N,L)=pm; 产生一 个随机矩阵, 其中 N 为种群数, L 为染色体元素个数, pm 为变异概率。若 M 矩阵中 M(i,j) =1, 则将对应矩阵上的 v(i,j) 取反, 即矩阵 v(i,j) 中为 1 的将其变成 0, 为 0 的变为 1。 即进行了变异。新矩阵 v 的计算公式为 : v=v-2*(v*M)+M 0058 根据一个具体实施例, 上述适应度。

30、函数可写成如下形式 : 0059 式 (2.3.1) 0060 式 (2.3.1) 中, lengthi代表路径长度, i 为选定节点的标号, i=1,2,N, lengthi 代表试验路径中第 i 个节点向下一个节点的路径的长度, N代表此次选中路径除目的节 点的节点选中节点的总个数。 0061 最短路径并不等同于最优路径。最优路径在考虑了最短路径的同时, 还需要考虑 能量平衡的问题。图 3 显示了根据本发明的一个实施例的最优路径确定流程, 其中 : 0062 首 先, 进 行 能 量 初 始 化。 根 据 一 个 具 体 实 施 例, 生 成 一 个 16*16 的 矩 阵 cordr,c。

31、,r 代表两节点之间的距离, 自身节点的距离用 0 来表示, 若某些节点与其他个别 说 明 书 CN 103945482 A 8 6/10 页 9 节点不连通, 则将距离表示为 100, 计算适应度函数的时候, 由于距离过大, 将忽略此链路。 c 表示的是剩余能量。在一个具体实施例中, 每个矩阵的初始能量设定为 20dB, 由于统计的 是路径损耗, 所以单位为 dB 而非焦耳。网络节点设置完毕。 0063 然后, 随机选择发送信息的节点。 0064 之后, 寻找能量零点 : 设置一个大小为 m 行, n 列的新能量矩阵 new_power, 设定 i 为 1 到 m 行的一个值, j 为 1 。

32、到 n 列的一个值。若新能量矩阵 new_poweri,j(2) 为 0, 则 发现所要寻找的点在第 j 列。结束, 否则继续循环。 0065 在 EA-AODV 算法中, 对能量平衡有所涉及, 但是由于控制粒度过粗, 导致效果并不 理想。 为了更准确容易的控制剩余能量, 根据一个具体实施例, 在适应度函数中引入实时的 剩余能量变量, 通过修改式 (2.1.5) 在不影响其函数特性的情况下, 按比例缩小路径损耗的 数值。如此, 将剩余能量实际的反映在适应度函数中, 而非以比例的形式引入。这样做可以 无需考虑能量等级划分区间的问题, 也就不用为了获得数据而进行反复试验。实际数值进 行衡量, 也就。

33、没有不同能量等级之间的跨越, 从而减少误差。如式 (2.3.4) 为修改过的加入 剩余能量的适应度函数 : 0066 式 (2.3.4) 0067 其中 和 为路径和剩余能量的权重值, 此权重值用来平衡路径长度和剩余能 量的比重, 可以根据自己系统的需求, 自行修改, 也可以通过程序进行动态配备, 以应对不 同情况。power_rei为第 i 号节点的剩余能量。 0068 刷新网络拓扑 : 通过交叉与变异操作, 产生新的染色体组, 节点传输路径改变, 从 而刷新了网络拓扑结构。 0069 获得最优路径 : 通过所构建的适应度函数和网络节点矩阵, 利用遗传算法, 进行迭 代求解, 获得最优路径。。

34、 0070 然 后,根 据 每 个 节 点 的 传 递 信 息 距 离 扣 除 相 应 的 能 量 消 耗 : energy=20log10(f)+20log10(d)-28 当距离小, 且剩余能量较大时, 适应度函数会相应的减 小, 此时更容易被接受。在路径长度相同的情况下, 如果剩余能量比较大, 那么此时的适应 度函数比较小, 会被算法接受作为新解, 进行了能量替换。即 刷新了能量零点。从而得到 剩余能量最多的节点。 0071 在使用遗传算法之前, 先进行一些初始化设置。首先是建立网络节点的矩阵。矩 阵需要包含的信息包括, 节点间的距离, 节点的剩余能量。此外, 矩阵的建立也决定了遗传 算。

35、法的编码方式。遗传算法的编码会直接影响到算法的效率和正确性。二进制编码最为常 用, 它将问题空间参数用一个 0,1 字符集构成的染色体表示, 符合最小字符集原则, 便于 用模式定理分析。对于遗传算法的交叉、 变异的操作也能非常方便的实现。 0072 由于一个节点的信息包含两部分, 可选用 MATLAB 软件中的 Cell 类型数据建立网 络矩阵。Cell 如同一个收集器一样, 可以在一个 Cell 变量下储存不同类型的数据。例如, cell A=1,2啊 sum(1); 在 A 中储存了不同的数据类型, 这样会极大的方便用户随时 调取所需数据, 尤其是在多组数据相互制约和影响的情况下, 无需担。

36、心数据转换所带了的 过多问题。因此网络矩阵的建立我们选用了 Cell 型数据。 0073 为了配合遗传算法的二进制编码, 降低算法的复杂性, 网络矩阵中应该包含源节 说 明 书 CN 103945482 A 9 7/10 页 10 点到其他节点的不同距离。 以距离作为信息, 可以省去通过坐标计算距离的过程, 简化适应 度函数, 加快整个遗传算法的进行。而且, 可以将网络节点的信息从三个 (X 坐标, Y 坐标, 剩余能量) 降低至两个 (距离, 剩余能量) 。具体的矩阵建立方法如图 4 所示, 网络 cell 中 的每一个元素是一个一行两列的小矩阵, 其中矩阵中第一个元素代表节点与节点之间的距。

37、 离。网络 cell 中的每一列代表节点编号, 第一个 cell 元素即为 1 号节点, 第二个 cell 元 素即为 2 号节点。如图 4 所示, 自身节点的距离用 0 表示, 第二个元素中的 5 米表示, 1 号节 点距离 2 号节点的距离是 5 米。如果某些节点与个别节点无法连通, 则将距离表示为 100, 计算适应度函数时, 由于距离过大, 将忽略此链路。 0074 Cell 中的矩阵内的第二个元素代表了剩余能量。每个矩阵的初始能量分配为 20dBm。此处需要说明的是, 由于统计的是路径损耗, 所以单位为 dB, 而非焦耳。如图 5 所示 为一个完整的网络节点分布矩阵, 其中包括了 8。

38、 个节点的距离位置信息和剩余能量信息。 从中可以看出, 该网络具有单向传输的特性。至此, 网络节点设置完毕。假设以节点 1 为信 息源节点发射信息至 8 号节点, 如果初始解为 11001001 那么表明信息的传递路径为 1 号 节点至 2 号节点至 5 号节点最终至 8 号节点。 0075 遗传算法还需要设置一些重要的参数。种群大小是一个非常关键的内容。如表 2.3.1 所示, 其中 P 为种群大小, S 为求解精度。在同样种群值大小 P 的情况下, 重复运行 100 次, 获得 100 个函数的最优值 yi, 取其算术平均值作为此种群大小下函数求解结果 y, 即 :则求解精度 S 定义为 。

39、: S=(y100/y0)%, y0为函数的理论最优值。 0076 表 2.3.1 种群大小与求解精度关系 0077 0078 由于过早收敛是遗传算法的局限性, 因此加大种群数量是改善过早收敛的有效方 法。但是过大的种群会导致计算速度的明显下降, 所以需要制定一个合适的值。在根据本 发明的一个优选实施例中, 设定种群大小为 100, 经过反复试验验证, 表明这样的种群大小 既保证了计算精度, 又保证了收敛速度。 0079 最大进化代数设置为 200 代, 即在进化至 200 代时, 无论是否获得最终结果, 都将 已获得的解作为最优解使用。虽然这样做会存在一些误差, 但是保证了整个优化过程的速 。

40、度。且误差足够小, 不会过多影响优化效果。 0080 交叉概率设置为 90%。这个值也是通过试验获得, 如此取值的情况下, 算法获得效 果较好, 且收敛速度较快。 所谓交叉概率就是每次算法迭代时, 通过交叉方式产生新解的概 率。 交叉的过程并不复杂, 采用部分映射杂交, 确定交叉操作的父代, 将父代样本两两分组, 说 明 书 CN 103945482 A 10 8/10 页 11 每组重复以下过程。首先获取两组父代样本 ; 0081 0082 对其进行交叉操作 ; 0083 0084 获得最终的交叉结果 ; 0085 0086 变异的概率设置为10%。 由于使用的遗传算法中, 只用到了交叉和变。

41、异两种变换形 式, 所以变异的概率为 10%。变异的过程相对交叉较为简单。随机确定两个位置, 将其交换 位置即可。此过程如下所示。 0087 9 5 1 3 7 4 2 10 4 2 0088 10 5 1 2 7 4 3 10 4 2 0089 加粗部分为被选定的两个点, 将其调换位置, 完成变异过程。 0090 在完成交叉和变异操作后, 如果还未达到最大进化代数, 那么将继续进行适应度 的计算。继续进行整个算法的过程。如果达到了最大进化代数, 那么将结束算法。 0091 在最短路径的搜寻中遗传算法的适应度函数可写成如下形式 : 0092 式 (2.3.1) 0093 式 (2.3.1) 中。

42、, lengthi代表路径长度, i 为选定节点的标号, N表示此次选中路 径除目的节点的节点选中节点的总个数。适应度函数值越小越容易被接受, 因此通过多次 迭代后, 可以求得最短路径。 0094 最短路径并不等同于最优路径。最优路径在考虑了最短路径的同时, 还需要考虑 能量平衡的问题。在 EA-AODV 算法中, 对能量平衡有所涉及, 但是由于控制粒度过粗, 导致 效果并不理想。如式 (2.3.2) , 式 (2.3.3) 所示。其中, 式 (2.3.2) 为 AODV 算法的能量计算 公式, 式 (2.3.3) 为 EA-AODV 算法的计算公式。相比两个公式, EA-AODV 在 AOD。

43、V 的基础上引 入了剩余能量百分比的参数, 以此来将剩余能量加入至路由选择中。但是由于 EA-AODV 的 能量剩余百分比仅仅是在阶段性起作用, 所以无法保证良好的控制效果。 0095 式 (2.3.2) 0096 式 (2.3.3) 0097 其中 Ci(t) 为节点能量消耗 ; Pt(i) 为发射功率 ; E0是节点的初始能量 ; Ei(t) 是节 说 明 书 CN 103945482 A 11 9/10 页 12 点的剩余能量 ; 是权重值, 通常参考路径损耗指数, 可参考不同情况下的路径损耗系数 ; 式 (2.3.3) 中的 Ki为剩余能量系数。因为每个节点的能量消耗速度不同, 在 E。

44、A-AODV 算法 中, 所有的节点根据剩余能量不同被分为不同等级。这可以根据他们在处理数据时的能量 等级像路由要求发出反馈。 如果能量等级数太多、 太精细, 那么会因为在分辨能量等级时花 费过多时间。 如果等级数量太少, 那么又很难完成能量平衡的任务。 因此, EA-AODV算法中, 难免会因为此情况令使用者对于能量等级的划分上左右为难。普遍将能量等级划分为 3 个 等级, 在能量大于 20% 初始能量时都是正常状态。在剩余能量在 10% 20% 初始能量之间 时, 为警告区间, 系统会尽量避免使用此节点。在能量小于 10% 初始能量时, 为危险区域, 仅 有在不得已的情况下才会使用此节点。。

45、我们应该注意到, 如此的能量等级划分导致了在临 界区域的节点控制不准确, 能量化分不细致的问题。 0098 为了更为准确、 容易的控制剩余能量, 我们在适应度函数中引入了实时的剩余能 量变量, 以获得更加准确的控制效果。由于路径损耗的数值远远大于传输距离的数值, 所以适应度函数很难正确计算。为了减小径路径损耗带来的过多影响, 我们通过修改式 (2.1.5) , 在不影响其函数特性的情况下, 按比例缩小计算数值, 以降低其数值。 我们将剩余 能量实际的反映在适应度函数中, 而非以比例的形式引入。这样做可以无需考虑能量等级 划分区间的问题, 也就不用为了获得数据而进行反复试验。 以实际数值进行衡量。

46、, 也就没有 不同能量等级之间的跨越, 从而减少误差。如式 (2.3.4) 所示为修改过的适应度函数。 0099 式 (2.3.4) 0100 其中 和 为路径和剩余能量的权重值, 此权重值用来平衡路径长度和剩余能 量的比重, 可以根据自己系统的需求, 自行修改。 甚至, 可以通过程序进行动态配备, 以应对 不同情况。power_rei为第 i 号节点的剩余能量。当距离小, 且剩余能量较大时, 适应度函 数会相应的减小, 此时更容易被接受。在路径长度相同的情况下, 如果剩余能量比较大, 那 么此时的适应度函数比较小, 会被算法接受作为新解。 0101 首先通过设置合理的网络矩阵, 将无线传感网。

47、络的传输路径问题, 转换为求解最 短路径的问题。然后通过引入剩余能量值, 解决能量平衡的问题。以上两个问题, 通过所构 建的适应度函数和网络节点矩阵, 利用遗传算法, 进行迭代求解, 获得最优路径。 0102 最优路径的仿真结果及分析 0103 仿真结果共分为两部分, 一部分是无线信息传感网络在最优传输路径下传输时所 消耗的能量与在传统 AODV 算法下所消耗的能量的对比。为了方便对比和说明效果, 对两个 不同节点数的无线网络矩阵进行仿真。每次仿真都将随机进行预定次数 (如 15 次) 的信息 传递。每次信息传递时, 将随机挑选一个节点 (此节点不能是目的节点) 作为源节点进行信 息的发送。目。

48、的节点永远都是网络矩阵中的最后一个节点。 0104 如图 6 所示为一个具有 16 个节点的网络仿真结果。从图中可以看出, 采取最优路 径的优化后, 网络能量消耗相比 AODV 算法下的网络能耗有所降低。AODV 算法在第 7 次信 息传输时就首先出现了能量衰竭的节点, 所以导致其在第 7 次信息传输时能量超出了最优 路径的算法。 而经过最优路径优化的无线信息网络中, 在每一次的信息传递中, 能量消耗普 遍低于 AODV 算法下无线信息网络的能量消耗。相比 AODV 算法, 最优路径优化平均降低了 15% 的能耗。且最优路径算法在第 9 次信息传递中才出现了衰竭节点, 由此可见, 最优路径 说 明 书 CN 103945482 A 12 10/10 页 13 算法不仅降低了能量消耗, 还平衡了网络各个节点的工作负担, 达到了能量平衡的效果。 0105 表 (3.1.2) 可以更直观的表示出最优路径和 AODV 算法在 8 节点网络中的能耗情 况。由于 8 节点的网络规模较小, 且网络情况比较简单, 所以 AODV 算法所寻求的路径往往 就是最短路径。所以此时最优路径的优化效果并不明显。平均能耗差异仅在 0.3% 左右, 相 差并不大。但是在。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1