智能优化算法应用:基于阿基米德优化算法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/119999874
阿基米德优化算法是寻找最小值。于是适应度函数定义为未覆盖率最小,即覆盖率最大。如下:
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代码

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023_Spark_实验三十:测试Flume到Kafka

实验目的:测试Flume采集数据发送到Kafka 实验方法:通过centos7集群测试,将flume采集的数据放到kafka中 实验步骤: 一、 kafka可视化工具介绍 Kafka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序。 Kafka Tool提供了…

ansible远程操作主机功能(1)

自动化运维(playbook剧本yaml) 是基于Python开发的配置管理和应用部署工具。自动化运维中,现在是异军突起。 Ansible能批量配置,部署,管理上千台主机,类似于Xshell的一键输入的工具,不需要每次…

Git总结 | Git面试都问些啥?

什么是Git为什么要用Git等等这些相信看到该标题点进来的同学也不希望浪费时间再看一遍,那么直接进入主题,对于日常工作中常用的Git相关操作进行整理,一起看看吧 面试官:你常用的Git操作是什么? 候选人:git clone 面试…

k8s集群使用calico网络组件

一、前言 k8s的网络组件可以使用flannel或者calico两种,flannel的配置比较简单,但是性能还是calico会更高一点,所以现在来介绍以下calico网络组件的部署 二、部署 k8s集群版本对calico的版本也有对应要求,k8s 1.23.0版本要求对应…

Spring MVC 中的常用注解和用法

目录 一、什么是 Spring MVC 二、MVC定义 三、简述 SpringMVC 起到的作用有哪些? 四、注解 五、请求转发或请求重定向 一、什么是 Spring MVC Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web…

为什么MCU在ADC采样时IO口有毛刺?

大家在使用MCU内部ADC进行信号采样一个静态电压时,可能在IO口上看到这样的波形。这个时候大家一般会认识是信号源有问题,但仔细观察会发现这个毛刺的频率是和ADC触发频率一样的。 那么为什么MCU在ADC采样时IO口会出现毛刺呢?这个毛刺对结果有…

深度解析Python爬虫中的隧道HTTP技术

前言 网络爬虫在数据采集和信息搜索中扮演着重要的角色,然而,随着网站反爬虫的不断升级,爬虫机制程序面临着越来越多的挑战。隧道HTTP技术作为应对反爬虫机制的重要性手段,为爬虫程序提供了更为灵活和隐蔽的数据采集方式。本文将…

基于视触觉的柔性机械爪与水果硬度无损检测

近日,课题组柑橘全程机械化平台研究团队以“Non-destructive fruit firmness evaluation using a soft gripper and vision-based tactile sensing”为题在农业计算机与电子信息领域期刊“Computers and Electronics in Agriculture”(IF20238.3)发表研究论文。 果…

Zero date value prohibited 异常处理

项目场景: 在项目中,我们会时常遇到数据查询,今天在对数据进行查询的时候,遇到一个之前闻所未闻的异常,所以记录下来,分享给大家。 问题描述 查询数据为datetime类型的数据时,发现该字段的值为…

Linux Docker本地部署WBO在线协作白板结合内网穿透远程访问

文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 前言 WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用…

生日蜡烛C语言

分析&#xff1a;假设这个人只能活到100岁&#xff0c;如果不这样规定的话&#xff0c;那么这个人就可以假设活到老236岁&#xff0c;直接一次吹236个蜡烛&#xff0c;我们就枚举出所以情况&#xff0c;从一岁开始。 #include <stdio.h> int f(int a,int b){//计算从a到…

案例分享|企业为什么要选择数字化转型?

数字化在现代社会中扮演着重要的角色&#xff0c;成为企业转型的必由之路。随着科技的发展和信息化的进程&#xff0c;越来越多的企业开始拥抱数字化转型&#xff0c;以应对市场的变化和竞争的压力。数字化带来了诸多好处&#xff0c;不仅提高了企业的效率和生产力&#xff0c;…

Pytorch:Tensorboard简要学习

目录 一、TensorBoard简介二、TensorBoard的安装与启动Tensorboard的安装Tensorboard的启动 三、TensorBoard的简单使用3.1 SummaryWriter()3.2 add_scalar()和add_scalars()3.3 add_histogram()3.4 模型指标监控 四、总结参考博客 一、TensorBoard简介 TensorBoard 是Google开…

一款简单的单节锂电池电量指示芯片 XC260A 适用于四个指示灯的电量指示

XC260A是一款单节鲤电池电量指示芯片&#xff0c;该芯片采用CMOS 工艺实现&#xff0c;体积小&#xff0c;便于便携式产品安装 XC260A内置比较器和反馈回路,实现4个电压点的检测通过内部修调技术&#xff0c;可以保证电压检测精度达到士2%。输出采用 OPENDRAIN结构,便于…

基于DINOv2的图像相似性比对(含代码和模型数据)

目录 一、概述二、实践2.1 安装环境2.2 示例代码 一、概述 2023年4月份&#xff0c;Meta发布了DINOv2预训练模型。DINOv2属于一种自监督学习算法&#xff0c;相比于以往的自监督技术有了显著改进&#xff0c;并达到了与弱监督算法相当的性能。 DINOv2算法可以在任何图像数据集…

嵌入式开发行业会不会也变成java行业?

今日话题&#xff0c;嵌入式开发行业会不会也变成java行业&#xff1f;关于嵌入式行业的未来&#xff0c;与一些人的担忧不同&#xff0c;它并不会内卷化&#xff0c;而是具有相对稳定性的领域。嵌入式开发在制造业等重要第二产业中扮演着关键角色&#xff0c;这些领域的稳定性…

什么是AI数字人互动大屏?

AI数字人结合互动大屏凭借其智能化、互动化、信息化等优势为企业服务、展馆展厅、数字会议带来全新的交互体验和数字化升级。有效为企业提高了沟通效率&#xff0c;节省人力成本&#xff0c;提升服务温度&#xff0c;满足技术创新。 一.数字人互动对话流程&#xff1a; 1.文本转…

【MAC】M2 安装docker 与 mysql

一、docker下载地址 下载地址 二、安装docker完成 罗列一下docker常用命令 # 查看docker版本 docker --version# 拉取镜像 docker pull 镜像名# 查看当前所有镜像 docker images# 查看运行中的容器 docker ps -a docker ps grep| 镜像名#镜像启动操作&#xff1a; sudo dock…

魔众文库系统v5.8.0版本发布:水印、分类与移动端升级,打造更高效文档管理体验

魔众文库系统迎来了全新的v5.8.0版本更新&#xff01;此次更新不仅对水印功能进行了升级&#xff0c;还新增了辅助分类样式&#xff0c;同时优化了移动端体验。让我们一起来看看这次更新的亮点吧&#xff01; 一、水印功能全新升级 在v5.8.0版本中&#xff0c;魔众文库系统的…

Addressables资源如何进行完整性校验

1&#xff09;Addressables资源如何进行完整性校验 2&#xff09;使用SpriteAtlas时出现冗余精灵&#xff0c;如何指定用哪一个图集 3&#xff09;anim文件进行精度处理后某些信息丢失 这是第365篇UWA技术知识分享的推送&#xff0c;精选了UWA社区的热门话题&#xff0c;涵盖了…