纪 妙,宋 煜,曾 强,张思明
(湖北中烟工业有限责任公司武汉卷烟厂,湖北武汉 430048)
目前针对工业无线通信网络等问题的研究大多集中于网络的布设、监控、覆盖与连接关系方面。现阶段,出现了一种“感知覆盖”概念,即“通信覆盖”,以此为基础实现多个节点之间的信息互联。许多通信网络都是针对野外、丛林等特定场所,这些场所中的节点分布密集,容易导致网络节点信号经常发生碰撞,使得网络通信能力与通信安全性大幅度下降。因此,对通信网络节点进行合理、高效的布置与调度是非常必要的。文献[1]提出了基于动态簇的节点调度算法,采用粒子滤波器对下一时间的目标进行定位,通过预测节点位置和协方差估计得到下一时间目标椭圆形面积。结合节点剩余能量继续追踪目标,从而调度覆盖节点。然而该方法在目标跟踪过程中容易出现跟踪误差,影响调度质量。文献[2]提出了基于网络连通覆盖的调度算法,采用SOBOL 序列和逆向学习方法对群体进行了逆向学习,以改进珊瑚礁算法为基础,得到了符合连通覆盖要求的节点集合,实现节点优化调度。然而,该方法在学习过程中耗费大量时间,影响节点调度效果。为此,提出了工业无线通信网络多重覆盖节点调度数学建模方法。
采用网格目标覆盖形式反映多重覆盖节点调度部署问题[3],如图1 所示。
图1 三维网格覆盖结构示意图
在图1 所示的三维网格覆盖结构[4-6]中,任意一覆盖节点a与网格节点b之间的距离计算公式为:
式中,(x1,y1,z1)为覆盖节点a在三维网格中的坐标;(x2,y2,z2)为网格节点b在三维网格中的坐标[7]。计算网格节点b对覆盖节点a的感知强度,计算公式为:
式中,R表示感知范围。通过计算网格节点对覆盖节点的感知强度,确定每一个覆盖区域范围内的节点位置[8]。
在实际应用中,由于受到外界环境因素的干扰,通信网络的节点监控常常会出现一些不确定衰变情况[9]。而布尔感知模型可以更好地描述这种衰变,可表示为:
式中,ε表示通信网络节点感知能力随着通信距离增加而衰减的参数;e 表示自然常数[10]。在监控对象属性不一的情况下,将多个通信网络节点部署在含有N个网格的区域,在该区域设置更多的节点,以增加网络的容错性和监测质量,减少其他区域所部署的节点数量,从而实现区域目标的多重覆盖[11]。
采用差分算法对节点进行休眠或正常状态判断,从而确定多重覆盖节点状态。差分算法是一种以群体演化为基础,以记忆个体最优解和簇内信息分享为核心的算法,主要是利用簇群中成员之间的协作和竞争来解决相关的问题[12]。
为了提高全局搜索收敛性和稳定性[13],采用混合二进制编码,粒子编码示意图如图2 所示。
图2 混合二进制粒子编码示意图
结合图2,构建判断多重覆盖节点状态的方程,如下所示:
在式(4)支持下,差分算法通过以下公式判断节点状态:
式中,μ表示时间片数量;Q表示节点能量值;qWm表示节点在Wm位置处的能量[14]。通过上述内容,可确定多重覆盖节点状态。
根据节点状态判断节点是否为冗余节点,并在作出决策之前设置一种退避机制,避免因两个节点的休眠而引起感知空洞问题,能够对于覆盖冗余度判断产生有利影响[15]。利用相邻点的数目或者相邻点之间的间距来确定相邻节点覆盖区域。针对“非均匀休眠”问题,采用容忍覆盖区域分析方法对节点进行覆盖冗余判别,判别公式为:
式中,Sm表示节点被邻居节点覆盖的面积;Fm(C)表示节点部署区域容忍覆盖面积,其计算公式可表示为:
式中,R、r分别表示节点随机部署区域半径和感知半径;C(h)表示感知区域覆盖面积。当计算结果满足式(6)时,此时的节点为多重覆盖节点。
假定在工业无线通信网络中,由多个节点构成一个无向图G=V,E,在该无向图中,V为非空集,E为无序二元集。结合覆盖冗余度判别结果,构建基于蚂蚁算法的工业无线通信网络节点集,并对节点集中的节点进行调度,使得节点重复覆盖区域达到最低。
初始化蚁群算法,增强初始解的信息素,提高了蚁群算法的收敛速度,确保蚁群算法在搜索过程中最快速地逼近最佳解[16];
通过随机地阻止多个蚂蚁穿越通信网络节点,对第一个被选中节点调度概率进行计算,计算公式为:
式中,t表示时间;xi,j(t) 表示蚂蚁的信息素;yi,j(t)表示蚂蚁的启发信息;ωx、ωy分别表示信息素和启发信息权值;i表示粒子数量;j表示向量维度;k表示蚂蚁数量。当蚂蚁在工业无线通信网络中选定一个节点进行调度时,与其所对应蚂蚁的信息素浓度就会发生变化,由此构建的多重复覆盖节点调度模型为:
在实验过程中,设置图3 所示的工业无线通信网络结构。
采用无线组网方式,如WSN/WiFi,以增加网络的灵活性。同时,该网络还要求具有很强的通信能力,并配有以太网接口,根据监控对象的不同采取不同的组网模式。
将网络覆盖率作为实验指标,其计算公式为:
式中,SA表示处于活动状态节点形成的覆盖区域;S′表示研究区域面积。该计算结果越大,网络覆盖率越大,说明该节点调度效果越差;反之,计算结果越小,网络覆盖率越小,说明节点调度效果越好。
分别使用基于动态簇的节点调度算法、基于网络连通覆盖调度算法和多重覆盖节点调度数学建模方法,对比分析不同初始重覆盖率下的节点调度效果,如图4 所示。
图4 不同方法节点调度效果对比分析
在初始重复覆盖率为100%的情况下,使用基于动态簇的节点调度算法和基于网络连通覆盖调度算法始终保持重复覆盖,使得最终网络覆盖率分别达到48%和23%。使用多重覆盖节点调度数学建模方法能够有效摆脱重复覆盖,使得最终网络重复覆盖率达到0。
在初始重复覆盖率为95%的情况下,使用基于动态簇的节点调度算法始终保持重复覆盖,使得最终网络重复覆盖率达到18%。使用基于网络连通覆盖调度算法、多重覆盖节点调度数学建模方法能够有效摆脱重复覆盖,其中使用数学建模方法在通信时间为600 s 时就达到了相关目标。
在初始重复覆盖率为90%的情况下,使用基于动态簇的节点调度算法无法有效摆脱重复覆盖,使得最终网络覆盖率达到9%。使用基于网络连通覆盖调度算法、多重覆盖节点调度数学建模方法能够有效摆脱重复覆盖,两种方法在通信时间分别为700、500 s 时就达到调度目标。
在初始重复覆盖率为85%的情况下,使用这三种方法均能有效摆脱重复覆盖,基于动态簇的节点调度算法、基于网络连通覆盖调度算法和多重覆盖节点调度数学建模方法在通信时间分别为800、550、300 s 时就达到调度目标。
文中针对工业无线通信网络多重覆盖节点调度问题,提出了一种多重覆盖节点调度数学建模方法,以此在降低节点重复覆盖度的同时,提升节点利用率。实验结果表明,该模型可以有效地解决工业无线通信网络中多个覆盖节点的快速调度问题,应用效果好。