智能優化算法應用:基于沙貓群算法無線傳感器網絡(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/126624550
該算法是尋找最小值。于是適應度函數定義為未覆蓋率最小,即覆蓋率最大。如下:
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/207075.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207075.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207075.shtml

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

相關文章

kotlin協程反編譯java學習原理

前情提要 GlobalScope.launch(Dispatchers.Main) { // 默認是Default異步 // 1.從當前協程體作用域Dispatchers.Main 協程依附的線程 到 掛起點 掛起函數 到 執行 請求耗時操作 而 切換到 IO異步線程 // 2.IO異步線程執行完成后,開始恢復,當前作…

modbus轉profinet網關解決plc插槽號不夠用的情況

PLC作為常用的控制設備之一,其插槽號有時會限制外部設備的連接數量。然而,通過使用modbus轉profinet網關,可以解決這一問題。這種設備能夠將modbus協議轉換為profinet協議,實現PLC與更多外部設備的連接。 modbus轉profinet網關還具…

游戲盾的防御原理以及為什么程序類型更適合接入游戲盾。

游戲盾是一種專門用于游戲服務器的安全防護服務,旨在抵御各種網絡攻擊。它的原理主要包括以下幾個方面: 流量清洗和過濾:游戲盾會對進入游戲服務器的流量進行實時監測、分析和過濾。它通過識別惡意流量和攻擊流量,過濾掉其中的攻擊…

瀏覽器渲染頁面的過程以及原理

什么是瀏覽器渲染 簡單來說,就是將HTML字符串 —> 像素信息 渲染時間點 瀏覽器什么時候開始渲染? 網絡線程發送請求,取回HTML封裝為渲染任務并將其傳遞給渲染主線程的消息隊列。 問題:只取回HTML嗎?那CSS和JS呢&am…

面試經典150題(1-2)

leetcode 150道題 計劃花兩個月時候刷完,今天完成了兩道(1-2)150: (88. 合并兩個有序數組)題目描述: 給你兩個按 非遞減順序 排列的整數數組 nums1 和 nums2,另有兩個整數 m 和 n ,分別表示 n…

元宇宙vr黨建云上實景展館擴大黨的影響力

隨著科技的飛速發展,VR虛擬現實技術已經逐漸融入我們的日常生活,尤其在黨建領域,VR數字黨建展館更是成為引領紅色教育新風尚的重要載體。今天,就讓我們一起探討VR數字黨建展館如何提供沉浸式體驗,助力黨建工作創新升級…

十年OpenCV開發以后發布的作品 - OpenCV實驗大師

OpenCV介紹 OpenCV是知名的計算機視覺框架,支持數十個不同的視覺處理模塊,提供了超過2000多個傳統算法,其核心功能支持圖像處理、圖像分析、特征提取、對象檢測、深度學習模型推理等。當前支持C、Python、JS、C#等多種語言SDK,支…

智能優化算法應用:基于袋獾算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼

智能優化算法應用:基于袋獾算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼 文章目錄 智能優化算法應用:基于袋獾算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼1.無線傳感網絡節點模型2.覆蓋數學模型及分析3.袋獾算法4.實驗參數設定5.算法結果6.參考文獻7.MATLAB…

雷達點云數據.pcd格式轉.bin格式

雷達點云數據.pcd格式轉.bin格式 注意,方法1原則上可行,但是本人沒整好pypcd的環境 方法2是絕對可以的。 方法1 1 源碼如下: def pcb2bin1(): # save as bin formatimport os# import pypcdfrom pypcd import pypcdimport numpy as np…

python pandas dataframe常用數據處理總結

最近一直在做數據處理相關的工作,有幾點經常遇到的情況總結如下: 數據中存在為空數據如何處理 處理方式1:丟棄數據行 # 實現方式1 data data.dropna(subset[id]) # 若id列中某行數值為空,丟棄整行數據 # 實現方式2 data df[df…

Ant Design Vue 年選擇器

文章目錄 參考文檔效果展示實現過程 參考文檔 提示:這里可以添加本文要記錄的大概內容: DatePicker 日期選擇框 大佬:搬磚小匠(Ant Design vue 只選擇年) 提示:以下是本篇文章正文內容,下面案…

光標雖小,但是能讓其憑空消失的原因不少,需要仔細檢查

在Windows 10中遇到鼠標光標有問題嗎?我們已經為你提供了所需的修復程序。 光標消失的原因 光標不斷消失可能是由各種原因引起的,因此有可能找到各種各樣的解決方案。光標可能根本無法工作,或者在特定情況下可能會消失。鼠標按鈕甚至可能在光標隱藏時工作。 以下是用戶注…

如何驗證一個URL是否合法

在JavaScript中,可以使用正則表達式(RegExp)或使用內置的URL對象來校驗一個URL。下面是一些常用的方法以及對應的代碼示例: 使用正則表達式進行校驗: function validateURL(url) {const pattern /^(https?:\/\/)?…

使用Caliper對Fabric地basic鏈碼進行性能測試

如果你需要對fabric網絡中地合約進行吞吐量、延遲等性能進行評估,可以使用Caliper來實現,會返回給你一份網頁版的直觀測試報告。下面是對test-network網絡地basic鏈碼地測試過程。 目錄 1. 建立caliper-workspace文件夾2. 安裝npm等3. calipe安裝4. 創建…

使用TransBigData組件實現個人手機定位功能

目錄 一、引言 二、技術背景 三、實現邏輯 四、代碼實現 五、優化與注意事項: 六、總結 摘要:隨著現代社會對定位服務的需求日益增加,實現個人手機定位功能成為了開發者的研究熱點。本文詳細闡述了如何使用Python和TransBigData組件實現…

Python 從入門到精通 學習筆記 Day03

Python 從入門到精通 第三天 今日目標 流程控制語句、退出循環、練習學習的內容 一、流程控制語句 流程控制的三種方式:順序語句、雙分支語句、循環語句 雙分支語句 Python 的雙分支語句使用if-else語句實現。 其語法結構如下: if條件:#如果條作為真&#xff…

Facebook廣告報告指標CPC

在Facebook廣告中,CPC可以作為一個關鍵指標來評估廣告效果和投資回報。較低的CPC意味著廣告主能以更低的價格獲得更多的點擊量,從而降低廣告投放成本。而較高的CPC可能暗示著廣告主需要更大的預算才能獲得相同數量的點擊。本文小編將講講Facebook廣告報告…

k8s上安裝KubeSphere

安裝KubeSphere 前置環境安裝nfs-server文件系統配置nfs-client配置默認存儲創建了一個存儲類metrics-server集群指標監控組件 安裝KubeSphere執行安裝查看安裝進度 前置環境 下載配置我都是以CentOS 7.9 安裝 k8s(詳細教程)文章的服務器作為示例,請自行修改為自己的…

2024年軟考科目怎么選?(選科指引)

新手在準備報考軟考時,都會遇到這樣的一個問題——科目這么多,我適合考什么?要想知道自己適合報什么科目,就需要了解每個科目是什么,考什么等一系列的問題。今天給大家分享一下。 軟考包含什么科目? 軟考…

facebook廣告相比谷歌廣告的優勢

Facebook廣告相比谷歌廣告的優勢主要體現在以下方面: 用戶數據豐富:Facebook擁有龐大的用戶數據,包括人口、興趣、行為等多個維度,這些數據可以幫助廣告主更準確地定位到目標受眾。相比之下,谷歌廣告的用戶數據相對較…