智能优化算法应用:基于回溯搜索算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于回溯搜索算法无线传感器网络(WSN)覆盖优化 - 附代码

文章目录

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

摘要:本文主要介绍如何用回溯搜索算法进行无线传感器网(WSN)覆盖优化。

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

本文主要基于0/1模型,进行寻优。在二维平面上传感器节点的感知范围是一个以节点为圆心,半径为 R n R_n Rn的圆形区域,该圆形区域通常被称为该节点的“感知圆盘”, R n R_n Rn称为传感器节点的感知半径,感知半径与节点内置传感器件的物理特性有关,假设节点 n n n的位置坐标为 ( x n , y n ) (x_n,y_n) (xn,yn)在0-1感知模型中,对于平面上任意一点 p ( x p , y p ) p(x_p,y_p) p(xp,yp),则节点 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 d(n,p)=\sqrt{(x_n-x_p)^2+(y_n-y_p)^2} d(n,p)=(xnxp)2+(ynyp)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 , r } node_i=\{x_i,y_i,r\} nodei={xi,yi,r},表示以节点 ( x i , y i ) (x_i,y_i) (xi,yi)为圆心,r为监测半径的圆,假定监测区域 A r e a Area Area被数字化离散为 m ∗ n m*n mn个像素点,像素点的坐标为 ( x , y ) (x,y) (x,y),目标像素点与传感器节点间的距离为:
d ( n o d e i , p ) = ( x i − x ) 2 + ( y i − y ) 2 (3) d(node_i,p)=\sqrt{(x_i-x)^2+(y_i-y)^2}\tag{3} d(nodei,p)=(xix)2+(yiy)2 (3)
目标区域内像素点被传感器节点所覆盖的事件定义为 c i c_i ci。则该事件发生的概率 P c i P{c_i} Pci即为像素点 ( x , y ) (x,y) (x,y)被传感器节点 n o d e i node_i nodei所覆盖的概率:
P c o v ( x , y , 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,node_i)=\begin{cases}1, if\,d(node_i,p)\leq r\\ 0,\, esle \end{cases}\tag{4} Pcov(x,y,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 (5) CoverRatio = \frac{\sum P_{cov}}{m*n}\tag{5} CoverRatio=mnPcov(5)
那我们的最终目标就是找到一组节点使得覆盖率最大。

3.回溯搜索算法

回溯搜索算法原理请参考:https://blog.csdn.net/u011835903/article/details/108366901
该算法是寻找最小值。于是适应度函数定义为未覆盖率最小,即覆盖率最大。如下:
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 ) (6) fun = argmin(1 - CoverRatio) = argmin(1-\frac{\sum P_{cov}}{m*n}) \tag{6} fun=argmin(1CoverRatio)=argmin(1mnPcov)(6)

4.实验参数设定

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

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

回溯搜索算法参数如下:

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

5.算法结果

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

从结果来看,覆盖率在优化过程中不断上升,表明回溯搜索算法对覆盖优化起到了优化的作用。

6.参考文献

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

7.MATLAB代码

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

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

相关文章

ubuntu改window任务栏

经常在ubuntu和win之间切换,任务栏的布局不统一会让人很别扭,个人很喜欢win任务栏的不折叠图标功能,而ubuntu没有,又很喜欢的ubuntu的多工作空间,效率比副屏还高,还可以自定义切换工作空间的快捷键。鱼和熊…

2023-11-28-直播单细胞图表美化-seurat数据结构 featureplot dotplot vlnplot

单细胞常见的可视化方式有DimPlot,FeaturePlot ,DotPlot ,VlnPlot 和 DoHeatmap几种 ,Seurat中均可以很简单的实现,但是文献中的图大多会精美很多。 之前 跟SCI学umap图| ggplot2 绘制umap图,坐标位置 &am…

[SaaS] 广告创意中stable-diffusion的应用

深度对谈:广告创意领域中 AIGC 的应用这个领域非常快速发展,所以你应该保持好奇心,不断尝试新事物,不断挑战自己。https://mp.weixin.qq.com/s/ux9iEABNois3y4wwyaDzAQ我对AIGC领域应用调研,除了MaaS服务之外&#xff…

浅谈Elasticsearch安全和权限管理

Elasticsearch 安全和权限管理 Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,它使得用户可以快速地存储、搜索和分析大量数据。在企业级应用中,保证数据的安全性和权限管理是至关重要的。本文将详细讲解 Elasticsearch 的安全和权限管理功能…

安全防控 | AIRIOT智能安防管理解决方案

现代社会对安全和便捷性的需求越来越高,特别是在大型商业园区、住宅社区和办公大楼等场所。传统的安防系统往往存在一些痛点: 通行效率问题:传统门禁系统通常导致人员排队等待,降低了通行效率。车辆通行管理不当会导致交通拥堵和停车问题。 …

Elasticsearch 线上实战问题及解决方案探讨

1、reindex相关问题 1.1 问题描述 我有 1tb 的一个大索引若干,要迁移到另外一个新集群去,有没有好办法?reindex好像会中断...... reindex 是不是就算设置了频率也会莫名的中断,而且没地方查到错误?1000多万的数据&…

【axios封装】万字长文,TypeScript实战,封装一个axios - 基础封装篇

目录 前言版本环境变量配置引入的类型1、AxiosIntance: axios实例类型2、InternalAxiosRequestConfig: 高版本下AxiosRequestConfig的拓展类型3、AxiosRequestConfig: 请求体配置参数类型4、AxiosError: 错误对象类型5、AxiosResponse: 完整原始响应体类型 目标效果开始封装骨架…

dialog打开时重新渲染

在 Vue 中打开 dialog 常用的方法是使用 el-dialog 控件。当 dialog 打开时&#xff0c;常常需要重新渲染对应的内容。这个功能可以通过监听 visible 属性实现。 具体实现方法如下&#xff1a; 在 el-dialog 控件上监听 visible 属性 <template><el-dialog :visibl…

鸿运主动安全监控云平台存在任意文件读取漏洞 附POC

@[toc] 鸿运主动安全监控云平台存在任意文件读取漏洞 附POC 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途…

蓝桥杯物联网竞赛_STM32L071_5_串口接收发送数据

理论&#xff1a; 串口采取异步通信&#xff0c;即不依赖时钟节拍来接收或发送数据&#xff0c;而是采用互相约定的波特率传输数据。 波特率与单位时间传输的比特数有关&#xff0c;波特率越大传输的数据越多 传输一个比特花费的时间T 1 / 比特率 接受和发送数据的时候需要…

leetcode 210.课程表 II

题目链接&#xff1a;leetcode 210 1.题目 现在你总共有 numCourses 门课需要选&#xff0c;记为 0 到 numCourses - 1。给你一个数组 prerequisites &#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示在选修课程 ai 前 必须 先选修 bi 。 例如&#xff0c;想要…

leetcode:455. 分发饼干

一、题目 原题链接&#xff1a;455. 分发饼干 - 力扣&#xff08;LeetCode&#xff09; 函数原型&#xff1a;int findContentChildren(int* g, int gSize, int* s, int sSize) 二、思路 将胃口数组和饼干尺寸数组降序排序 遍历两个数组&#xff0c;从胃口数组中找到符合饼干尺…

网络入门---网络的大致了解

目录标题 网络发展的简单认识协议作用的理解协议的本质什么是协议分层网络通信所面对的问题OSI七层模型TCP/IP模型协议报头的理解局域网通信局域网通信基本原理报头的问题局域网的特点跨网的网络链接如何查看mac地址 网络发展的简单认识 通过之前的学习我们知道计算机是给人提…

使用docker-compose优雅部署nacos

查看代码中引入nacos版本 在应用的pom.xml中搜索nacos关键字&#xff0c;找到相关的nacos依赖 点击以来左边的图标&#xff0c;找到依赖管理器中的pom.xml&#xff0c;并全局搜索nacos&#xff0c;即可找到对应的nacos客户端版本 使用docker-compose部署nacos version: 3s…

Jmeter-分布式压测(远程启动服务器,windows)

1 前提条件 JDK已部署&#xff0c;版本一致Jmeter已部署&#xff0c;版本一致多台服务器连接的同一网络(例如&#xff1a;同一wifi)防火墙处于关闭状态&#xff08;或者对应默认端口处于开放状态&#xff09;虚拟网络适配器都处于关闭状态查找到每一台服务器的IP 2 主服务器配…

蓝桥杯第229题 迷宫与陷阱 BFS C++ 模拟 带你理解迷宫的深奥

题目 迷宫与陷阱 - 蓝桥云课 (lanqiao.cn)https://www.lanqiao.cn/problems/229/learning/?page1&first_category_id1&name%E8%BF%B7%E5%AE%AB%E4%B8%8E%E9%99%B7%E9%98%B1 思路和解题方法 首先&#xff0c;定义了一个结构体node来表示迷宫中的每个节点&#xff0c;包…

3种在ArcGIS Pro中制作山体阴影的方法

山体阴影可以更直观的展现地貌特点&#xff0c;表达真实的地形&#xff0c;这里为大家介绍一下在ArcGIS Pro中制作山体阴影的方法&#xff0c;希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的DEM数据&#xff0c;除了DEM数据&#xff0c;常见的GIS数据…

计算机网络实用工具之masscan

简介 MASSCAN 是 TCP 端口扫描器&#xff0c;它异步传输 SYN 数据包并生成类似于最著名的端口扫描器 nmap 的结果。在内部&#xff0c;它的操作更像是scanrand、unicornscan和ZMap&#xff0c;采用异步传输。它是一个灵活的实用程序&#xff0c;允许任意地址和端口范围 官网 …

openssl+EVP详解

EVP&#xff08;Enveloped Public Key&#xff09;是 OpenSSL 中用于提供对称加密、非对称加密和哈希功能的高级加密接口。EVP 库提供了一个抽象的加密框架&#xff0c;使得可以在不同的算法实现之间进行切换&#xff0c;而不需要改变应用程序的代码。以下是一些 EVP 开发的主要…

揭秘Git高手的10个秘密武器:让你的工作效率飙升!

Git和GitHub是每个软件工程师都必须了解的最基本的工具。它们是开发人员日常工作不可或缺的一部分&#xff0c;每天都要与之互动。 精通Git不仅能简化你的日常操作&#xff0c;还能显著提高生产力。在这篇文章中&#xff0c;我们将探讨一组能够极大提升生产力的命令。 随着对…