文章目录
- 【可更换其他算法,`获取资源`请见文章第6节:资源获取】
- 1. SSA算法
- 2. 节点感知模型
- 3. 三维混合WSN覆盖问题
- 4. 部分代码展示
- 5. 仿真结果展示
- 6. 资源获取
【可更换其他算法,获取资源
请见文章第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. 资源获取
A资源获取说明.rar