本发明属于无线多媒体传感器网络领域,具体地说,涉及一种面向三维有向感知模型的wmsn全目标覆盖方法。
背景技术:
无线多媒体传感器网络(wirelessmultimediasensornetworks,wmsn)全目标覆盖问题是指:使用最少的传感器监控全部目标,避免传感器资源的浪费以及网络性能的下降,属于wmsn覆盖控制领域中的一个基本问题。该问题需要同时考虑传感器节点的感知模型、节点与目标点的覆盖条件、全目标问题的数学建模以及如何进行优化求解等。其中,真实覆盖场景的模拟效果直接依赖于所建立的节点模型以及目标点的覆盖关系,而所建立的全目标问题数学建模以及进行求解的优化方法将直接影响最终效果。
2015年,王艳娇(王艳娇,毕晓君,滕志军,等.三维无线多媒体传感器网络全目标覆盖算法[j].《吉林大学学报(工)》,2015,45(5):1671-1679)等人提出一种无线多媒体传感器全目标覆盖方法,该方法基于如下背景:传感器节点处于三维物理世界、目标点位于二维平面上,基于该背景,提出两阶段的目标覆盖算法,该算法相继优化传感器节点的仰俯角和偏向角,通过节点监测区域计算,建立偏向角调配方案的数学简化模型,得出最佳偏向角,将各传感器节点设置在最优偏向角下,针对该模型特点,并设计适应度求解模型,继而利用差分进化算法调整各节点的仰俯角,最终实现少量节点覆盖全部目标的目的。
通过深入分析发现,现有技术的主要缺点有如下两点:第一,现有技术所涉背景与实际覆盖情况不匹配:现有方法中传感器节点处于三维物理世界、目标点位于二维平面,而实际全目标覆盖场景中,传感器节点和目标节点都位于三维物理世界;第二,现有技术中以差分进化算法作为全目标覆盖方法的主体算法,差分进化算法自身存在收敛速度不够快、收敛精度不够高等缺陷,导致全目标覆盖方法所获结果不够理想。
技术实现要素:
有鉴于此,本发明针对上述的问题,提供了一种面向三维有向感知模型的wmsn全目标覆盖方法,本发明以引力搜索算法作为全目标覆盖方法的主体优化算法,建立了符合实际全目标覆盖情况的覆盖控制模型,即将传感器节点与目标都置于三维物理空间中;另一方面,鉴于大量实验研究表明,与差分进化算法相比,引力搜索算法在收敛精度和收敛速度上都更为优秀。
为了解决上述技术问题,本发明公开了一种面向三维有向感知模型的wmsn全目标覆盖方法,包括以下步骤:
步骤1、构建传感器的初始目标覆盖条件;
步骤2、对初始目标覆盖条件中的参数、网络结构与种群进行初始化处理:
步骤3、用gsa算法求适应度函数,计算得出每个粒子的质量、合力和加速度,并更新每个粒子的速度和位置;
步骤4:判断是否达到最大迭代次数,若达到,转至步骤5;若达不到,则转至步骤3;
步骤5:输出最终得到覆盖全部目标时所需的传感器数目。
进一步地,步骤1中构建传感器的初始目标覆盖条件具体为:
若某目标m(x1,y1,z1)被传感器节点p覆盖,则传感器节点与目标的空间覆盖关系应满足距离条件和角度条件,具体如下:
步骤1.1、距离条件:
若传感器节点p能够监测到目标m,则传感器节点p与目标m的距离应小于传感器节点p的监测距离r,具体表示如公式(1)
||pm||≤r(1)
式中,pm―表示传感器与监测目标之间的距离;
r―表示传感器监测半径;
步骤1.2、角度条件:
通过传感器节点与监测目标在空间覆盖关系能够知道,由几何向量关系
式中α―表示传感器感知区域视角;
p’(x,y,z)表示主感知方向与感知区域在球面上的交点,其中,主感知方向是指传感器节点视角所朝向的方向,p0与p’分别为p与p’在xoy面上的投影,则p0p”=rsinγ;
x的坐标表示为:x=x0+p0p”cosθ=x0+rsinγcosθ;
同理,y坐标为:y=y0+p0p”sinθ=y0+rsinγsinθ;
z坐标为:z=z0+rcosγ;
综上所述,p”坐标为:
进一步地,步骤2中对初始目标覆盖条件中的参数、网络结构与种群进行初始化处理具体为:
步骤2.1、参数初始化:依据实际所使用的传感器类型,设置传感器感知半径r,依据全目标覆盖问题规模,设置传感器数目num、目标数目m,并人为设置种群数目pop、最大迭代次数t、引力常数g0和常数α;
步骤2.2、网络结构初始化:把目标和传感器都放在三维空间中,即在三维空间中随机抛洒传感器节点和目标点,其中,传感器的仰俯角和偏向角都是随机产生;
步骤2.3、种群初始化:将每个传感器节点的仰俯角及偏转角考虑为两个独立的变量,即num个传感器节点的粒子在算法中的维数为2*num,其中前1~num维表示粒子的偏转角度,num+1~2*num维表示粒子的仰俯角度。
进一步地,步骤3中用gsa算法求适应度函数具体为:
步骤3.1、建立目标覆盖矩阵:将传感器数目作为矩阵的列,目标数目作为矩阵行,用矩阵将传感器和目标编号,未被传感器覆盖的目标记为0,被覆盖的目标在相应传感器所对应处记为传感器编号,即:目标i被传感器j覆盖,即yij记为j,则得到目标覆盖矩阵y;
步骤3.2、初始化参数及初始化种群:
初始化参数:种群数目n、最大迭代次数tmax1、引力常数g0和常数α;
初始化种群:种群内的个体为随机产生的一种传感器顺序,种群则为随机生成的多种传感器顺序;
步骤3.3、求目标函数:
依据目标覆盖矩阵,从第一个传感器覆盖的目标开始统计,依次遍历每一个传感器,直到统计到每一个目标都被传感器覆盖为止,记录此时的传感器编号为k,则k为适应度值;
步骤3.4、计算各个体之间的引力及合力:
按照公式(3)计算个体j对个体i引力;
式中,ε—表示一个极小的常量;
mj(t)、mi(t)—表示在第t时刻个体j和个体i对应的归一化的适应度值;
g(t)—表示在第t时刻万有引力常数的取值;
g(t)的值会随着搜索的进行逐渐减小,具体变化如式(4);
g(t)=g0×e-αt/t(4)
式中g0—表示引力常数,取值为100;
α—表示常数,取值为20;
t—为最大迭代次数;
rij(t)表示个体i和个体j之间的欧氏距离,如式(5);
rij(t)=||xi(t),xj(t)||2(5)
那么在t时刻,个体i在k维上受到的作用力fik(t)等于其它所有粒子对它的作用力之和,如式(6);
式中rand—表示为在[0,1]范围内的一个随机值;
n—表示个体总数;
fijd(t)—表示第j个粒子对第i个粒子在d维空间上的引力;
步骤3.5、计算加速度、速度:
当个体受到其它个体的引力作用后就会产生加速度,根据公式(7)中计算得到的引力,得到t时刻个体i在d维上的加速度,如式(7);
在每一次迭代过程中,根据计算得到的加速度来更新个体i的速度和位置,更新公式如式(8)所示;
式中rand—表示在[0,1]范围内的一个随机值;
由于gsa算法计算出来的数值是小数,而个体基因代表传感器编号,为整数,故对公式(8)进行取整操作;
步骤3.6、更新种群:如果新产生的个体优于原个体,则保留新个体,否则保留原个体;判断是否满足终止条件,若满足,则输出传感器编号,若不满足,则继续寻找覆盖全部目标的最少传感器数目;所述终止条件是指达到最大迭代次数。
与现有技术相比,本发明可以获得包括以下技术效果:
1)现有技术所建立的全目标覆盖模型中将传感器节点处于三维物理世界、目标点位于二维平面,与实际覆盖情况并不匹配,造成全目标覆盖算法实际应用效果不佳,而本发明模拟实际全目标覆盖情况,所建数学模型中,将传感器节点和目标都置于三维空间,从本质上提高全目标覆盖方法的实际应用效果;
2)现有技术中以差分进化算法作为全目标覆盖方法的主体算法,而差分进化算法自身存在收敛速度不够快、收敛精度不够高等缺陷,导致全目标覆盖方法所获结果不够理想。而本发明中,以收敛速度更快、收敛精度更高的引力搜索算法作为全目标覆盖方法的主体算法,提升全目标覆盖方法的优化效果。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明的传感器节点与目标的空间覆盖关系;
图2是本发明的传感器节点和目标的空间位置;
图3是本发明的种群编码;
图4是本发明的面向三维有向感知模型的wmsn全目标覆盖方法的流程图。
具体实施方式
以下将配合实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
本发明的思路如下:为贴近wmsn的实际覆盖场景,提高覆盖控制算法的实际应用效果,本发明基于以下背景:将无线多媒体传感器节点的覆盖模型抽象为三维有向感知模型、目标被放置于三维物理空间中。在全目标覆盖问题的求取过程中,目标覆盖条件(即目标被传感器覆盖需使目标点和传感器满足何种几何条件)是该问题得以解决的关键。鉴于与其它覆盖场景相比,本发明所涉场景场景下的目标覆盖条件如下。
若某目标m(x1,y1,z1)被传感器节点p覆盖,则传感器节点与目标的空间覆盖关系应如图1所示。目标被节点覆盖应满足距离条件和角度条件,具体如下:
1)距离条件
若传感器节点p能够监测到目标m,则传感器节点p与目标m的距离应小于传感器节点p的监测距离r,具体表示如公式(1)
||pm||≤r(1)
式中,pm―表示传感器与监测目标之间的距离;
r―表示传感器监测半径。
2)角度条件
如图1所示,通过传感器节点与监测目标在空间覆盖关系可知,由几何向量关系
式中α―表示传感器感知区域视角;
p’(x,y,z)表示主感知方向(即传感器节点视角所朝向的方向)与感知区域在球面上的交点,p0与p’分别为p与p’在xoy面上的投影,则p0p”=rsinγ
x的坐标可表示为:x=x0+p0p”cosθ=x0+rsinγcosθ;
同理可得y坐标为:y=y0+p0p”sinθ=y0+rsinγsinθ;
z坐标为:z=z0+rcosγ;
综上所述,p”坐标为:
因此,传感器的主感知方向(由仰俯角和偏向角组成)决定了传感器对目标的覆盖程度,从而决定了目标点是否被传感器所覆盖,为了达到用最少的传感器覆盖全部的目标这样的效果,必然要去调整传感器的主感知方向,使每个传感器之间相互配合覆盖全部目标。可采用优化方法调整其主感知方向。此外,全目标覆盖问题的关键之一就是确定适应度函数,该问题的适应度函数不再具有明确数学表达形式,而是在覆盖目标中的众多传感器中,选择出部分传感器去覆盖全部目标。选择部分传感器本身也是优化问题,所以本课题用优化算法去求解适应度函数。
简言之,本发明所设计的全目标覆盖方法实为一个两步优化方法:第一步,利用引力搜索算法-gsa算法调整各传感器的仰俯角和偏转角,以使无线多媒体传感器之间达到最佳相互配合;第二步,是第一步的适应度函数,即利用gsa算法求取在各种仰俯角、偏向角下,覆盖全部目标所需要的最少传感器数目。
本发明提供一种面向三维有向感知模型的wmsn全目标覆盖方法,如图4所示,包括以下步骤:
步骤1、初始化:
初始化相关参数包括三个部分,参数初始化、网络结构初始化与种群初始化。
步骤1.1、参数初始化:依据实际所使用的传感器类型,设置传感器感知半径r,依据全目标覆盖问题规模,设置传感器数目num、目标数目m,并人为设置种群个数pop、最大迭代次数t、引力常数g0和常数a;
步骤1.2、网络结构初始化:模拟实际的场景,把目标和传感器都放在三维空间中,即在三维空间中随机抛洒传感器节点和目标点,其中,传感器的仰俯角和偏向角都是随机产生;例如把目标放在[0,20]区间,传感器有一定的监测范围,为了保证传感器能够有效监测目标不被架空,传感器放在[30,50]的空间,传感器监测半径r为40;传感器节点和目标的空间位置如图2所示。
步骤1.3、种群初始化:种群的每个粒子表示的是各个传感器的仰俯角和偏转角,将每个传感器节点的仰俯角及偏转角考虑为两个独立的变量,即num个传感器节点的粒子在算法中的维数为2*num,其中前(1~num)维表示粒子的偏转角度,(num+1)~2*num维表示粒子的仰俯角度,如图3所示。
步骤2:用gsa算法求适应度函数:
步骤2.1、建立目标覆盖矩阵:
为减少计算复杂度,先计算在原定的仰俯角和偏向角下,通过上述的目标覆盖条件判断节点与目标的覆盖关系,建立目标覆盖矩阵,传感器和目标覆盖关系如表1所示,这里以8个传感器5个目标为例进行说明。
表1目标覆盖矩阵
表1的目标覆盖矩阵说明:s1传感器覆盖目标a3;s2传感器覆盖目标a1;s3传感器覆盖目标a2、a4;s4传感器覆盖目标a1、a2;s5传感器覆盖目标a5;s6传感器覆盖目标a3、a4;s7传感器覆盖目标a2;s8传感器覆盖目标a5。
在实现上,表1所示的目标覆盖关系对应于目标覆盖矩阵y,为pgsa算法计算出适应度函数做前期准备,具体如下:将传感器数目作为矩阵的列,目标数目作为矩阵行,用矩阵将传感器和目标编号,未被传感器覆盖的目标记为0,被覆盖的目标在相应传感器所对应处记为传感器编号,即:目标i被传感器j覆盖,即yij记为j。
步骤2.2、初始化参数及初始化种群:
初始化参数:种群数目n、最大迭代次数tmax1、引力常数g0和常数α;
初始化种群:种群内的个体为随机产生的一种传感器顺序,种群则为随机生成的多种传感器顺序;
步骤2.3、求目标函数:
依据目标覆盖矩阵,从第一个传感器覆盖的目标开始统计,依次遍历每一个传感器,直到统计到每一个目标都被传感器覆盖为止,记录此时的传感器编号为k,则k为适应度值;以目标覆盖矩阵y为例:第一列(即第一个传感器)覆盖第三个目标,第二列覆盖第一个目标,依次往下直到第5个传感器才能覆盖所有目标,则此时的目标函数值为5;
步骤2.4、计算各个体之间的引力及合力。
按照公式(3)计算个体j对个体i引力。
式中,ε—表示一个极小的常量;
mj(t)、mi(t)—表示在第t时刻个体j和个体i对应的归一化的适应度值;
g(t)—表示在第t时刻万有引力常数的取值;
g(t)的值会随着搜索的进行逐渐减小,具体变化如式(4);
g(t)=g0×e-αt/t(4)
式中g0—表示引力常数,取值为100;
α—表示常数,取值为20;
t—为最大迭代次数;
rij(t)表示个体i和个体j之间的欧氏距离,如式(5);
rij(t)=||xi(t),xj(t)||2(5)
那么在t时刻,个体i在k维上受到的作用力fik(t)等于其它所有粒子对它的作用力之和,如式(6);
式中rand—表示为在[0,1]范围内的一个随机值;
n—表示个体总数;
fijd(t)—表示第j个粒子对第i个粒子在d维空间上的引力。
步骤2.5、计算加速度、速度。
当个体受到其它个体的引力作用后就会产生加速度,根据公式(7)中计算得到的引力,得到t时刻个体i在d维上的加速度,如式(7)。
在每一次迭代过程中,根据计算得到的加速度来更新个体i的速度和位置,更新公式如式(8)所示。
式中rand—表示在[0,1]范围内的一个随机值;
由于gsa算法计算出来的数值是小数,而个体基因代表传感器编号,为整数,故对公式(8)进行取整操作。
步骤2.6、更新种群:
如果新产生的个体优于原个体,则保留新个体,否则保留原个体。判断是否满足终止条件,若满足,则输出传感器编号,若不满足,则继续寻找覆盖全部目标的最少传感器数目;所述终止条件是指达到最大迭代次数。
步骤3:按照公式(3)-公式(6)计算引力。
步骤4:按照公式(7)计算加速度。
步骤5:按照公式(8)更新速度和位置,其位置为传感器仰俯角和偏向角。
步骤6:判断是否达到最大迭代次数,若达到,转至步骤7;若达不到,则
步骤7:输出最终得到覆盖全部目标时所需的传感器数目。
为充分说明本发明提出的面向三维感知的无线多媒体传感器网络的目标覆盖方法的效果,将本发明与现有技术基于以下条件进行了一系列仿真。
所有实验环境配置为
实验场景为:100*100*100的监测区域,传感器参数完全相同,仰俯角γ∈[0,π/2],偏向角θ∈[0,2π],区域视角为π/2,实验中随机部署num个传感器节点,高度信息z∈[30,50],覆盖m个目标。
参数设置如下:种群数目50,迭代次数100。不同场景下,各方法覆盖所有目标所需最少的传感器节点数目如表2所示。
表2不同优化算法的性能比较
由表2中的数据可以看出:
(1)部署相同数目传感器时,目标数目越多,达到全目标覆盖所需的传感器数目也越多,这与实际情况一致,说明本发明所建模型能在一定程度上反映实际覆盖情况;
(2)在相同覆盖场景下,本发明所提方法所需传感器数目明显小于现有技术所需的传感器数目,说明本发明的覆盖效果优于现有技术。
在军事侦察、目标追踪、反恐、环境监控、工业控制、智能家居、交通监控等诸多领域,都存在利用传感器节点同时监控多个目标的问题,通常,采用随机部署传感器节点的方式,极易出现某些目标同时被多个传感器覆盖监视,造成大量传感器冗余,这会带来一定的经济损失。本发明可达到在覆盖全部目标时,所需的传感器节点数目最少,显然会提升经济效益。
上述说明示出并描述了发明的若干优选实施例,但如前所述,应当理解发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离发明的精神和范围,则都应在发明所附权利要求的保护范围内。