智能优化算法应用:基于布谷鸟算法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/108404684
布谷鸟算法是寻找最小值。于是适应度函数定义为未覆盖率最小,即覆盖率最大。如下:
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/218550.shtml

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

相关文章

点评项目——用户签到模块

2023.12.13 通常app为了吸引用户每天登陆app,会设定一个签到模块,本章就来实现用户签到模块,包含签到功能和签到统计功能。 BitMap用法 通常使用二进制位来记录每个月的签到情况,签到记录为1,未签到记录为0。每一个bi…

MacOS环境配置一系列问题的汇总,方便以后自己查看

环境配置一系列问题的汇总,方便以后自己查看 man brew报错“No manual entry for brew” 解决方法记录: 解决问题之前尝试的方法: Linking manuals from Homebrew1 https://apple.stackexchange.com/questions/111061/linking-manuals-f…

2000-2022年上市公司数字化转型数据(年报词频、文本统计)

2000-2022年上市公司数字化转型数据(年报词频、文本统计) 1、时间:2000-2022年 2、来源:上市公司年报、巨潮资讯网 3、方法说明:参考管理世界中吴非(2021)的做法,对人工智能技术、…

做题总结 19. 删除链表的倒数第 N 个结点(快慢指针思想)

19. 删除链表的倒数第 N 个结点 最初的想法进阶实现(Java) 最初的想法 计算出链表中的节点总数,然后遍历找到目标节点并删除。 class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode cur head;int count0;w…

Ubuntu 设置共享文件夹

一、在Windows中建立一个英文的文件夹 注意:新建文件夹的名称一定要是英文的,不能出现中文的路径(可能出现问题) 二、在VMware中添加共享文件 3: VMware安装VMware Tools 一般安装成功桌面上会显示这个安装包,&…

大型软件编程实际应用实例:个体诊所电子处方系统,使用配方模板功能输入症状就可开出处方软件操作教程

一、前言: 在开电子处方的时候,如果能够输入症状就可以一键导入配方,则在很大程度上可以节省很多时间。而且这个配方可以根据自己的经验自己设置,下面以 佳易王诊所电子处方软件为例说明。 二、具体一键导入配方详细操作教程 点击…

学习Java第68天,MVC架构模式理论简介

一.MVC架构模式 MVC(Model View Controller)是软件工程中的一种软件架构模式,它把软件系统分为模型、视图和控制器三个基本部分。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改…

01java语言基础

一、初始计算机和Java语言 1、计算机的体系结构 a.计算机的基本概念 计算机(Computer)俗称电脑,是现代一种用于高级计算,使用非常广泛 的设备,主要由计算机硬件和计算机软件两个部分组成。 • 计算机硬件是客观存在的各种计算机相关设备&a…

提升工作效率,尽在Microsoft Office LTSC 2021 for Mac!

在当今的办公环境中,高效率的工作是每个人都追求的目标。作为全球领先的办公软件套装,Microsoft Office LTSC 2021 for Mac将为您提供一站式的解决方案,帮助您轻松应对各种工作任务。 首先,Microsoft Office LTSC 2021 for Mac拥…

C# 通俗讲解Public、Private以及Protected、[HideInInspector]、[SerializeField]的区别

一、故事背景 1.我画了一幅画,把它放在室外,所有人都可以看见这个画,所有人都可以对这个画进行修改。 2.我非常非常努力,赚了一大笔钱,这笔钱,只能我和我的子孙后代用,但如果我的孩子需要传给他…

jmap命令的实现原理解析

jmap可以做什么? 1、jmap -histo[:live] 通过histo选项,打印当前java堆中各个对象的数量、大小。 如果添加了live,只会打印活跃的对象。 2、jmap -dump:[live,]formatb,file 通过-dump选项,把java堆中的对象dump到本地文件&a…

leaflet使用热力图报L找不到的问题ReferenceError: L is not defined at leaflet-heat.js:11:3

1.在main.js中直接引入会显示找不到L 2.解决办法 直接在组件中单独引入使用 可以直接显示出来。 至于为什么main中不能引入为全局,我是没找到,我的另外一个项目可以,新项目不行,不知哪里设置的问题

【小聆送书第二期】人工智能时代AIGC重塑教育

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋正文📝活动参与规则 参与活动方式文末详见。 📋正文 AI正迅猛地…

【技巧】导出和导入Typecho的文章数据

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 背景介绍 1、要换服务器了,虽然Typecho和Theme都可以重装,但文章数据由于是存在数据库里的,所以需要额外一些操作才行。 2、在进行下面的数据导入导出之前,新服务器…

GitHub Copilot - Elasticsearch 和 MySQL 单表查询耗时比对

当单表数据库超过百万后,数据库 like %xxx% 查询明显变慢,为了对比 Elasticsearch 的效果,将百万级的测试数据导入到 Elasticsearch 中对比看看效果。导入和查询 Elasticsearch 的过程完全通过 GitHub Copilot Chat 辅助编码。 Elasticsearc…

3.0 kVrms电压隔离: ADUM162N0BRZ、ADUM163N1BRZ、ADUM1281CRZ、ADUM1285CRZ通用多通道隔离(数字隔离器)

一、ADUM162N、ADuM163N 集成故障安全和2、3个反向通道的鲁棒3.0 kV rms六通道数字隔离器 ADuM162N / ADuM163N 均为采用ADI公司iCoupler技术的6通道数字隔离器。这些隔离器件将高速、互补金属氧化物半导体(CMOS)与单芯片空芯变压器技术融为一体,具有优于光耦合器件…

源代码泄密困扰企业?上海迅软DSE助力解决问题

源代码是软件开发最重要的资源,同时也是开发人员思想、经验和工作的结晶。对于软件开发企业来说,实施有效的源代码防泄密措施至关重要,因为源代码文档和程序文档都具有极高的商业价值,属于企业的商业机密。 为了确保企业的源代码…

Java_Mybatis_缓存

缓存 1.概述 Mybatis 缓存:MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制 2.会话缓存(一级缓存) sqlSession 级别的,也就是说,使用同一个 sqlSession 查询同一 sql 时&#x…

YOLOv7独家原创改进:SPPF自研创新 | SPPF创新结构,重新设计全局平均池化层和全局最大池化层,增强全局视角信息和不同尺度大小的特征

💡💡💡本文原创自研创新改进:SPPF_improve利用全局平均池化层和全局最大池化层,加入一些全局背景信息和边缘信息,从而获取全局视角信息并减轻不同尺度大小所带来的影响 强烈推荐,适合直接使用,paper创新基本 💡💡💡 在多个数据集验证涨点,尤其对存在多个尺…

大模型的研究新方向:混合专家模型(MoE)

大模型的发展已经到了一个瓶颈期,包括被业内所诟病的罔顾事实而产生的“幻觉”问题、深层次的逻辑理解能力、数学推理能力等,想要解决这些问题就不得不继续增加模型的复杂度。随着不同应用场景的实际需求,大模型的参数会变得越来越大&#xf…