【WSN覆盖】基于麻雀搜索算法的三维混合无线传感器网络覆盖优化 三维WSN覆盖空洞修复【Matlab代码#25】
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
【可更换其他算法获取资源
请见文章第6节资源获取】
1. SSA算法
2. 节点感知模型
由于节点随机抛洒而传感器节点的分布情况会影响网络覆盖率。在三维覆盖区域中传感器节点的覆盖区域是某一半径确定的球。在三维监测区域中随机抛洒
N
N
N个传感器节点形成节点集合
(
s
1
,
s
2
,
s
3
,
.
.
.
,
s
N
)
(s_{1},s_{2},s_{3},...,s_{N})
(s1,s2,s3,...,sN)第
i
i
i个节点的坐标为
s
i
(
x
i
,
y
i
,
z
i
)
s_{i}(x_{i},y_{i},z_{i})
si(xi,yi,zi)三维监控节点集合中的某一点为
l
v
(
x
v
,
y
v
,
z
v
)
l_{v}(x_{v},y_{v},z_{v})
lv(xv,yv,zv)三维监控点与目标点的距离为
d
(
s
i
,
l
v
)
d(s_{i},l_{v})
d(si,lv)。
若
d
(
s
i
,
l
v
)
d(s_{i},l_{v})
d(si,lv)小于等于感知半径
R
s
R_{s}
Rs则目标点在三维覆盖区域内感知度标记为1,相反则在三维覆盖区域之外感知度标记为0。采用布尔感知模型感知度为
将三维监控节点集合中每个点的感知度求和并除以三维监控节点集合中的节点数即可得到整体覆盖率。
3. 三维混合WSN覆盖问题
无线传感网络WSN在智能交通、智能农业、医疗健康、工业监测和军事上应用广泛。伴随着WSN应用场景的不同无线传感器网络的应用也会有所区别。近年来WSN覆盖优化成为新的研究热点。在监测区域中传感器节点的部署数量和分布状态对网络服务质量影响很大如何利用最少的节点个数实现最大的覆盖率同时保证节点分布均匀性。在二维平面无线传感器网络在覆盖率方面近乎完善但是二维平面及感知模型无法适应实际应用场景节点在三维空间的部署研究刻不容缓。
在三维立体空间随机部署节点时由于外部因素的限制网络中会出现覆盖空洞。空洞是由周围多个节点形成的一个闭合空间如下图所示。图中1-7个节点可以视为固定节点其各自的球形范围可以视为固定节点的覆盖范围本文通过麻雀搜索算法不断优化移动节点的坐标从而使得三维立体空间内的空洞越小越好也即整个区域的覆盖率最大化。
4. 部分代码展示
% 画图
figure(2)
% FoodPositionX=FoodPosition(:,1:3:end);
% FoodPositionY=FoodPosition(:,2:3:end);
% FoodPositionZ=FoodPosition(:,3:3:end);
for i=1:dim
x = FoodPositionX(1,i);
y = FoodPositionY(1,i);
z = FoodPositionZ(1,i);
h1=cc(x,y,z,R,0);
hold on;
end
% 固定节点上色
FoodPositionX=Solution_Guding(1,1:end);
FoodPositionY=Solution_Guding(2,1:end);
FoodPositionZ=Solution_Guding(3,:);
for i=1:size(Solution_Guding,2)
x = FoodPositionX(1,i);
y = FoodPositionY(1,i);
z = FoodPositionZ(1,i);
h2=cc(x,y,z,R,1);
hold on;
end
xlabel('X(m)');
ylabel('Y(m)');
zlabel('Z(m)');
title('优化后覆盖效果');
legend([h1,h2],'移动','固定')
figure(3)
plot(Convergence_curve(2:end),'r-','LineWidth',1.2);
xlabel('迭代次数');
ylabel('覆盖率');
title('算法训练过程');
5. 仿真结果展示
6. 资源获取
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |