一种基于遗传算法的能量异构无线传感器路由系统

文档序号:1925895 发布日期:2021-12-03 浏览:19次 >En<

阅读说明:本技术 一种基于遗传算法的能量异构无线传感器路由系统 (Energy heterogeneous wireless sensor routing system based on genetic algorithm ) 是由 焦万果 石剑恒 徐云 沈国忠 于 2021-08-05 设计创作,主要内容包括:本发明公开了一种基于遗传算法的能量异构无线传感器路由系统,属于网络管理技术领域。本发明包括簇头选举模块、集群构建模块和簇头多跳路径规划模块;所述簇头选举模块通过计算个体适应值、对个体进行交叉、变异以及迭代计算筛选出最优个体,将筛选出的多个最优个体组成最优个体集合,簇头选举模块用于选举最优个体集合,本发明中传感器节点在作为簇头跳转点时,收集、处理和转发簇头和传感器节点数据耗费能量较少,增加了网络寿命和网络性能,通过将簇头剩余能量、簇头与基站的距离、传感器节点与簇头的距离考虑到集群的构建中,使簇头和加入簇头的传感器节点均匀分布,减少簇头在传递传感数据时耗能最少。(The invention discloses an energy heterogeneous wireless sensor routing system based on a genetic algorithm, and belongs to the technical field of network management. The cluster head multi-hop path planning method comprises a cluster head election module, a cluster building module and a cluster head multi-hop path planning module; the cluster head election module is used for selecting the optimal individual set by calculating the individual adaptive value, crossing, mutating and iterating the individual, and forming the optimal individual set by a plurality of the selected optimal individuals.)

一种基于遗传算法的能量异构无线传感器路由系统

技术领域

本发明涉及网络管理技术领域,具体为一种基于遗传算法的能量异构无线传感器路由系统。

背景技术

在能量受限的无线传感器网络中,分簇路由算法能够在满足负载均衡要求的同时有效提高网络寿命,LEACH是一种经典的分簇算法,它基于轮次的概念来选择簇头,但是簇头选举的随机性会导致一些问题,这些问题将进一步导致传感器节点的过早死亡和能量消耗的不平衡,紧接着网络的寿命将大大缩短。

在无线传感器网络中,大量密集分布的传感器节点需要消耗大部分能量来收集、处理和转发传感数据,导致耗能过大,从而减少网络寿命、降低网络性能,在无线传感器网络中,通常采用单跳通信,在大规模网络中数据通信的时延大大增加,以及在选取能量不足的传感器节点作为簇头时,现有算法只考虑了剩余能量,而忽略了距离和节点密度的影响,导致簇头分布不均匀。

发明内容

本发明的目的在于提供一种基于遗传算法的能量异构无线传感器路由系统,以解决上述背景技术中提出的问题。

为了解决上述技术问题,本发明提供如下技术方案:包括簇头选举模块、集群构建模块和簇头多跳路径规划模块;

所述簇头选举模块对传感器节点进行筛选,将筛选出的多个最优个体组成最优个体集合,并将选举出的最优个体集合传输至集群构建模块,簇头选举模块用于选举最优个体集合;

所述集群构建模块对簇头选举模块传输的最优个体集合进行接收,最优个体通过寻找传感器节点组成集群,集群构建模块用于以簇头为中心选取合适的普通传感器节点形成新的簇;

所述簇头多跳路径规划模块通过遍历所有簇头节点并结合能量因素规划簇头到基站的最短路径,簇头多跳路径规划模块用于规划簇头到基站的最短路径。

进一步的,所述簇头选举模块包括初始数据接收单元、种群初始化单元、编码单元、个体适应值计算单元、交叉单元、变异单元和迭代计算单元;

所述初始数据接收单元通过在基站广播和传感器网络中查询所有传感器的节点信息,并将查询到的节点信息发送至基站,基站将接收到的所有传感器节点信息进行保存,同时对每个传感器节点进行标号,并将保存的所有传感器节点信息传输至种群初始化单元,初始数据接收单元用于将传感器的节点信息传输至基站和种群初始化单元;

所述种群初始化单元接收初始数据接收单元传输的所有传感器的节点信息,对传感器节点的具体数量进行统计,并根据传感器节点的具体数量设定种群规模,根据种群规模,随机生成初始种群,将随机生成的初始种群传输至编码单元,种群初始化单元通过设定的种群规模随机生成初始种群;

所述编码单元对种群初始化单元传输的初始种群进行接收,种群中每个个体都是一个变量序列,称为染色体或基因串,通过采用十进制编码的方式对每个节点对应的染色体基因进行编码,每个节点都有对应其染色体基因编码的唯一序列号,并将编码后的个体传输至个体适应值计算单元,十进制编码以数字的形式直接进行编号,适合求解最优群体问题,编码单元用于将每个个体以序列号的形式进行表示,便于对个体的染色体基因变化较为直观的进行观察判断;

所述个体适应值计算单元根据适应度函数对编码后的每个个体的适应度值进行计算,并将种群中的每个个体按照适应值从高到低进行排列,将重新排列后的种群传输至交叉单元,同时个体适应值计算单元对未达到最大迭代次数或适应值误差值不在允许范围内的新产生的个体进行接收,再次对其进行计算、选择、交叉和变异,个体适应值计算单元用于对编码后每个个体的适应值进行计算;

所述交叉单元对重新排列后的种群进行接收,在种群中每个个体的编码串中随机设置一个交叉点,然后随机选择一个个体在交叉点相互交换两个个体的部分染色体,并将交叉处理后的种群传输至变异单元,交叉单元用于对个体中的部分染色体进行交叉处理,交叉操作即对个体的染色体基因进行交换,选取交叉处理后形成的存活的新个体作为变异目标个体;

所述变异单元接收交叉单元处理后的种群,对交叉处理后的个体中的部分染色体进行变异操作,产生新的个体,并将变异后产生的新的个体传输至迭代计算单元,变异单元用于对交叉处理后的个体进行变异处理,个体在进行变异处理前需等待一段时间,避免个体交叉处理不完全,变异单元用于对交叉处理后存活的新个体中染色体基因序列取反,实现个体变异,并选择变异处理后存活的新个体作为迭代目标;

所述迭代计算单元接收变异处理后产生的新的个体,对新产生的个体进行迭代处理,将达到最大迭代次数或适应值误差值在允许范围内的新产生的个体输出,构成最优个体集合,将未达到最大迭代次数或适应值误差值不在允许范围内的新产生的个体输送至个体适应值计算单元再次进行相关处理,并将最优个体集合传输至集群构建模块,迭代计算单元用于在种群中选取多个最优个体,即选取多个最优簇头。

进一步的,所述个体适应值计算单元的适应度函数为:

其中,Fitness表示适应值大小,dtoBS为节点距离基站的距离,Neighbor为邻居节点数,En_res为节点的剩余能量,α、β和θ为权重系数,且权重系数满足α+β+θ=1,权重系数根据影响适应度值的大小进行调整,i表示每个节点对应的标号,N表示节点的总数量。

进一步的,所述初始交叉概率设置为0.6,下一轮的交叉概率依靠上一轮交叉概率得出,交叉概率的具体计算公式为:

其中,Pc表示交叉概率,Pc1表示初始交叉概率,Pc2表示上一次迭代交叉处理得到的交叉概率,fmax是群体中最优个体的适应值,fang是种群的平均适应值,f′是待交叉的两个个体中较大的适应值。

进一步的,所述初始变异概率为0.1,下一轮的变异概率依靠上一轮变异概率得出,变异概率具体的计算公式为:

其中,Pm表示变异概率,Pm1表示初始变异概率,Pm2表示上一次迭代变异处理后得到的变异概率,fmax是群体中最优个体的适应值,fang是种群的平均适应值,f”表示变异个体的适应度值,初始变异概率还可以设置为小于0.1的数值。

进一步的,所述集群构建模块对簇头选举模块传输的最优个体集合进行接收,集合中的个体广播自己成为簇头的消息,普通传感器节点接收个体传播的消息,选择加入集合中的某个簇头,簇头和选择加入其的所有普通传感器节点构成集群,同时在构建过程中普通传感器节点根据簇头剩余能量、簇头与基站的距离和传感器节点与簇头的距离之间的关系判断具体加入哪个集群,集群构建模块用于以簇头为中心选取合适的普通传感器节点形成新的簇。

进一步的,所述簇头剩余能量、簇头与基站的距离和传感器节点与簇头的距离之间满足下列公式关系,具体的公式为:

其中,Ei表示的是第i个簇头节点的能量,表示h个簇头的平均能量,dtoCH为普通节点到簇头的距离,dtoBS为目标簇头节点与基站之间的距离,λ1、λ2和λ3为比例系数,λ1=0.55,λ2=0.3,λ3=0.15,Th表示综合指数。

进一步的,所述普通传感器节点根据综合指数Th判断加入哪个集群的具体步骤为:

步骤一:选择一个普通节点,对每一个簇头与该普通节点之间的距离信息、簇头与基站之间的距离信息和簇头的剩余能量带入综合指数计算公式进行计算;

步骤二:将计算后得到的综合指数按照从大到小的顺序进行排列,保证所有簇头都被选中且完成计算,避免出现簇头被遗漏的现象;

步骤三:计算完成后,比较同一个普通传感器节点与不同簇头之间计算出的综合指数,通过比较综合指数大小判断普通传感器节点加入哪个集群,通过综合指数判断节点是否加入簇头,有利于减少能量消耗;

步骤四:遍历所有普通传感器节点,重复上述步骤,从而实现集群的划分与形成。

进一步的,所述簇头多跳路径规划模块通过Floyd算法结合簇头能耗规划簇头到基站的最短路径,具体的最短路径计算公式为:

距离判断条件:

Di_to^2+Dto_BS^2<Di_to_BS^2;

其中,Di-to为当前节点与下一跳节点间的距离,Dto_BS为下一跳节点与基站之间的距离,Di_to_BS为当前节点与基站之间的距离;

当满足距离判断条件时,当前节点经过跳转节点再到达基站的能量消耗低于当前节点直接到达基站的能量消耗,当前节点经过一个个符合判定条件的中间节点最终到达基站的路径表示为最短路径,数据传输距离和消耗的能量呈现次方关系,距离判断条件为欧式距离的2次方形式,此举间接考虑了能量因素;

多跳传输判断条件:

其中,d0为簇头到基站的临界距离,εfs为自由空间信道模型中功率放大器的能耗系数,εamp是多径衰落信道模型的功率放大系数,若端节点与基站之间的距离大于d0,则端节点无法将节点信息传输至基站,此时需要通过中间节点将端节点的数据信息传输至基站,当端节点与基站之间的距离小于d0时,无需进行多跳传输,可以直接通信,采用多跳通信,减少了能量消耗。

进一步的,所述Floyd算法结合簇头能耗规划最短路径的具体步骤为:

Step1:对簇头进行编号,将源节点编号放入路径集合S中;

Step2:判断源节点距离基站的最短路径是否求出,若求出则将路径集合S输出,若未完全求出,则寻找不在集合S中且与源节点具有最小距离的顶点U,U还需要满足距离判断条件;

Step3:若找到顶点U,则将顶点U并入集合S中,并对新集合重复步骤二的操作,并将U暂时当作源节点求解下一跳,若未找到顶点U,则判断当前节点与基站距离是否小于d0,若小于d0则自身为最后一跳,若大于d0则遍历邻居节点,寻找可以与基站直接通信的最近的点作为最后一跳;

Step4:将最后一跳的编号加入集合S,得出最短路径。

与现有技术相比,本发明所达到的有益效果是:

1.本发明通过将簇头节点均匀分布,使加入对应簇头的传感器节点剩余能量和簇头剩余能量较不均匀分布的传感器节点和簇头的剩余能量多,进而使得传感器节点在作为簇头中继点时,收集、处理和转发簇头和传感器节点数据耗费能量较少,进一步增加了网络寿命和网络性能。

2.本发明通过采用多跳通信取代簇头的单跳通信,簇头数据包通信以多跳的方式进行,使得簇头到基站所消耗的能量更少,小于直接通信的能耗,通过规划最短跳转路径,进一步减少了大规模网络中数据通信的能耗。

3.本发明通过将簇头剩余能量、簇头与基站的距离、传感器节点与簇头的距离考虑到集群的构建中,使簇头和加入簇头的传感器节点符合“能者多劳”的原则,使得网络的负载更加均衡。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1是本发明一种基于遗传算法的能量异构无线传感器路由系统的遗传算法工作流程图;

图2是本发明一种基于遗传算法的能量异构无线传感器路由系统的簇头多跳路径规划模块中弗洛伊德算法流程图;

图3是本发明一种基于遗传算法的能量异构无线传感器路由系统的第一个节点死亡所发生轮数示意图;

图4是本发明一种基于遗传算法的能量异构无线传感器路由系统在传感器节点密度变化情况下第一个节点死亡所发生轮数的变化示意图;

图5是本发明一种基于遗传算法的能量异构无线传感器路由系统在网络区域宽度变化情况下第一个节点死亡所发生轮数的对比图;

图6是本发明一种基于遗传算法的能量异构无线传感器路由系统的网络总体剩余能量随轮数变化示意图;

图7是本发明一种基于遗传算法的能量异构无线传感器路由系统在传感器节点密度变化情况下网络能量剩余率变化对比图;

图8是本发明一种基于遗传算法的能量异构无线传感器路由系统在网络区域宽度变化情况下网络能量剩余率变化对比图;

图9是本发明一种基于遗传算法的能量异构无线传感器路由系统的剩余存活节点数随轮次变化示意图;

图10是本发明一种基于遗传算法的能量异构无线传感器路由系统在传感器节点密度变化情况下节点的存活率变化对比图;

图11是本发明一种基于遗传算法的能量异构无线传感器路由系统在网络区域宽度变化情况下节点的存活率变化对比图;

图12是本发明一种基于遗传算法的能量异构无线传感器路由系统的不同暂停时间对应的网络时延情况示意图;

图13是本发明一种基于遗传算法的能量异构无线传感器路由系统在传感器节点密度变化情况下网络的平均时延对比图;

图14是本发明一种基于遗传算法的能量异构无线传感器路由系统在网络区域宽度变化情况下网络的平均时延对比图;

图15是本发明一种基于遗传算法的能量异构无线传感器路由系统在传感器节点密度变化情况下不同密度网络中的吞吐量对比图;

图16是本发明一种基于遗传算法的能量异构无线传感器路由系统在网络区域宽度变化情况下不同密度网络中的吞吐量对比图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例:本发明提出的一种基于遗传算法的均匀分簇路由算法,即GACR算法,选取一个100m*100m的区域,设定该区域中随机分布100个传感器节点,传感器节点的初始能量为0.02J,传感器节点数据包大小为4000bit,GACR算法和LEACH-P算法采用多跳网络规划最短路径,KAEC算法和LEACH算法采用单跳网络规划最短路径,LEACH是一种经典的分簇算法,它基于轮次的概念来选择簇头,LEACH-P是一种链式路由算法,用以通过多跳网络完成簇头的多跳路径规划,KAEC算法由K-Means算法改进得出,用以解决簇头均匀覆盖的问题。

对比例一:请参阅图3-5,在其他设定值不变的情况下,通过分别改变传感器节点个数和网络区域面积,对四种算法中第一个节点死亡发生的轮次情况进行分析;

<1>在设定值满足实施例一的条件下,请参阅图3,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,LEACH算法仿真中部分传感器节点由于能量消耗过快导致过早死亡,GACR算法延长了传感器节点的寿命;

<2>在传感器节点数量从40增加到200,其他设定值满足实施例一的条件下,请参阅图4,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,随着传感器节点不断增加,GACR算法仿真中的第一个节点死亡时间越来越晚,而在其他三种算法中,第一个节点死亡时间越来越早,由此可知GACR算法与其他三种算法相比更适合大规模网络,GACR算法不适合小规模网络是因为在小规模网络中,由于节点的位置和能量的不可持续性,使得满足能量条件、邻居节点密度和与基站距离等因素的优秀节点变得更少,而GACR算法中需要持续选择这些节点作为簇头,这将导致可供选择的节点无法满足需求,从而使得节点死亡时间过早;

<3>在网络面积从20x20m扩大到140mx140m,其他设定值满足实施例一的条件下,请参阅图5,由于网络区域宽度在大于150m时,测试中的节点会快速死亡,所以选择最后将区域扩大到140x140m,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,随着网络不断增大,KAEC曲线、Leach-P曲线和Leach算法曲线基本重合,相较而言,GACR算法延迟了第一个节点的死亡时间,网络负载更加均衡;

综上可知,在基本情况下或以及增加传感器节点数量和扩大网络区域面积的情况下,GACR算法仿真中的第一个节点死亡时间最晚,且GACR算法更适用于大规模网络。

对比例二:请参阅图6-8,在其他设定值不变的情况下,通过分别改变传感器节点个数和网络区域面积,对四种算法中网络能量剩余情况进行分析;

<1>在设定值满足实施例一的条件下,请参阅图6,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,在仿真前半段KAEC算法的能耗优于LEACH-P算法,在网络模拟后期时LEACH-P算法中的剩余能量大于KAEC算法中的剩余能量,经过600轮仿真时,GACR算法中的剩余能量相较于其他三种算法而言最多,约3-5倍;

<2>在传感器节点数量从40增加到200,其他设定值满足实施例一的条件下,请参阅图7,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,随着节点密度不断增加,GACR、KAEC、LEACH-P和LEACH四种算法的剩余能量逐渐增加,但GACR算法在节点密度相同的条件下剩余能量最多,并且随着传感器节点密度的增加剩余能量增加的趋势更加明显;

<3>在网络面积从20x20m扩大到140mx140m,其他设定值满足实施例一的条件下,请参阅图8,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,随着网络区域宽度的不断增大,四种算法的能量剩余率均逐渐降低,但GACR算法始终保持优势,剩余能量较大;

综上可知,在基本情况下或增加传感器节点数量和扩大网络区域面积的情况下,GACR算法仿真中能量剩余量相较于其他三种算法而言较多。

对比例三:请参阅图9-11,在其他设定值不变的情况下,通过分别改变传感器节点个数和网络区域面积,对四种算法中剩余存活节点数随轮次的变化情况进行分析;

<1>在设定值满足实施例一的条件下,请参阅图9,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,GACR算法仿真中大多数传感器节点存活,且经过600轮仿真时,使用GACR算法的传感器节点存活数量最多且存活率较高,表明能量消耗的均衡性;

<2>在传感器节点数量从40增加到200,其他设定值满足实施例一的条件下,请参阅图10,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,在网络中只有40个节点时,由于网络稀疏导致开销增加,而此时各算法的剩余能量较少,从而使得节点的存活率低,随着节点数量的增加,各算法中节点的存活率逐渐增加,GACR算法仿真中节点存活率最高;

<3>在网络面积从20x20m扩大到140mx140m,其他设定值满足实施例一的条件下,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,在网络区域不断增大的情况下节点的存活率均呈下降趋势,在140mx140m的网络区域场景下,GACR算法的节点存活率为60%,明显优于其他算法;

综上可知,在基本情况下或扩大网络区域面积的情况下,GACR算法仿真中节点存活率相较于其他三种算法而言较高,但主体呈下降趋势,在增加传感器节点的情况下,GACR算法仿真中节点存活率明显高于其他三种算法,且存活率呈上升趋势。

对比例四:请参阅图12-14,在其他设定值不变的情况下,通过分别改变传感器节点个数和网络区域面积,对四种算法中网络平均延迟情况进行分析;

<1>在设定值满足实施例一的条件下,请参阅图12,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,在时延方面,多跳网络的平均时延并不比单跳网络好,GACR和LEACH-P算法都有较高的时延,结合图6可以看出GACR算法虽然在平均时延方面劣于LEACH算法,但GACR算法在能量利用分配上更加合理高效,从而延长了节点寿命,在网络负载均衡上也更加优秀有效;

<2>在传感器节点数量从40增加到200,其他设定值满足实施例一的条件下,请参阅图13,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,随着传感器节点数量不断增加,LEACH-P算法和GACR算法的延迟情况相似,整体趋势保持平稳,且延迟时间相较于KAEC算法和LEACH算法相比更高;

<3>在网络面积从20x20m扩大到140mx140m,其他设定值满足实施例一的条件下,请参阅图14,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,随着网络区域不断增大,在小规模网络中,GACR算法的时延小于LEACH-P,而在大规模网络中,GACR算法的时延性能最差;

综上可知,图12、13和14中在扩大网络区域面积或增加传感器节点数量的情况下,GACR算法的延迟时间上升趋势不明显,但在平均时延方面不优于其他三种算法。

对比例五:请参阅图13和图14,在其他设定值不变的情况下,通过分别改变传感器节点个数和网络区域面积,对四种算法中不同网络密度下的吞吐量情况进行分析;

<1>在传感器节点数量从40增加到200,其他设定值满足实施例一的条件下,请参阅图15,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,随着传感器节点数量不断增加,GACR算法的吞吐量明显优于KAEC、LEACH-P和LEACH三种算法,且随着网络密度的增加GACR算法的吞吐量明显增加;

<2>在网络面积从20x20m扩大到140mx140m,其他设定值满足实施例一的条件下请参阅图16,GACR、KAEC、LEACH-P和LEACH四种算法仿真中,随着网络区域不断增大,KAEC、Leach-P和Leach算法的吞吐量虽然逐渐增加,但GACR算法中的的吞吐量最多,且受网络密度的影响较小;

综上可知,在扩大网络区域面积或增加传感器节点数量的情况下,GACR算法的吞吐量均高于其他三种算法。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种移动环境下WSNs的QoS感知的多路径路由算法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!