计算机应用   2016, Vol. 36 Issue (12): 3244-3250  DOI: 10.11772/j.issn.1001-9081.2016.12.3244
0

引用本文 

关志艳, 冯秀芳. 差分进化融合混合虚拟力的有向传感器网络覆盖算法[J]. 计算机应用, 2016, 36(12): 3244-3250.DOI: 10.11772/j.issn.1001-9081.2016.12.3244.
GUAN Zhiyan, FENG Xiufang. Coverage algorithm based on differential evolution and mixed virtual force for directional sensor networks[J]. JOURNAL OF COMPUTER APPLICATIONS, 2016, 36(12): 3244-3250. DOI: 10.11772/j.issn.1001-9081.2016.12.3244.

基金项目

国家自然科学基金资助项目(61472272)

通信作者

关志艳(1983-),女,山西临汾人,讲师,硕士,主要研究方向:无线传感器网络、节点覆盖、数据融合, 171247075@qq.com

作者简介

冯秀芳(1966-),女,山西太原人,教授,博士,主要研究方向:无线传感器网络、机器学习、数据挖掘

文章历史

收稿日期:2016-06-16
修回日期:2016-09-08
差分进化融合混合虚拟力的有向传感器网络覆盖算法
关志艳1, 冯秀芳2    
1. 山西大学商务学院 信息学院, 太原 030031 ;
2. 太原理工大学 计算机科学与技术学院, 太原 030024
摘要: 针对感知方向可调的有向传感器网络(DSN),为最大限度减少覆盖空洞和重叠区,从而提高有效覆盖率,提出了差分进化融合混合虚拟力的DSN覆盖算法。首先,建立有向感知模型,分析节点之间、节点与障碍物之间及节点与边界之间的混合虚拟作用力,在此基础上建立节点旋转角度与作用力之间的调整公式;然后,为弱化混合虚拟力造成的局部次优解缺陷,引入差分进化模型,将虚拟力作为进化更新的一个影响因子,节点间经过变异、交叉及选择操作来寻找最佳适度值,提高有效覆盖率。覆盖仿真实验表明,在100 m×100 m监测区域下,求得100次随机部署后经过差分进化融合混合虚拟力算法网络有效覆盖率提高了19.68%,而经过混合虚拟力算法和差分进化算法的覆盖率分别提高了10.32%和11.35%;差分进化融合混合虚拟力算法在迭代80次左右网络趋于稳定,而混合虚拟力算法和差分进化算法分别需要130次和140次左右迭代。相对于混合虚拟力算法和差分进化算法,将两者相结合的差分进化融合混合虚拟力算法的收敛速度更快,有效覆盖率提高更明显。
关键词: 有向传感器网络    混合虚拟力    差分进化    覆盖率    收敛速度    
Coverage algorithm based on differential evolution and mixed virtual force for directional sensor networks
GUAN Zhiyan1, FENG Xiufang2     
1. Information Institute, Business College of Shanxi University, Taiyuan Shanxi 030031, China ;
2. College of Computer Science and Technology, Taiyuan University of Technology, Taiyuan Shanxi 030024, China
Abstract: For Directional Sensor Network (DSN) consists of sensors with adjustable directions, in order to reduce coverage holes and overlapping area to the utmost, so as to improve the effective coverage, a differential evolution-mixed virtual force based coverage algorithm was put forward. Firstly, the directional sensing model was established, the mixed virtual forces between nodes, nodes and obstacles, nodes and the boundary were analyzed, and the adjustment formula between node rotation angle and force was established. Secondly, the differential evolution model was used to weaken defects of local suboptimal solutions caused by mixed virtual force. The virtual force was taken as a factor of evolutionary update. The best fitness value was found between nodes to optimize the effective coverage through mutation, crossover and selection operations. The coverage simulation experiments show that, in the detection area of 100 m×100 m, after 100 times of random deployment, the average effective coverage rate of the network is increased by 19.68% by the differential evolution-mixed virtual force algorithm, and the average effective coverage rate of the network is respectively increased by 10.32% and 11.35% by mixed virtual force algorithm and differential evolution algorithm. The network of differential evolution-mixed virtual force algorithm tends to be stable after 80 iterations, while the network of mixed virtual force algorithm and differential evolution algorithm respectively requires 130 iterations and 140 iterations. Compared with mixed virtual force algorithm and differential evolution algorithm, the differential evolution-mixed virtual force based coverage algorithm is faster, and can improve the effective coverage rate more obviously.
Key words: Directional Sensor Network (DSN)    mixed virtual force    differential evolution    coverage rate    convergence speed    
0 引言

覆盖问题是关乎传感器网络性能质量的关键问题,是整个环境监测开展的前提[1]。目前来看,绝大多数覆盖是针对同构或异构的全向传感器网络,如温度、光感、湿度等[2],但随着多媒体信息的日益发展,像视频、红外、超声波等类型的传感器越来越多地应用于各种监测场合,这些传感器对环境的感知受“视域”的限制,即感知是有向的。Ma等[3]于2005年首次给出了有向传感器网络(Directional Sensor Network,DSN)的概念。陶丹等[4]于2011年总结了有向传感器网络的覆盖控制分类及各种类型下节点部署算法,主要包括区域覆盖、目标覆盖、栅栏覆盖和连通覆盖。

虚拟力算法在全向传感器网络覆盖应用中较为成熟,近些年也逐渐应用于有向传感器网络中。陶丹等[4-5]于2007年首次将虚拟斥力引入DSN中,通过质心所受斥力之和来调整节点感知方向做扩散运动。肖甫等[6]对虚拟力函数提出了改进方法,将相邻传感器节点的共同轨迹引入斥力影响因子,以提高路径覆盖。戴宁等[7]引入重叠质心和有效质心概念,改进虚拟斥力公式及节点往复运动现象。以上虚拟力算法仅考虑到相邻节点间关系,未考虑到障碍物及全局覆盖率导向因素,每个节点分布式应用此算法,势必造成计算成本高,无法使节点在更大范围内调整而陷入次优解的困境。

差分进化算法具有改善局部限制、收敛速度快的优势。李明等[8-9]利用差分进化算法,抽象maximin函数以逼近多目标优化Pareto解,从而使异构传感器网络节点部署优化。靳立忠等[10]将差分算法应用于移动传感器网络,以较小的代价快速完成节点分布优化。鲍喜荣等[11]将覆盖空洞搜索算法与差分进化算法相结合,以未覆盖区域为导向通过差分进化算法来计算新的节点位置。以上差分算法都是应用在全向传感器网络中,本文将其应用于有向传感器网络中。

综上所述,虚拟力算法和差分进化算法都有各自的缺陷,本文将两者结合提出差分进化融合混合虚拟力的DSN覆盖算法,该算法既能弱化混合虚拟力造成的局部次优解缺陷,又将差分进化算法首次引入DSN中。仿真实验表明,该算法有效提高了覆盖率且收敛速度快。

1 有向传感器网络模型分析 1.1 二维可重叠概率感知模型

Ma等[3]首次给出了有向传感器四元组模型,但没有考虑感知区域重心及连通性。本文结合差分进化融合混合虚拟力提出七元组模型〈Si,Vi,Ci,α,Rs,Rc,Gi〉,如图 1所示。其中:Si(Six,Siy)为节点i∈{1,2,…,n}的圆心坐标;Vi(Vix,Viy)为节点i相对于Si的方向坐标,即扇形感知区域的中轴线;SiVi为感知方向向量;2α为感知夹角,‖SiVi‖=Rs;Ci(Cix,Ciy)为扇形感知区域的重心,且${{\mathbf{S}}_{\mathbf{i}}}{{\mathbf{C}}_{\mathbf{i}}}=\frac{2{{R}_{s}}\text{sin}\alpha }{3\alpha }\cdot {{\mathbf{S}}_{\mathbf{i}}}{{V}_{\mathbf{i}}}$;Gi为节点i重心Ci绕Si旋转的角速度,以此确立扇形旋转没有固定的角度限制,而是依据算法计算而得的可重叠旋转角度,Rc为通信半径,且Rc>2Rs,连通性完全涵盖覆盖性[11],且在此模型中感知是有方向视域的,而通信是全向的。

图 1 二维可重叠概率感知模型

凡是在扇形感知区域内的目标均被节点感知,即目标点Pj满足:

$\left\{ \begin{align} & \left\| {{\mathbf{S}}_{\mathbf{i}}}{{\mathbf{P}}_{\mathbf{j}}} \right\|\le {{R}_{s}} \\ & {{\gamma }_{i}}\text{(}{{\mathbf{P}}_{\mathbf{j}}}\text{)}=\text{arccos}\frac{{{\mathbf{S}}_{\mathbf{i}}}{{\mathbf{P}}_{\mathbf{j}}}\cdot {{\mathbf{S}}_{\mathbf{i}}}{{\mathbf{V}}_{\mathbf{i}}}}{\left\| {{\mathbf{S}}_{\mathbf{i}}}{{\mathbf{P}}_{\mathbf{j}}} \right\|\cdot \left\| {{\mathbf{S}}_{\mathbf{i}}}{{\mathbf{V}}_{\mathbf{i}}} \right\|}\le \alpha \\ \end{align} \right.$

但是针对目标检测点,其感知概率会由于节点与目标点的距离呈一定特性的概率分布,感知概率如式(1)所示:

${{G}_{ij}}\text{(}{{\mathbf{S}}_{\mathbf{i}}},{{\mathbf{P}}_{\mathbf{j}}}\text{)}=\left\{ \begin{matrix} 0, & \left\| {{\mathbf{S}}_{\mathbf{i}}}{{\mathbf{P}}_{\mathbf{j}}} \right\|>{{R}_{s}} \\ {{\text{e}}^{-\lambda {{\partial }^{\delta }}}}, & Rs-{{r}_{e}}<\left\| {{\mathbf{S}}_{\mathbf{i}}}{{\mathbf{P}}_{\mathbf{j}}} \right\|\le {{R}_{s}} \\ 1, & 0<\left\| {{\mathbf{S}}_{\mathbf{i}}}{{\mathbf{P}}_{\mathbf{j}}} \right\|{{R}_{s}}-{{r}_{e}} \\ \end{matrix} \right.$ (1)

其中:e=2.718;λ=δ=0.6为感知概率因子;re为感知误差调整阈值;∂=‖SiPj‖-(Rs-re)。

1.2 覆盖质量评价因素

定义1 有效覆盖率是衡量DSN覆盖质量的重要指标,这与全向传感器网络相似。

$CE\left( {{\mathbf{S}}_{\mathbf{1}}}{{\mathbf{V}}_{\mathbf{1}}},{{\mathbf{S}}_{2}}{{\mathbf{V}}_{2}},\cdots ,{{\mathbf{S}}_{i}}{{\mathbf{V}}_{i}},\cdots ,{{\mathbf{S}}_{n}}{{\mathbf{V}}_{n}} \right)=\bigcup\limits_{i=1}^{n}{{{A}_{i}}}/A$ (2)

其中:Ai为SiVi方向向量的节点扇形覆盖面积;A为监测区域总面积。最佳有效覆盖率归结为利用算法求取一组(S1V1,S2V2,…,SiVi,…,SnVn),使得CE取值接近最大值。

定义2 平均旋转角度量是衡量算法收敛性的重要指标。每个有向传感器都将在算法的作用下作角度调整,这对整个网络的计算成本造成较大的消耗,如何让算法尽快收敛是节约网络能量必须要考虑的,在算法的每次循环迭代过程中都将计算平均旋转角度,当其趋近0时,算法趋于收敛。

$\overline{\theta }=\frac{\sum\limits_{i=1}^{n}{\text{arccos}\frac{{{\mathbf{S}}_{i}}{{\mathbf{V}}_{i}}\cdot {{\mathbf{S}}_{i}}{{\mathbf{V}}_{i}}'}{{{R}_{s}}^{2}}}}{n}$ (3)

其中:Vi′为节点i旋转后的重心坐标,当θ≈0时算法收敛。

定义3 邻居节点是指距离相邻的节点互为邻居,但不同于全向传感器,有向传感器有方向性,需要节点的圆心距和重心距两方面的约束,满足‖SiSj‖≤2Rs且‖CiCj‖≤σRs,σ为重心影响因子,一般σ∈(0.5,1.5),本文取σ=1。

1.3 初始随机部署节点参照量

部署节点数量是无线传感器网络覆盖研究中必须要考虑的,用尽量少的节点可以有效控制整个网络成本。每个监测区域的覆盖率要求不同,文献[12]对矩形监测区域达到初始预估覆盖率z0所需节点数量n给出详细推导,如式(4),其中:l、k为监测区域长与宽,节点感知半径为Rs,感知夹角为2α。

$\begin{align} & n\ge \\ & \frac{\ln (1-{{z}_{0}})}{\ln \{1-\frac{\alpha {{R}_{s}}^{2}}{lk}[\frac{(l-2{{R}_{s}})(k-2{{R}_{s}})}{lk}+\frac{2{{R}_{s}}(l+k)-4{{R}_{s}}^{2}}{lk+2{{R}_{s}}(l+k)+\text{ }\!\!\pi\!\!\text{ }{{R}_{s}}^{2}}]\}} \\ \end{align}$ (4)
2 混合虚拟力分析

本文假设所采用的有向传感器节点是1.1节所述的方向可重叠调整的二维扇形模型,节点同构,初始随机部署于监测区域,节点可通过自身硬软件或GPS设施获取自身圆心及方向坐标信息,通信半径Rc≥2Rs,完全连通。

2.1 虚拟力受力分析

Howard等 [13]于2002年提出虚拟力原理,最初应用于机器人路径规划问题,2005年Zou等 [14]将其应用于同构全向传感器,这些年已经在全向传感器网络领域应用得比较成熟。本文将DSN中每个节点的重心看作是虚拟势场中的质子,节点重心之间产生斥力,障碍物对节点重心也产生斥力,但目标热点对节点重心产生引力作用。

1) 虚拟斥力函数。

①邻居节点间的斥力。

${{\mathbf{F}}_{\mathbf{ij}}}=\left\langle \begin{matrix} {{w}_{1}}\cdot {{\left( \frac{m}{{{d}_{ij}}} \right)}^{2}}, & \arccos \frac{({{C}_{iy}}-{{C}_{jy}})}{{{d}_{ij}}}+\text{ }\!\!\pi\!\!\text{ } \\ \end{matrix} \right\rangle $ (5)

其中:Si与Sj为邻居节点;w1是节点间斥力影响因子;m为节点质量;dij是节点间的距离。

②障碍物与节点间的斥力。

${{\mathbf{F}}_{\mathbf{i}{{\mathbf{O}}_{\mathbf{j}}}}}=\left\langle \begin{matrix} {{w}_{2}}\cdot \frac{m\cdot {{m}_{{{O}_{j}}}}}{{{d}_{i{{O}_{j}}}}^{2}}, & \text{arccos}\frac{({{C}_{iy}}-{{O}_{jy}})}{{{d}_{i{{O}_{j}}}}}+\text{ }\!\!\pi\!\!\text{ } \\ \end{matrix} \right\rangle $ (6)

其中:diOj是Si与障碍物Oj(Oj为障碍物质心)间的距离;w2是障碍物对节点的斥力影响因子;mOj为障碍物质量。

③边界与节点间的斥力。

${{\mathbf{F}}_{\mathbf{i}{{\mathbf{L}}_{\mathbf{j}}}}}=\left\langle \begin{matrix} {{w}_{3}}\cdot \frac{{{m}_{i}}^{\prime }}{{{d}_{iL_{j}^{2}}}}, & \text{arccos}\frac{\text{(}{{L}_{j}}{{_{y}}^{\prime }}+{{L}_{j}}{{_{y}}^{\prime \prime }}-2{{C}_{jy}}\text{)}}{2{{d}_{i{{L}_{j}}}}} \\ \end{matrix} \right\rangle $ (7)

其中:w3是边界对节点的斥力影响因子,如图 2所示;mi′为节点边界外质量;Lij′Lij″为节点与边界交叉部分;diLj=‖LjCi‖。

图 2 节点与边界作用关系

2) 虚拟引力函数(目标热点对邻居节点有引力作用)。

${{\mathbf{F}}_{\mathbf{i}{{\mathbf{H}}_{\mathbf{j}}}}}=\left\langle \begin{matrix} \frac{{{w}_{4}}}{{{d}_{i{{H}_{j}}}}}, & \text{arccos}\frac{({{H}_{jy}}-{{C}_{iy}})}{2{{d}_{i{{H}_{j}}}}} \\ \end{matrix} \right\rangle $ (8)

其中:w4是目标热点对邻居节点的引力影响因子;Hjy为目标热点j的纵坐标;diHj为目标热点与节点的距离。

有向传感器节点的受力模型如图 3所示,包括4个节点、1个障碍物O1、一个目标热点H1及边界L1

图 3 混合虚拟力原理

节点S1受O1、S2的斥力作用及H1的引力作用,节点S2受S1、S3的斥力作用及H1的引力作用,节点S3受S2、S4的斥力作用及H1的引力作用,节点S4受S3、L1的斥力作用。将每个节点所受引力和斥力都分解为两个分量,即SiCi分量和SiCi垂直分量。F1′、F2′、F3′、F4′分别是节点在SiCi垂直方向上分量之和,它将作用于重心使其以Si为圆心、(2Rs·sin α)/(3α)为半径做圆周运动,Fi′也可称为重心圆周的切线力,而SiCi垂直方向上的分量之和Fi″仅对节点运动起向心作用。节点受来自障碍物、目标热点、边界及其余节点的混合虚拟力,对节点旋转起作用的垂直方向的合力为:

${{\mathbf{F}}_{\mathbf{i}}}^{\prime }=\sum\limits_{j=1}^{k1}{{{\mathbf{F}}_{\mathbf{ij}}}^{\prime }+\sum\limits_{j=1}^{k2}{{{\mathbf{F}}_{\mathbf{i}{{\mathbf{O}}_{\mathbf{j}}}}}^{\prime }+\sum\limits_{j=1}^{k3}{{{\mathbf{F}}_{\mathbf{i}{{\mathbf{H}}_{\mathbf{j}}}}}^{\prime }}}}+\sum\limits_{j=1}^{k4}{{{\mathbf{F}}_{\mathbf{i}{{\mathbf{L}}_{\mathbf{j}}}}}^{\prime }}$ (9)
2.2 旋转角度关系函数

全向传感器节点受力后的运动坐标函数[15]为:

$\left\{ \begin{matrix} {x}'=x+\frac{\left\| {{\mathbf{F}}_{\mathbf{x}}} \right\|}{\left\| \mathbf{F} \right\|}\cdot ste{{p}_{\max }}\cdot {{\text{e}}^{-1/\left\| \mathbf{F} \right\|}} \\ {y}'=y+\frac{\left\| {{\mathbf{F}}_{\mathbf{y}}} \right\|}{\left\| \mathbf{F} \right\|}\cdot ste{{p}_{\max }}\cdot {{\text{e}}^{-1/\left\| \mathbf{F} \right\|}} \\ \end{matrix} \right.$

在此假设节点在Fi′作用下所做的圆弧运动近似为直线运动,节点重心等效移动距离Δdi=stepmax×e-1/‖Fi′‖,stepmax为节点重心的最大移动圆弧长度,同时也是规定重心可旋转的最大角度θmax=stepmax/Rs,即Δdi = θmax×Rs×e-1/‖Fi′‖Δθi = θmax×e-1/‖Fi′‖,θmax直接影响节点达到最优解时的循环次数;若θmax太小,每次循环调整幅度小,会推迟网络最优时间,若θmax过大,往往引起节点感知方向来回调整,出现往复节点现象。综合文献[15-16]参照值,设θmax=5°,得到本文旋转角度函数:

$\Delta {{\theta }_{i}}=\frac{5}{2\pi }\times {{\text{e}}^{1/\left\| {{\mathbf{F}}_{\mathbf{i}}}^{\prime } \right\|}}$ (10)

其中‖Fi′‖≥fth,为了节约节点旋转角度的能量消耗,节点所受合力须大于一定受力阈值fth,才能使节点旋转。

完成混合虚拟力分析后,有向传感器节点根据所受四方面的合力进行角度旋转,但值得注意的是,节点旋转之后的均匀程度与式(5)~(8)的引力、斥力系数相关,需要在实验中不断测试总结最佳系数。本文假设100 m×100 m的监测区域分布50个90°感知夹角,感知半径为12 m的有向传感器节点,分别取50次独立实验进行对比,相应的结果如图 4所示。

图 4 混合虚拟力作用对比图

图 4(a)为一次随机分布;图 4(b)为经过混合虚拟力作用后有向传感器节点的分布,图 4(b)可以看出节点旋转受邻居节点、障碍物及边界影响,虽然节点有效地避开了障碍物,对节点的均匀化分布有所提高,但部分节点的重叠加剧,且对边界的改善效果并不理想,有更多的节点超出了边界,容易造成局部障碍物周边改善明显、而其余方面不理想的局部次优解现象。

3 差分进化分析

差分进化算法[8]是一种启发式随机搜索算法,同遗传算法、粒子群算法一样属于群体智能仿生算法。该算法适合用于一定量的DSN中,以有效覆盖率为优化目标,利用节点间的合作与竞争来实现优化问题求解。本文简化n个有向传感器节点为差分进化模型,其关键过程包括变异、交叉和选择三种操作。

3.1 差分进化关键过程 3.1.1 变异过程

变异成分为父代的差分向量,每个向量由父代中不同个体生成。文献[17-18]定义了十余种差分策略,常用式(11)作为差分策略。

${{V}_{i}}(t+1)={{X}_{i1}}(t)+\eta ({{X}_{i3}}(t)-{{X}_{i}}(t))+\eta ({{X}_{i2}}(t)-{{X}_{i1}}(t))$ (11)

其中:Vi(t+1)为第t+1代新生成的第i个变异个体;Xi1(t)、Xi2(t)、Xi3(t)为第t代种群中三个不同个体;Xi(t)为第t代的第i个体;η为缩放因子,其影响算法的收敛速度,通常取[0,1.2]内的常数。

结合本文应用环境,有向传感器节点位置固定,方向可调,用节点重心线与水平参考线的夹角(即二维可重叠感知模型的β分量)作为差分向量。初始种群规模为n,随机撒布节点,(β1(1),β2(1),…,βw(1))为第一代种群个体群。

$\begin{align} & {{\beta }_{i}}^{\prime }(t+1)={{\beta }_{i1}}(t)+{{\eta }_{1}}({{\beta }_{ik}}(t)-{{\beta }_{i}}(t))+ \\ & {{\eta }_{2}}({{\beta }_{i(k-1)}}(t)-{{\beta }_{i1}}(t))+\cdots +{{\eta }_{k-1}}({{\beta }_{i2}}(t)-{{\beta }_{i1}}(t)) \\ \end{align}$ (12)

其中:βi′(t + 1)为第t+1次算法循环迭代下节点i的水平夹角;βi(t)是上一次迭代下节点i的水平夹角;βi1(t),βi2(t),…,βik(t)是第t次算法迭代下节点i的k个邻居节点的水平夹角;η12,…,ηk-1为随机产生的[0,1.2]内的常数。

3.1.2 交叉操作

为了提高变异向量的多样性,将变异个体βi′(t + 1)和目标个体βi(t)相结合交叉操作后生成新个体。

${{u}_{i}}=\left\{ \begin{matrix} {{\beta }_{i}}^{\prime }(t+1)\begin{matrix} , & \frac{({{\eta }_{1}}+{{\eta }_{2}}+\cdots {{\eta }_{k-1}})}{(k-1)}\le CR \\ \end{matrix} \\ {{\beta }_{i}}(t)\begin{matrix} , & \frac{({{\eta }_{1}}+{{\eta }_{2}}+\cdots {{\eta }_{k-1}})}{(k-1)}>CR \\ \end{matrix} \\ \end{matrix} \right.$ (13)

其中:CR为交叉概率因子,是[0,1]内的常数,本文取CR=0.6[9]来保证种群的搜索能力。

3.1.3 选择过程

有向传感器重心旋转,每个节点旋转只影响邻居节点的覆盖率变化,适应度函数为区域有效覆盖率,即寻最优解为:

${{f}_{\max }}=C{{E}_{\max }}({{\beta }_{1}}(t),{{\beta }_{2}}(t),\cdots ,{{\beta }_{w}}(t))$ (14)
3.2 基于差分进化的DSN的覆盖优化步骤

1) 初始化网络节点规模n,缩放因子η12,…,ηk-1,交叉概率因子CR,最大迭代次数tmax

2) 随机部署n个同构有向传感器节点,给定感知夹角2α,根据定位原理可以得到节点的圆心坐标Si(Six,Siy),中轴线与扇弧交叉点坐标Vi(Vix,Viy),计算得到SiVi的水平夹角βi,得到t=0时,得到第一代种群个体群(β1(1),β2(1),…,βw(1))。

3) 根据式(12)进行变异操作,生成βi′(t + 1)。

4) 根据式(13)进行交叉操作,生成ui

5) 根据式(2)、(14)进行选择操作,得到DSN适应度值。

6) 判断t≤tmax,返回3)得到fmax

有向传感器节点简化为差分进化模型,节点在旋转角度范围内可随机旋转,每个节点需反复尝试多次才能收敛到最优化角度,而节点的分布式计算,将随着数量增加而大幅度消耗,节点能量寿命有限,因此需要降低算法复杂度和提高收敛速度。

3.3 差分进化融合虚拟力的优化过程 3.3.1 混合虚拟力融入变异操作

有向传感器节点受混合虚拟作用力能有效调整节点感知向量方向,差分进化算法具有全局搜索能力强的优势,可以弱化虚拟力算法的局部次优解缺陷。本文将两者结合,提出差分进化融合混合虚拟力的DSN覆盖算法。该算法在差分进化变异过程中引进了混合虚拟力的影响,这样可以提高差分进化算法收敛的速度,弱化由各个节点初始随机分布引起的种群退化现象,其进化过程如下:

$\begin{align} & {{\beta }_{i}}^{\prime }(t+1)={{\beta }_{i1}}(t)+{{\eta }_{1}}({{\beta }_{ik}}(t)-{{\beta }_{i}}(t)) \\ & +{{\eta }_{2}}({{\beta }_{i(k-1)}}(t)-{{\beta }_{i1}}(t))+\cdots +{{\eta }_{k-1}}({{\beta }_{i2}}(t) \\ & -{{\beta }_{i1}}(t))+\phi \cdot rand\cdot \Delta {{\theta }_{i}}(t) \\ \end{align}$ (15)

其中:βi′(t + 1),βi(t),βi1(t),βi2(t),…,βik(t),η1,η2,…,ηk-1的物理意义与式(12)相同;φ为调节混合虚拟力加速因子;η12,…,ηk-1与φ取值服从期望为0.5、方差为0.3的高斯分布,可以调整算法的全局搜索能力;rand为[0,1]随机产生数;Δθi(t)为节点i第t代在混合虚拟力作用下的感知夹角旋转变化量(由式(10)计算得到)。

3.3.2 差分进化融合混合虚拟力算法简单流程

算法的基本思想是:首先随机部署网络(包括节点、障碍物及目标热点);然后计算每个节点的混合虚拟力,得到节点旋转角度量;接着将节点旋转角度量融入到节点的变异操作中;最后进行交叉和选择操作得到节点迭代最优解。该算法简单流程描述如下:

1) 初始化网络预期覆盖率及节点规模n、初始化混合虚拟力相关参数(表 1所列参数)、初始化差分进化相关参数CR。

表 1 算法参数表

2) 随机部署n个节点(据式(4)计算)、n1个正方形障碍物、n2个目标热点,自动获取自身位置信息,节点生成七元组感知模型,计算得到初始种群个体群。

3) 设置最大迭代次数,从第一代开始,每个个体依次应用差分进化融合混合虚拟力算法,循环迭代至最大迭代次数以得到节点的最优解:

for loop=1∶tmax      %循环迭代次数

 {for i=1∶n   %所有节点都应用此算法

  {for j=1∶n

   {计算节点间距离,判断邻居节点,式(5)计算节点i与邻居节点间的斥力,并求和,同时产生符合高斯分布的差分进化缩放因子;}

for j=1∶n1

  {计算节点与相邻障碍物间距离,式(6)计算节点i与相邻障碍物间的斥力,并求和;}

for j=1∶n2

  {计算节点与相邻目标热点间距离,式(8)计算节点i 与相邻障碍物间的引力,并求和;}

for j=1∶4

  {计算节点与四个边界间距离,式(7)计算节点i与交叉边界的斥力,并求和;}

式(9)计算节点i所受混合虚拟力合力Fi′;

式(10)计算节点i的旋转角度量Δθi

式(15)进行种群变异操作,式(13)~(14)进行交叉和选择操作,得到此次迭代节点i的最优解;

  }

 }

4 算法仿真与性能分析 4.1 仿真环境与参数设定

在Matlab下仿真DSN节点覆盖优化,假设在一定面积的监测区域内,有一个障碍物和一个中心目标热点,投放三种类型的有向传感器节点,预期初始节点部署覆盖率达到60%,节点数量可据式(4)计算,分别研究三种不同类型节点的网络覆盖情况。其中节点感知参数和混合虚拟力算法相关参数如表 1所示。

在差分进化算法中每个节点会根据邻居节点的个数产生对应数量的符合高斯分布的缩放因子η12,…,ηk-1数值范围在[0,1.2]内,由于差分进化融合混合虚拟力算法是在差分进化基础上融合混合虚拟力作用,因此不失一般性,该算法所需参数因子η12,…,ηk-1和差分进化算法一样,rand为随机产生数[0,1],且CR=0.6,tmax≤150。

4.2 仿真结果分析

首先在100 m×100 m的监测区域内,为了稍微冗余考虑,投放100个表 1中类型1感知参数的有向传感器节点,该类型节点初始随机分布在监测区域中,分别经过混合虚拟力算法、差分进化算法、差分进化融合混合虚拟力算法三种不同的算法作用后观察节点的分布情况。由于实验每次随机部署情况不同,有的情况下三种算法作用后较理想,有的情况下效果一般,因此本文分别取100次随机分布,每次随机分布在三种算法迭代100次后利用Matlab二维灰度变化求得网络有效覆盖率CE,取这100次对应算法后CE的平均值以减小误差。图 5为一次随机分布分别在三种算法作用后的分布情况。实验结果表明,分别经过混合虚拟力算法和差分进化算法后,覆盖改善效果不明显,比随机分布下CE分别提高了10.32%和11.35%,且边界效果并不明显,目标热点容易出现冗余度高的现象,经过差分进化融合混合虚拟力算法后,覆盖比随机分布下CE提高了19.68%,节点有效避免了超出边界的现象,且目标热点附近节点覆盖重叠度减小,当然由于有向传感器节点调整角度幅度小,且所涉及到的算法参数多,最优参数的设置对算法的影响也较大。实验中主要靠经验取值,因此研究参数设置也将是下一步工作的重点。图 5为一次随机分布后经过三种算法作用后的效果。

图 5 三种算法作用后效果

上述实验是在监测区域内部署100个(由式(4)计算而得)节点的情况下进行的,下面研究在原监测条件下部署100、150、200个节点,以观察节点数量对DSN网络覆盖率的影响,如表 2所示。

表 2 三种算法随节点数量变化CE比较

表 2可以看出:表 1类型1节点在节点数量100时,差分进化融合混合虚拟力算法网络覆盖率达到81.73%;节点数量200时,差分进化融合混合虚拟力算法网络覆盖率达到89.22%。可以看出节点数量的投入与网络有效覆盖率并不真正成正比,节点数量对CE的作用影响并不大,实际环境操作时并不是数量越多,覆盖提高率就越高,需根据环境和节点综合比对衡量。

图 6为三种算法随着迭代次数的增加,有效覆盖率的变化,可以看出:差分进化融合混合虚拟力算法在迭代到80次左右,有效覆盖率区域稳定,增幅逐渐趋于0;而混合虚拟力算法在迭代到130次左右有效覆盖率区域稳定;差分进化算法在迭代到140次左右有效覆盖率区域稳定。可以得出差分进化融合混合虚拟力算法的收敛速度最快,更加节能。

图 6 覆盖率与迭代次数的关系

图 7为在表 1三种类型节点下分别扩展感知半径来观察感知半径对网络覆盖率的影响。可以看出节点感知半径太小或太大对CE的提高率改善都不明显,当节点感知半径当节点感知半径分别为12 m、14 m、16 m时,CE提高最多,这也是图 5~6表 1三种类型节点为研究对象的原因。

图 7 覆盖率与感知半径的关系
5 结语

有向传感器网络的应用越来越广泛,由于节点视域范围的限制,不能像全向传感器节点那样不考虑感知方向,因此研究DSN网络覆盖优化可以提高网络性能,提高服务质量。虚拟力算法和差分进化算法应用于全向同构或异构传感器网络较成熟,但应用于DSN并不多,本文先分别将混合虚拟力算法和差分进化算法应用于DSN中,仿真结果发现网络有效覆盖率改善效果提高了10%左右,再将两者结合提出差分进化融合混合虚拟力算法,也是基于节点的分布式计算,将混合虚拟力作为差分进化变异过程中的一个影响因子来调整节点感知方向,该算法作用后的网络有效覆盖率比随机分布下的有效覆盖率提高了20%左右,可见差分进化融合混合虚拟力算法进化效果更好,且收敛速度快,更加节约能量。但由于随机分布的随机性太大,在实际的网络节点部署过程中参考性不大,且算法参数的影响主要靠更多次的实验经验取值,因此研究有效的初始部署方式和算法参数将是下一步工作的重点。

参考文献
[1] WANG W, SRINIVASAN V, CHUA K C. Trade-offs between mobility and density for coverage in wireless sensor networks[C]//MobiCo'07:Proceedings of the 13th Annual ACM International Conference on Mobile Computing and Networking. New York:ACM, 2007:39-50.
[2] 任彦, 张思东, 张宏科. 无线传感器网络中覆盖控制理论与算法[J]. 软件学报, 2006, 17 (3) : 422-433. ( REN Y, ZHANG S D, ZHANG H K. Theories and algorithms of coverage control for wireless sensor networks[J]. Journal of Software, 2006, 17 (3) : 422-433. doi: 10.1360/jos170422 )
[3] MA H D, LIU Y H. Correlation based video processing in video sensor networks[C]//Proceedings of the 2005 International Conference on Wireless Networks, Communications and Mobile Computing. Piscataway, NJ:IEEE, 2005:987-992.
[4] 陶丹, 马华东. 有向传感器网络覆盖控制算法[J]. 软件学报, 2011, 22 (10) : 2317-2334. ( TAO D, MA H D. Coverage control algorithms for directional sensor networks[J]. Journal of Software, 2011, 22 (10) : 2317-2334. doi: 10.3724/SP.J.1001.2011.04080 )
[5] 陶丹, 马华东, 刘亮. 基于虚拟势场的有向传感器网络覆盖增强算法[J]. 软件学报, 2007, 18 (5) : 1152-1163. ( TAO D, MA H D, LIU L. A virtual potential field based coverage-enhancing algorithm for directional sensor networks[J]. Journal of Software, 2007, 18 (5) : 1152-1163. doi: 10.1360/jos181152 )
[6] 肖甫, 王汝传, 叶晓国, 等. 基于改进势场的有向传感器网络路径覆盖增强算法[J]. 计算机研究与发展, 2009, 46 (12) : 2126-2133. ( XIAO F, WANG R C, YE X G, et al. A path coverage-enhancing algorithm for directional sensor network based on improved potential field[J]. Journal of Computer Research and Development, 2009, 46 (12) : 2126-2133. )
[7] 戴宁, 毛剑琳, 付丽霞, 等. 基于虚拟势场的有向传感器网络覆盖优化算法[J]. 计算机应用研究, 2014, 31 (3) : 905-907. ( DAI N, MAO J L, FU L X, et al. Virtual potential field based coverage optimization algorithm for directional sensor networks[J]. Application Research of Computers, 2014, 31 (3) : 905-907. )
[8] 李明, 石为人. 基于差分进化的多目标异构传感器网络节点部署机制[J]. 仪器仪表学报, 2010, 31 (8) : 1896-1903. ( LI M, SHI W R. Optimal multi-objective sensor deployment scheme based on differential evolution algorithm in heterogeneous sensor networks[J]. Chinese Journal of Scientific Instrument, 2010, 31 (8) : 1896-1903. )
[9] 李明, 石为人. 虚拟力导向差分算法的异构移动传感网络覆盖策略[J]. 仪器仪表学报, 2011, 32 (5) : 1043-1050. ( LI M, SHI W R. Virtual force-directed differential evolution algorithm based coverage-enhancing algorithm for heterogeneous mobile sensor networks[J]. Chinese Journal of Scientific Instrument, 2011, 32 (5) : 1043-1050. )
[10] 靳立忠, 常桂然, 贾杰. 基于差分进化算法的移动传感器网络节点的分布优化[J]. 控制与决策, 2010, 25 (12) : 1857-1860. ( JIN L Z, CHANG G R, JIA J. Node distribution optimization in mobile sensor networks based on differential evolution algorithm[J]. Control and Decision, 2010, 25 (12) : 1857-1860. )
[11] 鲍喜荣, 杨明, 张雪峰. 移动传感器网络的覆盖空洞差分进化算法[J]. 系统仿真学报, 2013, 25 (11) : 2672-2677. ( BAO X R, YANG M, ZHANG X F. Coverage-hole-directed differential evolution algorithm for mobile sensor networks[J]. Journal of System Simulation, 2013, 25 (11) : 2672-2677. )
[12] 李靖, 王汝传, 黄海平, 等. 有向传感器网络覆盖控制策略[J]. 通信学报, 2011, 32 (8) : 118-127. ( LI J, WANG R C, HUANG H P, et al. Coverage control strategy for directional sensor networks[J]. Journal on Communications, 2011, 32 (8) : 118-127. )
[13] HOWARD A, MATARIC M J, SUKHATME G S. Mobile sensor network deployment using potential field:a distributed scalable solution to the area coverage problem[C]//DARS'02:Proceedings of the Sixth International Conference on Distributed Autonomous Robotics Systems. Berlin:Springer, 2002:299-308.
[14] ZOU Y, CHAKRABARTY K. Sensor deployment and target localization in distributed sensor networks[J]. ACM Transactions on Embedded Computing Systems, 2004, 3 (1) : 61-91. doi: 10.1145/972627
[15] 陶丹.视频传感器网络覆盖控制及协作处理方法研究[D].北京:北京邮电大学,2007:62-63. ( TAO D. Research on coverage control and cooperative processing method for video sensor networks[D]. Beijing:Beijing University of Posts and Telecommunications, 2007:62-63. )
[16] 陈文萍, 杨萌, 洪弋, 等. 视频传感器网络覆盖问题[J]. 计算机应用, 2013, 33 (6) : 1489-1494. ( CHEN W P, YANG M, HONG Y, et al. Coverage problems in visual sensor networks[J]. Journal of Computer Applications, 2013, 33 (6) : 1489-1494. doi: 10.3724/SP.J.1087.2013.01489 )
[17] ABBASS H A. The self-adaptive Pareto differential evolution algorithm[C]//Proceedings of the 2002 World on Congress on Computational Intelligence. Piscataway, NJ:IEEE, 2002:831-836.
[18] SHANG Y, SHI H C. Coverage and energy trade off in density control on sensor networks[C]//Proceedings of 11th International Conference on Parallel and Distributed Systems. Piscataway, NJ:IEEE, 2005:564-570.