本发明涉及通讯技术领域的一种优化方法,尤其涉及一种基于遗传算法的apteen路由协议优化方法,还涉及一种基于遗传算法的apteen路由协议优化装置。
背景技术:
无线传感器网络(wsns)是由很多传感器节点所组成的,这些传感器节点主要负责接收,发送数据以及周围环境数据的监测,wsns由于监测性能优良,在军事,海洋等方面得到了广泛的应用。路由协议是针对wsns系统控制,使用规划好的策略将数据分组从源节点通过网络转发到目的节点,目前熟知的路由协议有很多种,如speed协议,gear协议,gaf协议,leach等协议,但是,传感器节点由于无法补充能量,导致系统大量节点死亡之后只能重新加入传感器节点,而传感器节点的能量消耗主要用于传输以及接收数据方面,因此,有一个高效节能的路由协议成为了wsns提高网络生存周期,网络系统健壮性以及鲁棒性的一个主要目标。目前,热门的分层路由协议为自适应能量有效的阈值敏感传感器网络路由算法(apteen)。
apteen路由协议以循环方式随机选择簇头节点。该算法采用了“轮”的概念。每个节点在每一轮生成一个介于0和1之间的随机数。如果生成的随机数小于协议的预设数t(n),则选择该节点作为数据传输的簇头。在此基础上,apteen定义了硬阈值和软阈值,以减少不必要的数据传输,它不仅可以定期收集数据,而且在突发环境中响应迅速。由于传感器节点的分布基本上是不规则的,apteen存在以下缺点:协议不能选择最佳的簇头,一些高能节点没有充分利用,簇间能量消耗不均匀,在紧急情况下需要传输大量数据时,很容易产生能量热区现象导致节点过早死亡,高密度节点没有良好的休眠机制以及簇头覆盖率过低。
技术实现要素:
针对现有技术的问题,本发明提供一种基于遗传算法的apteen路由协议优化方法及其优化装置,解决了现有的apteen路由协议中一些高能节点没有充分利用,簇间能量消耗不均匀,很容易产生能量热区现象,进而导致节点过早死亡,簇头覆盖率过低的问题。
本发明采用以下技术方案实现:一种基于遗传算法的apteen路由协议优化方法,其包括以下步骤:
步骤s1,建立路由协议的能量消耗模型;
步骤s2,根据各个节点的适应度一,第一次选取簇头,以确定系统中所有簇的大致分布位置;每个节点的适应度一的计算方法包括以下步骤:步骤s21,计算对应节点的消耗能量同初始能量的比值δ1;步骤s22,计算对应节点与基站的距离同最远节点与基站的距离的比值δ2;步骤s23,计算对应节点与所述能量消耗模型的几何中心的距离同最远节点与所述几何中心的距离的比值δ3;步骤s24,计算当前节点成簇后未覆盖的节点数同总节点数的比值δ4;步骤s25,计算比值δ1、比值δ2、比值δ3、比值δ4的加权和,并作为对应节点的适应度一;
步骤s3,先将当前其他簇覆盖的非簇头节点从当前簇所覆盖的节点中剔除,再根据各个节点的适应度二,在簇内重新选取簇头;每个节点的适应度二的计算方法包括以下步骤:步骤s31,计算对应节点与质心的距离同簇的覆盖半径的比值δ5;步骤s32,计算对应节点的消耗能量同初始能量的比值δ6;步骤s33,计算未被覆盖的节点数同总节点数的比值δ7;步骤s34,计算比值δ5、比值δ6、比值δ7的加权和,并作为对应节点的适应度二;
步骤s4,计算各个节点的节点度,并在所述能量消耗模型中非边缘节点的节点度不小于一个预设节点度一且边缘节点的节点度不小于一个预设节点度二时,使对应的节点休眠且邻居节点的节点度减1防止邻居节点过度休眠;
步骤s5,根据各个节点的适应度三,使相应非簇头节点入簇;每个节点的适应度三的计算方法包括以下步骤:步骤s51,计算对应节点与簇头的距离同所述能量消耗模型中传输距离的范围阈值的比值δ8;步骤s52,计算邻近簇的工作成员数同总节点数的比值δ9;步骤s53,计算簇首的消耗能量同初始能量的比值δ10;步骤s54,计算比值δ8、比值δ9、比值δ10的加权和,并作为对应节点的适应度三。
作为上述方案的进一步改进,所述优化方法还包括:
步骤s6,判断簇头的剩余能量是否达到所述能量消耗模型中所在簇的平均能量;
在簇头的剩余能量达到所述能量消耗模型中所在簇的平均能量时,执行步骤s7,先使对应簇头变为非簇头节点,再执行步骤s3。
作为上述方案的进一步改进,所述能量消耗模型的模型公式为:
其中,
作为上述方案的进一步改进,第一次选取簇头的选取公式为:
t(n)为簇头的选取阈值,temp1为节点的适应度一,p簇头选取的概率,
作为上述方案的进一步改进,各个距离的计算公式均为:
其中,xi为节点的横坐标,yi为节点的纵坐标;xc为所述能量消耗模型的几何中心或基站的横坐标,yc为所述能量消耗模型的几何中心或基站的纵坐标。
作为上述方案的进一步改进,对应节点与质心的距离的计算公式为:
簇的覆盖半径的计算公式为:
其中,d质心为对应节点与质心的距离,m为未被其余簇覆盖的节点数,xi为节点的横坐标,yi为节点的纵坐标,xj为簇中未被其他簇覆盖的节点横坐标,yj为簇中未被其他簇覆盖的节点纵坐标;r为簇的覆盖半径,s2为所述能量消耗模型的面积,k为成簇个数。
作为上述方案的进一步改进,比值δ1、δ2、δ3、δ4、δ5、δ6、δ7、δ8、δ9、δ10的加权系数取值范围均为[0,1];比值δ1、δ2、δ3、δ4的加权系数之和为1,比值δ5、δ6、δ7的加权系数之和为1,比值δ8、δ9、δ10的加权系数之和为1。
作为上述方案的进一步改进,还根据交叉概率和变异概率选取簇头;其中,交叉概率的计算公式为:
式中,pcc为交叉概率;
变异概率的计算公式为:
式中,pmm为变异概率;f为个体适应度,fmax为整轮最大适应度,favg为整轮平均适应度;
作为上述方案的进一步改进,所述预设节点度一为11,所述预设节点度二为7。
本发明还提供一种基于遗传算法的apteen路由协议优化装置,其应用上述任意所述的基于遗传算法的apteen路由协议优化方法,其包括:
模型建立模块,其用于建立路由协议的能量消耗模型;
首次选取簇头模块,其用于根据各个节点的适应度一,第一次选取簇头,以确定系统中所有簇的位置;所述首次选取簇头模块包括计算单元一、计算单元二、计算单元三、计算单元四以及适应度一计算单元;所述计算单元一用于计算对应节点的消耗能量同初始能量的比值δ1;所述计算单元二用于计算对应节点与基站的距离同最远节点与基站的距离的比值δ2;所述计算单元三用于计算对应节点与所述能量消耗模型的几何中心的距离同最远节点与所述几何中心的距离的比值δ3;所述计算单元四用于计算当前节点成簇后未覆盖的节点数同总节点数的比值δ4;所述适应度一计算单元用于计算比值δ1、比值δ2、比值δ3、比值δ4的加权和,并作为对应节点的适应度一;
重选簇头模块,其用于先将当前其他簇覆盖的非簇头节点从当前簇所覆盖的节点中剔除,再根据各个节点的适应度二,在簇内重新选取簇头;每个节点的适应度二的计算方法包括以下步骤:步骤s31,计算对应节点与质心的距离同簇的覆盖半径的比值δ5;步骤s32,计算对应节点的消耗能量同初始能量的比值δ6;步骤s33,计算未被覆盖的节点数同总节点数的比值δ7;步骤s34,计算比值δ5、比值δ6、比值δ7的加权和,并作为对应节点的适应度二;
休眠模块,其用于计算各个节点的节点度,并在所述能量消耗模型中非边缘节点的节点度不小于一个预设节点度一且边缘节点的节点度不小于一个预设节点度二时,使对应的节点休眠且邻居节点的节点度减1防止邻居节点过度休眠;以及
入簇模块,其用于根据各个节点的适应度三,使相应非簇头节点入簇;每个节点的适应度三的计算方法包括以下步骤:步骤s51,计算对应节点与簇头的距离同所述能量消耗模型中传输距离的范围阈值的比值δ8;步骤s52,计算邻近簇的工作成员数同总节点数的比值δ9;步骤s53,计算簇首的消耗能量同初始能量的比值δ10;步骤s54,计算比值δ8、比值δ9、比值δ10的加权和,并作为对应节点的适应度三;
其中,比值δ1、δ2、δ3、δ4、δ5、δ6、δ7、δ8、δ9、δ10的加权系数取值范围均为[0,1];比值δ1、δ2、δ3、δ4的加权系数之和为1,比值δ5、δ6、δ7的加权系数之和为1,比值δ8、δ9、δ10的加权系数之和为1。
本发明的基于遗传算法的apteen路由协议优化方法及其优化装置,该优化方法在第一次选取簇头时,通过计算四个比值,即引入了四个因素来选取簇头,并进行了加权求和,这样就相对平衡了剩余能量、传输距离、同几何中心距离以及节点度的影响,降低数据受到干扰的可能性,提高近基站节点成簇的概率来提升近基站成簇数目,从而可以分担远簇头传输过来的信息,平衡簇间能耗,初步防止能量热区现象的产生,而且降低边缘成簇的概率,提高单位簇有效覆盖面积,降低失联节点数,降低消耗的能量。而第二次选取簇头引入的三个因素能够将整个簇的有效覆盖节点数提升,降低了簇与簇重复覆盖面积,失联节点数以及失联节点数据传输距离,同时也缩短了簇内节点到簇头的平均距离,达到了降低簇内能耗的目的。这样,在通过两次簇头的选取过程后,整个系统簇的分布基本就定了下来,而本发明提出了部分节点休眠机制,即当某处节点密度过大的时候,该处节点会进行选择性的休眠,不仅可以让休眠节点的能量进行保存,而且可以降低冗余数据的传输和接受,降低了整体网络的不必要能耗,减少了簇头对于数据接收处理以及转发的压力,从而降低工作节点的节点度,避免某一地点的重复冗余监测。最后,本发明通过计算三种因素,将普通节点入簇的规则进行了更改,从而平衡簇间的能耗关系,被多个簇同时覆盖的节点可以择优入簇,从而延长整个网络的生存周期以及整个网络的有效覆盖面积,使得整个网络中的能量消耗都均匀分布,从而增加整个网络的健壮性以及鲁棒性。本发明使apteen路由协议在保证工作质量的同时,可以很好的延长网络生命周期,增强整个系统的覆盖率,平衡簇内以及簇间能耗,避免能量热区形成,降低了网络数据传输能耗、网络尾延性以及冗余数据量的传输。
附图说明
图1为本发明实施例1的基于遗传算法的apteen路由协议优化方法的流程图;
图2为本发明实施例1的基于遗传算法的apteen路由协议优化方法的节点入簇时的示意图;
图3为本发明实施例2的基于遗传算法的apteen路由协议优化方法的流程图;
图4为本发明实施例3的基于遗传算法的apteen路由协议优化方法仿真时的生存周期对比图;
图5为本发明实施例3的基于遗传算法的apteen路由协议优化方法仿真时的剩余能量对比图;
图6为本发明实施例3的基于遗传算法的apteen路由协议优化方法仿真时的整体网络覆盖率对比图;
图7为本发明实施例3的基于遗传算法的apteen路由协议优化方法仿真时的密度自适应法总计多覆盖对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
请参阅图1以及图2,本发明提供了一种基于遗传算法的apteen路由协议优化方法,该优化方法对apteen路由协议进行优化,并可得到apteen-fa路由协议。其中,基于遗传算法的apteen路由协议优化方法包括以下步骤(步骤s1-s5)。
步骤s1:建立路由协议的能量消耗模型。由于apteen路由协议的能量消耗主要来自于传输以及接受数据的消耗,因此本实施例的能量消耗模型的模型公式为:
其中,
在本实施例中,采用遗传算法进行优化,而遗传算法是基于自然选择的生物进化,算法中种群就是待求问题的集合,每一个染色体是一个种群成员,通过利用二进制编码来表示每个染色体,而其中的每一个二进制数代表一个基因片段,利用选择、交叉、变异等方法来对问题进行优化,利用轮盘选择方式以找到问题的最优解。其中,每个个体被轮盘选择的概率为:
步骤s2:根据各个节点的适应度一,第一次选取簇头,以确定系统中所有簇的位置。这里确定的位置实际上是簇的大致形成方位,即确定整个系统中所有簇的大致位置。其中,每个节点的适应度一的计算方法包括以下步骤(步骤s21-s25)。
步骤s21:计算对应节点的消耗能量同初始能量的比值δ1。在本实施例中,比值δ1的计算公式为:
步骤s22:计算对应节点与基站的距离同最远节点与基站的距离的比值δ2。在本实施例中,比值δ2的计算公式为:
步骤s23:计算对应节点与能量消耗模型的几何中心的距离同最远节点与几何中心的距离的比值δ3。在本实施例中,比值δ3的计算公式为:
步骤s24:计算当前节点成簇后未覆盖的节点数同总节点数的比值δ4。在本实施例中,比值δ4的计算公式为:
步骤s25:计算比值δ1、比值δ2、比值δ3、比值δ4的加权和,并作为对应节点的适应度一。在本实施例中,temp1为节点的适应度一,而适应度一的计算公式为:
t(n)为簇头的选取阈值,temp1为节点的适应度一,p簇头选取的概率,
这里需要说明的是,上述所提及的距离均为欧氏距离,而且各个距离的计算公式均为:
其中,xi为节点的横坐标,yi为节点的纵坐标;xc为能量消耗模型的几何中心或基站的横坐标,yc为能量消耗模型的几何中心或基站的纵坐标。
步骤s3:先将当前其他簇覆盖的非簇头节点从当前簇所覆盖的节点中剔除,再根据各个节点的适应度二,在簇内重新选取簇头。第一次簇头选取主要作用是确定整个系统簇的大概分布,当第一次簇头选取完毕之后,便可以进行第二次簇头选取,第二次簇头选取是在第一次簇头选取的基础上进行微调,并在重选簇头的时候引入密度自适应优化算法,优化算法将当前其他簇覆盖的普通节点从当前簇覆盖节点中剔除出去,留下只被当前簇头覆盖的节点,从而去除簇内已被其他簇覆盖节点对簇首选择的影响。其中,每个节点的适应度二的计算方法包括以下步骤(步骤s31-s34)。
步骤s31:计算对应节点与质心的距离同簇的覆盖半径的比值δ5。在本实施例中,比值δ5的计算公式为:
簇的覆盖半径的计算公式为:
式中,m为未被其余簇覆盖的节点数,xi为节点的横坐标,yi为节点的纵坐标,xj为簇中未被其他簇覆盖的节点横坐标,yj为簇中未被其他簇覆盖的节点纵坐标;s2为能量消耗模型的面积,k为成簇个数。
步骤s32:计算对应节点的消耗能量同初始能量的比值δ6。在本实施例中,比值δ6的计算公式为:
步骤s33:计算未被覆盖的节点数同总节点数的比值δ7。在本实施例中,比值δ7的计算公式为:
步骤s34:计算比值δ5、比值δ6、比值δ7的加权和,并作为对应节点的适应度二。在本实施例中,temp2为节点的适应度二,而适应度二的计算公式为:
另外,能量消耗的多少,主要是根据节点之间的数据传输距离以及数据传数量来计算的,在选取簇头时,到簇内质心距离越近且节点度越高的点,当它成为簇头的时候,整个簇内数据传输距离就会越短,簇内能耗就会降低。由于在第二次选取簇头的时候将已被其他簇覆盖的节点刨除,去除了重复覆盖节点的影响,因此在簇头选取时候可以尽可能的覆盖到未被其他簇覆盖到的节点。通过上述改进将整个簇的有效覆盖节点数提升,降低了簇与簇重复覆盖面积,失联节点数以及失联节点数据传输距离,同时也缩短了簇内节点到簇头的平均距离,达到了降低簇内能耗的目的。
步骤s4:计算各个节点的节点度,并在所述能量消耗模型中非边缘节点的节点度不小于一个预设节点度一且边缘节点的节点度不小于一个预设节点度二时,使对应的节点休眠且邻居节点的节点度减1。在第二次簇头选取结束之后,整个系统簇的分布基本就定了下来,但是由于节点分布不均,会导致有时候某些区域的节点分布过于集中,节点所监测的区域会存在被邻居节点同时监测,该处会被多次重复检测,传输接收过多的相同数据,浪费不必要的能量。针对该问题,提出了部分节点休眠机制,即当某处节点密度过大的时候,该处节点会进行选择性的休眠,从而降低工作节点的节点度,避免某一地点的重复冗余监测,减少不必要的节点能耗损失。在本实施例中,预设非边缘节点度一为11,预设边缘节点度二为7。当节点的监测区域不在模型边界的时候,监测区域中存在11个节点时,该节点的监测区域几乎被全覆盖,如果该节点的监测区域被模型边界穿过,那么该节点的节点度为7的时候,它的监测区域几乎被全覆盖。因此当模型内节点的节点度大于等于11的时候,边界节点的节点度大于等于7时,系统令其休眠,并且把该节点附近的其他邻居节点的节点度减1,防止节点过量休眠,导致系统的有效监测区域减少。这样不仅可以让休眠节点的能量进行保存,而且可以降低冗余数据的传输和接受,降低了整体网络的不必要能耗,减少了簇头对于数据接收处理以及转发的压力。
步骤s5,根据各个节点的适应度三,使相应非簇头节点入簇。由于簇与簇之间的簇成员个数不一样,导致需要传输的信息多少不同,由上得知,能耗会随着传输信息量成倍增加,由于传感器节点经常都是随机抛洒,所以簇与簇之间的成员数会有很大差别,这样会导致能量热区现象,致使簇与簇传输的数据量相差甚远,能耗巨大簇中的簇头负担过重乃至死亡。针对簇间能耗不均的问题,将普通节点入簇的规则进行了更改,以前的入簇方式是根据节点距离簇头的远近进行选择,这样传输距离虽然是最短的,只看单个节点的话能耗是最少的,但是这样选择加入的簇会导致某些簇负担过重。如图2所示,若节点i加入a簇,则簇头a由于传输过多数据会产生热区现象,因此节点i可以选择加入b簇中,从而平衡簇间的能耗,使得整个网络中的能量消耗都均匀分布,从而增加整个网络的健壮性以及鲁棒性。其中,每个节点的适应度三的计算方法包括以下步骤(步骤s51-s54)。
步骤s51:计算对应节点与簇头的距离同能量消耗模型中传输距离的范围阈值的比值δ8。在本实施例中,比值δ8的计算公式为:
步骤s52:计算邻近簇的成员数同总节点数的比值δ9。在本实施例中,比值δ9的计算公式为:
步骤s53:计算簇首的消耗能量同初始能量的比值δ10。在本实施例中,比值δ10的计算公式为:
步骤s54:计算比值δ8、比值δ9、比值δ10的加权和,并作为对应节点的适应度三。在本实施例中,temp3为节点的适应度三,而适应度三的计算公式为:
综上所述,本实施例的基于遗传算法的apteen路由协议优化方法具有以下优点:
该优化方法在第一次选取簇头时,通过计算四个比值,即引入了四个因素来选取簇头,并进行了加权求和,这样就相对平衡了剩余能量、传输距离、同几何中心距离以及节点度的影响,降低数据受到干扰的可能性,提高近基站节点成簇的概率来提升近基站成簇数目,从而可以分担远簇头传输过来的信息,平衡簇间能耗,初步防止能量热区现象的产生,而且降低边缘成簇的概率,提高单位簇有效覆盖面积,降低失联节点数,降低消耗的能量。而第二次选取簇头引入的三个因素能够将整个簇的有效覆盖节点数提升,降低了簇与簇重复覆盖面积,失联节点数以及失联节点数据传输距离,同时也缩短了簇内节点到簇头的平均距离,达到了降低簇内能耗的目的。这样,在通过两次簇头的选取过程后,整个系统簇的分布基本就定了下来,而本实施例提出了部分节点休眠机制,即当某处节点密度过大的时候,该处节点会进行选择性的休眠,不仅可以让休眠节点的能量进行保存,而且可以降低冗余数据的传输和接收,降低了整体网络的不必要能耗,减少了簇头对于数据接收处理以及转发的压力,从而降低工作节点的节点度,避免某一地点的重复冗余监测。最后,本实施例通过计算三种因素,将普通节点入簇的规则进行了更改,从而平衡簇间的能耗关系,被多个簇同时覆盖的节点可以择优入簇,从而延长整个网络的生存周期以及整个网络的有效覆盖面积,使得整个网络中的能量消耗都均匀分布,从而增加整个网络的健壮性以及鲁棒性。
实施例2
请参阅图3,本实施例提供了一种基于遗传算法的apteen路由协议优化方法,其在实施例1的基础上增加以下步骤:
步骤s6,判断簇头的剩余能量是否达到能量消耗模型中所在簇的平均能量;
在簇头的剩余能量达到所述能量消耗模型中所在簇的平均能量时,执行步骤s7,先使对应簇头变为非簇头节点,再执行步骤s3。
由于系统检测有时会出现很多不确定因素,如在某些特殊成簇的情况下需要将信息传输较远的距离,或者需要传输的数据量突然激增,从第一次选取簇头的选取公式可知,该公式是针对l个报文数据的传输消耗,假如某一轮中,出现了上述突发情况需要传输大量数据,则簇头负担会大大增加,针对这一问题,提出了簇头轮换策略,即在当前簇头剩余能量达到整个系统的平均能量时,停止使用该簇头,将该簇头变为普通节点,然后继续重复第二次簇头选取的方法,重新在簇内选取一个簇头,从而对能耗进行分担,降低节点过快死亡的概率。该方法可以大大的降低生存周期的尾延特性,针对前期部分节点死亡过快,后期剩余部分节点能量远远高出平均能量的现象有很好的遏制,使得系统整体能耗可以得到很好的均分,提高了系统的稳定性。
实施例3
本实施例提供了一种基于遗传算法的apteen路由协议优化方法,其在实施例2的基础上进行了仿真分析,而且该优化方法在matlab仿真平台上进行测试仿真。请参阅图4以及图5,实验场景为100个节点随机分布在100m*100m的区域内,节点初始能量为0.125j,并且为了制造节点能量非均匀的环境,引入10%的高能节点,高能节点的能量是普通节点能量的2倍,基站坐标位于(50,100),数据融合度为60%,每个簇的覆盖范围以及节点的监测区域大小全部一样,并且当节点的监测区域被模型边界穿过时,将节点视为位于模型边界上。传输接收数据的时候只考虑传输和接收的数据能量消耗,不考虑选取簇头,算法能耗,系统内耗等能量消耗,其中ξfs=0.0013pj/(bit/m2),ξmp=10pj/(bit/m4),接收或发送1bit数据耗能为eelec=50nj/bit。
为突显本优化算法在网络生存周期以及能量损耗方面的改进,在仿真模型中比较了基础apteen协议,针对簇头多因素选取的edd-apteen改进协议,在簇头选取改进基础上对普通节点入簇和休眠的改进协议js-apteen,以及本文的fa-apteen优化协议。随着网络周期数的增长,fa-apteen改进协议在生存周期的延长,整体能耗的减少以及降低网络尾延性方面相比其他路由协议均有很大的提升。
请参阅图6以及图7,由于apteen路由协议限制了成簇比例,导致整个系统中会出现部分的失联节点,通过添加簇头选取因素,从而达到提高整个网络覆盖率的目的。通过仿真模型,对比随机选取簇头,防止边缘成簇,以及利用密度自适应优化算法三种方式,在尚未出现死亡节点的阶段,随机选取簇头方式会导致节点覆盖率仅达到65%左右,加入防止边缘成簇因素,整个系统的覆盖率可以高达80%左右,再添加密度自适应优化算法,整个网络的覆盖率高达90%左右,从而降低了失联节点数目,提高了整个网络的通信质量以及健壮性。
本实施例通过改进优化,使apteen路由协议在保证工作质量的同时,可以很好的延长网络生命周期,增强整个系统的覆盖率,平衡簇内以及簇间能耗,避免能量热区形成,降低了网络数据传输能耗、网络尾延性以及冗余数据量的传输。
实施例3
本实施例提供了一种基于遗传算法的apteen路由协议优化装置,其应用实施例1中的基于遗传算法的apteen路由协议优化方法。其中,本实施例的优化装置包括模型建立模块、首次选取簇头模块、重选簇头模块、休眠模块以及入簇模块。
模型建立模块用于建立路由协议的能量消耗模型。
首次选取簇头模块用于根据各个节点的适应度一,第一次选取簇头,以确定系统中所有簇的位置;所述首次选取簇头模块包括计算单元一、计算单元二、计算单元三、计算单元四以及适应度一计算单元;所述计算单元一用于计算对应节点的消耗能量同初始能量的比值δ1;所述计算单元二用于计算对应节点与基站的距离同最远节点与基站的距离的比值δ2;所述计算单元三用于计算对应节点与所述能量消耗模型的几何中心的距离同最远节点与所述几何中心的距离的比值δ3;所述计算单元四用于计算当前节点成簇后未覆盖的节点数同总节点数的比值δ4;所述适应度一计算单元用于计算比值δ1、比值δ2、比值δ3、比值δ4的加权和,并作为对应节点的适应度一。
重选簇头模块用于先将当前其他簇覆盖的非簇头节点从当前簇所覆盖的节点中剔除,再根据各个节点的适应度二,在簇内重新选取簇头;每个节点的适应度二的计算方法包括以下步骤:步骤s31,计算对应节点与质心的距离同簇的覆盖半径的比值δ5;步骤s32,计算对应节点的消耗能量同初始能量的比值δ6;步骤s33,计算未被覆盖的节点数同总节点数的比值δ7;步骤s34,计算比值δ5、比值δ6、比值δ7的加权和,并作为对应节点的适应度二。
休眠模块用于计算各个节点的节点度,并在所述能量消耗模型中非边缘节点的节点度不小于一个预设节点度一且边缘节点的节点度不小于一个预设节点度二时,使对应的节点休眠且邻居节点的节点度减1。
入簇模块用于根据各个节点的适应度三,使相应非簇头节点入簇。入簇模块包括计算单元八、计算单元九、计算单元十以及适应度三计算单元。计算单元八用于计算对应节点与簇头的距离同能量消耗模型中传输距离的范围阈值的比值δ8。计算单元九用于计算邻近簇的成员数同总节点数的比值δ9。计算单元十用于计算簇首的消耗能量同初始能量的比值δ10。适应度三计算单元用于计算比值δ8、比值δ9、比值δ10的加权和,并作为对应节点的适应度三。
这里需要说明的是,本实施例中存在以下关系:比值δ1、δ2、δ3、δ4、δ5、δ6、δ7、δ8、δ9、δ10的加权系数取值范围均为[0,1]。比值δ1、δ2、δ3、δ4的加权系数之和为1,比值δ5、δ6、δ7的加权系数之和为1,比值δ8、δ9、δ10的加权系数之和为1。
实施例4
本实施例提供一种计算机终端,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序。处理器执行程序时实现实施例1或实施例2的基于遗传算法的apteen路由协议优化方法的步骤。
实施例1或实施例2的方法在应用时,可以软件的形式进行应用,如设计成独立运行的程序,安装在计算机终端上,计算机终端可以是电脑、智能手机、控制系统以及其他物联网设备等。实施例1或实施例2的方法也可以设计成嵌入式运行的程序,安装在计算机终端上,如安装在单片机上。
实施例5
本实施例提供一种计算机可读存储介质,其上存储有计算机程序。程序被处理器执行时,实现实施例1或实施例2的基于遗传算法的apteen路由协议优化方法的步骤。
实施例1或实施例2的方法在应用时,可以软件的形式进行应用,如设计成计算机可读存储介质可独立运行的程序,计算机可读存储介质可以是u盘,设计成u盾,通过u盘设计成通过外在触发启动整个方法的程序。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。