智能优化算法应用:基于爬行动物算法3D无线传感器网络(WSN)覆盖优化 - 附代码

news2025/1/15 16:42:25

智能优化算法应用:基于爬行动物算法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/123528586
爬行动物算法是寻找最小值。于是适应度函数定义为未覆盖率最小,即覆盖率最大。如下:
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.coloradmin.cn/o/1331846.html

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

相关文章

饥荒Mod 开发(二一):超大便携背包,超大物品栏,永久保鲜

饥荒Mod 开发(二十):显示打怪伤害值 源码 游戏中的物品栏容量实在太小了,虽然可以放在箱子里面但是真的很不方便,外出一趟不容易看到东西都不能捡。实在是虐心。 游戏中的食物还有变质机制,时间长了就不能吃了,玩这个游…

DQL-基本查询

概念: 1,数据库管理系统一个重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示 2,MySQL提供了功能强大、灵活的语句来实现这些操作 3…

【SassVue】仿网易云播放器动画

简介 仿网易云播放动画 效果图&#xff08;效果图&#xff09; 最终成品效果 动画组件 src/components/musicPlay.vue <template><div class"music-play"><div></div><div></div><div></div></div> </te…

C语言中关于指针的理解

#include <stdio.h> int main() {int a11;int *p&a; //因为a是整型的&#xff0c;所以我们定义指针p的时候要和a的类型一样char b;char *pa&b; //同理&#xff0c;b是字符型&#xff0c;所以这里的pa也要用字符型return 0; }因为*p指向的是地址&…

Go 泛型之类型参数

Go 泛型之类型参数 文章目录 Go 泛型之类型参数一、Go 的泛型与其他主流编程语言的泛型差异二、返回切片中值最大的元素三、类型参数&#xff08;type parameters&#xff09;四、泛型函数3.1 泛型函数的结构3.2 调用泛型函数3.3 泛型函数实例化&#xff08;instantiation&…

【vue】开发常见问题及解决方案

有一些问题不限于 Vue&#xff0c;还适应于其他类型的 SPA 项目。 1. 页面权限控制和登陆验证页面权限控制 页面权限控制是什么意思呢&#xff1f; 就是一个网站有不同的角色&#xff0c;比如管理员和普通用户&#xff0c;要求不同的角色能访问的页面是不一样的。如果一个页…

ospf学习纪要

1、为避免区域&#xff08;area0,area1等&#xff09;间的路由形成环路&#xff0c;非骨干区域之间不允许直接相互发布区域间的路由。因此&#xff0c;所有的ABR&#xff08;Area Border Router,区域边界路由器&#xff09;都至少有一个借口属于Area0,所以Area0始终包含所有的A…

3.java——继承及拓展(保姆级别教程,万字解析,匠心制作)

三.继承——节省了共有属性和方法的代码&#xff1a;语法 class Student extends Person 1.继承基础 1.继承首先是面向对象中非常强的一种机制&#xff0c;他首先可以复用代码&#xff08;name ,age&#xff09;&#xff0c;让我们的获得了Person全部功能和属性&#xff0c;只…

基于Kubernetes的jenkins上线

1、基于helm 部署jenkins 要求&#xff1a;当前集群配置了storageClass&#xff0c;并已指定默认的storageClass&#xff0c;一般情况下&#xff0c;创建的storageClass即为默认类 指定默认storageClass的方式 # 如果是新创建默认类&#xff1a; apiVersion: storage.k8s.io/v1…

C# WPF上位机开发(从demo编写到项目开发)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 C# WPF编程&#xff0c;特别是控件部分&#xff0c;其实学起来特别快。只是后面多了多线程、锁、数据库、网络这部分稍微复杂一点&#xff0c;不过…

如何在linux安装软件

一.安装种类 1.编译安装&#xff1a;灵活性高&#xff0c;难度较大&#xff0c; 可以安装新版本 2.rpm安装&#xff1a;查软件信息&#xff0c;是否安装&#xff0c;文件列表 3.yum&#xff1a;是rpm的升级版本&#xff0c;解决rpm的弊端 rpm安装&#xff1a; 安装软件的时…

OpenCV利用HSV颜色区间分离不同物体

需求 当前有个需求是从一个场景中将三个不同的颜色的二维码分离出来&#xff0c;如下图所示。 这里有两个思路可以使用 思路一是通过深度学习的方式&#xff0c;训练一个能够识别旋转边界框的模型&#xff0c;但是需要大量的数据进行模型训练&#xff0c;此处缺少训练数据&a…

Quartz.NET 事件监听器

1、调度器监听器 调度器本身收到的一些事件通知&#xff0c;接口ISchedulerListener&#xff0c;如作业的添加、删除、停止、挂起等事件通知&#xff0c;调度器的启动、关闭、出错等事件通知&#xff0c;触发器的暂停、挂起等事件通知&#xff0c;接口部分定义如下&#xff1a…

springMVC-与spring整合

一、基本介绍 在项目开发中&#xff0c;spring管理的 Service和 Respository&#xff0c;SrpingMVC管理 Controller和ControllerAdvice,分工明确 当我们同时配置application.xml, springDispatcherServlet-servlet.xml , 那么注解的对象会被创建两次&#xff0c; 故…

ZooKeeper 使用介绍和原理详解

目录 1. 介绍 重要性 应用场景 2. ZooKeeper 架构 服务角色 数据模型 工作原理 3. 安装和配置 下载 ZooKeeper 安装和配置 启动 ZooKeeper 验证和管理 停止和关闭 4. ZooKeeper 数据模型 数据结构和层次命名空间&#xff1a; 节点类型和 Watcher 机制&#xff…

8002D 3W单声道带关断模式音频功率放大器 适用于游戏机、无源扬声器

8002D 是一款 AB 类&#xff0c;单声道带关断模式&#xff0c;桥式音频功率放大器。在输入 1KHZ,5V 工作电压时&#xff0c;最大驱动功率为: 3W.(422 负载&#xff0c;THD<10%)&#xff0c;2W,(4Q负载&#xff0c;THD<1%):音频范围内总谐波失真噪音小于 1%(20Hz20KHz ); …

基于YOLOv8深度学习的200种鸟类智能检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

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

智能优化算法应用&#xff1a;基于跳蛛算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于跳蛛算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.跳蛛算法4.实验参数设定5.算法结果6.参考文献7.MA…

如何使用树莓派Bookworm系统中配置网络的新方法NetworkManager

树莓派在 10 月新出的 Bookworm 版本系统中&#xff0c;将使用多年的 dhcpcd 换成了 NetworkManager&#xff08;以前是在rasp-config中可选&#xff09;&#xff0c;这是因为 Raspberry Pi OS 使用的是 Debian 内核&#xff08;和 Ubuntu 一样&#xff09;&#xff0c;所以树莓…

持续集成交付CICD:Linux 部署 Jira 9.12.1

目录 一、实验 1.环境 2.K8S master节点部署Jira 3.Jira 初始化设置 4.Jira 使用 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 主机架构版本IP备注master1K8S master节点1.20.6192.168.204.180 jenkins slave &#xff08;从节点&#xff09; jira9.12.1…