智能優化算法應用:基于魚鷹算法無線傳感器網絡(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)Rn?0,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)=(xn??xp?)2+(yn??yp?)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 m?n個像素點,像素點的坐標為 ( 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)=(xi??x)2+(yi??y)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=m?nPcov??(5)
那我們的最終目標就是找到一組節點使得覆蓋率最大。

3.魚鷹算法

魚鷹算法原理請參考:https://blog.csdn.net/u011835903/article/details/130542706
該算法是尋找最小值。于是適應度函數定義為未覆蓋率最小,即覆蓋率最大。如下:
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(1?CoverRatio)=argmin(1?m?nPcov??)(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.pswp.cn/news/209933.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209933.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209933.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

藍橋杯航班時間

藍橋杯其他真題點這里👈 //飛行時間 - 時差 已過去的時間1 //飛行時間 時差 已過去的時間2 //兩個式子相加會發現 飛行時間 兩段時間差的和 >> 1import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public cl…

Android藍牙協議棧fluoride(四) - 設備管理(bt interface)

設備管理的接口實現了藍牙的開/關、屬性設置、發現設備、獲取profile的接口等等。 接口聲明 接口聲明如下: // include/hardware/bluetooth.h typedef struct {// 打開接口并注冊回調函數int (*init)(bt_callbacks_t* callbacks, bool is_atv);// 關閉接口void (…

目標檢測YOLO系列從入門到精通技術詳解100篇-【圖像處理】邊緣檢測

目錄 知識儲備 算法原理 邊緣檢測(Canny算子) Canny算子邊緣檢測流程 應用案例

[Linux] LAMP架構

一、LAMP架構架構的概述 LAMP 架構是一種流行的 Web 應用程序架構,它的名稱是由四個主要組件的首字母組成的: Linux(操作系統): 作為操作系統,Linux 提供了服務器的基礎。它負責處理硬件資源、文件系統管理…

解讀 | 阿里通義千問模型全尺寸開源 “誠意滿滿“背后的名與利

大家好,我是極智視界,歡迎關注我的公眾號,獲取我的更多前沿科技分享 邀您加入我的知識星球「極智視界」,星球內有超多好玩的項目實戰源碼和資源下載,鏈接:https://t.zsxq.com/0aiNxERDq 12 月 1 日阿里開源…

基于Web和深度學習的辣椒檢測產量預測系統

1.研究背景與意義 項目參考AAAI Association for the Advancement of Artificial Intelligence 研究背景與意義 辣椒是一種重要的經濟作物,被廣泛種植和消費。然而,辣椒的產量預測一直是農業生產中的重要問題。準確地預測辣椒的產量可以幫助農民合理安…

第10節:Vue3 論點

如何在UniApp中使用Vue3框架創建論點&#xff1a; <template> <view> <text>{{ segments[currentSegment].content }}</text> </view> </template> <script> import { ref, computed } from vue; export default { setup…

高項備考葵花寶典-項目進度管理輸入、輸出、工具和技術(下,很詳細考試必過)

項目進度管理的目標是使項目按時完成。有效的進度管理是項目管理成功的關鍵之一&#xff0c;進度問題在項目生命周期內引起的沖突最多。 小型項目中&#xff0c;定義活動、排列活動順序、估算活動持續時間及制定進度模型形成進度計劃等過程的聯系非常密切&#xff0c;可以視為一…

【論文筆記】FSD V2: Improving Fully Sparse 3D Object Detection with Virtual Voxels

原文鏈接&#xff1a;https://arxiv.org/abs/2308.03755 1. 引言 完全稀疏檢測器在基于激光雷達的3D目標檢測中有較高的效率和有效性&#xff0c;特別是對于長距離場景而言。 但是&#xff0c;由于點云的稀疏性&#xff0c;完全稀疏檢測器面臨的一大困難是中心特征丟失&…

vFW搭建IRF

正文共&#xff1a;2328字 40圖&#xff0c;預估閱讀時間&#xff1a;5 分鐘 IRF&#xff08;Intelligent Resilient Framework&#xff0c;智能彈性架構&#xff09;技術通過將多臺設備連接在一起&#xff0c;虛擬化成一臺設備&#xff0c;集成多臺設備的硬件資源和軟件處理能…

C++如何通過調用ffmpeg接口對H265文件進行編碼和解碼

要對H265文件進行編碼和解碼&#xff0c;需要使用FFmpeg庫提供的相關API。以下是一個簡單的C程序&#xff0c;演示如何使用FFmpeg進行H265文件的編碼和解碼&#xff1a; 編碼&#xff1a; #include <cstdlib> #include <cstdio> #include <cstring> #inclu…

兩個月軟考-高項上岸

文章目錄 前言結緣軟考功虧一簣有始有終2個月計劃資料部分計劃截圖 總結 前言 我們看小說或者電視劇電影都會看到這樣的情節&#xff0c;主角一開始錦衣玉食&#xff0c;突然家道中落&#xff0c;啥都沒了&#xff0c;主角再一路奮起重新找回了屬于自己的一切&#xff1b;還有…

Vue項目中實現瀏覽器標簽頁名字的動態修改

修改router/index.js文件 路由條目下面添加meta屬性 meta:{title:DevOps運維平臺 }示例 使用Vue的全局守衛函數beforeEach&#xff0c;在路由切換前動態修改瀏覽器標簽頁名字 router.beforeEach((to,from,next) > {document.title to.meta.titlenext() })

Error: Cannot find module ‘E:\Workspace_zwf\mall\build\webpack.dev.conf.js‘

執行&#xff1a;npm run dev E:\Workspace_zwf\zengwenfeng-master>npm run dev> mall-app-web1.0.0 dev E:\Workspace_zwf\zengwenfeng-master > webpack-dev-server --inline --progress --config build/webpack.dev.conf.jsinternal/modules/cjs/loader.js:983thr…

[筆記]ARMv7/ARMv8 交叉編譯器下載

開發 Cortex-A7、Cortex-A72 或其他 ARM 架構 profile 芯片時&#xff0c;經常需要下載對應架構的交叉編譯器&#xff0c;所以寫這篇筆記&#xff0c;用于記錄一下交叉編譯器下載流程&#xff0c;免得搞忘。 編譯環境&#xff1a;ubuntu 虛擬機 下載地址 我們可以從 ARM 官網…

09 視頻分片上傳Minio和播放

文章目錄 一、流程設計1. 分片上傳實現思路2. 文件分片上傳流程3. 視頻播放流程 二、代碼實現1. 后端代碼2. 文件上傳前端代碼3. 視頻播放前端代碼 一、流程設計 1. 分片上傳實現思路 2. 文件分片上傳流程 3. 視頻播放流程 二、代碼實現 1. 后端代碼 pom.xml <dependenc…

多線程案例-單例模式

單例模式 設計模式的概念 設計模式好比象棋中的"棋譜".紅方當頭炮,黑方馬來跳.針對紅方的一些走法,黑方應招的時候有一些固定的套路.按照套路來走局勢就不會吃虧. 軟件開發中也有很多常見的"問題場景".針對這些問題的場景,大佬們總結出了一些固定的套路.按…

vue實現可拖拽列表

直接上代碼 <!-- vue實現可拖拽列表 --> <template><div><button click"logcolig">打印數據</button><TransitionGroup name"list" tag"div" class"container"><divclass"item"v-f…

常見請求頭與響應頭你了解哪些?

常見的 HTTP 請求頭和響應頭包括&#xff1a; 常見的請求頭&#xff1a; User-Agent&#xff1a;標識客戶端代理信息&#xff0c;通常用于識別用戶使用的瀏覽器或設備類型。 Accept&#xff1a;指示客戶端可以接受的內容類型&#xff0c;例如 text/html, application/json 等…

深度學習記錄--激活函數

激活函數的種類 對于激活函數的選擇&#xff0c;通常有以下幾種 sigmoid&#xff0c;tanh&#xff0c;ReLU&#xff0c;leaky ReLU 激活函數的選擇 之前logistic回歸一直使用的激活函數都是sigmoid函數&#xff0c;但一般來說&#xff0c;tanh函數是比sigmoid函數更加好的選…