基于改进鲸鱼优化算法的WSN覆盖优化
文章目录
- 一、理论基础
- 1、WSN节点覆盖模型
- 2、基本鲸鱼算法
- 3、改进鲸鱼优化算法
- (1)量子位Bloch球面初始化
- (2)改进搜索猎物过程
- (3)莱维飞行扰动策略
- 二、算法流程
- 三、仿真实验与分析
- 1、实验环境
- 2、实验结果
- (1)与FA算法对比
- (2)与EABC算法对比
- 四、参考文献
一、理论基础
1、WSN节点覆盖模型
假设WSN监测区域是个二维平面,且数字化为L×ML×ML×M的网格,每个网格大小设为1。在该区域部署NNN个同构传感器,节点集合可以表示为Z={z1,z2,⋯,zN}Z=\{z_1,z_2,\cdots,z_N\}Z={z1,z2,⋯,zN},都具有相同的感知半径RsR_sRs和通信半径RcR_cRc,Rs≤2RcR_s≤2R_cRs≤2Rc。文采用布尔模型(0/1模型)作为节点感知模型,只要目标处于节点感知范围内,即可成功的被感知。假设在被监测区域的某个节点ziz_izi的坐标为(xi,yi)(x_i,y_i)(xi,yi),目标点的位置TjT_jTj坐标为(xj,yj)(x_j,y_j)(xj,yj),则节点与目标点的距离为:d(zi,Tj)=(xi−xj)2+(yi−yj)2(1)d(z_i,T_j)=\sqrt{(x_i-x_j)^2+(y_i-y_j)^2}\tag{1}d(zi,Tj)=(xi−xj)2+(yi−yj)2(1)用p(zi,Tj)p(z_i,T_j)p(zi,Tj)表示节点ziz_izi对TjT_jTj的感知质量,当TjT_jTj的位置在节点ziz_izi的感知范围内时,则感知质量为1;否则节点ziz_izi对TjT_jTj的感知质量为0,数学表达式为:p(zi,Tj)={1ifd(zi,Tj)≤Rs0otherwise(2)p(z_i,T_j)=\begin{dcases}1\quad if\, d(z_i,T_j)≤R_s\\0\quad otherwise\end{dcases}\tag{2}p(zi,Tj)={1ifd(zi,Tj)≤Rs0otherwise(2)通常,传感器对目标的感知概率小于1,为了提高对目标的感知概率,需要多个传感器协同探测,则WSN对某一目标的感知概率为:p(Z,Tj)=1−∏i=1N[1−p(zi,Tj)](3)p(Z,T_j)=1-\prod_{i=1}^N[1-p(z_i,T_j)]\tag{3}p(Z,Tj)=1−i=1∏N[1−p(zi,Tj)](3)该监测区的覆盖率是所有传感器节点覆盖的目标点数与该区域总的目标点数的比值,定义为:Rcov=∑j=1L×Mp(Z,Tj)L×M(4)R_{cov}=\frac{\displaystyle\sum_{j=1}^{L×M}p(Z,T_j)}{L×M}\tag{4}Rcov=L×Mj=1∑L×Mp(Z,Tj)(4)将式(4)作为目标函数,用改进的鲸鱼算法求得RcovR_{cov}Rcov的最优值以提高WSN的覆盖质量。
2、基本鲸鱼算法
请参考这里。
3、改进鲸鱼优化算法
(1)量子位Bloch球面初始化
将量子位的3个坐标看作3个并列的解,即每个鲸鱼个体包含对应优化问题的三个解,分别为xxx解、yyy解和zzz解:{pi,x=(cosφi1sinθi1,⋯,cosφinsinθin)pi,y=(sinφi1sinθi1,⋯,sinφinsinθin)pi,z=(cosθi1,⋯,cosθin)(5)\begin{dcases}p_{i,x}=(cos\varphi_{i1}sin\theta_{i1},\cdots,cos\varphi_{in}sin\theta_{in})\\p_{i,y}=(sin\varphi_{i1}sin\theta_{i1},\cdots,sin\varphi_{in}sin\theta_{in})\\p_{i,z}=(cos\theta_{i1},\cdots,cos\theta_{in})\end{dcases}\tag{5}⎩⎪⎨⎪⎧pi,x=(cosφi1sinθi1,⋯,cosφinsinθin)pi,y=(sinφi1sinθi1,⋯,sinφinsinθin)pi,z=(cosθi1,⋯,cosθin)(5)在IWOA中,1个量子位包含3个Bloch坐标,每个坐标对应一个优化解。由于Bloch坐标下每一维的范围是[−1,1][-1,1][−1,1],为解决连续优化问题,需要进行解空间变化,即将每个鲸鱼对应的三个Bloch坐标由单位空间映射到优化问题解空间。记鲸鱼PiP_iPi上第jjj个量子位的Bloch坐标为[xij,yij,zij]T[x_{ij},y_{ij},z_{ij}]^T[xij,yij,zij]T,则对应解空间变量为:{Xixj=0.5[bj(1+xij)+aj(1−xij)]Xiyj=0.5[bj(1+yij)+aj(1−yij)]Xizj=0.5[bj(1+zij)+aj(1−zij)](6)\begin{dcases}X_{ix}^j=0.5[b_j(1+x_{ij})+a_j(1-x_{ij})]\\X_{iy}^j=0.5[b_j(1+y_{ij})+a_j(1-y_{ij})]\\X_{iz}^j=0.5[b_j(1+z_{ij})+a_j(1-z_{ij})]\end{dcases}\tag{6}⎩⎪⎨⎪⎧Xixj=0.5[bj(1+xij)+aj(1−xij)]Xiyj=0.5[bj(1+yij)+aj(1−yij)]Xizj=0.5[bj(1+zij)+aj(1−zij)](6)式中,i=1,2,⋯,m,j=1,2,⋯,ni=1,2,\cdots,m,j=1,2,\cdots,ni=1,2,⋯,m,j=1,2,⋯,n,[aj,bj][a_j,b_j][aj,bj]为第jjj个量子位的取值范围。
每个鲸鱼对应Bloch坐标中的3个可行解,这种初始化方式能改善初始鲸鱼群的多样性,进而改善初始种群的质量,提高算法的全局优化能力。
(2)改进搜索猎物过程
本文引入了一个新的参数UUU,它将自适应地改变步长,平衡全局搜索和局部搜索能力,将其应用于位置更新公式中,UUU的公式为:U=e10k(7)U=e^{10k}\tag{7}U=e10k(7)k=(rand−0.5)(1−t/Maxiter)(8)k=(rand-0.5)(1-t/Max_{iter})\tag{8}k=(rand−0.5)(1−t/Maxiter)(8)式中,randrandrand为[0,1][0,1][0,1]之间的随机数,ttt为当前迭代次数,MaxiterMax_{iter}Maxiter为最大迭代次数。新的位置更新公式为:D′=∣Xr(t)−X(t)∣(9)D'=|\boldsymbol X_r(t)-\boldsymbol X(t)|\tag{9}D′=∣Xr(t)−X(t)∣(9)X(t+1)=X(t)−Usign(a)D′(10)\boldsymbol X(t+1)=\boldsymbol X(t)-Usign(a)D'\tag{10}X(t+1)=X(t)−Usign(a)D′(10)式中,sign(⋅)sign(\cdot)sign(⋅)为符号函数,取值为−1,0,1-1,0,1−1,0,1。
随着迭代次数的增加,UUU整体呈减小趋势。但是与原始WOA中的AAA相比较,UUU既有较大步长,又有小步长,可以帮助IWOA较好地协调其探索和开发能力并在整个搜索过程中保持多样性。
(3)莱维飞行扰动策略
本文引入莱维飞行机制,对寻优过程中位置更新方式进行扰动操作, 改善算法易陷入局部最优及出现早熟收敛现象。通过莱维飞行,新的位置更新公式如下:Xl(t)=X(t)+α⊕Levy(λ)(11)\boldsymbol X^l(t)=\boldsymbol X(t)+\alpha ⊕Levy(\lambda)\tag{11}Xl(t)=X(t)+α⊕Levy(λ)(11)式中,Xl(t)\boldsymbol X^l(t)Xl(t)为莱维飞行扰动后的位置,⊕⊕⊕为点乘,α\alphaα为步长控制因子,Levy(λ)Levy(\lambda)Levy(λ)表示随机搜索路径。具体的莱维飞行公式请参考这里。
由于不能保证莱维飞行扰动后的位置优于原位置,所以本文采用贪婪选择决定是否更新鲸鱼位置,即新位置适应度值优于原位置的适应度值则保留,否则舍弃,公式为:X(t+1)={Xl(t)f[Xl(t)]<f[X(t)]X(t)f[Xl(t)]≥f[X(t)](12)\boldsymbol X(t+1)=\begin{dcases}\boldsymbol X^l(t)\quad f[\boldsymbol X^l(t)]<f[\boldsymbol X(t)]\\\boldsymbol X(t)\quad\, f[\boldsymbol X^l(t)]≥f[\boldsymbol X(t)]\end{dcases}\tag{12}X(t+1)={Xl(t)f[Xl(t)]<f[X(t)]X(t)f[Xl(t)]≥f[X(t)](12)
二、算法流程
算法流程如图1所示。
图1 IWOA覆盖优化流程图
三、仿真实验与分析
1、实验环境
为验证本文改进的鲸鱼算法应用于WSN覆盖优化性能,用MATLAB进行仿真,将原始WOA、改进后的IWOA 和其他文献的覆盖效果进行对比,其中实验的参数与其他文献的对应参数设置相同。参与对比的算法如表1所示。
表1 对比算法
2、实验结果
(1)与FA算法对比
将实验参数设置与文献[2]相同, 设监测区域为50m×50m50 m×50 m50m×50m的二维平面, 传感器节点个数N=35N=35N=35,其感知半径是Rs=5mR_s = 5 mRs=5m,通信半径Rc=10mR_c= 10 mRc=10m,迭代1000次。初始部署、FA优化覆盖、IWOA优化覆盖如图2~4所示。
图2 初始部署
图3 FA优化覆盖
图4 IWOA优化覆盖
二者的对比如图5所示。
图5 FAvsIWOA
(2)与EABC算法对比
将实验参数设置与文献[3]相同,即监测区域为100m×100m100 m×100 m100m×100m的二维正方形平面,部署同构传感器节点个数N=50N=50N=50,其感知半径是Rs=10mR_s=10 mRs=10m,通信半径Rc=20mR_c=20 mRc=20m,迭代次数为1000。图6为EABC初始部署,图7为EABC优化覆盖图,图8为IWOA优化覆盖图,图9为二者对比图。
图6 EABC初始部署
图7 EABC优化覆盖
图8 IWOA优化覆盖
图9 EABCvsIWOA
四、参考文献
[1] 宋婷婷, 张达敏, 王依柔, 等. 基于改进鲸鱼优化算法的WSN覆盖优化[J]. 传感技术学报, 2020, 33(3): 415-422.
[2] E. Tuba, M. Tuba, M. Beko. Mobile wireless sensor networks coverage maximization by firefly algorithm[C] // 2017 27th International Conference Radioelektronika (RADIOELEKTRONIKA), 2017: 1-5.
[3] 于文杰, 李迅波, 羊行, 等. 外推人工蜂群算法在WSN部署优化中的应用研究[J]. 仪表技术与传感器, 2017(6): 158-160+164.
[4] 心升明月. 基于鲸鱼优化算法的函数寻优算法. CSDN博客.
[5] 心升明月. 基于嵌入莱维飞行的灰狼优化(LGWO)算法的函数寻优算法. CSDN博客.
基于改进鲸鱼优化算法的WSN覆盖优化相关推荐
- 基于回溯搜索优化算法的WSN覆盖优化
文章目录 一.理论基础 1.回溯搜索优化算法 (1)种群初始化 (2)选择Ⅰ (3)变异 (4)交叉 (5)选择Ⅱ 2.BSA算法伪代码 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.回溯搜 ...
- 基于改进粒子群算法的WSN节点部署优化
文章目录 一.理论基础 1.PSO算法(经典粒子群算法) 2.UPSO算法(均匀搜索粒子群算法) 3.CPSO算法(本文算法) 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.PSO算法(经典 ...
- 基于流向算法的WSN覆盖优化
文章目录 一.理论基础 1.流向算法 2.FDA算法流程图 二.WSN覆盖优化仿真 1.二维覆盖优化 2.三维覆盖优化 三.参考文献 一.理论基础 1.流向算法 流向算法(Flow Direction ...
- 【WSN定位】基于matlab磷虾群算法求解WSN定位优化问题【含Matlab源码 448期】
⛄一. 磷虾群算法简介 通过研究南极磷虾觅食和生活习性的仿真模拟实验, 2012年Gandomi和Alavi提出了一种处理复杂优化问题的磷虾群算法.KH算法仍然属于粒子智能算法, 它采用实数编码随机产 ...
- 【布局优化】基于遗传算法的的无线传感器网(WSN)覆盖优化Matlab源码
一.WSN模型 1.1 动机 近年来,随着对等网络.云计算和网格计算等分布式环境的发展,无线传感器网络(WSN)得到了广泛的应用.无线传感器网络(WSN)是一种新兴的计算和网络模式,它可以被定义为一个 ...
- 基于改进海洋捕食者算法求解单目标优化问题附matlab代码(NMPA)
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 【优化调度】基于matlab帝国企鹅算法求解航空调度优化问题【含Matlab源码 YXS001期】
一.帝企鹅算法简介 目前,关于帝企鹅算法在国内外研究较少,在中对该算法进行了分析,并且与常见的粒子群算法.萤火虫算法进行了对比分析. 帝企鹅从事各种活动,如狩猎.群体觅食,是群居性动物.每当恶劣的气候 ...
- 【布局优化】基于鲸鱼算法实现3D无线传感器网(WSN)覆盖优化 Matlab源码
一.WSN模型 二.鲸鱼算法 2.1. 鲸鱼优化算法的生物机制 图1 座头鲸的泡泡捕食示意图 据研究,鲸鱼大脑的某些区域有与人类相似的梭形细胞,而这些细胞负责人类的判断.情感和社会行为.鲸 ...
- 机器学习之MATLAB代码--IWOA_BILSTM(基于改进鲸鱼算法优化的BiLSTM预测算法)(十六)
机器学习之MATLAB代码--IWOA_BILSTM基于改进鲸鱼算法优化的BiLSTM预测算法(十六) 代码 数据 结果 代码 1. %% 基于改进鲸鱼算法优化的BiLSTM预测算法 clear;cl ...
最新文章
- 强化学习总结(3-4)——无模型的价值函数的预测,蒙特卡洛和TD时序差分方法
- LiveVideoStack秋季招聘(编辑、会务运营、项目经理)
- 全硬盘安装Win Vista 6000 RTM方法(转)
- java 两个线程同步_Java 多线程(二)—— 线程的同步
- python中scrapy是什么_python中Scrapy数据流是什么
- stm32f407网页服务器,STM32F407单片机通过USR-LTE-7S4模块和服务器进行4G通信
- php操作mysql数据库的扩展有哪些_PHP mysql 扩展库 操作mysql数据库步骤
- kaldi在java中运行_Kaldi语音识别CVTE模型实战
- 企企通SRM:时尚服装品牌企业建立优质供应链体系,只需要做到这几步
- 清华刘云浩教授回复学生2000问,你想了解的人工智能问题可能都在这里
- Latex排版技巧:输入罗马数字
- HTML——<blockquote>与<q>的区别
- canvas制作圆角矩形(包括填充矩形的功能)
- 2022-2028全球与中国智能家居监控摄像头市场现状及未来发展趋势
- html提取excel指定单元格数据,怎样从很多的表格中提取指定单元格数据
- BLE-NRF51822教程2-工程初始化流程
- Nordic NRF51822 从零开始系列(一)开发环境的搭建
- VCenter中安装虚拟机操作系统
- 手把手教你搭建网站(零基础,不用写代码)
- 个人项目——STM32接入机智云教程