智能优化算法应用:基于蜉蝣算法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)=(xn−xp)2+(yn−yp)2+(zn−zp)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 m∗n∗l个空间点,空间点的坐标为 ( 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)=(xi−x)2+(yi−y)2+(zi−z)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=m∗n∗l∑Pcov(5)
那我们的最终目标就是找到一组节点使得覆盖率最大。
3.蜉蝣算法
蜉蝣算法原理请参考:https://blog.csdn.net/u011835903/article/details/109253587
蜉蝣算法是寻找最小值。于是适应度函数定义为未覆盖率最小,即覆盖率最大。如下:
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(1−CoverRatio)=argmin(1−m∗n∗l∑Pcov)(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代码
相关文章:
智能优化算法应用:基于蜉蝣算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于蜉蝣算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于蜉蝣算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蜉蝣算法4.实验参数设定5.算法结果6.参考文献7.MA…...
pymysql报错: unable to rollback、Already closed
参考: https://www.coder.work/article/4516746 https://www.cnblogs.com/leijiangtao/p/11882107.html https://stackoverflow.com/questions/55116007/pymysql-query-unable-to-rollback unable to rollback处理: # 关闭光标对象 cursor.close() # 关…...
[Linux] Web基础知识与http协议
一、HTML 1.1 HTML 的概念 HTML被称为超文本标记语言。 它是规范和标准. 它通过标记符号来标记网页中出现的各个部分。网页文件本身就是一种文本文件。 通过向文本文件添加标记,您可以告诉浏览器如何显示其中的内容。 HTML命令可以描述文本、图形、动画、声音、表格…...
2020年第九届数学建模国际赛小美赛B题血氧饱和度的变异性解题全过程文档及程序
2020年第九届数学建模国际赛小美赛 B题 血氧饱和度的变异性 原题再现: 脉搏血氧饱和度是监测患者血氧饱和度的常规方法。在连续监测期间,我们希望能够使用模型描述血氧饱和度的模式。 我们有36名受试者的数据,每个受试者以1 Hz的频率连…...
【Flink on k8s】- 11 - 使用 Flink kubernetes operator 运行 Flink 作业
目录 1、创建本地镜像库 1.1 拉取私人仓库镜像 1.2 运行 1.3 本地浏览器访问 5000 端口...
【Linux】系统初识之冯诺依曼体系结构与操作系统
👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.冯诺依曼体系结构 2.操作…...
【PyTorch】模型训练过程优化分析
文章目录 1. 模型训练过程划分1.1. 定义过程1.1.1. 全局参数设置1.1.2. 模型定义 1.2. 数据集加载过程1.2.1. Dataset类:创建数据集1.2.2. Dataloader类:加载数据集 1.3. 训练循环 2. 模型训练过程优化的总体思路2.1. 提升数据从硬盘转移到CPU内存的效率…...
GO -- 设计模式
整篇文档参考了各大神对设计模式的总结,然后整理的一篇关于使用GO来实现设计模式的文档,如有问题,请批评指正! 目录 设计模式的优点 设计模式的六大原则 设计模式,即Design Patterns,是指在软件设计…...
angular状态管理方案(ngrx)
完全基于redux的ngrx方案,我们看看在angular中如何实现。通过一个简单的计数器例子梳理下整个流程 一 安装 :npm i ngrx/store 这里特别要注意一点:安装 ngrx/store的时候会出现和angular版本不一致的问题 所以检查一下angular/core的版本…...
EPICS modbus 模块数字量读写练习
本文使用modbus slave软件模拟一个受控的modbus设备,此模拟设备提供如下功能: 1、线圈组1,8个线圈,起始地址为0,数量为8,软件设置如下(功能码1),用于测试功能码5,一次写一个线圈&am…...
万界星空科技低代码平台:搭建MES系统的优势
低代码MES系统:制造业数字化转型的捷径 随着制造业的数字化转型,企业对生产管理系统的需求逐渐提高。传统的MES系统实施过程复杂、成本高昂,已经无法满足现代企业的快速发展需求。而低代码搭建MES系统的出现,为企业提供了一种高…...
【ArcGIS微课1000例】0078:创建点、线、面数据的最小几何边界
本实例为专栏系统文章:讲述在ArcMap10.6中创建点数据最小几何边界(范围),配套案例数据,持续同步更新! 文章目录 一、工具介绍二、实战演练三、注意事项一、工具介绍 创建包含若干面的要素类,用以表示封闭单个输入要素或成组的输入要素指定的最小边界几何。 工具位于:数…...
五花八门客户问题(BUG) - 数据库索引损坏
问题 曾经有个客户问题,让我们开发不知所措了很久。简单点说就是客户的index周期性的损坏,即使全部重建后经历大约1~2周数据update后也会坏掉。导致的直接结果:select出来的数据不对。问题很严重。 直接看损坏的index文件看不出什么蛛丝马迹…...
mysql select count 非常慢
MySQL select count 性能分析 问题:mysql 在count时发现非常慢 select count(*) from xxx; 无论执行多少次,查询速度基本稳定在10-12秒之间 环境说明 windows11 x64SSD硬盘MySQL8.0.35数据库引擎为InnoDB数据行数不到3万行,但是数据量将近…...
Tomcat管理功能使用
前言 Tomcat管理功能用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。在默认情况下是处于禁用状态的。如果需要开启这个功能,需要配置管理用户,即配置tomcat-users.xml文件。 !!!注意:测试功…...
kyuubi整合flink yarn session mode
目录 概述配置flink 配置kyuubi 配置kyuubi-defaults.confkyuubi-env.shhive 验证启动kyuubibeeline 连接使用hive catlogsql测试 结束 概述 flink 版本 1.17.1、kyuubi 1.8.0、hive 3.1.3、paimon 0.5 整合过程中,需要注意对应的版本。 注意以上版本 配置 ky…...
err_connect_length_mismatch错误
原因: 官网解释为:err_content_length_mismatch:错误的内容长度不匹配(请求的Heather 里content-length长度与返回的content-length不一致) 问题截图: 分析: 由截图可见,静态资源加载错误,提示err_content_length_mismatch,经排查,网络页签…...
dva的学习总结
公司的项目源码用的是react和dva,所以我必须抓紧时间学习一下dva了,一天时间,看看我学到了什么(dva官网DvaJS)[这是很久之前就打算写的了,一直没时间,一直存着草稿,今天发出来吧] 1…...
Docker部署.NET6项目
Docker的三大核心概念 1、docker仓库(repository) docker仓库(repository)类似于代码库,是docker集中存放镜像的场所。实际上,注册服务器是存放仓库的地方,其上往往存放着很多仓库。每个仓库集…...
Pandas 打开有密码的Excel
安装包 pip isntall msoffcrypto-tool msoffcrypto库的简单介绍 msoffcrypto提供了对Microsoft Office文件进行加密和解密的功能。它支持对Word、Excel和PowerPoint文件进行加密和解密操作。 msoffcrypto的原理是利用Microsoft Office文件的加密算法对文件进行加密和解密。它能…...
【硬件分享】PCIE283全高PCIe3.0x8光纤采集卡,XCKU060+双40G光口
分享一款由北京匠行科技推出PCIe283 为标准的全高PCIe 3.0 x8 光纤采集卡。主处理器采用Xilinx Ultrascale系列FPGA XCKU060-FFVA1156I,板卡支持2路QSFP光口,2组 64bit DDR4 、每组容量2GB,预留16路LVDS、32 路LVTTL3.3V。核心配置FPGAXilinx…...
C++ 编译器优化参数解析
C编译器优化参数解析:提升性能的关键 在C开发中,编译器优化是提升程序性能的重要手段。通过调整编译器的优化参数,开发者可以在不修改代码的情况下显著提高程序的运行效率、减少内存占用或缩短启动时间。不同的优化选项适用于不同的场景&…...
猫抓Cat-Catch:资源嗅探的全链路解决方案(三大技术突破)
猫抓Cat-Catch:资源嗅探的全链路解决方案(三大技术突破) 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓Ca…...
通义千问模型效果实测:辅助计算机组成原理课程教学与习题解答
通义千问模型效果实测:辅助计算机组成原理课程教学与习题解答 最近在准备《计算机组成原理》这门硬核课程的教案和习题讲解,说实话,每次讲到CPU流水线冲突、Cache映射这些抽象概念,看着台下学生似懂非懂的眼神,我就琢…...
像素时装锻造坊应用场景:NFT项目像素角色皮肤的批量生成方案
像素时装锻造坊应用场景:NFT项目像素角色皮肤的批量生成方案 1. 项目背景与核心价值 像素时装锻造坊(Pixel Fashion Atelier)是一款专为NFT项目设计的像素角色皮肤批量生成工具。它基于Stable Diffusion与Anything-v5技术栈,将传…...
每日一书⑩ | AI 未来:未来不属于 AI,属于会用 AI 的人
“本文来自「乐想屋」公众号,系列更新[每日一书],每次5分钟,帮你把书读薄,把知识用活”01 开篇:AI 不是科幻,是正在发生的现实你可能觉得 AI 还很遥远,但它已经渗透进生活的每个角落:…...
Nanbeige 4.1-3B 在AI Agent场景的应用:自主任务规划与执行
Nanbeige 4.1-3B 在AI Agent场景的应用:自主任务规划与执行 最近和几个做项目管理的朋友聊天,他们都在抱怨一件事:每周整理项目文档和写周报,简直是“体力活”。从各个文件夹里翻找文件,手动汇总信息,再绞…...
类器官 vs 器官芯片:下一代体外模型如何提升药物研发效率【曼博生物-CNBIO】
类器官与器官芯片(OOC):临床前研究模型的新趋势 一、介绍 类器官与器官芯片(OOC/MPS)是当前体外模型研究的两大核心技术路线。:contentReference[oaicite:0]{index0} 类器官是三维微型器官,通常由干细胞…...
后端开发效率提升:Phi-4-mini-reasoning自动生成数据库访问层代码与API文档
后端开发效率提升:Phi-4-mini-reasoning自动生成数据库访问层代码与API文档 1. 为什么我们需要自动化代码生成 每个后端开发者都经历过这样的痛苦时刻:新建一个项目后,花大量时间编写几乎雷同的CRUD代码。这些重复性工作不仅枯燥乏味&#…...
GLM-4-9B-Chat-1M多语言法律文书生成:中英双语合同条款自动起草
GLM-4-9B-Chat-1M多语言法律文书生成:中英双语合同条款自动起草 1. 项目简介与核心价值 法律文书起草是法律工作中的重要环节,但传统方式耗时耗力且容易出错。GLM-4-9B-Chat-1M模型的出现,为法律文书生成带来了全新的解决方案。 这个基于v…...
