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

news2024/12/26 11:47:17

文章目录

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


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


1. 原始樽海鞘算法

在这里插入图片描述

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/560114.html

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

相关文章

RHCE 第六次作业

1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。 2、判断web服务是否运行(1、查看进程的方式判断该程序是否运行,2、通过查看端口的方式判断该程序是否运行&…

【面试篇】SpringIoC、AOP、MVC面试实战

version:1.0 文章目录 SpringSpring基础 / IoC🙎‍♂️面试官:举例Spring的模块?🙎‍♂️面试官:Spring、SpringMVC、Spring Boot关系?🙎‍♂️面试官:说说对SpringIoC的…

谈谈你对JavaSE中compare、compareTo的使用与比较

1. 前言 在java当中,若是要进行比较,大家可能第一时间想到, 或是 !,这种数学上的比较符>、接下来,我就分别介绍并演示这两种实现方法。 需要的朋友可以参考下,这将又会是干货满满的一期,全程…

【复习笔记】FreeRTOS(一)

FreeRTOS在校期间自学过一段时间,然而出来工作却用不上。 最近在搞东西需要用到RTOS,特意把笔记整理一下,算是复习了。笔记整理主要来源于正点原子的开发文档、视频教程。 文章目录 一、FreeRTOS简介二、FreeTROS移植三、测试例程四、实验效果…

docker搭建简单elk日志系统7(日志查看)

docker搭建简单elk日志系统1 docker搭建简单elk日志系统2 docker搭建简单elk日志系统3 docker搭建简单elk日志系统4 docker搭建简单elk日志系统5 docker搭建简单elk日志系统6 如有疑问可以去上面文档找相关内容 1.登录kibana 2. 以logs-test-dev为例 匹配到logs-test-dev数…

加拿大鹅Q4营收增长超30%,后续如何拿下更多“信任票”?

羽绒服行业正处在一个大混战的时代。有的品牌依托强势单品出海逆袭;有的品牌通过狂追当下Z世代的喜好,推翻经典设计;也有品牌“放下架子”在工厂忙起了特惠直播。在赛道愈发拥挤的背景下,羽绒服行业正在经历“地位”洗牌。 目前&…

如何高效地在网上找开源项目

开源项目是发展技能、分享想法和成为开发社区一员的好方法。开源意味着软件功能背后的源代码与所有想要阅读它的人公开共享。这意味着你可以准确地看到一个系统是如何工作的——一旦你愿意冒险,就为它做出贡献。除了向所有人开放贡献外,这种开放代码库通…

jsp实训培训软件系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp实训培训软件系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,使用…

机器数、真值、原码、反码、补码

机器数 机器数是数字在计算机中的二进制表示形式。机器数有2个特点:一是符号数字化,二是其数的大小受机器字长的限制。 机器数可以是带符号的,也可以是不带符号的。带符号的机器数用来表示正数、负数和零,而不带符号的机器数只能…

【C++】哈希应用:bitset和布隆过滤器

一、位图概念 一道面试题: 给定40亿个无序不重复的无符号整数。给一个无符号整数,如何快速判断一个数是否在这40亿个数中 遍历,时间复杂度 O ( N ) O(N) O(N)排序: O ( N l o g N ) O(NlogN) O(NlogN),利用二分查找: l o g N …

都说测试行业饱和了,为什么我们公司新招的的测试开了15K?

其实每年都有人说测试行业饱和了,但依旧有很多人找到了薪资不错的工作。来说说我的看法吧,我认为不用担心测试会饱和的问题,我们人口基数大,任何一个行业都有竞争,这是非常正常的情况。而且在有技术能力的人面前永远没…

VoxWeekly|The Sandbox 生态周报|2023.05.15

欢迎来到 The Sandbox 生态周报《VoxWeekly》!每周一发布,与你快速重温前一周整个生态系统中发生的大小事。 如果你们喜欢这些内容,记得 订阅我们的 Medium 并与家人及好友分享。关注我们的 Twitter 并加入 Discord ,以获得我们全…

安卓基础巩固(四):设计原则、安卓主流技术框架MVC/MVP/MVVM、设计模式

文章目录 架构设计为什么要进行技术框架的设计 六大设计原则一、单一职责原则二、开闭原则三、依赖倒置原则四、接口分离原则五、迪米特法则(又称最小知道原则)六、里氏替换原则案例诠释 安卓主流开发技术框架MVC模式MVP模式MVVMMVP模式详解 架构设计 为…

Java Springboot下redis用pipelining管道模式写入性能调优实例讲解

Springboot下redis写入pipelining管道模式性能调优实例 一、真实场景 生产真实项目过程中,需要将数据库的数据同步写入redis,此过程中遇到写入redis的瓶颈。每次启动项目都要将数据库数据重载到redis,这个过程耗费了大量的时间。 二、解决…

图片转字符图片工具类

├── cn.xsshome.imagetool //包名├── convert │ └── ImageToChar //图片转字符图片、文本方法 ├── slideverifycode │ └── SlideVerifyCodeGenerateUtil //滑块验证码工具类代…

多项式回归预测

目录 1、多项式回归 2、R-Squared 1、多项式回归 如果在实际中数据点显然不适合线性回归(穿过数据点之间的直线),那么多项式回归可能是理想的选择 像线性回归一样,多项式回归使用变量 x 和 y 之间的关系来找到绘制数据点线的最佳…

空气中的声压级、声功率级、声强级的区别

空气中的声压级、声功率级、的区别 在学习声学理论时,经常听到,声压级、声强级、声功率级的名称,经常也听到它们的单位为dB.但是它们是怎样的区别呢?下面介绍这几个名词 一、定义和计算 1.声压级 声压级以 L p {L_p} Lp​表示&am…

《Netty》从零开始学netty源码(六十一)之解码器

目录 解码器LineBasedFrameDecoderDelimiterBasedFrameDecoderFixedLengthFrameDecoderLengthFieldBasedFrameDecoder 解码器 在上一篇中介绍了Netty的解码器抽象类ByteToMessageDecoder,Netty也定义了一些常用的解码器,这些解码器都实现了ByteToMessag…

第一波IT去美国化的公司不是华为

第一波去美国化的不是华为,是BAT京东等 互联网类公司发起的工程叫:去IOE IBM小型机,ORACLE数据库,EMC存储 几年前已经完成了技术去美化 趣讲大白话:安全是底线 【趣讲信息科技174期】 **************************** 第…

hash在后端的应用

目录 散列表hash 函数种类: 布隆过滤器场景:构成原理应用分析选择 hash 函数问题:只用2GB内存在20亿个整数中找到出现次数最多的数完整代码: 分布式一致性 hashhash迁移hash 偏移虚拟节点 散列表 hash 函数 计算速度快 强随机分布…