【无线传感器节点部署WSN】使用最陡下降法和遗传算法进行受连通性和覆盖范围约束的无线传感器节点部署(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、文章下载


💥1 概述

摘要:无线传感器网络(WSN)的连通性和不同类型的覆盖,包括目标覆盖、区域覆盖和障碍覆盖,是其中最关键的挑战之一。本文研究了针对随机分布的同质和异质WSN的目标覆盖、区域覆盖和连通性挑战的节点部署,并提出了一种新的集中式和分布式模式下的方法,该方法(i)通过所需数量的传感器覆盖所有目标,(ii)在网络上提供最大的区域覆盖和连通性,以及(iii)管理传感器从初始位置移动到最终位置。具体而言,在目标覆盖的情况下,提出了一种使用最陡下降(SD)算法与Armijo和Wolf规则的新的分析部署方法,而不是进化方法。结果表明,该方法在管理传感器向目标移动方面优于遗传算法(GA),保证了目标的100%覆盖,并且在算法复杂度方面在最坏情况下实现了显著减少——超过40%。然而,当考虑到区域覆盖和连通性时,建议采用一种新的混合部署方法,该方法首先使用GA同时分析这些挑战来提取最佳传感器坐标,然后利用SD算法将传感器移动到这些位置。数值结果证实,这种两步方法的复杂度与现有研究的GA方法几乎相同;然而,它提供了传感器的轨迹以及对网络覆盖和连通性的更高精度。

关键词:连通性 覆盖 遗传算法 带有Armijo和Wolf规则的最陡下降算法 无线传感器网络(WSN)

📚2 运行结果

去掉Matlab图框:

部分代码:

%%  Parameters
it_ave=40; %to average over results for fairness
epsi=5; % Error Threshold in meters(i.e. desirable average distance of sensors from the targets)
itermax=2000; %maximun number of iterations for the SD and Gentic algorithms
%WSN parameters and initializing==========================================
networkSize=400;    % network size

%%Fig.3 (must be activated for Fig.3 of the manuscript)
target_number =12; % number of targets
required_sensor=ones(target_number,1); %1-coverage %numbers of sensors for targets coverage 
M=sum(required_sensor);  % must be M>=N  %total numbers of required sensors for coverage of targets
sensor_number =12; % number of nodes %N=M only for target coverage
Rs=ones(sensor_number,1)*30; %Sensing range of sensors
rand('state', -9); 
sensorLoc = round(rand(sensor_number,2)*networkSize); %intial random locations of sensors
targetLoc = round(rand(target_number,2)*networkSize); %randomlocations of targets

%% GA Parameters

n=30; %number of chrom
Pc=0.9;   % cross over rate
Pm=0.1; % mutation rate
scale=0.2; %Value for determining the standard deviation of gaussian function in mutation
m=2; %number of variables
Lo=[zeros(1,M) zeros(1,M)]; %Lower bound of variables
Hi=[networkSize*ones(1,M) networkSize*ones(1,M)]; %Upper bound of variables

%% Assingment of required number of sensors to each target (determining of A_(s^'))
assinged_targetLoc=repelem(targetLoc,required_sensor,[1 1]);  %corresponding locations that must be coveraged by the sensors
assinged_sensorLoc=sensorLoc(1:M,:);  %cordinates of assinged sensors for target coverage

%% Illustrating WSN intial target and sensor Locations, and coverage
figure(1);
 clf;
  subplot(2,3,1)
  hold on;
for i = 1:sensor_number
plot(sensorLoc(i,1), sensorLoc(i,2), 'r*');
 text(sensorLoc(i,1), sensorLoc(i,2), num2str(i));
xlim([0 networkSize])
ylim([0 networkSize])
end
%  legend('Sensors');
for i = 1:target_number
plot(targetLoc(i,1), targetLoc(i,2), 'bO');

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、文章下载

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值