【WSN覆盖】基于麻雀搜索算法的三维无线传感器网络覆盖优化 三维WSN覆盖优化【Matlab代码#26】

news2024/10/5 14:20:33

文章目录

    • 【可更换其他算法,`获取资源`请见文章第5节:资源获取】
    • 1. SSA算法
    • 2. 三维覆盖模型
    • 3. 部分代码展示
    • 4. 仿真结果展示
    • 5. 资源获取


【可更换其他算法,获取资源请见文章第5节:资源获取】


1. SSA算法

在这里插入图片描述
在这里插入图片描述

2. 三维覆盖模型

三维覆盖模型如下面图1所示。
在这里插入图片描述

由于节点随机抛洒,而传感器节点的分布情况会影响网络覆盖率,以 R c o v R_{cov} Rcov作为覆盖率评价标准。在三维覆盖区域中,传感器节点的覆盖区域是某一半径确定的球。在三维监测区域中随机抛洒 N N N个传感器节点,形成节点集 S = { s 1 , s 2 , . . . , s N } (1) S=\left \{ s_{1},s_{2},...,s_{N} \right \} \tag{1} S={s1,s2,...,sN}(1)
其中,第 i i i个节点的坐标为 s i ( x i , y i , z i ) s_{i}(x_{i},y_{i},z_{i}) si(xi,yi,zi)。三维监控节点集合为 L = { l 1 , l 2 , . . . , l N } (2) L=\left \{ l_{1},l_{2},...,l_{N} \right \} \tag{2} L={l1,l2,...,lN}(2)其中,三维监测区域内某个目标点为 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 ) = ( x i − x v ) 2 + ( y i − y v ) 2 + ( z i − z v ) 2 (3) d(s_{i},l_{v})=\sqrt{(x_{i}-x_{v})^{2}+ (y_{i}-y_{v})^{2}+(z_{i}-z_{v})^{2}} \tag{3} d(si,lv)=(xixv)2+(yiyv)2+(zizv)2 (3)
d ( s i , l v ) ≤ R s d(s_{i},l_{v})\le R_{s} d(si,lv)Rs,则目标点在三维覆盖区域内,感知度标记为1;相反,则在三维覆盖区域之外,感知度标记为0。采用布尔感知模型,感知度为:
p ( s i , l v ) = { 1 , d ( s i , l v ) ≤ R S 0 , d ( s i , l v ) > R S (4) p(s_{i},l_{v})=\left\{\begin{matrix} 1,d(s_{i},l_{v})\le R_{S} \\ 0,d(s_{i},l_{v})> R_{S} \end{matrix}\right. \tag{4} p(si,lv)={1,d(si,lv)RS0,d(si,lv)>RS(4)
其中,R_{s}为节点的通信半径,假设三维网络中有 k k k个 待测节点 s 1 , s 2 , . . . , s k s_{1},s_{2},...,s_{k} s1,s2,...,sk,对应点 l l l的覆盖率分别为 p ( s i , l v ) p(s_{i},l_{v}) p(si,lv),其中 k a l l k_{all} kall是监测区域内所有待测传感器节点, R p ( k a l l , l v ) R_{p}(k_{all},l_{v}) Rp(kall,lv)为联合感知概率,表达式为:
R p ( k a l l , l v ) = 1 − ∏ i = 1 k ( 1 − p ( s i , l v ) ) (5) R_{p}(k_{all},l_{v})=1-\prod_{i=1}^{k}(1-p(s_{i},l_{v})) \tag{5} Rp(kall,lv)=1i=1k(1p(si,lv))(5)
网络整体覆盖率为:
R c o v = ∑ i = 1 k R p ( k a l l , l v ) k (6) R_{cov}=\frac{\sum_{i=1}^{k}R_{p}(k_{all},l_{v}) }{k} \tag{6} Rcov=ki=1kRp(kall,lv)(6)
其中, R c o v R_{cov} Rcov是传感器网络的整体覆盖率, P P P为区域中的任意一个监测点。以覆盖率为适应度函数,可以检验无线传感网络覆盖性能。

3. 部分代码展示

FoodNumber=30; %种群数量
maxCycle=500; %最大迭代次数
dim=30; %待优化参数数量
P_percent = 0.2; %发现者比例
pNum = round( FoodNumber *  P_percent ); %发现者数量
objfun='WSNcover';
c=0; %下限
d=50; %上限
r=10; %边界宽

lb= c.*ones( 1,dim );    % Lower limit bounds
ub= d.*ones( 1,dim );    % Upper limit bounds
for i = 1 : FoodNumber
    FoodsX( i, : ) = lb + (ub - lb) .* rand( 1, dim ); 
    FoodsY( i, : ) = lb + (ub - lb) .* rand( 1, dim );
    FoodsZ( i, : ) = lb + (ub - lb) .* rand( 1, dim );
    ObjVal(i)=feval(objfun,FoodsX( i, : ),FoodsY( i, : ),FoodsZ( i, : ),dim,r,d);
    Fitness(i)=calculateFitness(-ObjVal(i));% 得到适应度值,覆盖率越高,适应度值越高
end

pFit = Fitness;
pObj = ObjVal;
pX = FoodsX; 
pY = FoodsY;
pZ = FoodsZ;
[ ObjMax, ObjbestI ] = max( ObjVal );
[ fMax, fbestI ] = max( Fitness );
bestX = FoodsX( fbestI, : ); 
bestY = FoodsY( fbestI, : ); 
bestZ = FoodsZ( fbestI, : );
HistoryObjMax = [1,maxCycle];

% 画图
figure(1)
for i=1:dim
    x = bestX(1,i);
    y = bestY(1,i);
    z = bestZ(1,i);
    cc(x,y,z,r);
    hold on;
end
xlabel('X(m)');
ylabel('Y(m)');
zlabel('Z(m)');
title('优化前覆盖效果');

4. 仿真结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 资源获取

A资源获取说明.rar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/560149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搜狐发布Q1财报:读懂前瞻性布局背后的长期主义

5月15日,搜狐发布了2023年第一季度财报。财报显示,搜狐总收入为1.62亿美元,其中,品牌广告收入为2300万美元;在线游戏收入为1.29亿美元。 同时,归于搜狐公司的非美国通用会计准则净亏损为1300万美元。 搜狐…

ChatGPT+Mermaid Live Editor画流程图

1.粘贴代码通过gpt翻译成Mermaid代码&#xff0c;生成流程图 public int largestValsFromLabels(int[] values, int[] labels, int numWanted, int useLimit) {// 将元素按值从大到小排序PriorityQueue<int[]> pq new PriorityQueue<>((a, b) -> b[0] - a[0])…

MySQL运维篇

一.日志 1.1 错误日志 错误日志是 MySQL 中最重要的日志之一&#xff0c;它记录了当 mysqld 启动和停止时&#xff0c;以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时&#xff0c;建议首先查看此日志。 错误日志是默认开启的…

数学(四) -- LC[29][166] 两数相除与分数到小数

1 分数到小数 1.1 题目描述 题目链接&#xff1a;https://leetcode.cn/problems/fraction-to-recurring-decimal/description/ 1.2 思路分析 1. 长除法 题目要求根据给定的分子和分母&#xff0c;将分数转成整数或小数。由于给定的分子和分母的取值范围都是 [ − 2 31 , 2 …

Linux环境变量提权

linux提权信息收集 Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers Vulnerability & Exploit Database - Rapid7 NVD - Home CVE -CVE SecWiki GitHub linux系统内核漏洞提权 脏牛提权漏洞&#xff1a; 脏牛提权&#xf…

推荐5个免费好用的UI模板网站!

1、即时设计 即时设计资源广场是一个聚集了大量优秀设计作品和大厂设计系统超过3000个UI组件库的设计师灵感库。该广场每月更新上百个精品模板&#xff0c;且还将这些模板分门别类按不同类型素材进行分类&#xff0c;其丰富的设计资源包括移动设计、网页设计、插画、线框图、矢…

Qt--信号和槽

写在前面 信号与槽机制是Qt中最重要的特性之一&#xff0c;也是其与其他GUI框架的主要区别之一。信号与槽机制允许不同对象之间进行通信和交互&#xff0c;从而实现程序的模块化和可重用性。 在Qt中&#xff0c;信号是一种事件&#xff0c;它可以被任何对象接收并执行相应的操…

Zookeeper、Nacos、Dubbo、Kafka之间的关系

1.Zookeeper Zookeeper 是 Apache Hadoop 的子项目&#xff0c;是一个树型的目录服务&#xff0c;支持变更推送&#xff0c;适合作为 Dubbo 服务的注册中心&#xff0c;工业强度较高。 Zookeeper的功能主要是它的树形节点来实现的。当有数据变化的时候或者节点过期的时候&…

AGV/AMR控制器--科聪

AGV/AMR控制器--科聪 1 行业介绍1.1 控制器概念1.2 行业发展1.3 竞争格局 2 科聪控制器 MRC50002.1 介绍2.2 支持多种导航方式2.3 适配各种轮系底盘2.4 核心参数2.5 优势灵活的二次开发平台&#xff1a;机器人设计软件&#xff08;xRobotStudio&#xff09;完备的实施调试工具&…

干货|写好论文,从一篇优秀的开题报告开始

Hello&#xff0c;大家好&#xff01; 这里是壹脑云科研圈&#xff0c;我是喵君姐姐~ 在今天的推文里&#xff0c;要给大家分享的是从开题报告到论文写作&#xff0c;快来一起看看哦~ 开题报告旨在总结与研究课题有关的立论依据、总体规划和预期研究成果&#xff0c;便于潜在…

一分钟带你了解网络安全(如何自学)

一、关于网络安全职业 早些年&#xff0c;网络安全刚起步&#xff0c;作为一个网络安全从业人员&#xff0c;最苦恼的事情就是每当回到村里变成狗蛋儿的时候&#xff0c;七大姑八大姨&#xff0c;邻里乡亲&#xff0c;村子里的各种人都会来找你&#xff0c;狗蛋儿&#xff0c;你…

(06)---STM32的Systick定时器与ADC

目录 【1】Systick定时器 概念 工作原理 时钟基准 【2】HAL_Delay函数分析 【3】定时器 基本概念 定时器分类 定时器组成 1.计数器 2.自动重装寄存器 3.预分频器 定时器计数原理 实验 2.PWM 定义 参数 工作原理 应用 练习&#xff1a;通过PWM信号调节LED灯亮度 练…

Convolutional Neural Network 的 PyTorch 实现(二)使用TensorRT进行推理加速

本文章针对 Windows 10 系统 目录 TensorRT 环境安装与配置zlibwapi.dll 安装与配置TensorRT 实现 CUDA CuDNN的安装&#xff1a; 参考文章 TensorRT 环境安装与配置 下载链接 TensorRT 本文章针对 Windows10、CUDA10.2 的PC&#xff0c;选择相对应的安装包完成下载。 解压后在…

迪赛智慧数——柱状图(基本柱状图):全球自动化无人机智能支出预测

效果图 全球自动化无人机智能支出及预测分析&#xff0c;2022年机器人流程自动化支出10.4十亿美元&#xff0c;智能流程自动化支出13十亿美元&#xff0c;人工智能业务操作达10.8十亿美元&#xff0c;未来&#xff0c;这些数字将进一步增长&#xff0c;自动化无人机智能也将拥有…

二战京东测试岗失败,真的后悔了....

两天&#xff0c;我的一个朋友去大厂面试&#xff0c;跟我聊天时说&#xff1a;输的很彻底… 我问她&#xff1a;什么情况&#xff1f; 她说&#xff1a;很后悔这5年来一直都干的是功能测试… 相信许多测试人也跟我朋友一样&#xff0c;从事了软件测试很多年&#xff0c;却依然…

小魔驼3.0下探至9万元背后,是毫末智行的“高位再进化”

作者 | 曾响铃 文 | 响铃说 是60分到90分难&#xff0c;还是90分到95分难&#xff1f; 这个问题不难回答——较高基数上的小幅度上升&#xff0c;要比较低基数上的大幅度上升困难得多。 这个道理在很多领域都十分适用&#xff0c;那些前沿技术领域更是如此&#xff0c;越到…

时钟、SysTick定时器、PWM、ADC

目录 【1】STM32的时钟系统 1.时钟基本概念 时钟源&#xff1a; 2.G030时钟源 3.时钟树 4.STM32CubeMX时钟树配置 【2】Systick定时器 1. 概念&#xff1a; 工作原理 时钟基准 【3】HAL_Delay函数分析 【4】定时器 基本概念 定时器分类 定时器组成 1.计数器 2.自…

软件测试----测试管理方法论

1、缺陷 &#xff08;1&#xff09;缺陷的主要变现&#xff1a; 1&#xff09;需求要求的功能没有实现 2&#xff09;实现了需求没有要求的功能 3&#xff09;软件中出现了明确指明不应该出现的错误 4&#xff09;需求虽未明确说明&#xff0c;但是应该实现的功能没有实现 5&…

MySQL高级|最强王者篇

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

【WSN覆盖】基于樽海鞘算法的三维无线传感器网络覆盖优化 三维WSN覆盖优化【Matlab代码#27】

文章目录 【可更换其他算法&#xff0c;获取资源请见文章第5节&#xff1a;资源获取】1. 原始樽海鞘算法2. 三维覆盖模型3. 部分代码展示4. 仿真结果展示5. 资源获取 【可更换其他算法&#xff0c;获取资源请见文章第5节&#xff1a;资源获取】 1. 原始樽海鞘算法 2. 三维覆盖模…