基于并行分解型進化的無線傳感器網(wǎng)絡(luò)布局方法及其系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種無線傳感器網(wǎng)絡(luò)布局方法,更具體地設(shè)及一種基于并行分解型進 化的無線傳感器網(wǎng)絡(luò)布局方法及其系統(tǒng)。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)是由很多小的無線傳感設(shè)備組成的監(jiān)控網(wǎng)絡(luò),常用于軍事、環(huán)境、 地理等大面積區(qū)域的遠程監(jiān)控,具有自動化、相對易于實現(xiàn)、正常工作無需人工維護等優(yōu) 勢;無線傳感器網(wǎng)絡(luò)布局問題就是要確定網(wǎng)絡(luò)中每個節(jié)點的位置,W便在達到監(jiān)視區(qū)域全 覆蓋的約束條件下最小化網(wǎng)絡(luò)的能耗和節(jié)點數(shù)該兩個最重要的目標(biāo);無線傳感器網(wǎng)絡(luò)布局 該類多目標(biāo)優(yōu)化問題中由于多個目標(biāo)往往相互制約,對其中一個目標(biāo)的優(yōu)化通常必須W另 一個目標(biāo)的退化作為代價,因此能使所有目標(biāo)都同時達到最優(yōu)的"理想最優(yōu)解"一般是不存 在的,只能先獲得一組各目標(biāo)有所取舍的Pareto最優(yōu)代表解構(gòu)成的集合,即Pareto前沿; 決策者在獲得目標(biāo)空間所呈現(xiàn)的最優(yōu)Pareto前沿總體輪廓之后,決策者再根據(jù)對目標(biāo)之 間偏好可較容易地選擇其中一個最優(yōu)代表解作為最終的解決方案;基于群體捜索的多目標(biāo) 進化技術(shù)可并發(fā)捜索多個解,因此在本質(zhì)上非常適合于求解無線傳感器網(wǎng)絡(luò)布局該類復(fù)雜 的多目標(biāo)優(yōu)化問題。目前最流行的多目標(biāo)進化技術(shù)主要分為傳統(tǒng)Pareto占優(yōu)型和分解型 兩類。其中分解型多目標(biāo)進化技術(shù)較好地結(jié)合了傳統(tǒng)數(shù)學(xué)規(guī)劃方法中的分解思想與進化技 術(shù),將多目標(biāo)問題分解為一系列標(biāo)量優(yōu)化子問題,種群中的每個個體僅負責(zé)一個子問題的 優(yōu)化,運行效率與求解質(zhì)量都明顯優(yōu)于傳統(tǒng)Pareto占優(yōu)型多目標(biāo)進化技術(shù)。
[0003] 雖然分解型多目標(biāo)進化技術(shù)有很多優(yōu)點,但是直接使用分解型多目標(biāo)進化技術(shù)串 行求解無線傳感器網(wǎng)絡(luò)布局問題仍有較大缺陷。比如,當(dāng)優(yōu)化問題規(guī)模較大時,無線傳感器 網(wǎng)絡(luò)布局決策中設(shè)及的能耗等目標(biāo)值與覆蓋率等約束條件的計算需要花費大量的時間成 本,使用目前的串行多目標(biāo)進化技術(shù)在短時間內(nèi)求出無線傳感器網(wǎng)絡(luò)布局的高質(zhì)量的解很 難做到。而降低無線傳感器網(wǎng)絡(luò)布局方法時間成本的有潛力的途徑就是對無線傳感器網(wǎng)絡(luò) 布局方法進行并行設(shè)計。
[0004] 因此,有必要提供一種基于并行分解型進化的無線傳感器網(wǎng)絡(luò)布局方法及其系統(tǒng) 來高效地解決無線傳感器網(wǎng)絡(luò)布局的問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于提供一種基于并行分解型進化的無線傳感器網(wǎng)絡(luò)布局方法,該 方法采用了并行的分解型多目標(biāo)進化技術(shù)來解決無線傳感器網(wǎng)絡(luò)布局問題,不僅保證了求 解的質(zhì)量,同時大大節(jié)省了求解無線傳感器網(wǎng)絡(luò)布局的時間。
[0006] 為實現(xiàn)上述目的,本發(fā)明提供了一種基于并行分解型進化的無線傳感器網(wǎng)絡(luò)布局 方法,包括:
[0007] S1;由MPI (Message化ssing Inte;rface)分布式進程級并行編程模型根據(jù)計算機 集群中節(jié)點的個數(shù)n分配n個進程,進程號從0到n-1依次排列;
[000引 S2;根據(jù)所述進程0到進程n-1,在各個進程內(nèi)初始化全局種群和理想點,此時所 有的進程內(nèi)都保留有全局的種群;
[0009]S3;在所述進程內(nèi),不同的進程負責(zé)全局種群中特定子種群的進化,子種群中的每 個個體負責(zé)無線傳感器網(wǎng)絡(luò)布局問題中的一個解;
[0010]S4 ;在所述進化中,當(dāng)出現(xiàn)較優(yōu)理想點時,將理想點向左右鄰居進程進行傳遞,左 右鄰居進程接收到較優(yōu)理想點時和本身理想點進行比較,如果比本身的理想點優(yōu),就用接 收的較優(yōu)理想點替換本身的理想點,否則忽略接收的較優(yōu)理想點;
[0011] S5 ;根據(jù)所述進程,在各個進程內(nèi)利用化enMP的penMulti-Processing)共享內(nèi) 存多線程并行編程模型進行加速;
[001引 S6 ;所述進化結(jié)束后,將各個進程內(nèi)參與進化的子種群得出的部分Pareto前沿聚 集起來得出全局種群的整體Pareto前沿。
[0013] 較佳地,步驟S2中所述初始化全局種群和理想點具體包括:
[0014]S21,令EP巧xternalpopulation) = 〇,根據(jù)種群規(guī)模N分配N個均勻分布的權(quán) 重向量,每個權(quán)重向量對應(yīng)一個個體,并對種群中的個體xl依次到個體X"和理想點Z=(Z1 依次到Zm)賦初值;
[0015]S22,計算任意兩個個體對應(yīng)權(quán)重向量間的歐氏距離,并為每個個體xi(i從 1依次到腳找出T個權(quán)重向量距離最近的個體作為其鄰居B(xi),其中B(y)={ 依次到x'T};
[0016] 其中,EP用來保存捜索過程中找到的非支配解,O為空集,N為全局種群中個體的 數(shù)量,xi為全局種群中的第1個個體,X%全局種群中的第N個個體,Z為理想點,Z1為目 標(biāo)函數(shù)中第1個目標(biāo)函數(shù)當(dāng)前找到的最優(yōu)值,Zm為目標(biāo)函數(shù)中第m個目標(biāo)函數(shù)當(dāng)前找到的 最優(yōu)值,m為目標(biāo)函數(shù)的個數(shù),T為種群中個體的鄰居數(shù)量,B(x〇為個體xi的鄰居集合, 為個體xi的第1個鄰居,yt為個體xi的第T個鄰居。
[0017] 較佳地,步驟S3中所述全局種群中特定子種群具體包括:
[001引全局種群中個體依次為xi到x",整數(shù)d=N/n,進程0負責(zé)進化的子種群中個體為xi依次到Xd,進程i負責(zé)進化的子種群中個體為依次到XWW,其中i從1依次到n-2, 進程n-1負責(zé)進化的子種群中個體為xitw依次到XW。
[0019] 較佳地,步驟S3中所述進化具體包括:
[0020]S31更新,對每個個體xi(i從1依次到腳,做S311,S312,S313,S314操作;
[0021] S311,繁殖;從B(y>{ .Y'l依次到y(tǒng)'r}中隨機選出兩個鄰居進行遺傳操作,產(chǎn) 生一個新的解y;
[002引 S312,更新Z;若Zj<fj(y),則Zj=fj(y),其中j從1依次到m;
[0023]S313,更新鄰居的解:如果產(chǎn)生的y新解Pareto占優(yōu)xj',則xj=y,其中j從1依 次到m;
[0024]S314,更新EP;移出EP中所有被y支配的解,如果y不被EP中任意解支配,將y加 入EP中;
[0025]S32,終止條件判定:如果滿足終止條件,進化停止,輸出邸,否則返回S31;
[0026] 其中,fj.(y) (j從1依次到m)為新產(chǎn)生的解y的目標(biāo)函數(shù)值,終止條件是指進化到 設(shè)定的代數(shù)。
[0027] 較佳地,步驟S4中所述左右鄰居進程具體包括:
[002引進程i的左鄰居為進程i+1,右鄰居為進程i-1,其中i從0依次到n-1,當(dāng)進程為 0時,右鄰居進程為進程n-1,當(dāng)進程為n-1時,左鄰居進程為進程0。
[0029] 相應(yīng)的,本發(fā)明還提供了一種基于并行分解型進化的無線傳感器網(wǎng)絡(luò)布局系統(tǒng), 包括:
[0030] 無線傳感器網(wǎng)絡(luò)配置模塊,用于對無線傳感器網(wǎng)絡(luò)的布局進行配置操作;
[0031] 進程分配模塊,用于為計算機集群中的每個節(jié)點分配一個進程;
[0032] 種群初始化模塊,用于初始化各自進程內(nèi)種群規(guī)模為N的全局種群;
[0033] 種群進化模塊,用于對各自進程內(nèi)的種群進行進化操作,不同的進程僅負責(zé)各自 進程中全局種群相應(yīng)部分子種群的進化,同時,在進化時,當(dāng)各進程發(fā)現(xiàn)有較優(yōu)理想點時, 將該較優(yōu)理想點向左右鄰居進程進行傳遞;
[0034] 化enMP共享內(nèi)存多線程并行編程模型加速模塊,對各自進程內(nèi)的程序進行加速;
[0035] Pareto前沿聚集模塊,用于進化結(jié)束后,將各進程內(nèi)進化子種群得出的部分 Pareto前沿聚集起來得出全局種群的整體Pareto前沿;
[0036] 顯示模塊,根據(jù)用戶需求對無線傳感器網(wǎng)絡(luò)布局中Pareto前沿中的某一解進行 顯示。
[0037] 較佳地,所述無線傳感器網(wǎng)絡(luò)配置模塊具體包括:
[003引監(jiān)控區(qū)域確定單元,用于確定監(jiān)控區(qū)域為500*500的等分二維正方形網(wǎng)格并規(guī)定 左下角為圓點(0, 0),無線傳感器的位置必須布置在二維網(wǎng)格節(jié)點上;
[0039] 覆蓋率限定單元,用于限定無線傳感器網(wǎng)絡(luò)覆蓋率為100%,無線傳感器網(wǎng)絡(luò)覆 蓋率coverage= 100*CoveredPoint/Total化int,同時確保無線傳感器網(wǎng)絡(luò)具有連通性;
[0040] 啟發(fā)函數(shù)計算單元,用于計算無線傳感器網(wǎng)絡(luò)啟發(fā)函數(shù),無線傳感器網(wǎng)絡(luò)啟發(fā)函 數(shù)化nalty(u) = 10000*11,其中U= 10〇-coverage;
[0041] 染色體編碼單元,用于將坐標(biāo)向量結(jié)構(gòu)作為染色體的編碼方式;
[0042] 評估函數(shù)計算單元,用于計算無線傳感器網(wǎng)絡(luò)節(jié)點評估函數(shù)Size(X);
[004引能耗函數(shù)計算單元,用于計算無線傳感器網(wǎng)絡(luò)能耗函數(shù)feDetgy=Max{Energy (kpletion(Xi),i從1依次到n},n為節(jié)點總數(shù);
[0044] 其中,cover