面向不同优先级目标的异构有向传感器网络节点调度方法与流程

文档序号:14723699发布日期:2018-06-19 02:33阅读:172来源:国知局

本发明涉及有向传感器网络技术领域,具体地说是一种面向不同优先级目标的异构有向传感器网络节点调度方法。



背景技术:

能量问题是有向传感器网络一个重要问题,是制约其应用的一个关键因素。节点调度通过在节点工作和休眠状态进行切换,达到提高网络能量利用效率、延长网络服务时间的目的。

近年来,有向传感器节点调度算法受到了越来越多研究者的重视,并取得了一定的成果。但现有的研究成果存在以下局限:

第一,现有的调度算法大多针对监测目标具有同等重要性,也就是忽视了在现实监测中某些监测目标可能较之其他监测目标更加重要,也就是监测目标之间具有不同的优先级。在进行监测或相关操作时,需要优先考虑这些优先级较高的目标或者需要对这些优先级较高的目标进行多重覆盖,即多个节点同时监测这个目标。

第二,现有的有向传感器网络调度算法大多假定参与调度操作的有向传感器节点参数相同,其中参数相同包括:感知半径、感知角度,通信半径和能量等信息。即对由同构节点构成同构有向传感器网络适用,未考虑节点异构性对调度算法的影响。异构节点作为节点最普遍的存在状态,一方面由于节点在生产制造时不可能完全一致,参数完全相同只是一种理想状态;另一方面,即使参数完全相同的节点,工作一段时间后也会由于能量消耗、负载和地形起伏等原因使得节点参数异构。

第三、遗传算法作为一种群体智能算法,在工程领域应用广泛。但由于其算法性能对算法中的关键参数如交叉概率和变异概率依赖较为严重,同时这些参数在确定时只能依靠经验设置为常数,不能根据求解问题的特点进行自适应选择,影响了其优化性能。

针对这种情况,有必要提出一种调度方法,来解决现有技术中的问题。



技术实现要素:

针对上述问题,本发明提供了一种面向不同优先级目标的异构有向传感器网络节点调度方法。引入学习自动机,利用学习自动机的自适应反馈特性,实现遗传算法参数的自适应选择,增强了遗传算法的寻优能力,从而达到了延长异构有向传感器网络寿命和提高监测质量的目的。

为达到上述目的,本发明采用的具体技术方案如下:

一种面向不同优先级目标的异构有向传感器网络节点调度方法,其主要内容在于按照以下步骤进行:

S1:系统环境设置,在该系统环境中随机设置M个目标;部署N个异构有向传感器节点,用于对所述M个目标进行覆盖监测,设定所有异构有向传感器节点的参数信息、监测目标覆盖优先级、监测目标覆盖优先级阈值wthres和监测目标的覆盖要求Rfg;

覆盖要求Rfg为:

若监测目标覆盖优先级大于或等于优先级阈值wthres,则要求监测目标被至少m个异构有向传感器节点所覆盖;

若监测目标覆盖优先级小于优先级阈值wthres,要求监测目标被m’个异构有向传感器节点所覆盖,0<m’<m;

M、N、m和m’均为大于等于0的正整数。

S2:引入遗传算法,初始化种群,设定最大迭代次数Nd,定义种群由q个染色体组成,每个染色体的长度Lrst等于符合覆盖目标的总集合数Qjh与部署的异构有向传感器节点数N的乘积;

S3:设定网络中异构有向传感器节点的剩余能量Ei和满足覆盖条件的集合个数K′为优化目标,将两个优化目标转化成总体目标Tm,并计算种群中所有染色体总体目标适应度Fi;

S4:对所有染色体的适应度进行排序,采用轮盘赌法,随机选择两个染色体,进入步骤S5;

S5:确定步骤S4中选择的两个染色体的交叉位置;引入交叉学习自动机,确定交叉候选动作,对交叉概率Pc选定,并设定交叉概率Pc的更新规则,将选定的交叉位置处的部分染色体进行交叉操作,得到交叉优化种群;

S6:引入变异学习自动机,确定变异候选动作,对变异概率Pm选定,并设定变异概率Pm的更新规则,对于所述优化种群中的每个染色体按照变异概率Pm设定变异点进行变异操作,得到变异优化种群;

S7:计算变异优化种群中所有染色体的目标适应度Fi+1;

S8:比较每个染色体的第i次迭代的目标适应度Fi和第i+1次迭代的覆盖目标适应度Fi+1,若Fi+1>Fi,种群中改善染色体个数Ngs=Ngs+1,Ngs初始值为0;

S9:设定改善染色体比例阈值并计算改善染色体个数Ngs与染色体个数q的改善比值比较改善比值与改善染色体比例阈值的大小,并根据得到比较结果,对交叉操作的交叉候选动作根据交叉概率Pc的更新规则进行奖励或者惩罚;对变异操作的变异候选动作根据变异概率Pm的更新规则进行奖励或者惩罚;

S10:判断是否达到最大迭代次数Nd,若是,输出结果,否则返回步骤S4。

通过上述设计,通过将节点调度问题转化为集合覆盖问题,将学习自动机的学习能力嵌入到基本的遗传算法中实现遗传算法中参数的自适应选择,进而提高遗传算法的优化能力。在保证网络服务质量的前提下,延长网络的寿命。

在上述调度方法中,将遗传算法引入至异构有向传感器节点调度问题中,并结合学习自动机,对传统的遗传算法的交叉和变异进行改进,实现网络节点调度优化。

进一步描述,步骤S1中的异构有向传感器节点S的参数信息至少包括:异构有向传感器节点的感知半径为RS、通信半径为RC、感知方向D的数量为|D|、感知角度为A、携带能量为E、位置PS、优先级w、工作时间wt以及节点消耗的能量Es,其中Es=p′×wt×e(s),p'为比例系数,e(s)为单位时间内节点处于工作状态消耗的能量。假定异构有向传感器节点同一时刻只能在一个感知方向上处于工作状态,也就是同一时刻某个节点只有一个感知方向处于工作状态,其他的感知方向都处于睡眠状态。

再进一步描述,步骤S5交叉学习自动机对交叉概率Pc选定以及步骤S6中变异学习自动机对变异概率选定的具体内容为:

S51:确定遗传算法中交叉概率Pc或者变异概率Pm的取值范围,分别记为[Pc_min,Pc_max]和[Pm_min,Pm_max];

S52:将交叉概率Pc在取值范围内均分为Nc个离散的值,记为

将变异概率Pm在取值范围内均分为Nm个离散的值,记为集合

S53:为交叉概率Pc配备一个交叉学习自动机LA1,为变异概率Pm配备一个变异学习自动机LA2;

S54:交叉学习自动机LA1有Nc个候选动作可选,变异学习自动机LA2有Nm个候选动作可选;每个候选动作选择概率相同;

初始化交叉学习自动机LA1和变异学习自动机LA2;分别对交叉学习自动机LA1和变异学习自动机LA2的四元参数{α,β,p,G}进行初始化,集合α,β,p都设为空集;

α代表候选动作的集合{α1,α2,α3,…,αr},r为动作的个数,其中候选动作α即为交叉概率Pc或者变异概率Pm的离散值;

β表示环境的反馈集合;

p是与候选动作集一一对应概率的集合{p1(n),p2(n),p3(n),…,pr(n)},表示集合α中每个动作被选中的概率,对于交叉学习自动机LA1,集合p中每个元素初始化为1/Nc,对于变异学习自动机LA2,集合p中每个元素初始化为1/Nm,pi(n)表示在时刻n对应于动作αi所选取的概率;

G代表学习自动机的更新规则;

S55:采用轮转法分别为交叉学习自动机或者变异学习自动机选取一个候选动作;

S56:根据步骤S55候选动作选取对应的交叉概率Pc或者变异概率Pm的值,由学习自动机选择的候选动作所对应的概率集合元素的值为相应控制参数的值。

再进一步描述,更新规则G的映射关系为pi(n+1)=G[α(n),β(n),pi(n)];

对于有利的响应,更新动作概率的规则为:

若则对选择的交叉候选动作进行奖励并采用公式(1)对其对应的动作概率进行更新,剩余交叉候选动作进行惩罚并按照公式(2)更新其对应的动作概率;同时对选择的变异候选动作进行奖励并采用公式(1)对其对应的动作概率进行更新,剩余变异候选动作进行惩罚并按照公式(2)更新其对应的动作概率;

对于不利的响应,更新动作概率的规则为:

更新规则G中更新系数a=b=0.01。

若则对选择的交叉候选动作进行惩罚,并采用公式(3)对其对应的动作概率进行更新,对剩余交叉候选动作进行奖励并按照公式(4)更新其对应的动作概率;同时对选择的变异候选动作进行惩罚,并采用公式(3)对其对应的动作概率进行更新,对剩余变异候选动作进行奖励并按照公式(4)更新其对应的动作概率。

其S55中轮转法的具体内容为:

S551:对候选动作集合中每个动作编一个序号记为1,2,...,Nr;

S552:利用概率论中求分布函数的方法,设定X为随机变量,x为任意实数,则候选动作集合的分布函数

S553:产生一个随机数rand(),若该随机数F(xk-1)<rand()≤F(xk),k=1,2,…,N;F(x0)=0,则选取序号k对应的动作。

再进一步描述,步骤S6的变异操作中,对于种群中第i个染色体第j个位置的值进行变异公式为:

其中,%表示求余运算,|Dpos(j)|表示该染色体第j个位置对应的传感器节点的感知方向个数。

再进一步描述,满足覆盖要求条件的集合个数的适应度为:

K′为符合覆盖要求的集合,K为符合覆盖要求的集合的上限,符合覆盖要求的集合的上限由初始部署时能覆盖最稀疏监测目标的感知方向个数d所决定,最稀疏监测目标的含义为能被集合中感知方向监测到,但被最少感知方向监测到的目标,而其中wt为每个覆盖集合工作时间;

S3中网络中节点的剩余能量的适应度为:

总体目标种群中第i个染色体的适应度为:Fi=γ1×f1+γ2×f2,γ1和γ2为子目标函数对应的权值,γ1,γ2∈[0,1],且γ1+γ2=1,γ1和γ2大小取决于用户对网络指标的综合要求,Fi为[0,1]之间的一个值。

再进一步描述,步骤S4染色体i被选中的概率p(Pi)与适应度的大小成正比,即为:

其中,Fi为总体目标种群中第i个染色体的适应度。

本发明的有益效果:根据参与调度的异构有向传感器节点的各种参数信息,并确定监测的目标具有不同的重要性。将异构有向传感器节点调度问题转换成集合覆盖问题中集合数目的求解,并结合引入学习自动机的遗传算法,对遗传算法中的变异、交叉操作进行优化,从而改进了遗传算法的收敛能力和寻优能力,更加适合于异构有向传感器节点调度问题,得到最佳调度结果,在保证监测目标覆盖要求的前提下,延长网络的生命周期,即延长异构有向传感器网络在能满足目标监测要求条件下工作的时间。

附图说明

图1本发明异构有向传感器网络节点调度方法流程图;

图2本发明遗传算法染色体编码示意图;

图3本发明改进遗传算法交叉操作示意图;

图4传统遗传算法和改进遗传算法节点调度对比示意图;

图5传统遗传算法和改进遗传算法节点调度网络寿命的比较示意图。

具体实施方式

下面结合附图对本发明的具体实施方式以及工作原理作进一步详细说明。

从图1可以看出,一种面向不同优先级目标的异构有向传感器网络节点调度方法,按照以下步骤进行:

S1:系统环境设置,在该系统环境中随机设置M个目标;部署N个异构有向传感器节点,用于对所述M个目标进行覆盖监测;设定所有异构有向传感器节点的参数信息、监测目标覆盖优先级、监测目标覆盖优先级阈值wthres和监测目标的覆盖要求Rfg;

覆盖要求Rfg为:

若监测目标覆盖优先级大于或等于优先级阈值wthres,则要求监测目标被至少m个异构有向传感器节点所覆盖;

若监测目标覆盖优先级小于优先级阈值wthres,要求监测目标被m’个异构有向传感器节点所覆盖,0<m’<m;

M、N、m和m’均为大于等于0的正整数。在本实施例中,m=2;m’=1。

其中,步骤S1中的异构有向传感器节点S的参数信息至少包括:异构有向传感器节点的感知半径为RS、通信半径为RC、感知方向D的数量为|D|、感知角度为A、携带能量为E、位置PS、优先级w、工作时间wt以及节点消耗的能量Es,其中Es=p′×wt×e(s),p'为比例系数,e(s)为单位时间内节点处于工作状态消耗的能量。

符合覆盖要求的集合K′的上限由初始部署时能覆盖最稀疏监测目标的感知方向个数d所决定。最稀疏监测目标的含义为能被集合中感知方向监测到,但被最少感知方向监测到的目标,上限K为也就是其中wt为每个覆盖集合工作时间。该结论为公知技术,且在文献Cardei M.,Thai M,Li Y.,et al.Energy-efficient target coverage in wireless sensor networks.In Proceedings of 24th Annual Joint Conference of the IEEE Computer and Communications Societies(INFOCOM),Miami,FL,USA,13-17 March 2005;pp.1976-1984.中有具体说明,在此不作赘述。

染色体编码方面,对于每个集合中的M个有向传感器感知方向的选择,采用整型编码表示,0表示对应的异构有向传感器节点处于休眠状态。编码示意图如图3所示

按照公式(5)生成初始种群P{P1(0),P2(0),…,Pq(0)}。

Pi,j表示第i个种群第j个位置的染色体的值,表示向下取整,pos(j)表示染色体中第j个位置对应的传感器节点的序号;ndirection()表示节点;spos(j)感知方向的个数,rand()表示(0,1)之间的随机数。

在本实施例中,选取如下表所示的两种类型的异构有向传感器节点进行测试:

表一异构有向传感器节点部分参数信息表

感知方向的个数即为则两种类型节点感知方向的个数分别为6和3。假定异构有向传感器节点同一时刻只能在一个感知方向上处于工作状态,也就是同一时刻某个节点只有一个感知方向处于工作状态,其他的感知方向都处于睡眠状态。节点能量消耗方面,用wt表示每个集合工作时间,每个覆盖集合wt工作时间为1秒(s)。本实施例中,假定节点消耗的能量与节点工作的时间成正比,即p'为比例系数,本文中设为1;e(si)为单位时间内节点处于工作状态消耗的能量。

从表一可看出,本实施例中,采用2种类型的异构有向传感器节点,每种60个,共计120个异构有向传感器节点,节点参数的具体信息如表一所示,监测区域大小设置为30m×30m,监测目标设置为15个,监测目标的优先级为[0,1]之间的随机数。定义优先级大于或等于0.6的监测目标为高优先级的目标,即wthres=0.6,对于此类高优先级的目标采用2覆盖的方法,即m=2,即高优先级的目标必须同时被两个或两个以上的传感器节点覆盖到才符合覆盖要求。非高优先级的目标被一个传感器节点监测到即可,即m’=1。

S2:引入遗传算法,初始化种群,设定最大迭代次数Nd,定义种群由q个染色体组成,每个染色体的长度Lrst等于符合覆盖目标的总集合数Qjh与部署的异构有向传感器节点数N的乘积;

S3:设定网络中异构有向传感器节点的剩余能量Ei和满足覆盖条件的集合个数K′为优化目标,将两个优化目标转化成总体目标Tm,并计算种群中所有染色体总体目标适应度Fi;

满足覆盖要求条件的集合个数的适应度为:

S3中网络中节点的剩余能量的适应度为:

总体目标种群中第i个染色体的适应度为:Fi=γ1×f1+γ2×f2,γ1和γ2为子目标函数对应的权值,γ1,γ2∈[0,1],且γ1+γ2=1,γ1和γ2大小取决于用户对网络指标的综合要求,Fi为[0,1]之间的一个值。在本实施例中,γ1=0.7,γ2=0.3。

f1为覆盖子目标函数,其值域为[0,1];f2为剩余能量子函数,tanh为双曲正切函数,f2值域为[0,1]。F为总体目标函数,γ1和γ2为子目标函数对应的权值,它们的值取决于对该网络指标的综合要求,Fi为[0,1]之间的一个值,该值越大表示方案越好。

S4:对所有染色体的适应度进行排序,采用轮盘赌法,随机选择两个染色体,进入步骤S5轮盘赌为现有技术在此不作赘述。

步骤S4染色体i被选中的概率p(Pi)与适应度的大小成正比,即为:

其中,Fi为总体目标种群中第i个染色体的适应度。

S5:确定步骤S4中选择的两个染色体的交叉位置;引入交叉学习自动机,确定交叉候选动作,对交叉概率Pc选定,并设定交叉概率Pc的更新规则,将选定的交叉位置处的部分染色体进行交叉操作,得到交叉优化种群;交叉操作具体见图3。

步骤S5交叉学习自动机对交叉概率Pc选定以及步骤S6中变异学习自动机对变异概率选定的具体内容为:

S51:确定遗传算法中交叉概率Pc或者变异概率Pm的取值范围,分别记为[Pc_min,Pc_max]和[Pm_min,Pm_max];

在本实施例中,设定交叉概率Pc和变异概率Pm的取值范围,分别为[0.5,0.8]和[0.005,0.05]。

S52:将交叉概率Pc在取值范围内均分为Nc个离散的值,记为设定P_C{0.5,0.575,0.65,0.725,0.8},设定Nc=Nm=5。

将变异概率Pm在取值范围内均分为Nm个离散的值,记为集合设定Nc=Nm=5.P_M为{0.005,0,0163,0.0275,0.0388,0.05}。

S53:为交叉概率Pc配备一个交叉学习自动机LA1,为变异概率Pm配备一个变异学习自动机LA2;

S54:交叉学习自动机LA1有Nc个候选动作可选,变异学习自动机LA2有Nm个候选动作可选;每个候选动作选择概率相同;

在本实施例中,控制参数Pc配备的自动机LA1中集合p元素的取值为{0.2,0.2,0.2,0.2,0.2},控制参数Pm配备的自动机LA2中集合p元素的取值为{0.2,0.2,0.2,0.2,0.2},每个覆盖集合wt工作时间为1秒。

初始化交叉学习自动机LA1和变异学习自动机LA2;分别对交叉学习自动机LA1和变异学习自动机LA2的四元参数{α,β,p,G}进行初始化,集合α,β,p都设为空集;

α代表候选动作的集合{α1,α2,α3,…,αr},r为候选动作的总个数,其中候选动作α即为交叉概率Pc或者变异概率Pm的离散值;

β表示环境的反馈集合;

p是与候选动作集一一对应概率的集合{p1(n),p2(n),p3(n),…,pr(n)},表示集合α中每个候选动作被选中的概率,对于交叉学习自动机LA1和变异学习自动机LA2,其集合p中每个元素初始化为1/Nc、1/Nm;pi(n)表示在时刻n对应于动作αi所选取的概率;

G代表学习自动机的更新规则;更新规则G的映射关系为pi(n+1)=G[α(n),β(n),pi(n)];

对于有利的响应,更新动作概率的规则为:

若则对选择的交叉候选动作进行奖励并采用公式(1)对其对应的动作概率进行更新,剩余交叉候选动作进行惩罚并按照公式(2)更新其对应的动作概率;同时对选择的变异候选动作进行奖励并采用公式(1)对其对应的动作概率进行更新,剩余变异候选动作进行惩罚并按照公式(2)更新其对应的动作概率;

对于不利的响应,更新动作概率的规则为:

若则对选择的交叉候选动作进行惩罚并采用公式(3)对其对应的动作概率进行更新,对剩余交叉候选动作进行奖励并按照公式(4)更新其对应的动作概率;同时对选择的变异候选动作进行惩罚并采用公式(3)对其对应的动作概率进行更新,对剩余变异候选动作进行奖励并按照公式(4)更新其对应的动作概率。

在本实施例中,更新规则G中的a=b=0.01。

S55:采用轮转法为交叉学习自动机或者变异学习自动机选取一个候选动作;

S55的具体内容为:

S551:对候选动作集合中每个动作编一个序号记为1,2,...,Nr;

S552:利用概率论中求分布函数的方法,设定X为随机变量,x为任意实数,则候选动作集合的分布函数

S553:产生一个随机数rand(),若该随机数F(xk-1)<rand()≤F(xk),k=1,2,…,N;F(x0)=0,则选取序号k对应的动作。

S56:根据步骤S55候选动作选取对应的交叉概率Pc或者变异概率Pm的值,即由于学习自动机的动作即为相应控制参数的离散值。

S6:引入变异学习自动机,确定变异候选动作,对变异概率Pm选定,并根据步骤S5的更新规则,设定变异概率Pm的更新规则,对于所述优化种群中的每个染色体按照变异概率Pm设定变异点进行变异操作,得到变异优化种群;

步骤S6的变异操作中,对于种群中第i个染色体第j个位置的值进行变异公式为:

其中,%表示求余运算,|Dpos(j)|表示该染色体第j个位置对应的传感器节点的感知方向个数。

S7:计算变异优化种群中所有染色体的目标适应度Fi+1;

S8:比较每个染色体的第i次迭代的目标适应度Fi和第i+1次迭代的覆盖目标适应度Fi+1,若Fi+1>Fi,种群中改善染色体个数Ngs=Ngs+1,Ngs初始值为0;

S9:设定改善染色体比例阈值并计算改善染色体个数Ngs与染色体个数q的改善比值比较改善比值与改善染色体比例阈值的大小,并根据得到比较结果,对交叉操作的交叉候选动作根据交叉概率Pc的更新规则进行奖励或者惩罚;对变异操作的变异候选动作根据变异概率Pm的更新规则进行奖励或者惩罚;

具体的:

若改善染色体个数Ngs与种群由q个染色体的改善比值大于改善染色体比值阈值按照公式(1)对所选择的候选动作对应的概率进行奖励,对其他候选动作对应的概率则按照公式(2)进行惩罚;若改善染色体个数Ngs与种群由q个染色体的改善比值小于改善染色体比值阈值按照式子(3)对所选候选动作对应的概率进行惩罚,对其他候选动作对应的概率则按照公式(4)则进行奖励。

S10:判断是否达到最大迭代次数Nd,本实施例中,迭代次数Nd=1000。若是,输出结果,否则返回步骤S4。

基于本改进遗传算法与传统的遗传算法作比较:

在本实施例中,为了提高比较数据和结果的可靠性,每个实验结果均为40次实验结果的平均值。

从图4可以看出,在种群的平均适应度方面,改进遗传算法种群平均适应度明显优于比较算法,并且随着迭代次数的增加,种群的适应度逐渐趋于收敛,证明了改进算法的有效性。

从图5可以看出,不同节点数目情况下网络寿命的比较,从图中可以看出随着部署节点数目增加,网络的寿命随之延长;在相同节点数目情况下,提出的改进算法较之原始的遗传算法能提高网络的寿命,从图5可以看出,在节点数目为100时,两种算法求解出的网络寿命分别为246和291,改进算法较之原始遗传算法求解出的结果使得网络寿命提高18.3%,从而证明了提出的基于学习自动机的参数自适应的遗传算法能有效延长网络寿命。

应当指出的是,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改性、添加或替换,也应属于本发明的保护范围。

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