WSN定位基于matlab磷虾群算法求解WSN定位优化问题含Matlab源码 448期
Posted 海神之光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WSN定位基于matlab磷虾群算法求解WSN定位优化问题含Matlab源码 448期相关的知识,希望对你有一定的参考价值。
一、 磷虾群算法简介
通过研究南极磷虾觅食和生活习性的仿真模拟实验, 2012年Gandomi和Alavi提出了一种处理复杂优化问题的磷虾群算法。KH算法仍然属于粒子智能算法, 它采用实数编码随机产生初始种群。KH算法总是重复完成3种运动, 通过迭代搜索直至最佳位置。每一只磷虾的进化受3个运动分量的协同影响:邻居诱导、觅食活动和随机扩散。
KH算法采用拉格朗日模型:
其中Ni是邻居诱导, Fi是觅食活动, Di是随机扩散, i=1, 2, …NP, NP是种群数。
运动分量1:受周围磷虾“邻居”诱导的运动速度Ni
其中, Nmax为最大诱导速度, αi为诱导方向, ωn为诱导惯性权重。
运动分量2:磷虾个体的觅食运动速度Fi
其中, Vf是最大觅食速度, βi为觅食方向, ωf为觅食惯性权重, βifood和βibest分别为受“食物”和粒子本身历史最优个体诱导的方向。
运动分量3:磷虾个体的随机扩散运动速度Di
其中, Dmax为最大随机扩散速度, σ为随机扩散方向。
基于上述3种运动分量, 每一磷虾从时间t到t+Δt的更新后位置应该表示为
二、部分源代码
clc
clear
close all
global N M %%N是未知节点数目,M是已知节点数目
ll=10;
dd=10;
N=1;M=4;
Vmax=1;
Vmin=-1;
number=N+M;
rand('state',sum(100*clock)*rand(1))
nodecoor0 =[0 0
0 dd
dd 0
dd dd ];
nodecoor =[dd*rand(N,2)
nodecoor0];
% nodecoor =[dd*rand(N+M,2)];
actualunknownnodecoor=nodecoor(1:N,:) ; %取50个点为未知的,未知节点实际坐标随机分布在dd*dd的区域内
actualunknownnodecoor1=actualunknownnodecoor' ;
undis=L2_distance(nodecoor',nodecoor') ; %%计算节点两两之间的欧拉距离
noise=zeros((N+M),(N+M));
noise_value=1;
for i=1:N
for j=1:(N+M)
if i<j
noise(i,j)=noise_value;
noise(j,i)=noise(i,j);
end
end
end
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.
[4]李玲纯,高来鑫.改进磷虾群算法在变电站选址中的应用[J].重庆工商大学学报(自然科学版). 2018,35(03)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
以上是关于WSN定位基于matlab磷虾群算法求解WSN定位优化问题含Matlab源码 448期的主要内容,如果未能解决你的问题,请参考以下文章
优化部署基于matlab粒子群算法求解无线传感器WSN部署优化问题含Matlab源码 1691期
WSN定位基于matlab灰狼算法优化无线传感器非测距定位含Matlab源码 2008期
布局优化基于粒子群算法的无线传感器网(WSN)覆盖优化Matlab源码
布局优化基于粒子群算法的无线传感器网(WSN)覆盖优化Matlab源码