智能優(yōu)化算法應(yīng)用:基于混沌博弈算法3D無線傳感器網(wǎng)絡(luò)(WSN)覆蓋優(yōu)化 - 附代碼
摘要:本文主要介紹如何用混沌博弈算法進(jìn)行3D無線傳感器網(wǎng)(WSN)覆蓋優(yōu)化。
1.無線傳感網(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)的“感知圓盤”,
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感知模型中,對于平面上任意一點(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)測到區(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)測區(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)測半徑的球,假定監(jiān)測區(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)測環(huán)境中的區(qū)域覆蓋率
C
o
v
e
r
R
a
t
i
o
CoverRatio
CoverRatio定義為傳感器節(jié)點(diǎn)集的覆蓋面積與監(jiān)測區(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.混沌博弈算法
混沌博弈算法原理請參考:https://blog.csdn.net/u011835903/article/details/121564341
混沌博弈算法是尋找最小值。于是適應(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è)定
無線傳感器覆蓋參數(shù)設(shè)定如下:
%% 設(shè)定WNS覆蓋參數(shù),
%% 默認(rèn)輸入?yún)?shù)都是整數(shù),如果想定義小數(shù),請自行乘以系數(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;%通信半徑
混沌博弈算法參數(shù)如下:
%% 設(shè)定混沌博弈優(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é)果來看,覆蓋率在優(yōu)化過程中不斷上升。表明混沌博弈算法對覆蓋優(yōu)化起到了優(yōu)化的作用。文章來源:http://www.zghlxwxcb.cn/news/detail-763276.html
6.參考文獻(xiàn)
[1] 史朝亞. 基于PSO算法無線傳感器網(wǎng)絡(luò)覆蓋優(yōu)化的研究[D]. 南京理工大學(xué).文章來源地址http://www.zghlxwxcb.cn/news/detail-763276.html
7.MATLAB代碼
到了這里,關(guān)于智能優(yōu)化算法應(yīng)用:基于混沌博弈算法3D無線傳感器網(wǎng)絡(luò)(WSN)覆蓋優(yōu)化 - 附代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!