文章目录
- 【可更换其他算法,`获取资源`请见文章第6节:资源获取】
- 1. SSA算法
- 2. WSN节点感知模型
- 3. 混合WSN覆盖优化
- 4. 部分代码展示
- 5. 仿真结果展示
- 6. 资源获取
【可更换其他算法,获取资源
请见文章第6节:资源获取】
1. SSA算法
网上已有很多介绍,此处不再赘述,可以参考原始SSA算法。
2. WSN节点感知模型
本文所使用的模型是传感器部署研究中最常见的一种感知模型-布尔感知模型。布尔感知模型比较简单,定义如下:N节点的感知范围是以节点N为圆心,以Rs为半径的一个圆形区域,其中Rs是由节点的物理特性决定的,名为感知半径。只有落在该圆形区域内的目标点p才能视为被节点N覆盖。这个模型也被称为0-1感知模型。
首先,假设目标监测网络为矩形区域,监测区域内分布有若干节点,每个节点的覆盖范围为以节点位置为圆心,监测半径为Rs的圆;其次,将目标监测区域进行离散化处理,形成若干监测点,根据0-1感知模型计算各检测点的感知概率;最后,通过计算覆盖监测点数占整个检测区域总点数来计算网络覆盖率大小。
3. 混合WSN覆盖优化
混合无线传感器网络可以有效利用移动节点的动态部署弥补固定节点所形成的信号覆盖盲区, 从而与仅有固定节点组成的传感器网络相比能更好地解决网络资源浪费、易出现覆盖盲区等问题。
区域中包括部分固定节点和可移动节点。在本文中,固定节点的坐标为已知条件,利用SSA算法对移动节点的坐标进行优化,以覆盖率最大化为优化目标,不断优化可移动节点的位置,最终确定可移动节点的最终位置,使得覆盖率达到最优。
如图2所示,深色圆为固定节点的覆盖范围,浅色圆为可移动节点的覆盖范围,本文就是通过不断优化可移动节点的坐标,使得该正方形区域的空白部分达到最小,也即整体覆盖率达到最优。
4. 部分代码展示
%% 优化前覆盖图
figure(1)
% 固定点
FoodPositionX=Solution_Guding(1,1:end);
FoodPositionY=Solution_Guding(2,1:end);
for i=1:size(Solution_Guding,2)
x = FoodPositionX(1,i);
y = FoodPositionY(1,i);
h2= cc(x,y,R,1);%固定参数为1
hold on;
end
% 移动点
FoodPositionX=init_BestX;
FoodPositionY=init_BestY;
for i=1:dim
x = FoodPositionX(1,i);
y = FoodPositionY(1,i);
h1=cc(x,y,R,0);
hold on;
end
axis([0 w 1 w]);
xlabel('X(m)');
ylabel('Y(m)');
title('优化前覆盖效果');
legend([h2,h1],'固定','移动')
5. 仿真结果展示
6. 资源获取
A资源获取说明.rar