專利名稱:基于二進(jìn)制粒子群算法的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)分層調(diào)度方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及無線傳感器網(wǎng)絡(luò)和計算智能兩大領(lǐng)域,具體涉及一種基于二進(jìn)制粒子群算法的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)分層調(diào)度方法。
背景技術(shù):
:無線傳感器網(wǎng)絡(luò)(wireless sensor networks, WSN)是一項(xiàng)新興的技術(shù)并且已經(jīng)成為了當(dāng)今社會熱門而富有挑戰(zhàn)性的研究領(lǐng)域。在眾多應(yīng)用領(lǐng)域,例如戰(zhàn)場監(jiān)視,動物棲息地監(jiān)測,環(huán)境觀察,家庭健康呵護(hù)等,需要對現(xiàn)場進(jìn)行全方位的監(jiān)控。但是在很多情況下,這些應(yīng)用的環(huán)境通常都不是非常友好,甚至是惡劣的,因此一般很難通過精確部署的方式在需要監(jiān)測的區(qū)域內(nèi)布置傳感器節(jié)點(diǎn),并且很難在確定的位置部署傳感器。在這種情況下,一般的解決方法是通過在被監(jiān)測區(qū)域隨機(jī)投放大量的傳感器節(jié)點(diǎn),通過冗余覆蓋的方式保證被監(jiān)控區(qū)域的完全覆蓋。然而,大量的傳感器節(jié)點(diǎn)可能會由于節(jié)點(diǎn)之間的通信干擾而導(dǎo)致節(jié)點(diǎn)壽命減少,因此研究如何有效地對無線傳感器網(wǎng)絡(luò)的傳感器節(jié)點(diǎn)進(jìn)行調(diào)度,節(jié)省網(wǎng)絡(luò)能耗,延長網(wǎng)絡(luò)壽命,已經(jīng)成為了無線傳感器網(wǎng)絡(luò)領(lǐng)域一個重要的研究課題。在現(xiàn)有的很多研究中,已經(jīng)出現(xiàn)了將延長網(wǎng)絡(luò)使用壽命節(jié)省能源的問題轉(zhuǎn)化為最佳覆蓋問題的技術(shù)。最佳覆蓋問題解決技術(shù)的出發(fā)點(diǎn)在于:鑒于網(wǎng)絡(luò)中存在大量冗余的傳感器節(jié)點(diǎn),通過關(guān)閉一部分多余的節(jié)點(diǎn),在剩余被激活的節(jié)點(diǎn)滿足對監(jiān)視區(qū)域的完全覆蓋的前提下,可以節(jié)約能源,延長網(wǎng)絡(luò)壽命。最佳覆蓋問題的目標(biāo)在于找到一個滿足對監(jiān)控區(qū)域完全覆蓋的最少數(shù)量的節(jié)點(diǎn)子集。這樣,可以在滿足全范圍覆蓋需求的前提下關(guān)閉其他的多余的節(jié)點(diǎn),不但可以節(jié)省由節(jié)點(diǎn)沖突或者鄰近交流而引發(fā)的能源消耗,而且由于能夠?qū)⒉糠止?jié)點(diǎn)處于休眠狀態(tài),同樣可以節(jié)省能耗。雖然最佳覆蓋問題可以在一定程度上節(jié)省網(wǎng)絡(luò)的能耗,延長網(wǎng)絡(luò)壽命,但是如果能夠在最佳覆蓋問題的解決 技術(shù)上更進(jìn)一步,將可以更加有效地延長網(wǎng)絡(luò)的壽命。本發(fā)明的基本出發(fā)點(diǎn)在于:通過對最佳覆蓋問題的解決,找到能夠?qū)ΡO(jiān)視區(qū)域完全覆蓋的最少節(jié)點(diǎn)數(shù)量的子集;通過不斷解決最佳覆蓋問題,可以找到盡可能多的可以滿足對監(jiān)視區(qū)域完全覆蓋的多個子集;這些子集形成了無線傳感器網(wǎng)絡(luò)的多個層次,這些不同的節(jié)點(diǎn)層進(jìn)行輪流的調(diào)度,將可以直觀而有效地延長網(wǎng)絡(luò)的壽命。因此,本發(fā)明解決的問題是無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)分層調(diào)度問題。為了解決無線傳感器網(wǎng)絡(luò)的最優(yōu)分層調(diào)度,本發(fā)明采用了一種二進(jìn)制的粒子群算法。二進(jìn)制粒子群算法屬于計算智能領(lǐng)域的一種具有全局搜索能力的優(yōu)化算法。雖然粒子群算法由于其概念簡單、流程簡潔而被廣泛應(yīng)用于多個領(lǐng)域的優(yōu)化問題中,但是這種優(yōu)化算法存在一個缺陷就是容易落入具備最優(yōu)。因此,在本發(fā)明中,在采用二進(jìn)制粒子群算法對無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)進(jìn)行分層調(diào)度優(yōu)化的時候,將結(jié)合問題的特點(diǎn)設(shè)計一個基于反轉(zhuǎn)策略的變異算子,用于增強(qiáng)算法的多樣性,避免算法容易落入局部最優(yōu)的缺陷。在本發(fā)明中,針對無線傳感器網(wǎng)絡(luò)中存在的大量的冗余傳感器節(jié)點(diǎn),循環(huán)使用二進(jìn)制粒子群算法,在每次循環(huán)中尋找網(wǎng)絡(luò)中的最優(yōu)傳感器節(jié)點(diǎn)子集(滿足對監(jiān)視區(qū)域完全覆蓋的最少數(shù)量的傳感器節(jié)點(diǎn)子集)。該方法將二進(jìn)制粒子群算法的粒子編碼為長度等于傳感器節(jié)點(diǎn)數(shù)量的0/1 二進(jìn)制串,I表示選擇該節(jié)點(diǎn)進(jìn)入子集,O表示不選擇;通過二進(jìn)制粒子群算法的更新公式和一種反轉(zhuǎn)策略的變異方法,實(shí)現(xiàn)在滿足網(wǎng)絡(luò)完全覆蓋前提下的節(jié)點(diǎn)子集傳感器數(shù)量的最小化。通過不斷調(diào)用“最優(yōu)節(jié)點(diǎn)子集傳感器數(shù)量最小化的方法”,將網(wǎng)絡(luò)中的節(jié)點(diǎn)劃分為盡可能多的不相交子集,進(jìn)而解決了網(wǎng)絡(luò)節(jié)點(diǎn)分層調(diào)度的優(yōu)化問題。本發(fā)明設(shè)計的變異操作能夠增強(qiáng)算法多樣性,避免算法容易落入局部最優(yōu)的缺陷。結(jié)合變異操作,本發(fā)明使用的二進(jìn)制粒子群算法能夠高效地對無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)進(jìn)行最大化的分層優(yōu)化調(diào)度,對延長網(wǎng)絡(luò)壽命有重要的作用
發(fā)明內(nèi)容
:本發(fā)明將二進(jìn)制粒子群算法用于無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)分層調(diào)度中,具體的內(nèi)容步驟介紹如下:(I)對于給定的網(wǎng)絡(luò)Netw,設(shè)置其最大層數(shù)K = 0,然后檢查網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)集S是否能夠?qū)W(wǎng)絡(luò)區(qū)域100%覆蓋。如果能,則進(jìn)行以下的步驟;如果不能,則輸出最大可分層數(shù)K = O,終止程序。(2)使用二進(jìn)制粒子群算法從網(wǎng)絡(luò)Netw的傳感器節(jié)點(diǎn)集S中找出一組能夠?qū)W(wǎng)絡(luò)區(qū)域進(jìn)行100%覆蓋的最優(yōu)節(jié)點(diǎn)子集S*,具體的流程如下:步驟I)隨機(jī)生成N個粒子形成粒子群算法的種群,每個粒子i的位置和速度編碼分別表示為Xi = [Xn,Xi2 ...,xiD]和Vi = [vn, vi2,..., viD];其中D為編碼長度,與網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)目相同;位置Xi中每一維的值為I表示該節(jié)點(diǎn)被選擇到子集中,為O則表示不被選擇;速度表示位置的變化情況。在初始化的過程中,本發(fā)明要求必須保證種群中至少有一個粒子能夠滿足對整個網(wǎng)絡(luò)的100%覆蓋,否則需要重新產(chǎn)生種群。由于產(chǎn)生種群之前已經(jīng)檢查網(wǎng)絡(luò)能夠被所有傳感器節(jié)點(diǎn)進(jìn)行100%的覆蓋,因此可以保證這種方法的成功。生成滿足要求的種群之后,評估所有粒子的適應(yīng)值(適應(yīng)值為粒子所代表的解中被選擇的傳感器節(jié)點(diǎn)的數(shù)量,該值越小說明解的質(zhì)量越高),同時令每個粒子i的歷史最優(yōu)位置?1 = [Pil,Pi2,...,PiJ為當(dāng)前位置Xi,并設(shè)置整個種群的全局最優(yōu)位置G = [gl, g2,...,gD]為所有歷史最優(yōu)位置中最好的那個。注意在評估粒子適應(yīng)度函數(shù)值的時候,對于滿足網(wǎng)絡(luò)100%覆蓋的粒子,通過計算其選擇到節(jié)點(diǎn)子集S*中的傳感器節(jié)點(diǎn)數(shù)量為適應(yīng)度函數(shù)值,否則設(shè)置其適應(yīng)度函數(shù)值為整個網(wǎng)絡(luò)所有節(jié)點(diǎn)集合S中的節(jié)點(diǎn)數(shù)量。 步驟2)對每個粒子i,借助其歷史最優(yōu)位置Pi和種群的全局最優(yōu)位置G對速度Vi進(jìn)行更新。對于Vi的每一維vid(l彡d彡D),相應(yīng)的更新公式為:vid = VitfHc1Xr1X (Pid-Xi
d)+C2Xr2X (gd-xid);其中C1和C2均為2.0, T1和r2為區(qū)間[O, I]之間的隨機(jī)數(shù)。步驟3)使用如下策略更新粒子i的位置Xi進(jìn)行更新:對每一維xid,首先計算P = Sigmoid(Vld) = I /(I + e~v'd),然后生成區(qū)間
之間的隨機(jī)數(shù)r,如果r彡P(guān),則設(shè)Xid =I,否則設(shè)xid = O。步驟4)使用變異策略對粒子i更新后的位置Xi進(jìn)行變異:隨機(jī)選擇粒子的某一維,然后將該維的值進(jìn)行反轉(zhuǎn),即O變?yōu)?,I變?yōu)镺。
步驟5)對粒子i更新后的位置Xi進(jìn)行適應(yīng)值的評估。同樣地,如果新的位置Xi所表示的解能滿足網(wǎng)絡(luò)的100%覆蓋,則通過計算其選擇到節(jié)點(diǎn)子集S*中的傳感器節(jié)點(diǎn)數(shù)量為適應(yīng)度函數(shù)值,否則設(shè)置其適應(yīng)度函數(shù)值為整個網(wǎng)絡(luò)所有節(jié)點(diǎn)集合S中的節(jié)點(diǎn)數(shù)量。在評估適應(yīng)值之后,如果新的適應(yīng)度函數(shù)值比其歷史最優(yōu)位置Pi的適應(yīng)度函數(shù)值更好,則將Pi設(shè)置為Xi,同時判斷新的Pi是否比種群的全局最優(yōu)位置G更優(yōu),如果是,則將G替換為Pi。步驟6)反復(fù)執(zhí)行以上步驟2)、3)、4)和5)直到滿足終止條件,則全局最優(yōu)位置G所代表的解中值為I的那些維所對應(yīng)的傳感器節(jié)點(diǎn)表示被選擇到最優(yōu)節(jié)點(diǎn)子集S*中。(3)將最優(yōu)節(jié)點(diǎn)子集S*中的傳感器節(jié)點(diǎn)標(biāo)記為網(wǎng)絡(luò)Netw的傳感器節(jié)點(diǎn)集S中的不可使用節(jié)點(diǎn),剩下的傳感器節(jié)點(diǎn)組成一個新的節(jié)點(diǎn)集S = s\s*,并形成一個新的網(wǎng)絡(luò)Netw0同時,設(shè)置K = K+1;(4)檢查網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)集S是否能夠?qū)W(wǎng)絡(luò)區(qū)域100%覆蓋。如果能,則轉(zhuǎn)到步驟(2)繼續(xù)執(zhí)行;如果不能,則輸出最大可分層數(shù)K,終止程序。
:圖1基于二進(jìn)制粒子群算法的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)分層調(diào)度的流程2基于二進(jìn)制粒子群算法優(yōu)化無線傳感器網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)子集的流程圖
具體實(shí)施方式
:以下結(jié)合附圖進(jìn)一步對發(fā)明的方法進(jìn)行描述。在圖1中,給出了基于二進(jìn)制粒子群算法的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)分層調(diào)度的頂層流程圖。假設(shè)有一個無線傳感器網(wǎng)絡(luò)Netw,通過隨機(jī)撒播的方式在網(wǎng)絡(luò)區(qū)域內(nèi)部署了大量的傳感器節(jié)點(diǎn),用節(jié)點(diǎn)集合S表示。使用本發(fā)明方法對該無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)進(jìn)行分層調(diào)度之前,首先要判斷節(jié)點(diǎn)集合S是否能夠滿足對網(wǎng)絡(luò)Netw的100%覆蓋,如果不能,則不能對節(jié)點(diǎn)進(jìn)行分層調(diào)度。在這種情況下,直接輸出最大分層數(shù)K = O并結(jié)束程序。判斷節(jié)點(diǎn)集合S是否能夠滿足對網(wǎng)絡(luò)100%覆蓋的方法為柵格點(diǎn)覆蓋判斷法。首先對網(wǎng)絡(luò)進(jìn)行柵格的劃分,每個柵格g用其柵格中心的坐標(biāo)位置(xg,yg)表示。S中的每一個傳感器節(jié)點(diǎn)Si的坐標(biāo)位置為(Xi,yi),覆蓋半徑為R。通過如下公式:
權(quán)利要求
1.一種帶變異操作的基于二進(jìn)制粒子群算法的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)分層調(diào)度方法,其特征是通過最小化每一層的傳感器節(jié)點(diǎn)數(shù)量以達(dá)到節(jié)點(diǎn)可分層數(shù)最大化的目的,同時通過在粒子群算法中引入變異操作以增強(qiáng)算法多樣性,避免算法容易落入局部最優(yōu)的缺陷,該方法主要包括以下步驟: (1)對于給定的網(wǎng)絡(luò)Netw,設(shè)置其最大層數(shù)K= O,然后檢查網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)集S是否能夠?qū)W(wǎng)絡(luò)區(qū)域100%覆蓋,如果能,則進(jìn)行以下的步驟;否則輸出最大可分層數(shù)K =O,終止程序; (2)使用二進(jìn)制粒子群算法從網(wǎng)絡(luò)Netw的傳感器節(jié)點(diǎn)集S中找出一組能夠?qū)W(wǎng)絡(luò)區(qū)域進(jìn)行100%覆蓋的最優(yōu)節(jié)點(diǎn)子集S*,具體的流程如下: a)隨機(jī)生成N個粒子形成粒 子群算法的種群,每個粒子i的位置和速度編碼分別表示為Xi = [xn, xi2,..., xiD]和Vi = [vn, vi2,..., viD];其中D為編碼長度,與網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)目相同;位置Xi中每一維的值為I表示該節(jié)點(diǎn)被選擇到子集中,為O則表示不被選擇;速度表示位置的變化情況;評估所有粒子的適應(yīng)值,該適應(yīng)值為粒子所代表的解中被選擇的傳感器節(jié)點(diǎn)的數(shù)量,該值越小說明解的質(zhì)量越高;同時令粒子i的歷史最優(yōu)位置Pi = [Pil,Pi2,...,PiJ為當(dāng)前位置Xi,整個種群的全局最優(yōu)位置G = [gl, g2,...,gD]為所有歷史最優(yōu)位置中最好的那個; b)對每個粒子i,借助其歷史最優(yōu)位置Pi和種群的全局最優(yōu)位置G對速度Vi進(jìn)行更新;對于Vi的每一維Vid,其中I彡d彡D,相應(yīng)的更新公式為:vid = Vjc1Xr1X (pid_xid) +C2Xr2X (gd-xid);其中C1和C2均為2.0, T1和r2為區(qū)間[O, I]之間的隨機(jī)數(shù); c)使用如下策略更新粒子i的位置Xi進(jìn)行更新:對每一維xid,首先計算P = Sigmoid(Vid) = I /(I + e~v-d),然后生成區(qū)間
之間的隨機(jī)數(shù)r,如果r彡p,則設(shè)Xid =I,否則設(shè)xid = O ; d)使用變異策略對粒子i更新后的位置Xi進(jìn)行變異,增強(qiáng)算法的多樣性; e)對粒子i更新變異后的位置Xi進(jìn)行適應(yīng)值的評估,如果新的適應(yīng)度函數(shù)值比其歷史最優(yōu)位置Pi的適應(yīng)度函數(shù)值更好,則將Pi設(shè)置為Xi,同時判斷新的Pi是否比種群的全局最優(yōu)位置G更優(yōu),如果是,則將G替換為Pi ; f)反復(fù)執(zhí)行以上步驟b)、c)、d)和e)直到滿足終止條件,則全局最優(yōu)位置G所代表的解中值為I的那些維所對應(yīng)的傳感器節(jié)點(diǎn)表示被選擇到最優(yōu)節(jié)點(diǎn)子集S*中; (3)將最優(yōu)節(jié)點(diǎn)子集S*中的傳感器節(jié)點(diǎn)標(biāo)記為網(wǎng)絡(luò)Netw的傳感器節(jié)點(diǎn)集S中的不可使用節(jié)點(diǎn),剩下的傳感器節(jié)點(diǎn)組成一個新的節(jié)點(diǎn)集S = S\S*,并形成一個新的網(wǎng)絡(luò)Netw ;設(shè)置 K = K+1 ; (4)檢查網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)集S是否能夠?qū)W(wǎng)絡(luò)區(qū)域100%覆蓋,如果能,則轉(zhuǎn)到步驟(2)繼續(xù)執(zhí)行;如果不能,則輸出最大可分層數(shù)K,終止程序。
2.基于權(quán)利要求1的步驟(2)-a)中所述的粒子群算法種群初始化方法,其特征在于必須保證種群中至少有一個粒子能夠滿足對整個網(wǎng)絡(luò)的100%覆蓋;具體的方法是在隨機(jī)產(chǎn)生種群之后進(jìn)行覆蓋率的判斷,如果沒有粒子能夠滿足對整個網(wǎng)絡(luò)的100%覆蓋,則需要重新產(chǎn)生種群;由于產(chǎn)生種群之前已經(jīng)檢查網(wǎng)絡(luò)能夠被所有傳感器節(jié)點(diǎn)進(jìn)行100%的覆蓋,因此可以保證這種方法的成功。
3.基于權(quán)利要求1的步驟(2)-a)和e)中所述的粒子適應(yīng)度函數(shù)值評估方法,其特征在于僅對滿足網(wǎng)絡(luò)100%覆蓋的粒子進(jìn)行有效的評估;具體的方法是對于滿足網(wǎng)絡(luò)100%覆蓋的粒子,通過計算其選擇到節(jié)點(diǎn)子集S*中的傳感器節(jié)點(diǎn)數(shù)量為適應(yīng)度函數(shù)值,否則設(shè)置其適應(yīng)度函數(shù)值為整個網(wǎng)絡(luò)所有節(jié)點(diǎn)集合S中的節(jié)點(diǎn)數(shù)量。
4.基于權(quán)利要求1的步驟(2)-d)中所述的粒子群算法變異方法,其特征在通過增加隨機(jī)擾動的方式增強(qiáng)算法的多樣性;具體的方法是:隨機(jī)選擇粒子的某一維,然后將該維的值進(jìn)行反轉(zhuǎn),即O變?yōu)镮, I變?yōu)镺。`
全文摘要
本發(fā)明使用二進(jìn)制粒子群算法對無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)進(jìn)行分層調(diào)度,屬于網(wǎng)絡(luò)技術(shù)和計算智能領(lǐng)域。首先設(shè)計了一種基于二進(jìn)制粒子群算法尋找無線傳感器網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)子集的方法;該方法將粒子編碼為長度等于傳感器節(jié)點(diǎn)數(shù)量的0/1二進(jìn)制串,1表示選擇該節(jié)點(diǎn)進(jìn)入子集,0表示不選擇;通過二進(jìn)制粒子群算法的更新公式和一種反轉(zhuǎn)策略的變異方法,實(shí)現(xiàn)在滿足網(wǎng)絡(luò)100%覆蓋前提下的節(jié)點(diǎn)子集傳感器數(shù)量的最小化。通過不斷調(diào)用“最優(yōu)節(jié)點(diǎn)子集傳感器數(shù)量最小化的方法”,將網(wǎng)絡(luò)中的節(jié)點(diǎn)劃分為盡可能多的不相交子集,解決了網(wǎng)絡(luò)節(jié)點(diǎn)分層調(diào)度的優(yōu)化問題。本發(fā)明能夠高效地對無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)進(jìn)行最大化的分層優(yōu)化調(diào)度,對延長網(wǎng)絡(luò)壽命有重要的作用。
文檔編號H04W16/18GK103249055SQ201310171940
公開日2013年8月14日 申請日期2013年4月25日 優(yōu)先權(quán)日2013年4月25日
發(fā)明者張軍, 詹志輝 申請人:中山大學(xué)