微商城開(kāi)發(fā)發(fā)搜索引擎優(yōu)化包括哪些方面
智能優(yōu)化算法應(yīng)用:基于騎手優(yōu)化算法3D無(wú)線傳感器網(wǎng)絡(luò)(WSN)覆蓋優(yōu)化 - 附代碼
文章目錄
- 智能優(yōu)化算法應(yīng)用:基于騎手優(yōu)化算法3D無(wú)線傳感器網(wǎng)絡(luò)(WSN)覆蓋優(yōu)化 - 附代碼
- 1.無(wú)線傳感網(wǎng)絡(luò)節(jié)點(diǎn)模型
- 2.覆蓋數(shù)學(xué)模型及分析
- 3.騎手優(yōu)化算法
- 4.實(shí)驗(yàn)參數(shù)設(shè)定
- 5.算法結(jié)果
- 6.參考文獻(xiàn)
- 7.MATLAB代碼
摘要:本文主要介紹如何用騎手優(yōu)化算法進(jìn)行3D無(wú)線傳感器網(wǎng)(WSN)覆蓋優(yōu)化。
1.無(wú)線傳感網(wǎng)絡(luò)節(jié)點(diǎn)模型
本文主要基于0/1模型,進(jìn)行尋優(yōu)。在二維平面上傳感器節(jié)點(diǎn)的感知范圍是一個(gè)以節(jié)點(diǎn)為圓心,半徑為 R n R_n Rn?的圓形區(qū)域,該圓形區(qū)域通常被稱為該節(jié)點(diǎn)的“感知圓盤(pán)”, R n R_n Rn?稱為傳感器節(jié)點(diǎn)的感知半徑,感知半徑與節(jié)點(diǎn)內(nèi)置傳感器件的物理特性有關(guān),假設(shè)節(jié)點(diǎn) n n n的位置坐標(biāo)為 ( x n , y n , z n ) (x_n,y_n,z_n) (xn?,yn?,zn?)在0-1感知模型中,對(duì)于平面上任意一點(diǎn) p ( x p , y p , z p ) p(x_p,y_p,z_p) p(xp?,yp?,zp?),則節(jié)點(diǎn) n n n監(jiān)測(cè)到區(qū)域內(nèi)點(diǎn) p p p的事件發(fā)生概率為:
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 + ( z n ? z p ) 2 d(n,p)=\sqrt{(x_n-x_p)^2+(y_n-y_p)^2 + (z_n-z_p)^2} d(n,p)=(xn??xp?)2+(yn??yp?)2+(zn??zp?)2?為點(diǎn)和之間的歐式距離。
2.覆蓋數(shù)學(xué)模型及分析
現(xiàn)假定目標(biāo)監(jiān)測(cè)區(qū)域?yàn)槎S平面,在區(qū)域 A r e a Area Area上投放同型結(jié)構(gòu)傳感器節(jié)點(diǎn)的數(shù)目為N,每個(gè)節(jié)點(diǎn)的位置坐標(biāo)值假設(shè)已被初始化賦值,且節(jié)點(diǎn)的感知半徑r。傳感器節(jié)點(diǎn)集則表示為:
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 , z i , r } node_i=\{x_i,y_i,z_i,r\} nodei?={xi?,yi?,zi?,r},表示以節(jié)點(diǎn) ( x i , y i , z i ) (x_i,y_i,z_i) (xi?,yi?,zi?)為圓心,r為監(jiān)測(cè)半徑的球,假定監(jiān)測(cè)區(qū)域 A r e a Area Area被數(shù)字化離散為 m ? n ? l m*n*l m?n?l個(gè)空間點(diǎn),空間點(diǎn)的坐標(biāo)為 ( x , y , z ) (x,y,z) (x,y,z),目標(biāo)點(diǎn)與傳感器節(jié)點(diǎn)間的距離為:
d ( n o d e i , p ) = ( x i ? x ) 2 + ( y i ? y ) 2 + ( z i ? z ) 2 (3) d(node_i,p)=\sqrt{(x_i-x)^2+(y_i-y)^2 + (z_i-z)^2}\tag{3} d(nodei?,p)=(xi??x)2+(yi??y)2+(zi??z)2?(3)
目標(biāo)區(qū)域內(nèi)點(diǎn)被傳感器節(jié)點(diǎn)所覆蓋的事件定義為 c i c_i ci?。則該事件發(fā)生的概率 P c i P{c_i} Pci?即為點(diǎn) ( x , y , z ) (x,y,z) (x,y,z)被傳感器節(jié)點(diǎn) n o d e i node_i nodei?所覆蓋的概率:
P c o v ( x , y , z , 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,z,node_i)=\begin{cases}1, if\,d(node_i,p)\leq r\\ 0,\, esle \end{cases}\tag{4} Pcov?(x,y,z,nodei?)={1,ifd(nodei?,p)≤r0,esle?(4)
我們將所有的傳感器節(jié)點(diǎn)在目標(biāo)監(jiān)測(cè)環(huán)境中的區(qū)域覆蓋率 C o v e r R a t i o CoverRatio CoverRatio定義為傳感器節(jié)點(diǎn)集的覆蓋面積與監(jiān)測(cè)區(qū)域的面積之比,如公式所示:
C o v e r R a t i o = ∑ P c o v m ? n ? l (5) CoverRatio = \frac{\sum P_{cov}}{m*n*l}\tag{5} CoverRatio=m?n?l∑Pcov??(5)
那我們的最終目標(biāo)就是找到一組節(jié)點(diǎn)使得覆蓋率最大。
3.騎手優(yōu)化算法
騎手優(yōu)化算法原理請(qǐng)參考:https://blog.csdn.net/u011835903/article/details/122558027
騎手優(yōu)化算法是尋找最小值。于是適應(yīng)度函數(shù)定義為未覆蓋率最小,即覆蓋率最大。如下:
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 ? l ) (6) fun = argmin(1 - CoverRatio) = argmin(1-\frac{\sum P_{cov}}{m*n*l}) \tag{6} fun=argmin(1?CoverRatio)=argmin(1?m?n?l∑Pcov??)(6)
4.實(shí)驗(yàn)參數(shù)設(shè)定
無(wú)線傳感器覆蓋參數(shù)設(shè)定如下:
%% 設(shè)定WNS覆蓋參數(shù),
%% 默認(rèn)輸入?yún)?shù)都是整數(shù),如果想定義小數(shù),請(qǐng)自行乘以系數(shù)變?yōu)檎麛?shù)再做轉(zhuǎn)換。
%% 比如范圍1*1,R=0.03可以轉(zhuǎn)換為100*100,R=3;
%區(qū)域范圍為AreaX*AreaY*AreaZ
AreaX = 100;
AreaY = 100;
AreaZ = 100;
N = 20 ;%覆蓋節(jié)點(diǎn)數(shù)
R = 15;%通信半徑
騎手優(yōu)化算法參數(shù)如下:
%% 設(shè)定騎手優(yōu)化優(yōu)化參數(shù)
pop=30; % 種群數(shù)量
Max_iteration=30; %設(shè)定最大迭代次數(shù)
lb = ones(1,3*N);
ub = [AreaX.*ones(1,N),AreaY.*ones(1,N),AreaZ.*ones(1,N)];
dim = 3*N;%維度為3N,N個(gè)坐標(biāo)點(diǎn)
5.算法結(jié)果
從結(jié)果來(lái)看,覆蓋率在優(yōu)化過(guò)程中不斷上升。表明騎手優(yōu)化算法對(duì)覆蓋優(yōu)化起到了優(yōu)化的作用。
6.參考文獻(xiàn)
[1] 史朝亞. 基于PSO算法無(wú)線傳感器網(wǎng)絡(luò)覆蓋優(yōu)化的研究[D]. 南京理工大學(xué).