專利名稱:基于遺傳算法的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線傳感技術(shù)和智能計(jì)算兩大領(lǐng)域,具體涉及一種基于遺傳算 法的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋優(yōu)化方法。 技術(shù)背景
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, WSN)是隨著微電子、計(jì)算和 無線通信等技術(shù)發(fā)展而誕生的一種新型的信息采集與處理技術(shù)。它由部署在監(jiān) 測(cè)區(qū)域內(nèi)的大量廉價(jià)且微型的傳感器節(jié)點(diǎn)構(gòu)成,并以無線、多跳的通信方式形 成一個(gè)自組織的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。這類傳感器可感應(yīng)周邊環(huán)境中的熱、紅外、聲 納、雷達(dá)和地震波等信號(hào),以偵測(cè)一定范圍內(nèi)的目標(biāo)物及其改變,并進(jìn)行數(shù)據(jù) 的處理,將處理后的信息以無線傳輸?shù)姆绞桨l(fā)送回控制中心。
20世紀(jì)90年代以來,隨著嵌入式系統(tǒng)、無線通信、網(wǎng)絡(luò)及微電子機(jī)械系 統(tǒng)等技術(shù)的快速發(fā)展,具有感知、計(jì)算和無線網(wǎng)絡(luò)通信能力的無線傳感器網(wǎng)絡(luò) 引起了人們的極大關(guān)注。無線傳感器網(wǎng)絡(luò)是一種新興的信息獲取技術(shù),是一種 能夠根據(jù)環(huán)境自主完成指定任務(wù),具有認(rèn)知能力的智能網(wǎng)絡(luò)系統(tǒng)。它由部署在 感應(yīng)區(qū)域內(nèi)的大量廉價(jià)、低功耗的傳感器節(jié)點(diǎn)構(gòu)成。借助節(jié)點(diǎn)中內(nèi)置的形式多 樣的傳感器,傳感器節(jié)點(diǎn)可以協(xié)同地感知、通信和處理網(wǎng)絡(luò)覆蓋區(qū)域中的對(duì)象 信息,還可以執(zhí)行簡(jiǎn)單的計(jì)算任務(wù),實(shí)施路由和其他控制策略,能在任何時(shí)間、 絕大多數(shù)地點(diǎn)和多種環(huán)境條件下獲取大量詳實(shí)而可靠的信息。這些優(yōu)秀的特點(diǎn) 為無線傳感器網(wǎng)絡(luò)賦予了廣闊的應(yīng)用空間和發(fā)展前景。作為信息技術(shù)中的一個(gè) 新的領(lǐng)域,無線傳感器網(wǎng)絡(luò)己經(jīng)在軍事和民用領(lǐng)域均取得了廣泛的應(yīng)用,如軍 事偵察、環(huán)境監(jiān)測(cè)、醫(yī)療監(jiān)護(hù)、空間探索、城市交通管理、倉儲(chǔ)管理等。無線 傳感器網(wǎng)絡(luò)被認(rèn)為是未來信息傳輸中不可缺少的一種技術(shù)。
在傳感器的各種應(yīng)用中,觀測(cè)者在獲取到信息之后,關(guān)心的第一個(gè)問題就 是該事件發(fā)生的位置,因此獲取消息節(jié)點(diǎn)位置必須是傳感器網(wǎng)絡(luò)最基本的功能 之一,這要求無線傳感器對(duì)監(jiān)測(cè)區(qū)域的覆蓋率達(dá)到一定比例。無線傳感器節(jié)點(diǎn) 通常被隨機(jī)地布放在監(jiān)測(cè)區(qū)域內(nèi),如依靠飛機(jī)投放,它們的分布是無法事先預(yù)知的,因此大規(guī)模地投放傳感器節(jié)點(diǎn)、使其高密度地分布于監(jiān)測(cè)區(qū)域是網(wǎng)絡(luò)覆 蓋率的必要保證。但由于傳感器節(jié)點(diǎn)造價(jià)高且攜帶能量少,因此找到如何在保 證達(dá)到一定覆蓋率的前提下令一部分冗余節(jié)點(diǎn)處于低功耗休眠狀態(tài)的最優(yōu)覆蓋 節(jié)點(diǎn)集是無線傳感網(wǎng)絡(luò)的研究熱點(diǎn)之一。所謂最優(yōu)覆蓋節(jié)點(diǎn)集,指的是保證傳 感器節(jié)點(diǎn)間的連通性、不影響整個(gè)網(wǎng)絡(luò)的覆蓋率的最小節(jié)點(diǎn)集。在最優(yōu)覆蓋節(jié) 點(diǎn)集以外的其它節(jié)點(diǎn),都可以暫時(shí)休眠,直到有最優(yōu)覆蓋節(jié)點(diǎn)集中的節(jié)點(diǎn)電量
耗盡時(shí)才進(jìn)入正常工作狀態(tài),作為它們的代替補(bǔ)充,從而延長(zhǎng)網(wǎng)絡(luò)的壽命。
通常情況下,無線傳感器網(wǎng)絡(luò)的覆蓋問題是一個(gè)NP完全問題,目前大多數(shù)
算法都只能夠找到其近似最優(yōu)覆蓋。這些算法和協(xié)議雖然為WSN的覆蓋問題提 供了一些解決方案,但是它們存在著算法本身流程復(fù)雜的缺點(diǎn),而且WSN的覆 蓋問題作為一種NP完全問題,這些啟發(fā)式的確定性算法往往只能得到近似的最 優(yōu)覆蓋結(jié)果,這種局部最優(yōu)的缺點(diǎn)也限制著這些算法和協(xié)議的進(jìn)一步推廣和使 用。
遺傳算法起源于達(dá)爾文的適者生存理論,是一種全局優(yōu)化方法。它通過選 擇、雜交和變異等操作,模擬自然進(jìn)化過程尋找全局最優(yōu)解。遺傳算法的特點(diǎn) 是幾乎不需耍所求問題的任何信息而只需要目標(biāo)函數(shù)的信息。它不受搜索空間 限制性假設(shè)的約束,不要求如連續(xù)性、可導(dǎo)性等假設(shè),能從離散的、多極值的、 含有噪音的高維問題中以很高的概率找到全局最優(yōu)解。因此,以遺傳算法非常 適合用于求解各種類型的NP難和NP完全問題。
發(fā)明內(nèi)容
本發(fā)明將遺傳算法運(yùn)用到無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋優(yōu)化中。算法的具體步 驟包括
(1) 問題的生成。在DxZ)區(qū)域內(nèi)隨機(jī)散布W個(gè)傳感半徑為A的無線 傳感器。
(2) 初始化算法的各個(gè)參數(shù),并初始化遺傳算法的第一代群體,其中,染 色體以二進(jìn)制的方式進(jìn)行編碼,二進(jìn)制的長(zhǎng)度等于所有的傳感器數(shù)量AA,如以下 公式所示
JT, =[x),x,2,--、《],xZ ={0,1}其中,<=1表示使用傳感器_/, < =0表示不使用傳感器, (3) 計(jì)算群體中的每個(gè)染色體的適應(yīng)值。適應(yīng)值函數(shù)為:
max /m = W + w2 (1 - /2 (X))
腫g
其中,/i表示覆蓋率,/2來表示消耗率。5^{&^2,...,S^表示無線傳感器節(jié)點(diǎn)集合, X代表的節(jié)點(diǎn)子集是f^5;, |》=1}。 ^表示整個(gè)區(qū)域的面積。問表示所有傳感器
節(jié)點(diǎn)的數(shù)目。i力表示開啟的傳感器數(shù)目。w和w2分別表示yi和/2的權(quán)重。
(4) 保留歷史最優(yōu)解。
(5) 運(yùn)用輪盤賭的選擇方法,選擇染色體到下一代群體。
(6) 對(duì)產(chǎn)生的下一代群體執(zhí)行交叉和變異算子。其中,交叉的方法為單點(diǎn) 交叉,變異的方法為均勻變異。
(7) 如果滿足終止條件,則結(jié)束程序,否則回到步驟(3)。 本發(fā)明在使用遺傳算為優(yōu)化工具對(duì)問題進(jìn)行求解的時(shí)候,將無線傳感器網(wǎng)
絡(luò)節(jié)點(diǎn)覆蓋問題模型化為0/1規(guī)劃問題。對(duì)于隨機(jī)散布了 iV個(gè)傳感器,染色體 體編碼就是一個(gè)7V位長(zhǎng)的0/1 二進(jìn)制串。在對(duì)這些傳感器進(jìn)行最優(yōu)選擇的時(shí)候, 如果某個(gè)傳感器被選擇了,那么在個(gè)體編碼中的相應(yīng)位被設(shè)置為1,否則設(shè)置為 0。通過這種編碼方式,個(gè)體編碼和現(xiàn)實(shí)的網(wǎng)絡(luò)結(jié)構(gòu)直觀地對(duì)應(yīng)了起來,不但理 解容易,而且算法實(shí)現(xiàn)也簡(jiǎn)單,方便使用。
另一方面,發(fā)明的算法在構(gòu)造適應(yīng)度函數(shù)的時(shí)候,定義了兩個(gè)重要的指標(biāo) 對(duì)求解的結(jié)果進(jìn)行評(píng)估, 一個(gè)是區(qū)域的"覆蓋率", 一個(gè)是傳感器的"消耗率"。 通過將這兩個(gè)指標(biāo)進(jìn)行加權(quán),構(gòu)造了最終的評(píng)估標(biāo)準(zhǔn)。加權(quán)權(quán)重的選擇上,網(wǎng) 絡(luò)設(shè)計(jì)者和決策者可以根據(jù)不同的需求,調(diào)整兩個(gè)指標(biāo)的權(quán)重,從而使得算法 適用于不同的環(huán)境。例如,如果對(duì)一些區(qū)域不太敏感的應(yīng)用,可以適當(dāng)偏重"消 耗率"的指標(biāo),讓算法盡可能尋找利用傳感器更少的覆蓋方案;如果對(duì)一些覆蓋要求比較高的應(yīng)用,可以適當(dāng)偏重"覆蓋率"的指標(biāo),讓算法找到的覆蓋方 案達(dá)到的覆蓋率盡可能高,而使用的傳感器數(shù)量?jī)H僅是次要的指標(biāo)。
圖1遺傳算法優(yōu)化無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋的流程圖
具體實(shí)施例方式
以下結(jié)合附圖進(jìn)一步對(duì)發(fā)明的方法進(jìn)行描述。
無線傳感器網(wǎng)絡(luò)覆蓋問題的模型通常是這樣建立的假設(shè)將7V個(gè)參數(shù)配置
相同的傳感器節(jié)點(diǎn)投放到監(jiān)測(cè)區(qū)域A。傳感器節(jié)點(diǎn)集合C={Cl,c2,...,《v},其中
^h,乂.,司,(x,,乂)是節(jié)點(diǎn)分布坐標(biāo),i 是監(jiān)測(cè)半徑。A是二維平面,常被離散化
為wxw個(gè)柵格點(diǎn),然后通過以下公式計(jì)算柵格點(diǎn)(x,力,1^^m, 1^)^"有沒有被
節(jié)點(diǎn)c,覆蓋(其中l(wèi)表示被覆蓋,0表示未被覆蓋)。
)1,如果(x —x,)2+(y —X)2Si 2
尸(u,"lo,否則
對(duì)任意的像素點(diǎn)Oc,力,只要存在一個(gè)整數(shù)^[l,…W使得尸(;c,y,c,;Nl,即該 點(diǎn)存在于一個(gè)傳感器節(jié)點(diǎn)c,的監(jiān)測(cè)范圍內(nèi),就認(rèn)為它被覆蓋。由此進(jìn)一步可統(tǒng)計(jì) 出區(qū)域A內(nèi)被覆蓋的總節(jié)點(diǎn)數(shù)D。并定義
/ =上
附X W
為該無線傳感器網(wǎng)絡(luò)的覆蓋率。
本發(fā)明采用遺傳算法作為工具,對(duì)無線傳感器網(wǎng)絡(luò)中的最優(yōu)覆蓋問題進(jìn)行 求解和優(yōu)化。將覆蓋問題形式化為一個(gè)o/i規(guī)劃問題,需要找到的就是選擇眾多 傳感器中的哪一些,以使得在保證高覆蓋率的前提下,啟用最少的傳感器。
在遺傳算法中,染色體以二進(jìn)制的方式進(jìn)行編碼,其中二進(jìn)制的長(zhǎng)度等于
所有的傳感器數(shù)量見如以下公式所示
X, ={0,1}
其中,J^、l表示使用傳感器y', =0表示不使用傳感器_/。
用適應(yīng)值函數(shù)評(píng)價(jià)群體中的每個(gè)染色體的適應(yīng)值。在無線傳感器網(wǎng)絡(luò)的覆 蓋問題中, 一般會(huì)涉及到"覆蓋率"和"消耗率"兩個(gè)指標(biāo)。覆蓋率是指在當(dāng)前使用的傳感器的作用下,整個(gè)區(qū)域中至少被一個(gè)傳感器覆蓋的面積占區(qū)域面 積的百分比;消耗率指的是所需要使用的傳感器數(shù)量與總數(shù)量的百分比。 一般 而言,覆蓋率要越高越好,消耗率是越小越好。
本發(fā)明使用/i來指示覆蓋率,使用/2來指示消耗率。假設(shè)存在無線傳感器 節(jié)點(diǎn)集合^(&,&,…,5V),義代表的節(jié)點(diǎn)子集是5^(S, 1力=1},則/i和力的定義 分別如下所示
Z ,
臉問
在以上公式中,分母^表示整個(gè)區(qū)域的面積,分子表示所有開啟的傳感器 的覆蓋區(qū)域的面積疊加,151表示所有傳感器節(jié)點(diǎn)的數(shù)目,l力表示開啟的傳感器 數(shù)目。
事實(shí)上,如果直接計(jì)算公式,可能會(huì)遇到難以計(jì)算1^,^5;)的困難。為
了解決這個(gè)問題,本發(fā)明通過區(qū)域離散化的方式,從另外一個(gè)角度計(jì)算yi。假設(shè)
每個(gè)傳感器的傳感半徑都是i ,而每個(gè)傳感器《的位置是{;9,乃},將整個(gè)區(qū)域均 勻劃分為附XM的柵格,這樣可以得到每個(gè)柵格點(diǎn)的坐標(biāo)7^{^乂}。如公式以下
公式所示,如果4=1,則柵格點(diǎn)7;被傳感器^所覆蓋。
7 - /yt c 、 —P,如果"—、)2 +(乂 —力)2
,y"'wio,否則
由此可以得到柵格點(diǎn)7}被無線傳感器網(wǎng)絡(luò)覆蓋的條件是至少有一個(gè)傳感器 S將其覆蓋,用公式可以表示為
因此z尸i或者z產(chǎn)o,其中z產(chǎn)i表示柵格點(diǎn)r'被無線傳感器網(wǎng)絡(luò)覆蓋,zh) 表示柵格點(diǎn)k不能被無線傳感器網(wǎng)絡(luò)覆蓋?;谝陨系亩x,可以通過以下公 式計(jì)算覆蓋率/l:
附x "得到了力和/2之后,就可以通過加權(quán)的方法得到最終的適應(yīng)度函數(shù)/: max /(JO = (X) + w2 (1 - /2 (Z))
上式中的Wl和w2分別表示力和/2的權(quán)重,其值取決于設(shè)計(jì)者對(duì)該網(wǎng)絡(luò)指標(biāo)的綜
合要求。 一般要求>^+ 2=1.0??傮w函數(shù)值/介于0~1之間,該值越大,表明方案
越優(yōu)。通過適應(yīng)值函數(shù)就可以綜合評(píng)估每種節(jié)點(diǎn)部署方案的優(yōu)劣。
在每一代中,使用選擇算子選擇下一代群體,并用交叉和變異兩個(gè)算子對(duì)
群體中的染色體進(jìn)行改變。
本發(fā)明中,選擇算子采用輪盤賭選擇的方法,也就是選擇染色體/的概率和
染色體的適應(yīng)值成正比。適應(yīng)值較高的染色體有更大的可能被選擇,并可能在
下一代中重復(fù)出現(xiàn)。而適應(yīng)值較低的染色體則很可能不被選擇。
交叉算子采用單點(diǎn)交叉的方法,首先為群體中的每個(gè)個(gè)體產(chǎn)生一個(gè)隨機(jī)數(shù)
pe[O,l],如果該隨機(jī)數(shù)小于交叉概率A,則選擇該染色體個(gè)體參與交叉。假設(shè), 參與交叉的兩個(gè)染色體分別為
X2 =[x;,x22,..,x,3
單點(diǎn)交叉的方法是,首先產(chǎn)生一個(gè)隨機(jī)整數(shù)及e[l,2,…,AA-l],基于該隨機(jī)數(shù)選 擇交叉點(diǎn),并交換兩個(gè)染色體位于交叉點(diǎn)之后的所有基因。設(shè)產(chǎn)生的隨機(jī)數(shù)/ =2, 那么交叉產(chǎn)生的兩個(gè)新染色體如下所示
^T工=[乂i , 乂i , ,、義2 ] ■^^2 — [ X2 , X2 , 乂l , - - 、 J
變異算子采用均勻變異的方法,同樣首先為群體中的每個(gè)染色體中的每個(gè) 基因產(chǎn)生一個(gè)隨機(jī)數(shù)pe[O,l],如果該隨機(jī)數(shù)小于變異概率p,則選擇該染色體 的基因進(jìn)行變異。假設(shè)要進(jìn)行變異的染色體為
^A^3 :, 、 , ,工3 3
變異算子隨機(jī)選擇了該染色體第1、 3位的基因進(jìn)行變異,則產(chǎn)生的新染色體如 下所示
"^^3 ~~ , ,義3 , ]
其中,x纟和x;3為新生成的隨機(jī)數(shù)。遺傳算法優(yōu)化無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋的流程圖如圖1所示。 以一個(gè)仿真實(shí)驗(yàn)為例對(duì)發(fā)明的算法進(jìn)行測(cè)試,假設(shè)實(shí)驗(yàn)是在一個(gè)
100mxl00m的區(qū)域內(nèi)進(jìn)行。首先是隨機(jī)投放7V=100個(gè)無線傳感器,每個(gè)傳感器 的傳感半徑A為llm。然后使用遺傳算法對(duì)傳感器節(jié)點(diǎn)進(jìn)行優(yōu)化選擇。遺傳算 法的參數(shù)選擇為群體規(guī)模為M-40,交叉概率凡=0.9,變異概率凡=0.1,進(jìn) 化代數(shù)為200代。在計(jì)算適應(yīng)值函數(shù)時(shí),將區(qū)域劃分為mx"=100xlOO的柵格。 此外,適應(yīng)度函數(shù)公式中的w設(shè)為0.8,巧設(shè)為0.2。 IO次運(yùn)行結(jié)果的平均適應(yīng) 值為0.859472,平均覆蓋率為0.94634,而平均需要的傳感器數(shù)量則為48.8。從 實(shí)驗(yàn)結(jié)果可以看出,運(yùn)用遺傳算法進(jìn)行優(yōu)化后,只需要不到一半的傳感器就可 以達(dá)到較高的覆蓋率,這證明了發(fā)明的算法在無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋優(yōu)化中 是十分有效的。
權(quán)利要求
1、一種基于遺傳算法的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋優(yōu)化方法,其特征在于,該方法包括以下步驟(1)問題的生成。在D×D區(qū)域內(nèi)隨機(jī)散布N個(gè)傳感半徑為R的無線傳感器。(2)初始化算法的各個(gè)參數(shù),并初始化遺傳算法的第一代群體。(3)計(jì)算群體中的每個(gè)染色體的適應(yīng)值。適應(yīng)值函數(shù)為maxf(X)=w1f1(X)+w2(1-f2(X))其中,f1表示覆蓋率,f2來表示消耗率。S={S1,S2,...,SN}表示無線傳感器節(jié)點(diǎn)集合,X代表的節(jié)點(diǎn)子集是S*={Sj,|xj=1}。A表示整個(gè)區(qū)域的面積。|S|表示所有傳感器節(jié)點(diǎn)的數(shù)目。|S*|表示開啟的傳感器數(shù)目。w1和w2分別表示f1和f2的權(quán)重。(4)保留歷史最優(yōu)解。(5)運(yùn)用輪盤賭的選擇方法,選擇染色體到下一代群體。(6)對(duì)產(chǎn)生的下一代群體執(zhí)行交叉和變異算子。其中,交叉的方法為單點(diǎn)交叉,變異的方法為均勻變異。(7)如果滿足終止條件,則結(jié)束程序,否則回到步驟(3)。
2、 基于權(quán)利耍求1所述的一種基于遺傳算法的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋優(yōu) 化方法,其特征在于其中,染色體以二進(jìn)制的方式進(jìn)行編碼,二進(jìn)制串的長(zhǎng)度 等于所有的傳感器數(shù)量見如以下公式所示={0,1}其中,<=1表示使用傳感器乂, x/、o表示不使用傳感器y。
全文摘要
本發(fā)明將遺傳算法用于求解無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)最優(yōu)覆蓋問題。使用遺傳算法作為優(yōu)化工具對(duì)問題進(jìn)行求解的時(shí)候,將問題模型化為0/1規(guī)劃問題,然后使用二進(jìn)制編碼的遺傳算法對(duì)問題進(jìn)行求解。在算法中,將遺傳算法的染色體編碼為0/1二進(jìn)制串,然后通過進(jìn)化機(jī)制進(jìn)行優(yōu)化。對(duì)于隨機(jī)散布了N個(gè)傳感器,個(gè)體編碼就是一個(gè)N位長(zhǎng)的0/1二進(jìn)制串。在對(duì)這些傳感器進(jìn)行最優(yōu)選擇的時(shí)候,如果某個(gè)傳感器被選擇了,那么在個(gè)體編碼中的相應(yīng)位被設(shè)置為1,否則設(shè)置為0。通過這種編碼方式,個(gè)體編碼和現(xiàn)實(shí)的網(wǎng)絡(luò)結(jié)構(gòu)直觀地對(duì)應(yīng)了起來,不但理解容易,而且算法實(shí)現(xiàn)簡(jiǎn)單,方便使用。
文檔編號(hào)H04W16/00GK101459915SQ20081022065
公開日2009年6月17日 申請(qǐng)日期2008年12月31日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者馮心玲, 軍 張, 詹志輝, 霓 陳, 陳夢(mèng)君, 韜 黃, 龔月姣 申請(qǐng)人:中山大學(xué)