基于改进粒子群算法的WSN节点定位技术研究(3)
时间:2025-02-23
时间:2025-02-23
由于测距di的不精确,因此我们在此设定一个阈值ε,令取得的(xest,yest)点能够使E ,则ε越小,(xest,yest)越接近未知节点的真实坐标值。
3.自适应变异的粒子群算法研究
粒子群优化算法(Particle Swarm Optimization PSO)是由Kennedy和Eberhart博士1995年在模拟鸟群觅食过程中的迁徙和群集行为时,提出了一种基于群体智能的
演化计算技术[4]
。该算法可以较大概率的找到问题的全局最优解,并且计算效率比传统的随机方法高。其最大的优势在于编程简单、易实现、收敛速度快。但是,基本粒子群优化算法在高维函数中,针对有多个局部极值点的函数的情况,容易发生早熟,易陷入局部最优等现象,从而导致寻
找不到最优的点[5]
。
针对传统PSO易早熟收敛的缺点,本文采用一种将自适应变异策略和粒子群算法结合的带变异的自适应粒子群优化算法(Adaptive Particle Swarm Optimization with
Mutation,APSOwM)[6]
,该方法的思想是:在粒子群优化的过程中,APSOwM依据最优的适应度变化率,自适应修改惯性权重的取值,灵敏地操控算法的全局和局部搜索能力,而且当粒子群的平均粒距小于限定值,或全局最优解在多次迭代中没有显著地变化时,对粒子群中的某些粒子进行变异处理来提高粒子群的多样性,让粒子群能够继续进化,更大概率的追寻到全局最优解。 3.1 标准粒子群算法
在粒子群算法中,每个个体称为一个“粒子”,代表一个潜在的解。假设,在D维的测量空间中,每一个粒子当做测量空间内的一个节点。设群体由m个粒子构成,m也称为群体规模。每个粒子个体能够通过设定的规则估计自身位置的适应值,并且记住自己当前所找到的最好位置,称为“局部最优值pbest”;此外还能记住群体中所有粒子找到的最好位置,称
为“全局最优值gbest”。这两个最优变量使得粒子在某种程度上朝着这些方向靠近。
设 i (zi1,zi2,...,zid,...,ziD
)为第i个粒子(i 1,2,...,m)的D维位置矢量坐标,通过设定的适应值函数得出Zi现在的适应值,可以判定粒子位置定位的优劣;
Vi (vi1,vi2,...,vid,...,viD
)为粒子i的飞行速度,即粒子移动的距离;
Pi (pi1,pi2,...,pid,...,piD
)为粒子迄今为止搜索到的最优位置;Pg (pg1,pg2,...,pgd,...,pgD)为整个粒子群迄今为止搜索到的最优位置。
在每次迭代中,粒子根据式(4)和式(5)更新速度和位置信息:
vk 1id
vkid c1r1(pid zkid) c2r2(pkgd zid
) (4) zk 1id zk
id vk 1
id (5)
其中,i 1,2,...,m,d 1,2,...,D,k是迭代的次数,r1和r2是[0,1]之间的随机数,这两个参数是用来保持群体的多样性,
c1和c2是学习因子,即加速因子,它赋予粒子具有自我总结和向群体中优秀个体学习的能力,从而使粒子向自己的历史最优点和群体的历史最优点靠拢,vid取
[vmin,vmax],当速度超过这个范围时取边界值,同样zid取[zmin
,zmax],
0.1 0.8是惯性权重系数,它的作用是权衡局部最优能力和全局最优能力[7]
。
设为一个随时间线性减小的函数,函数形式为:
max min
K
k (6)
上一篇:led彩墙屏幕的设计原理
下一篇:帽子、头饰的设计与制作