大规模无线传感器网络覆盖优化算法*
2014-09-20仲元昌李发传
仲元昌, 陈 锋, 李发传, 孟 普
(重庆大学 通信工程学院,重庆 400030)
0 引 言
近年来,无线传感器网络(WSNs)在国防军事、环境监测、智能家居、建筑物结构监控、机场安全检测等众多领域中得到越来越广泛的应用[1,2],其网络覆盖率是WSNs服务质量的重要衡量标准[3]。
传统覆盖优化算法一般是基于探测和图论[4],这些算法存在不足之处,探测算法不能完全保证网络的完全覆盖,只适合较小规模的WSNs,图论的基本思想在监测区域内任何一点都可找到一个传感器节点,这与实际情况不符。文献[5]采用蚁群算法,虽然具有局部搜索能力强、较强的鲁棒性和可扩充性,但在求解初期速度较慢,容易出现停滞,收敛速度也较慢,影响网络优化的实时性。文献[6]采用遗传算法,需要重新确定操作,在最优解附近收敛较慢,求解过程比较复杂。文献[7]分析了完全覆盖策略下的节点数目和不完全覆盖策略中的节点数目,提出了用不完全覆盖方法来取代完全覆盖算法,并提出了一种基于节点位置的信息和Voronoi 区域划分的分布式覆盖的解决方案。
本文针对WSNs覆盖问题采用了一种改进的人工鱼群算法(ASFA),并结合了三峡库区水质监测实际应用环境,提出采用大规模WSNs构建三峡库区水环境监测系统的解决方案[8]。由于三峡库区面积大、分布广,涉及26个区县(其中22个在重庆市辖区内),有些地方至今还是人迹罕至之处,构成了长江三峡这个特殊的区域,库区呈现出蜿蜒的树状结构[9]。
1 WSNs覆盖优化模型
1.1 覆盖模型
(1)
传感器节点集C区域覆盖面积为所覆盖的监测点面积之和,记作Aarea(c)
(2)
网络有效覆盖率为
(3)
式中A为待监测区域总面积。
(4)
1.2 网络覆盖优化问题
WSNs优化覆盖主要考察2个目标:网络覆盖率和网络节点利用率,在节点之间保持连通的情况下,使用最少的节点获得最大的网络覆盖率,降低节点覆盖区域之间的重复,节点分布更加均匀,节约成本。覆盖问题描述如下:
1)利用式(3)计算各个传感器节点的覆盖率。
2)利用式(4)计算该像素点对传感器节点的利用率。
通过对网络覆盖目标函数和网络节点利用率目标函数进行加权,将其作为算法求解问题的适应度函数,具体定义如下
fobj(l)=w1f1(l)+w2(1-f2(l)),
(5)
式中l=a1,a2,…,aN;w1,w2为子目标函数的权值,且w1+w2=1。
为了找到最优WSNs覆盖方案,本文采用人工鱼群算法对式(5)进行求解
2 覆盖优化算法
2.1 基本人工鱼群算法
人工鱼群算法是一种模仿鱼类行为方式的优化方法,该算法是由李晓磊等人[10]在2002年提出的一种新型的智能优化算法,算法通过鱼群游弋觅食,通过集体协作达到寻优目的。
2.1.1 人工鱼的行为描述
人工鱼的个体状态可表示为Xi=(x1,x2,…,xm),其中xi(i=1,2,…,m)为欲寻优的变量,F(Xi)为人工鱼Xi的当前食物浓度,人工鱼个体之间的距离可表示为di,j=‖Xi-Xj‖,将WSNs覆盖优化问题抽象为若干条人工鱼探索最大食物浓度的过程,设定人工鱼的步长为step,在其视野visual内游动,且1≤step≤visual,δ(0<δ<1)表示拥挤因子,其值越大,表示越拥挤,δ用来限制人工鱼聚群的规模。
1)觅食行为:设人工鱼当前状态为Xi,在其视野范围内随机选择一个状态Xj,若此状态下的食物浓度大于当前状态,则向该方向前进一步;反之,重新选择状态Xj,判断食物浓度是否大于当前状态,这样反复尝试try_number次后,如仍不满足前进条件,则随机移动一步,即
(6)
式中i=1,2,…,k;xi,xj和xi_net分别为人工鱼状态向量Xi,Xj和人工鱼下一步状态向量Xi/next的第k个分量;Rand()为(0,1)之间的一个随机数。
2)聚群行为:人工鱼探测当前邻域内(即di,j≤visual)的伙伴数目nf和其中心位置Xc,若邻域中心位置Xc食物浓度较大且不太拥挤,即满足F(Xc)>F(Xi)和nf/NF<δ(NF为人工鱼总数),则邻领域中心方向前进一步,即按式(7)执行
(7)
否则,执行觅食行为。
3)追尾行为:人工鱼在其可视范围内寻找食物浓度最大的伙伴Xi
ifFmax>δFi,
(8)
否则,执行觅食行为。
4)公告板:公告板用于记录人工鱼最优状态。人工鱼行动后,如果人工鱼自身状态由于公告板的状态,就将公告板的状态改成自身状态。
5)随机行为:人工鱼在其视野范围内随机选择下一状态,然后向该方向移动。
2.2 改进的人工鱼群算法
2.2.1 混沌系统
为了提高人工鱼群算法的搜索效率,本文引入了混沌系统。混沌具有丰富的时空动态,系统的动态演变可导致吸引因子的转移,在人工鱼群算法中引入混沌,能够有效地避免算法长时间位于局部极值附近,提高算法的全局收敛性和搜索效率。本文采用的混沌系统是由经常用到的Logistic映射产生的,其迭代式如下
Zk+1=f(μZk)=μZk(1-Zk),
Zk∈(0,1),k=0,1,2,….
(9)
式中 μ为系统的扰动参数,Zk为变量Z在k次迭代得到的数值;研究表明,当μ=4是“单片”混沌,即系统处于完全混沌状态,此时系统可以无重复。Zk几乎遍历(0,1)之间的所有状态。
2.2.2 混沌人工鱼群优化算法
基本人工鱼群算法较其他算法有诸多的自身优越性,但其自身不足仍可导致陷入局部值,收敛效率低,由于初始化过程是随机的,虽然大多数情况下人工鱼可保证分布均匀,但对于个体质量不能保证,解群有一部分远离最优解。如果能得到较好的初始解群,将有利于求解效率和解的质量,采用混沌初始化能得到较好的初始化解群。具体实现如下:
为了验证此改进的鱼群算法的有效性和可行性,Sinc函数作为优化目标函数,用Matlab编程进行试验,具体如下:Sinc函数如下
x1≥-10,x2≤10.
(10)
此函数为一多峰函数,在其搜索范围x1≥-10,x2≤10内的(0,0)处有最大值1。
设定人工鱼群规模Np=50,最大迭代次数为300,算法运行50次,拥挤因子δ=0.618,平均步长step=0.3,Try_number=20。以20次实验中的最好值、最差值、平均值为参考量来对2种算法进行比较,如表1所示。
表1 仿真试验结果
通过表1中实验数据可以看出本文提出的算法,在设定相同迭代次数下最差值、最好值及其平均值远远优于基本鱼群算法,在其寻优精度上也优于基本人工鱼群算法。
2.3 覆盖优化策略
1)产生初始化群体:在控制变量可行域内混沌产生N条人工鱼,从中选出Np(NP>N)条较优个体作为初始化鱼群,设置初始迭代次数 。
2)公告板赋初值:计算初始化鱼群中个体当前的食物浓度,并比较大小,将其最大食物浓度和这个人工鱼记入公告板。
4)公告板:每条人工鱼在在执行一次行为后,都将检查自身的食物浓度是否优于公告板的食物浓度,若优于公告板,则用自身取代公告板上的值。
5)结束条件判断:判断迭代次数是否达到最大值Gmax或最优解是否在误差范围内,如满足条件,则转向步骤(6);否则,G=G+1,转向步骤(3),进行下一次优化过程。
6)算法结束,输出结果。
3 仿真与分析
为了对改进的鱼群算法覆盖优化性能进行测试,算法通过Matlab软件进行仿真。假设WSNs监测区域为100 m×100 m范围内,首先随机抛撒60个智能传感器节点分布在监测区域,在随机播散20个传感器节点,如图1(a)。设定节点感知半径Rs=10 m,通信半径Rc=10 m,人工鱼个数为100,人工鱼视野为5 m,拥挤因子δ=0.6,步长为5 m,重复次数try_number=3,最大迭代次数300。
为了该算法的有效性,利用Matlab进行2种模式下的仿真实验,即基本鱼群算法和本文改进的算法。在相同的仿真环境下,分别进行30组实验,2种算法的覆盖优化仿真结果分别如图1(b)和图1(c)。
图1 随机分布的节点和两种算法的仿真结果
由仿真结果图分析可得:基本鱼群算法对监测区域进行覆盖优化平均使用47个节点,节点利用率为58.75 %,平均覆盖率为78.9 %;而利用改进的鱼群算法平均使用43个节点,节点利用率为53.75 %,平均覆盖率为94.22 %,达到了覆盖优化的目地,而且使用了更少的节点,节约了成本,提高了网络的生存时间;同时,改进的算法优化后的网络节点更加均匀地分布满了整个监测区域,能在更短的时间内使用更少的网络节点来达到网络的覆盖要求,减少了节点的冗余,具有更高效的求解近似最优覆盖。
4 结束语
本文针对基本人工鱼群算法存在局部最优、后期收敛速度慢等缺陷,将混沌理论引入鱼群算法应用到WSNs覆盖优化中。仿真结果表明:改进的算法有更强的搜索能力和探索速度,提高了求解的精度,能有效地实现WSNs覆盖优化。
参考文献:
[1] Yick Jennifer,Mukherjee Biswanath ,Ghosal Dipak.Wireless sensor networks survey[J].Computer Networks,2008,52:2292-2330.
[2] 朱红松,孙利民.无线传感器网络技术发展现状[J].中兴通讯技术,2009,15(5):1-5,15.
[3] 任彦,张思东,张宏科.无线传感器网络中覆盖控制理论与算法[J].软件学报,2006,17(3):422-433.
[4] 汪学清,杨永田,孙 亭,等.无线传感器网络中基于网格的覆盖问题研究[J].计算机科学,2006,33(11):38-39,78.
[5] 彭丽英.改进的蚁群算法网络节点覆盖优化研究[J].计算机仿真,2011,28(9):151-153,255.
[6] 殷卫莉,陈 巍.遗传算法在无线传感器网络覆盖中仿真研究[J].计算机仿真,2010,27(10):120-123.
[7] Carbunar B,Grama A,Vitek J,et al,Redundancy and coverage detection in sensor networks [J].ACM Transactions on Sensor Networks,2006,2(1):98-128.
[8] 仲元昌,郭开林,徐宝桂,等 面向三峡库区水环境监测的混合网络构建[J].世界科技研究与发展,2010,32(6):737-740.
[9] 季富政.长江三峡地区概貌[J].重庆建筑,2010(9):1-7.
[10] 李晓磊,邵之江,钱积新.一种基于动物自治体的寻优模式:鱼群算法[J].系统工程理论与实践,2002,22(11):32-38.