发明内容
本发明的目的是克服现有技术中存在的不足,提供一种基于耦合模拟退火算法的无线网络覆盖优化方法,其操作方便,计算复杂度低,具有高效搜索和全局搜索的能力,能达到实现最佳空间覆盖的效果。
按照本发明提供的技术方案,一种基于耦合模拟退火算法的无线网络覆盖优化方法,其特征是,所述无线网络覆盖优化方法包括如下步骤:
1、随机生成由m个粒子组成的初始搜索群体{S
10,…,S
m0},每一个粒子代表一种N个传感节点位置分布方案;N个传感器节点分布于二维平面监测区域Q内,将二维平面监测区域Q数字离散化为a×b个格点;设第i个粒子对应无线传感器网络节点的初始分布为S
i0,确定初始温度
和内循环的迭代次数K,初始迭代计数k=0,降温的外循环开始,外循环初始迭代计数t=0;
2、利用公式Ri(Sik)=Σj ρj(Sik)/(a×b)(j=1,…,ab,i=1,…,m)计算各个粒子的网络覆盖率,其中:
其中,(x
i,y
i,r)表示以节点s
i的坐标(x
i,y
i)为圆心,感知半径为r的圆;
为格点A(x,y)与节点s
i之间的距离;x,y分别表示格点A在监测区域的横、纵坐标;
3、内循环开始,利用随机扰动机制,更新当前粒子产生新网络分布
并计算新网络覆盖率
4、计算
和R
i(S
ik)的差,记
利用Metropolis接收准则,若Δ≤0,则令
否则,以概率
接收新状态
5、更新迭代计数令k=k+1;且当迭代计数等于K时,内循环结束,转下一步;否则,转步骤(3);
6、令迭代计数k=0;如果未达到冷却状态,则根据降火策略,降低当前温度,并令t=t+1,重复执行步骤(2)~步骤(6);否则,转下一步;
7、降火过程结束,返回近似最优解Sk以及网络覆盖率Ri(Sk),结束搜索优化。
所述步骤4中,α∈[0,1]是用来调整
和
权重的随机参数,
和
的计算公式为:
所述外循环的降火策略为
本发明与已有技术相比具有以下优点:本发明覆盖优化技术将耦合思想整合到模拟退火算法中,充分利用搜索过程粒子间的演化信息从而大大提高了优化搜索效率和性能,避免算法早熟收敛,可增强算法的全局搜索能力,使搜索粒子能容易跳出局部最优,并弥补了基本模拟退火算法对初始参数选取鲁棒性差的缺点,由于搜索粒子间的耦合作用,搜索过程中粒子之间能交互信息,从而能实现协同化和智能化地探索空间区域,尤其是当算法相关参数较差的情况下,接收概率函数中的耦合作用能帮助模拟退火算法更快地定位全局最优解区域,加快算法收敛速度,增强全局寻优能力。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
在使用本发明所涉及无线传感器网络节点布局技术时,考虑一个二维平面监测区域Q,将其数字离散化为a×b个格点,目标传感节点在该区域上参数相同的传感器节点数目为N,每个节点的坐标均已知,感知半径均为r。传感器节点集表示S={s1,s2,…,sN},格点A(x,y)(x,y分别表示点A在监测区域的横、纵坐标)被si所覆盖的事件发生的概率ρ(x,y,si)表示为
其中:(x
i,y
i,r)表示以节点s
i的坐标(x
i,y
i)为圆心,感知半径为r的圆;
为格点A(x,y)与节点s
i之间的距离。对于具体的二维平面区域覆盖问题,可以将目标区域离散为许多格点,用所有格点被传感器节点覆盖的覆盖率来代表目标区域的区域覆盖率,从而将区域覆盖率的问题转换为点覆盖问题。节点集S的区域覆盖率为R(S)=Σ
j ρ
j(S)/(a×b)(j=1,…,ab),即R(S)为节点集S的覆盖面积与监测区域Q的总面积之比,其中,ρ
j(S)为第j个格点对节点集的联合测量概率。
区域覆盖率的计算步骤如下:
(a)、计算第j个格点对每个传感器节点的覆盖率。
(b)、计算第j个格点对传感器节点集合S的联合覆盖率ρj(S)。
(c)、重复步骤(a)和(b)计算监测区域每一个格点对传感器节点集S的联合覆盖率。
(d)、根据式R(S)=Σj ρj(S)/(a×b)计算传感器节点集S的区域覆盖率R(S),并将R(S)作为耦合模拟退火覆盖优化算法的优化目标函数。
本发明技术所涉及的耦合模拟退火算法基本思想是:在传感监测区域随机构建m个搜索粒子,每个粒子并行地进行模拟退火过程,这些单个的模拟退火过程通过一个接收概率函数相互耦合,在同一退火温度下多次扰动产生不同的状态,利用Metropolis准则选择性地接受每个粒子的新状态,引导搜索群体跳出局部最优;接收概率函数中的耦合参数与各粒子状态的目标函数有关,接收概率函数与耦合项的联合包含了全局优化趋势的信息,各粒子间的耦合使得每个粒子都能共享此信息,从而使得粒子群体能快速而近似全局地实现覆盖优化,并且由于各粒子的初始参数不同,优化结果具有鲁棒性。该算法由双重循环组成,内循环中,同一温度下多次扰动产生不同的状态,按照Metropolis准则接受新状态。外循环中,进行温度下降,算法迭代和判断收敛条件等,其循环停止由收敛条件控制。
如图1所示:实现本发明无线网络覆盖优化方法包括如下步骤:
步骤1、随机生成由m个粒子组成的初始搜索群体{S
10,…,S
m0},每一个粒子代表一种N个传感节点位置分布方案;N个传感器节点分布于二维平面监测区域Q内,将二维平面监测区域Q数字离散化为a×b个格点;设第i个粒子对应无线传感器网络节点的初始分布为S
i0,确定初始温度
和内循环的迭代次数K,初始迭代计数k=0,降温的外循环开始,外循环初始迭代计数t=0;
迭代次数K与初始温度
根据具体的监测区域Q的面积与传感器节点数目N来灵活设置,初始温度
应选得足够高以使几乎产生的所有候选解都能被接收,从而避免算法陷入局部最优;一般地令K=100,
即可;m个搜索粒子的具体选择根据具体问题规模进行设定;
步骤2、利用公式Ri(Sik)=Σj ρj(Sik)/(a×b)(j=1,…,ab,i=1,…,m)计算各个粒子的网络覆盖率,其中:
其中,(x
i,y
i,r)表示以节点s
i的坐标(x
i,y
i)为圆心,感知半径为r的圆;
为格点A(x,y)与节点s
i之间的距离;x,y分别表示格点A在监测区域的横、纵坐标;
步骤3、内循环开始,利用随机扰动机制,更新当前粒子产生新网络分布
并计算新网络覆盖率
利用随动扰动机制为常规的处理手段;
步骤4、计算
和
的差,记
利用Metropolis接收准则,若Δ≤0,则令
否则,以概率
其中α∈[0,1]是用来调整
和
权重的随机参数,
和
的计算公式为:
步骤5、更新迭代计数令k=k+1;且当迭代计数等于K时,内循环结束,转下一步;否则,转步骤3;
步骤6、令迭代计数k=0;如果未达到冷却状态,则根据降火策略,降低当前温度,并令t=t+1,重复执行步骤2~步骤6;否则,转下一步;
步骤7、降火过程结束,返回近似最优解Sk以及网络覆盖率Ri(Sk),结束搜索优化。
下面通过一个仿真实验来说明本发明的具体实施方式,并对发明的算法进行测试。设传感节点监测区域Q为一个20m×20m的区域,随机投放N=20个无线传感器,每个传感器的传感半径r=2.5m。为了方便,将区域划分成a×b=20×20的栅格,利用上述本发明提出的算法进行覆盖优化,其中,搜索粒子数m=6,初始温度
退温策略采用简单的衰减方式
内循环迭代总次数K=100,结束温度为0.1,接收概率
和
的调整权重α=0.5。当取初始温度分别为80,60和40,重复上述过程发现覆盖结果没有明显差别,说明该发明算法具有一定的鲁棒性。图2和图3显示了覆盖优化结果。在优化过程第0代时,6个粒子中最好的网络覆盖率为60.1%,见图2所示;在优化算法结果时,网络覆盖率达到80.4%,见图3所示。