智能优化算法应用:基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码

文章目录

  • 智能优化算法应用:基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码
    • 1.无线传感网络节点模型
    • 2.覆盖数学模型及分析
    • 3.非洲秃鹫算法
    • 4.实验参数设定
    • 5.算法结果
    • 6.参考文献
    • 7.MATLAB代码

摘要:本文主要介绍如何用非洲秃鹫算法进行3D无线传感器网(WSN)覆盖优化。

1.无线传感网络节点模型

本文主要基于0/1模型,进行寻优。在二维平面上传感器节点的感知范围是一个以节点为圆心,半径为 R n R_n Rn的圆形区域,该圆形区域通常被称为该节点的“感知圆盘”, R n R_n Rn称为传感器节点的感知半径,感知半径与节点内置传感器件的物理特性有关,假设节点 n n n的位置坐标为 ( x n , y n , z n ) (x_n,y_n,z_n) (xn,yn,zn)在0-1感知模型中,对于平面上任意一点 p ( x p , y p , z p ) p(x_p,y_p,z_p) p(xp,yp,zp),则节点 n n n监测到区域内点 p p p的事件发生概率为:
P r ( n , p ) = { 1 , d ( n , p ) ≤ R n 0 , e s l e (1) P_r(n,p)=\begin{cases}1, \,d(n,p)\leq R_n\\ 0,\, esle \end{cases}\tag{1} Pr(n,p)={1,d(n,p)Rn0,esle(1)
其中 d ( n , p ) = ( x n − x p ) 2 + ( y n − y p ) 2 + ( z n − z p ) 2 d(n,p)=\sqrt{(x_n-x_p)^2+(y_n-y_p)^2 + (z_n-z_p)^2} d(n,p)=(xnxp)2+(ynyp)2+(znzp)2 为点和之间的欧式距离。

2.覆盖数学模型及分析

现假定目标监测区域为二维平面,在区域 A r e a Area Area上投放同型结构传感器节点的数目为N,每个节点的位置坐标值假设已被初始化赋值,且节点的感知半径r。传感器节点集则表示为:
N o d e { x 1 , . . . , x N } (2) Node\{x_1,...,x_N\} \tag{2} Node{x1,...,xN}(2)
其中 n o d e i = { x i , y i , z i , r } node_i=\{x_i,y_i,z_i,r\} nodei={xi,yi,zi,r},表示以节点 ( x i , y i , z i ) (x_i,y_i,z_i) (xi,yi,zi)为圆心,r为监测半径的球,假定监测区域 A r e a Area Area被数字化离散为 m ∗ n ∗ l m*n*l mnl个空间点,空间点的坐标为 ( x , y , z ) (x,y,z) (x,y,z),目标点与传感器节点间的距离为:
d ( n o d e i , p ) = ( x i − x ) 2 + ( y i − y ) 2 + ( z i − z ) 2 (3) d(node_i,p)=\sqrt{(x_i-x)^2+(y_i-y)^2 + (z_i-z)^2}\tag{3} d(nodei,p)=(xix)2+(yiy)2+(ziz)2 (3)
目标区域内点被传感器节点所覆盖的事件定义为 c i c_i ci。则该事件发生的概率 P c i P{c_i} Pci即为点 ( x , y , z ) (x,y,z) (x,y,z)被传感器节点 n o d e i node_i nodei所覆盖的概率:
P c o v ( x , y , z , n o d e i ) = { 1 , i f d ( n o d e i , p ) ≤ r 0 , e s l e (4) P_{cov}(x,y,z,node_i)=\begin{cases}1, if\,d(node_i,p)\leq r\\ 0,\, esle \end{cases}\tag{4} Pcov(x,y,z,nodei)={1,ifd(nodei,p)r0,esle(4)
我们将所有的传感器节点在目标监测环境中的区域覆盖率 C o v e r R a t i o CoverRatio CoverRatio定义为传感器节点集的覆盖面积与监测区域的面积之比,如公式所示:
C o v e r R a t i o = ∑ P c o v m ∗ n ∗ l (5) CoverRatio = \frac{\sum P_{cov}}{m*n*l}\tag{5} CoverRatio=mnlPcov(5)
那我们的最终目标就是找到一组节点使得覆盖率最大。

3.非洲秃鹫算法

非洲秃鹫算法原理请参考:https://blog.csdn.net/u011835903/article/details/122213857
非洲秃鹫算法是寻找最小值。于是适应度函数定义为未覆盖率最小,即覆盖率最大。如下:
f u n = a r g m i n ( 1 − C o v e r R a t i o ) = a r g m i n ( 1 − ∑ P c o v m ∗ n ∗ l ) (6) fun = argmin(1 - CoverRatio) = argmin(1-\frac{\sum P_{cov}}{m*n*l}) \tag{6} fun=argmin(1CoverRatio)=argmin(1mnlPcov)(6)

4.实验参数设定

无线传感器覆盖参数设定如下:

%% 设定WNS覆盖参数,
%% 默认输入参数都是整数,如果想定义小数,请自行乘以系数变为整数再做转换。
%% 比如范围1*1,R=0.03可以转换为100*100,R=3;
%区域范围为AreaX*AreaY*AreaZ
AreaX = 100;
AreaY = 100;
AreaZ = 100;
N = 20 ;%覆盖节点数
R = 15;%通信半径

非洲秃鹫算法参数如下:

%% 设定非洲秃鹫优化参数
pop=30; % 种群数量
Max_iteration=30; %设定最大迭代次数
lb = ones(1,3*N);
ub = [AreaX.*ones(1,N),AreaY.*ones(1,N),AreaZ.*ones(1,N)];
dim = 3*N;%维度为3N,N个坐标点

5.算法结果

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

从结果来看,覆盖率在优化过程中不断上升。表明非洲秃鹫算法对覆盖优化起到了优化的作用。

6.参考文献

[1] 史朝亚. 基于PSO算法无线传感器网络覆盖优化的研究[D]. 南京理工大学.

7.MATLAB代码

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

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

相关文章

UE4 UE5 一直面向屏幕

一直面相屏幕,方法很简单 新建一个蓝图,如下添加组件: 蓝图如下: Rotation Actor :需要跟随镜头旋转的物体 Update:一个timeline(替代event tick 只是为了循环) Timeline&#xff…

百年东芝“瞄准”汽车「芯」机遇

在汽车“新四化”大变革的驱动下,汽车半导体市场进入需求暴涨的新周期。 “智能电动汽车所需要的半导体种类和数量正在急剧增加。” 东芝电子分立器件应用技术部经理成栋表示,东芝电子正在加大汽车半导体市场的布局,从而满足汽车电动化、智能…

深入了解Java中的锁机制

目录 1. synchronized关键字 1.1 基本概念 1.2 内置锁 1.3 限制 2. ReentrantLock 2.1 概述 2.2 公平性与非公平性 2.3 条件变量 3. 读写锁(ReadWriteLock) 3.1 概念 3.2 适用场景 4. StampedLock 4.1 概述 4.2 乐观读与悲观读 4.3 适用场…

WT588F34B-16S语音芯片:四通道16K采样率混音播放的应用优势

随着科技的不断进步,语音芯片在电子产品中的应用越来越广泛。其中,WT588F34B-16S语音芯片凭借其卓越的性能和创新的功能,引起了市场的广泛关注。特别是其支持四通道16K采样率混音播放的功能,为实际应用带来了显著的优势。本文将深…

w13渗透测试实战之https账号密码捕抓

此次实验需要配合arp欺骗,不知道arp欺骗的,可以查看这篇w13渗透测试实战之ARP欺骗攻击(ARP断网攻击) 一、实验环境 攻击机:linux Kali 靶机:window 7 网络环境:虚拟机NAT 网关:192.168.89.2实…

浅谈能耗系统在马来西亚连锁餐饮业的应用

1.背景信息 Background 针对连锁餐饮业能耗高且能源管理不合理的问题,利用计算机网络技术、通讯技术、计量控制技术等信息化技术,实现能源资源分类分项计量和能源资源运行监管功能,清晰描述各分店总的用能现状;实时监测各供电回路…

Hal深入实战/perfetto-systrace实战/SurfaceFlinger合集-安卓framework开发实战开发

背景 hi,粉丝朋友们: 大家好! 下面来介绍一下新的framework专题halperfettosurafceflinger,这个专题主要就是分为3大块,但是彼此直接又是相互关联的。 比如surfaceflingre模块深入分析需要用到hal相关的模块&#xff…

IDEA创建springboot工程

选择spring boot的版本和依赖 finish创建完成 删除无用的文件

【make/Makefile】Linux下进度条的设计与实现

一、简单介绍make/Makefile Makefile 和 makefile 不区分大小写,但是一定只能是 “makefile” !!! make 是一个指令,makefile 是一个文件。 Makefile 格式形式: 使用 make 生成目标文件时,默认…

论文解读:On the Integration of Self-Attention and Convolution

自注意力机制与卷积结合:On the Integration of Self-Attention and Convolution(CVPR2022) 引言 1:卷积可以接受比较大的图片的,但自注意力机制如果图片特别大的话,运算规模会特别大,即上图中右边(卷积)会算得比较快…

Python开发GUI常用库PyQt6和PySide6介绍之二:设计师(Designer)注意事项

Python开发GUI常用库PyQt6和PySide6介绍之二:设计师(Designer)注意事项 PySide6和PyQt6都有自己的设计师(Designer),用于可视化地设计和布局GUI应用程序的界面。这些设计师提供了丰富的工具和功能&#xf…

快速入门 — — 在Moonbeam上开发

访问熟悉的以太坊工具是一回事,获得顶级支持、拥有构建突破性跨链应用程序的资源是另一回事。 Moonbeam汇集了通过集成互操作性解决方案访问任何链的能力、具有完全以太坊兼容性的理想开发环境,以及使用Substrate在波卡上安全扩展的能力。 开始在Moonb…

MT6785|MTK6785安卓核心板功能规格介绍_Helio G95核心板

MT6785安卓核心板是一款功能强大的工业级4G智能模块,它采用了Android 9.0操作系统。该核心板内置了蓝牙、FM、WLAN和GPS模块,具有高度集成的基带平台,结合了调制解调器和应用处理子系统,以支持LTE/LTE-A和C2K智能终端应用。 MTK67…

2023年12月GESP Python三、四级编程题真题解析

三、2023年12月GESP Python三级编程题 【三级编程题1】 【试题名称】&#xff1a;小猫分鱼 【问题描述】 海滩上有一堆鱼&#xff0c;N只小猫来分。第一只小猫把这堆鱼平均分为N份&#xff0c;多了i<N条鱼&#xff0c;这只小猫把多的i条鱼扔入海中&#xff0c;拿走了一份…

【小沐学Unity3d】3ds Max 减面工具:Simplyon(Unity3d,Python)

文章目录 1、简介2、下载安装2.1 安装Simlygon插件2.2 安装USD插件 3、使用测试4、Python测试结语 1、简介 Simplygon 带有一个 Unity 插件&#xff0c;它公开了优化功能&#xff0c;例如缩减、聚合、重新划分网格、冒名顶替者&#xff08;SingleView、BillboardCloud / Veget…

Module build failed: TypeError: this.getOptions is not a function

在使用webpack打包出现以上错误时&#xff0c;可能是你安装的css-loader和style-loader的版本过高。 我用的webpack版本是3.6.0 因此需要降低一下版本 在你编辑器终端输入以下命令&#xff1a; npm install css-loader3.6.0 npm install --save-dev style-loader1.00 然后接下…

hyper-v ubuntu2204指定静态ip地址

虚拟机静态IP设置 虚拟机每次重新启动&#xff0c;都会动态分配IP&#xff0c;这导致我们无法使用一个固定的ip连接到虚拟机内部。解决该问题的最直接有效的办法就是给虚拟机绑定2张网卡&#xff0c;一张用于连接外网、一张用于连接内网。 init 0 关机&#xff0c;也可以从管…

如何用 CleanMyMac 来保护 Mac 隐私

大家早上好&#xff0c;中午好&#xff0c;下午好&#xff0c;晚上好。 在我们使用MacBook上的自带浏览器-Safari&#xff08;或者一些其他浏览器&#xff09;进行网页浏览的时候&#xff0c;往往会留下一些痕迹。如果这些痕迹涉及一些敏感数据信息的话&#xff0c;那么我们肯…

idea 如何使用 JaCoCo 跑覆盖率

背景介绍 什么代码覆盖&#xff1f; 代码覆盖(Code coverage)是软件测试中的一种度量&#xff0c;描述程序中源代码被测试的比例和程度&#xff0c;所得比例称为代码覆盖率。简单来理解&#xff0c;就是单元测试中代码执行量与代码总量之间的比率。 Java常用的单元测试覆盖率…

MatGPT - 访问 OpenAI™ ChatGPT API 的 MATLAB® 应用程序

系列文章目录 前言 MatGPT 是一款 MATLAB 应用程序&#xff0c;可让您轻松访问 OpenAI 的 ChatGPT API。使用该应用程序&#xff0c;您可以加载特定用例的提示列表&#xff0c;并轻松参与对话。如果您是 ChatGPT 和提示工程方面的新手&#xff0c;MatGPT 不失为一个学习的好方…