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

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

相關文章

代碼隨想錄-刷題第二十一天

530.二叉搜索樹的最小絕對差 題目鏈接&#xff1a;530. 二叉搜索樹的最小絕對差 思路&#xff1a;二叉搜索樹的中序遍歷是有序的。根據二叉搜索樹的這個特性來解題。 class Solution {// 同樣利用二叉樹中序遍歷是一個有序數組。private List<Integer> list new Arra…

一加 12 Pop-up快閃活動來襲,十城聯動火爆開啟

12 月 9 日&#xff0c;一加 12 Pop-up 快閃活動在北京、深圳、上海、廣州等十城聯動開啟&#xff0c;各地加油歡聚快閃現場&#xff0c;搶先體驗與購買一加 12。作為一加十年超越之作&#xff0c;一加 12 全球首發擁有醫療級護眼方案和行業第一 4500nit 峰值亮度的 2K 東方屏、…

C++新經典模板與泛型編程:策略類模板

策略類模板 在前面的博文中&#xff0c;策略類SumPolicy和MinPolicy都是普通的類&#xff0c;其中包含的是一個靜態成員函數模板algorithm()&#xff0c;該函數模板包含兩個類型模板參數。其實&#xff0c;也可以把SumPolicy和MinPolicy類寫成類模板—直接把algorithm()中的兩…

【Linux】無法使用 ifconfig 查看系統網絡接口信息,報錯 command not found: ifconfig

問題描述 ifconfig是一個用于配置和顯示系統網絡接口信息的命令行工具。它通常用于Unix、Linux和其他類Unix系統中。 通過ifconfig命令&#xff0c;你可以查看和修改系統中網絡接口的配置信息&#xff0c;包括IP地址、子網掩碼、MAC地址、MTU&#xff08;最大傳輸單元&#x…

javacv踩坑記錄

前一陣學習opencv&#xff0c;發現在做人臉識別的時候遇到一些類庫不存在的情況&#xff0c;查找后發現是由于拓展包沒有安裝完全&#xff08;僅安裝了基礎版&#xff09;。由于網絡的問題&#xff08;初步猜測&#xff09;&#xff0c;始終無法安裝好拓展包。 于是另辟蹊徑&am…

MongoDb數據庫

一、命令交互 1.1 數據庫命令 1.顯示所有數據庫&#xff1a; show dbs 2.切換到指定數據庫&#xff0c;如果沒有則自動創建數據庫 use databaseName 3.顯示當前所在數據庫 db 4.刪除當前數據庫 use 庫名 db.dropDatabase() 1.2 集合命令 1.創建集合 db.createColl…

[文檔級關系抽取|ACL論文]文檔級關系抽取中語言理解的基礎模型

Did the Models Understand Documents? Benchmarking Models for Language Understanding in Document-Level Relation Extraction School of Computer Science, Fudan University | ACL 2023.06 | 原文鏈接 Background 過去的工作大多數都是從單個句子中收獲更多的關系&am…

MongoDB中的$type操作符和limit與skip方法

本文主要介紹MongoDB中的$type操作符和limit與skip方法。 目錄 MongoDB的$type操作符MongoDB的limit方法MongoDB的skip方法 MongoDB的$type操作符 MongoDB中的$type操作符用于檢查一個字段的類型是否與指定的類型相匹配。它可以用于查詢和投影操作。 $type操作符可以與以下數…

php,redis實現一個電影熱度排行榜

要實現電影熱度排行榜&#xff0c;需要記錄每個電影的熱度值&#xff0c;熱度值可以根據不同的算法計算&#xff0c;例如&#xff1a;觀看次數、評分數、評論數等。這里我們以觀看次數為例。 首先&#xff0c;需要使用 Redis 的 Sorted Set 數據結構來存儲電影的熱度值和電影 …

JVS低代碼表單引擎:數據校驗與處理的先鋒

隨著信息技術的迅速發展&#xff0c;數據校驗與處理已經成為了各類應用中不可或缺的一環。尤其是在涉及敏感信息&#xff0c;如密碼處理時&#xff0c;其安全性和準確性顯得尤為重要。JVS低代碼表單引擎提供了強大的文本組件觸發邏輯校驗功能&#xff0c;它能夠在用戶填寫數據的…

截取字符串

輸入一個字符串和一個整數 k &#xff0c;截取字符串的前k個字符并輸出。 數據范圍&#xff1a;字符串長度滿足 1≤n≤1000&#xff0c; 1≤k≤n 輸入描述&#xff1a; 1.輸入待截取的字符串 2.輸入一個正整數k&#xff0c;代表截取的長度 輸出描述&#xff1a;截取后的字符串…

模電·放大電路的分析方法——等效電路法

放大電路的分析方法——等效電路法 晶體管的直流模型及靜態工作點的估算法晶體管共射h參數等效模型 h h h參數等效模型的由來參數的物理意義簡化的h參數等效模型 r b e {r\tiny be} rbe的近似表達式 共射放大電路動態參數的分析電壓放大倍數 A ˙ u \.{A}\tiny u A˙u輸入電阻 …

三種配置Spring程序的方法

1 使用XML文件配置Spring程序 在XML文件中使用bean標簽&#xff0c;將其交給容器管理 class: 指定bean對應的類型的全限定名稱id: 用于指定一個名稱&#xff0c;作為該bean的唯一標識符&#xff0c;如果不需要id&#xff0c;也可不指定該屬性name: 用于指定bean的別名&#x…

【小米電腦管家】安裝使用教程--非小米電腦

安裝說明功能體驗下載資源 Xiaomi HyperOS發布后&#xff0c;小米妙享電腦端獨立版本也走向終點&#xff0c;最新的【小米電腦管家】將會內置妙享實現萬物互聯。那么本篇文章將分享非小米電腦用戶如何繞過設備識別驗證安裝使用【小米電腦管家】實現萬物互聯 安裝說明 1.解壓文…

如何用Python編寫俄羅斯方塊Tetris游戲?

在本文中&#xff0c;我們將用Python代碼構建一個令人驚嘆的項目&#xff1a;俄羅斯方塊游戲。在這個項目中&#xff0c;我們將使用pygame庫來構建游戲。要創建此項目&#xff0c;請確保您的系統中安裝了最新版本的Python。讓我們開始吧&#xff01; Pygame是一組跨平臺的Pyth…

wireshark過濾包小技巧

1、過濾包含某個字符串的數據包&#xff1a; 或者&#xff1a; 2、過濾包含某一連續十六進制的數據包&#xff1a; 或者&#xff1a; 3、過濾精確到位數位置 或者&#xff1a;

關于使用EB tresos出現無法激活的情況解決

EB安裝完成時需要激活才能使用的&#xff0c;不然都無法建立工程。 我在安裝eb studio時就是在激活方面有問題導致無法使用&#xff0c;下面講解出現了什么問題以及我如何去解除的。 1.出現的錯誤提示&#xff1f; ERROR&#xff1a;flexActAPPActivationSend按照在官網中&…

低代碼:輕松構建應用程序的新時代

在當今數字化時代&#xff0c;應用程序對于日常企業業務的開展&#xff0c;已經成為一種剛需。然而&#xff0c;應用程序開發的過程往往耗時耗力&#xff0c;對于企業來講&#xff0c;是一筆不小的成本開支。低代碼問世以來&#xff0c;一直在嘗試為業務人員賦能&#xff0c;讓…

扁平按鈕樣式

上圖 代碼&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>扁平按鈕</title><style>body {margin: 0;padding: 0;height: 100vh;display: flex;justify-content: center;ali…

Web漏洞-XSS繞過和pikachu靶場4個場景(三)

★★實戰前置聲明★★ 文章中涉及的程序(方法)可能帶有攻擊性&#xff0c;僅供安全研究與學習之用&#xff0c;讀者將其信息做其他用途&#xff0c;由用戶承擔全部法律及連帶責任&#xff0c;文章作者不承擔任何法律及連帶責任。 1、XSS漏洞挖掘與繞過 1.1、XSS漏洞挖掘 數據…