基于二进制粒子群算法的无线传感器网络节点分层调度方法

文档序号:7556061阅读:283来源:国知局
专利名称:基于二进制粒子群算法的无线传感器网络节点分层调度方法
技术领域
:本发明涉及无线传感器网络和计算智能两大领域,具体涉及一种基于二进制粒子群算法的无线传感器网络节点分层调度方法。
背景技术
:无线传感器网络(wireless sensor networks, WSN)是一项新兴的技术并且已经成为了当今社会热门而富有挑战性的研究领域。在众多应用领域,例如战场监视,动物栖息地监测,环境观察,家庭健康呵护等,需要对现场进行全方位的监控。但是在很多情况下,这些应用的环境通常都不是非常友好,甚至是恶劣的,因此一般很难通过精确部署的方式在需要监测的区域内布置传感器节点,并且很难在确定的位置部署传感器。在这种情况下,一般的解决方法是通过在被监测区域随机投放大量的传感器节点,通过冗余覆盖的方式保证被监控区域的完全覆盖。然而,大量的传感器节点可能会由于节点之间的通信干扰而导致节点寿命减少,因此研究如何有效地对无线传感器网络的传感器节点进行调度,节省网络能耗,延长网络寿命,已经成为了无线传感器网络领域一个重要的研究课题。在现有的很多研究中,已经出现了将延长网络使用寿命节省能源的问题转化为最佳覆盖问题的技术。最佳覆盖问题解决技术的出发点在于:鉴于网络中存在大量冗余的传感器节点,通过关闭一部分多余的节点,在剩余被激活的节点满足对监视区域的完全覆盖的前提下,可以节约能源,延长网络寿命。最佳覆盖问题的目标在于找到一个满足对监控区域完全覆盖的最少数量的节点子集。这样,可以在满足全范围覆盖需求的前提下关闭其他的多余的节点,不但可以节省由节点冲突或者邻近交流而引发的能源消耗,而且由于能够将部分节点处于休眠状态,同样可以节省能耗。虽然最佳覆盖问题可以在一定程度上节省网络的能耗,延长网络寿命,但是如果能够在最佳覆盖问题的解决 技术上更进一步,将可以更加有效地延长网络的寿命。本发明的基本出发点在于:通过对最佳覆盖问题的解决,找到能够对监视区域完全覆盖的最少节点数量的子集;通过不断解决最佳覆盖问题,可以找到尽可能多的可以满足对监视区域完全覆盖的多个子集;这些子集形成了无线传感器网络的多个层次,这些不同的节点层进行轮流的调度,将可以直观而有效地延长网络的寿命。因此,本发明解决的问题是无线传感器网络的节点分层调度问题。为了解决无线传感器网络的最优分层调度,本发明采用了一种二进制的粒子群算法。二进制粒子群算法属于计算智能领域的一种具有全局搜索能力的优化算法。虽然粒子群算法由于其概念简单、流程简洁而被广泛应用于多个领域的优化问题中,但是这种优化算法存在一个缺陷就是容易落入具备最优。因此,在本发明中,在采用二进制粒子群算法对无线传感器网络的节点进行分层调度优化的时候,将结合问题的特点设计一个基于反转策略的变异算子,用于增强算法的多样性,避免算法容易落入局部最优的缺陷。在本发明中,针对无线传感器网络中存在的大量的冗余传感器节点,循环使用二进制粒子群算法,在每次循环中寻找网络中的最优传感器节点子集(满足对监视区域完全覆盖的最少数量的传感器节点子集)。该方法将二进制粒子群算法的粒子编码为长度等于传感器节点数量的0/1 二进制串,I表示选择该节点进入子集,O表示不选择;通过二进制粒子群算法的更新公式和一种反转策略的变异方法,实现在满足网络完全覆盖前提下的节点子集传感器数量的最小化。通过不断调用“最优节点子集传感器数量最小化的方法”,将网络中的节点划分为尽可能多的不相交子集,进而解决了网络节点分层调度的优化问题。本发明设计的变异操作能够增强算法多样性,避免算法容易落入局部最优的缺陷。结合变异操作,本发明使用的二进制粒子群算法能够高效地对无线传感器网络的节点进行最大化的分层优化调度,对延长网络寿命有重要的作用
发明内容
:本发明将二进制粒子群算法用于无线传感器网络的节点分层调度中,具体的内容步骤介绍如下:(I)对于给定的网络Netw,设置其最大层数K = 0,然后检查网络中的传感器节点集S是否能够对网络区域100%覆盖。如果能,则进行以下的步骤;如果不能,则输出最大可分层数K = O,终止程序。(2)使用二进制粒子群算法从网络Netw的传感器节点集S中找出一组能够对网络区域进行100%覆盖的最优节点子集S*,具体的流程如下:步骤I)随机生成N个粒子形成粒子群算法的种群,每个粒子i的位置和速度编码分别表示为Xi = [Xn,Xi2 ...,xiD]和Vi = [vn, vi2,..., viD];其中D为编码长度,与网络中的节点数目相同;位置Xi中每一维的值为I表示该节点被选择到子集中,为O则表示不被选择;速度表示位置的变化情况。在初始化的过程中,本发明要求必须保证种群中至少有一个粒子能够满足对整个网络的100%覆盖,否则需要重新产生种群。由于产生种群之前已经检查网络能够被所有传感器节点进行100%的覆盖,因此可以保证这种方法的成功。生成满足要求的种群之后,评估所有粒子的适应值(适应值为粒子所代表的解中被选择的传感器节点的数量,该值越小说明解的质量越高),同时令每个粒子i的历史最优位置?1 = [Pil,Pi2,...,PiJ为当前位置Xi,并设置整个种群的全局最优位置G = [gl, g2,...,gD]为所有历史最优位置中最好的那个。注意在评估粒子适应度函数值的时候,对于满足网络100%覆盖的粒子,通过计算其选择到节点子集S*中的传感器节点数量为适应度函数值,否则设置其适应度函数值为整个网络所有节点集合S中的节点数量。 步骤2)对每个粒子i,借助其历史最优位置Pi和种群的全局最优位置G对速度Vi进行更新。对于Vi的每一维vid(l彡d彡D),相应的更新公式为:vid = VitfHc1Xr1X (Pid-Xi
d)+C2Xr2X (gd-xid);其中C1和C2均为2.0, T1和r2为区间[O, I]之间的随机数。步骤3)使用如下策略更新粒子i的位置Xi进行更新:对每一维xid,首先计算P = Sigmoid(Vld) = I /(I + e~v'd),然后生成区间
之间的随机数r,如果r彡P,则设Xid =I,否则设xid = O。步骤4)使用变异策略对粒子i更新后的位置Xi进行变异:随机选择粒子的某一维,然后将该维的值进行反转,即O变为1,I变为O。

步骤5)对粒子i更新后的位置Xi进行适应值的评估。同样地,如果新的位置Xi所表示的解能满足网络的100%覆盖,则通过计算其选择到节点子集S*中的传感器节点数量为适应度函数值,否则设置其适应度函数值为整个网络所有节点集合S中的节点数量。在评估适应值之后,如果新的适应度函数值比其历史最优位置Pi的适应度函数值更好,则将Pi设置为Xi,同时判断新的Pi是否比种群的全局最优位置G更优,如果是,则将G替换为Pi。步骤6)反复执行以上步骤2)、3)、4)和5)直到满足终止条件,则全局最优位置G所代表的解中值为I的那些维所对应的传感器节点表示被选择到最优节点子集S*中。(3)将最优节点子集S*中的传感器节点标记为网络Netw的传感器节点集S中的不可使用节点,剩下的传感器节点组成一个新的节点集S = s\s*,并形成一个新的网络Netw0同时,设置K = K+1;(4)检查网络中的传感器节点集S是否能够对网络区域100%覆盖。如果能,则转到步骤(2)继续执行;如果不能,则输出最大可分层数K,终止程序。


:图1基于二进制粒子群算法的无线传感器网络节点分层调度的流程2基于二进制粒子群算法优化无线传感器网络最优节点子集的流程图
具体实施方式
:以下结合附图进一步对发明的方法进行描述。在图1中,给出了基于二进制粒子群算法的无线传感器网络节点分层调度的顶层流程图。假设有一个无线传感器网络Netw,通过随机撒播的方式在网络区域内部署了大量的传感器节点,用节点集合S表示。使用本发明方法对该无线传感器网络的节点进行分层调度之前,首先要判断节点集合S是否能够满足对网络Netw的100%覆盖,如果不能,则不能对节点进行分层调度。在这种情况下,直接输出最大分层数K = O并结束程序。判断节点集合S是否能够满足对网络100%覆盖的方法为栅格点覆盖判断法。首先对网络进行栅格的划分,每个栅格g用其栅格中心的坐标位置(xg,yg)表示。S中的每一个传感器节点Si的坐标位置为(Xi,yi),覆盖半径为R。通过如下公式:
权利要求
1.一种带变异操作的基于二进制粒子群算法的无线传感器网络节点分层调度方法,其特征是通过最小化每一层的传感器节点数量以达到节点可分层数最大化的目的,同时通过在粒子群算法中引入变异操作以增强算法多样性,避免算法容易落入局部最优的缺陷,该方法主要包括以下步骤: (1)对于给定的网络Netw,设置其最大层数K= O,然后检查网络中的传感器节点集S是否能够对网络区域100%覆盖,如果能,则进行以下的步骤;否则输出最大可分层数K =O,终止程序; (2)使用二进制粒子群算法从网络Netw的传感器节点集S中找出一组能够对网络区域进行100%覆盖的最优节点子集S*,具体的流程如下: a)随机生成N个粒子形成粒 子群算法的种群,每个粒子i的位置和速度编码分别表示为Xi = [xn, xi2,..., xiD]和Vi = [vn, vi2,..., viD];其中D为编码长度,与网络中的节点数目相同;位置Xi中每一维的值为I表示该节点被选择到子集中,为O则表示不被选择;速度表示位置的变化情况;评估所有粒子的适应值,该适应值为粒子所代表的解中被选择的传感器节点的数量,该值越小说明解的质量越高;同时令粒子i的历史最优位置Pi = [Pil,Pi2,...,PiJ为当前位置Xi,整个种群的全局最优位置G = [gl, g2,...,gD]为所有历史最优位置中最好的那个; b)对每个粒子i,借助其历史最优位置Pi和种群的全局最优位置G对速度Vi进行更新;对于Vi的每一维Vid,其中I彡d彡D,相应的更新公式为:vid = Vjc1Xr1X (pid_xid) +C2Xr2X (gd-xid);其中C1和C2均为2.0, T1和r2为区间[O, I]之间的随机数; c)使用如下策略更新粒子i的位置Xi进行更新:对每一维xid,首先计算P = Sigmoid(Vid) = I /(I + e~v-d),然后生成区间
之间的随机数r,如果r彡p,则设Xid =I,否则设xid = O ; d)使用变异策略对粒子i更新后的位置Xi进行变异,增强算法的多样性; e)对粒子i更新变异后的位置Xi进行适应值的评估,如果新的适应度函数值比其历史最优位置Pi的适应度函数值更好,则将Pi设置为Xi,同时判断新的Pi是否比种群的全局最优位置G更优,如果是,则将G替换为Pi ; f)反复执行以上步骤b)、c)、d)和e)直到满足终止条件,则全局最优位置G所代表的解中值为I的那些维所对应的传感器节点表示被选择到最优节点子集S*中; (3)将最优节点子集S*中的传感器节点标记为网络Netw的传感器节点集S中的不可使用节点,剩下的传感器节点组成一个新的节点集S = S\S*,并形成一个新的网络Netw ;设置 K = K+1 ; (4)检查网络中的传感器节点集S是否能够对网络区域100%覆盖,如果能,则转到步骤(2)继续执行;如果不能,则输出最大可分层数K,终止程序。
2.基于权利要求1的步骤(2)-a)中所述的粒子群算法种群初始化方法,其特征在于必须保证种群中至少有一个粒子能够满足对整个网络的100%覆盖;具体的方法是在随机产生种群之后进行覆盖率的判断,如果没有粒子能够满足对整个网络的100%覆盖,则需要重新产生种群;由于产生种群之前已经检查网络能够被所有传感器节点进行100%的覆盖,因此可以保证这种方法的成功。
3.基于权利要求1的步骤(2)-a)和e)中所述的粒子适应度函数值评估方法,其特征在于仅对满足网络100%覆盖的粒子进行有效的评估;具体的方法是对于满足网络100%覆盖的粒子,通过计算其选择到节点子集S*中的传感器节点数量为适应度函数值,否则设置其适应度函数值为整个网络所有节点集合S中的节点数量。
4.基于权利要求1的步骤(2)-d)中所述的粒子群算法变异方法,其特征在通过增加随机扰动的方式增强算法的多样性;具体的方法是:随机选择粒子的某一维,然后将该维的值进行反转,即O变为I, I变为O。`
全文摘要
本发明使用二进制粒子群算法对无线传感器网络的节点进行分层调度,属于网络技术和计算智能领域。首先设计了一种基于二进制粒子群算法寻找无线传感器网络最优节点子集的方法;该方法将粒子编码为长度等于传感器节点数量的0/1二进制串,1表示选择该节点进入子集,0表示不选择;通过二进制粒子群算法的更新公式和一种反转策略的变异方法,实现在满足网络100%覆盖前提下的节点子集传感器数量的最小化。通过不断调用“最优节点子集传感器数量最小化的方法”,将网络中的节点划分为尽可能多的不相交子集,解决了网络节点分层调度的优化问题。本发明能够高效地对无线传感器网络的节点进行最大化的分层优化调度,对延长网络寿命有重要的作用。
文档编号H04W16/18GK103249055SQ201310171940
公开日2013年8月14日 申请日期2013年4月25日 优先权日2013年4月25日
发明者张军, 詹志辉 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1