智能优化算法应用:基于热交换算法无线传感器网络(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/114221597
该算法是寻找最小值。于是适应度函数定义为未覆盖率最小,即覆盖率最大。如下:
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/195128.shtml

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

相关文章

Bishop新著 - 深度学习:基础与概念 - 前言

译者的话 十几年前,笔者在MSRA实习的时候,就接触到了Christopher M, Bishop的经典巨著《Pattern Recogition and Machine Learning》(一般大家简称为PRML)。Bishop大神是微软剑桥研究院实验室主任,物理出身,对机器学习的基本概念…

客户销售目标拆解:数据驱动的方法和策略

写在开头 在当今竞争激烈的商业环境中,企业需要更加精准地制定销售目标以实现业务增长。数据驱动的方法在这一过程中扮演着关键的角色,帮助企业深入了解客户特征、行为和需求。本篇博客将深入探讨销售目标拆解在企业管理中的重要性,并介绍如何利用数据驱动的方法和策略来制…

免费数据采集软件,多种数据采集方式

数据无疑是企业决策的关键驱动力。要充分利用数据,就需要进行数据收集,而数据采集的方式多种多样。 数据采集方式的丰富多彩 数据采集并非一蹴而就的简单任务,而是一个多层次、多步骤的过程。在这个过程中,我们有着多种数据采集…

VS2022配置WinPcap开发

winpcap 官网:http://www.winpcap.org/ 1.首先下载安装 winpcap.exe,http://www.winpcap.org/install/default.htm 目的是安装相关驱动和 dll,安装完成之后基于 winpcap 的应用程序才能够正常运行。 2.下载 winpcap 的开发包,头文…

FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(三十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

如何判断台灯是否伤眼?分享考研必备的护眼台灯

台灯可以说是我们日常生活中必不可少的一盏灯具,可以在夜晚的时候给我们带来充足的照明环境!而且近年来儿童青少年的近视率都非常之高,不少家长们为了保护孩子视力选择专业的台灯,因为专业的台灯对眼睛是有许多好处的,…

记录华为云服务器(Linux 可视化 宝塔面板)-- Nginx配置出现500错误记录

文章目录 1、路由配置,访问显示500如有启发,可点赞收藏哟~ 1、路由配置,访问显示500 错误如图显示500 解决思路如下 1、先查看错误日志 错误日志存放位置 提示 /login配置的文件有问题 开始配置如下图 修改前 修改后(即在/l…

echarts笔记-GeoJSON河北数据下并裁剪为冀北地图并使用echarts加载

首先找个网站把河北的GeoJSON数据下载下来,我用的是这个,理论上任意一个都可以 DataV.GeoAtlas地理小工具系列 将json数据下载后,进行裁剪,仅保留冀北数据。 如下,我裁剪的数据: {"type": &qu…

网工学习9-STP配置

如图 1 所示,当前网络中存在环路, SwitchA 、SwitchB 、SwitchC 和 SwitchD 都运行 STP,通过 彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无 环路的树形网络结构&#xff…

leetcode 201 数字范围按位与

leetcode 201 题目题解代码 题目 给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left、right 端点)。 具体示例如下: 题解 本题是一个在思维上的方法,不…

怎么理解回流和重绘?

回流(reflow)和 重绘(repaint)是浏览器渲染过程中的两个关键概念。 一、概念: 回流指的是浏览器在计算文档流布局(layout)时,重新计算元素的位置和大小的过程。当页面中的元素发生尺…

Leetcode—1038.从二叉搜索树到更大和树【中等】

2023每日刷题(四十九) Leetcode—1038.从二叉搜索树到更大和树 算法思想 二叉搜索树的中序遍历(左根右)结果是一个单调递增的有序序列,我们反序进行中序遍历(右根左),即可以得到一…

网络层之SDN基本概念、路由算法和路由协议

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

自然语言处理:电脑如何理解我们的语言?

☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 ​ 文章目录 ​编辑 常见方法 1.基于词典的方法 2.基于计数的方法 基于推理的方法 Bert input_ids attention_mask token_type_ids 结语 在广…

排序算法介绍(五)归并排序

0. 简介 归并排序(Merge Sort)是一种分治思想的应用,它将待排序的数组不断拆分成小数组,直到每个小数组只有一个元素,然后将小数组两两合并,直到最终得到有序的数组。 1. 归并排序的实现 归并排序的基本思…

【2021研电赛】基于EAIDK310的视觉导航自动驾驶小车

本作品介绍参与极术社区的有奖征集|分享研电赛作品扩大影响力,更有重磅电子产品免费领取! 团队价绍 参赛单位:上海应用技术大学 参赛队伍:EAIDK666 指导老师:蒋文萍 丁肇红 参赛队员:温晓静 孙亦劼 杜为栋 获奖情况&a…

JS防抖与节流

防抖 防抖是什么? 单位时间内,频繁触发事件,只执行最后一次 通俗易懂点就是把防抖想象成MOBA游戏的回城,在回城过程中被打断就要重来 例子:我们来做一个效果,我们鼠标在盒子上移动,数字就变化 …

Python爬虫:使用Scrapy框架进行高效爬取

Python爬虫可使用的架构有很多,对于我而言,经常使用Scrapy异步处理框架Twisted,其实意思很明确,Scrapy可以实现多并发处理任务,同一时间将可以处理多个请求并且大大提高工作效率。 Scrapy是一个强大且高效的Python爬虫…

鸿蒙Watch 页面跳转

新建页面 config.json 回自动注册 添加跳转 <button type"capsule" onclick"toStatusMonitor">状态检测</button>写跳转方法 import router from system.router;export default {data: {},onInit() {},onShow() {},toStatusMonitor() {rou…

深度学习——第3章 Python程序设计语言(3.2 Python程序流程控制)

无论是在机器学习还是深度学习中&#xff0c;Python已经成为主导性的编程语言。而且&#xff0c;现在许多主流的深度学习框架&#xff0c;例如PyTorch、TensorFlow也都是基于Python。本课程主要是围绕“理论实战”同时进行&#xff0c;所以本章将重点介绍深度学习中Python的必备…