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

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

相關文章

設計并實現一個多線程圖書館管理系統,涉及數據庫操作

沒有實現全部功能,希望路過的大佬,可以實現全部功能,在評論區聊聊 創建數據庫library-demo CREATE DATABASE library-demo創建圖書表book CREATE TABLE book (bookId int(11) NOT NULL AUTO_INCREMENT COMMENT 圖書ID,bookName varchar(15)…

QUIC協議對比TCP網絡性能測試模擬弱網測試

QUIC正常外網壓測數據---時延diff/ms如下圖: QUIC弱網外網壓測數據 TCP正常外網壓測數據 TCP弱網外網壓測數據 結論: 在弱網情況下,TCP和QUIC協議的表現會有所不同。下面是它們在弱網環境中的性能對比: 連接建立:…

HarmonyOS創建JavaScript(類 Web開發模式)項目

上文 HarmonyOS帶大家創建自己的第一個Page頁面并實現路由跳轉(ArkTS)帶大家創建了我們項目中第一個自己創建的page 并完成了一個跳轉邏輯的編寫 上文的開發模式是 ArkTS 的 也被稱為 聲明式開發范式 還有一種 javaScript的 類Web開發模式 這種方式就類似于我們傳統的前端開發模…

基于微群機器人的二次開發

請求URL: http://域名地址/modifyGroupName 請求方式: POST 請求頭Headers: Content-Type:application/jsonAuthorization:login接口返回 參數: 參數名必選類型說明wId是String登錄實例標識chatRoom…

讀書筆記-《數據結構與算法》-摘要2[冒泡排序]

冒泡排序 核心:冒泡,持續比較相鄰元素,大的挪到后面,因此大的會逐步往后挪,故稱之為冒泡。 public class BubbleSort {public static void main(String[] args) {int unsortedArray[] new int[]{6, 5, 3, 1, 8, 7, 2…

Leetcode每日一題學習訓練——Python3版(到達首都的最少油耗)

版本說明 當前版本號[20231205]。 版本修改說明20231205初版 目錄 文章目錄 版本說明目錄到達首都的最少油耗理解題目代碼思路參考代碼 原題可以點擊此 2477. 到達首都的最少油耗 前去練習。 到達首都的最少油耗 ? 給你一棵 n 個節點的樹(一個無向、連通、無環…

倒計時模塊復習

經典回顧倒計時 倒計時的基本布局介紹。 一個內容區域和一個輸入區域,內容區域進行劃分 直接使用flex布局會更快一點。 js代碼 我們利用一下模塊化思想,直接把獲得時間這個功能寫成一個函數。方便后續的調用 function getTime() {const date new Date…

MES管理系統通過哪些方面提升產品質量管理水平

在當今高度競爭的市場環境中,質量成為了企業生存和發展的關鍵因素。工廠作為生產產品的核心場所,其質量管理水平直接影響到產品的質量和企業的聲譽。為了應對這一挑戰,許多工廠引入了MES管理系統解決方案。本文將探討MES管理系統如何幫助工廠…

【UE5】監控攝像頭效果(上)

目錄 效果 步驟 一、視角切換 二、攝像頭畫面后期處理 三、在場景中顯示攝像頭畫面 效果 步驟 一、視角切換 1. 新建一個Basic關卡,添加第三人稱游戲資源到項目瀏覽器 2. 新建一個Actor藍圖,這里命名為“BP_SecurityCamera” 打開“BP_Securit…

模電筆記。。。。

模電 2.8 蜂鳴器 按照蜂鳴器驅動方式分為有源蜂鳴器和無源蜂鳴器 有源的有自己的震蕩電路,無源的要寫代碼控制。 里面有個線圈,相當于電感,儲能,通直隔交。 蜂鳴器的參數:額定電壓,工作電壓&#xff0…

【CCF-B】1/2區,錄用見刊極快!2個月錄用!

計算機類 ? 好刊解讀 今天小編帶來Taylor and Francis旗下計算機領域快刊,CCF-B類推薦的期刊解讀,期刊審稿周期短,投稿友好,如您有投稿需求,可作為重點關注!后文有相關領域真實發表案例,供您投…

防水,也不怕水。Mate X5是如何做到讓你濕手濕屏也不影響操作的?

相信不少人都碰到過當手機屏幕存在小水珠時,觸控變得不靈敏,或者出現“幽靈觸屏”,指東打西的情況。 尤其是在洗澡、做飯,或者在戶外遇到下雨天氣時,如果打濕的手機收到重要聊天消息或者電話,卻因為濕屏導…

TS學習——面向對象

面向對象是程序中一個非常重要的思想,它被很多同學理解成了一個比較難,比較深奧的問題,其實不然。面向對象很簡單,簡而言之就是程序之中所有的操作都需要通過對象來完成。 舉例來說: 操作瀏覽器要使用window對象操作網…

生成fip.bin在Milkv-duo上跑rtthread的相關嘗試,及其問題分析

前言 (1)PLCT實驗室實習生長期招聘:招聘信息鏈接 (2)本來是想在Milkv-duo上跑rtthread的,做了很多努力,一直沒有結果。雖然不知道最終能不能成功做出來,還是把自己的相關努力分享出來…

MDK官網如何下載stm32支持包

網站:https://www.keil.com/demo/eval/arm.htm 1 2 3點這個下載

基于Mint Mate 21.2 Victoria 的Anjuta安裝與測試

序言 Linux mint mate 21.2 命名為 victoria 版,在vmware虛擬機中安裝按提示默認安裝即可,不做更多記錄。mint mate的優點是穩定,窗口質感好。安裝完成后,需要關注一些常用功能配置。主要有:顯示器調整、桌面調整、工…

當然熱門的原創改寫改寫大全【2023最新】

在信息時代,隨著科技的不斷發展,改寫軟件逐漸成為提高文案質量和寫作效率的重要工具。本文將專心分享一些好用的改寫軟件,其中包括百度文心一言智能寫作以及147SEO改寫軟件。這些工具不僅支持批量改寫,而且在發布到各大平臺后能夠…

python爬取 HTTP_2 網站超時問題的解決方案

問題背景 在進行網絡數據爬取時,使用 Python 程序訪問支持 HTTP/2 協議的網站時,有時會遇到超時問題。這可能會導致數據獲取不完整,影響爬蟲程序的正常運行。 問題描述 在實際操作中,當使用 Python 編寫的爬蟲程序訪問支持 HTT…

使用高防IP防護有哪些優勢

高防IP是針對互聯網服務器在遭受大流量的DDoS攻擊后導致服務不可用的情況下,推出的付費增值服務,用戶可以通過配置高防IP,將攻擊流量引流到高防IP,確保源站的穩定可靠。高防IP相當于搭建完轉發的服務器。 高防IP有兩種接入方式&a…

Notepad安裝

中文免安裝版,下載解壓即可。 NotepadV7.5.6 (訪問密碼: 1666)https://url48.ctfile.com/f/33868548-986668939-7a3316?p1666