鄭 嵐,徐麗萍
(安徽三聯(lián)學(xué)院 電子電氣工程學(xué)院,合肥 230601)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, WSNs)資源有限,當(dāng)節(jié)點(diǎn)資源消耗殆盡,WSNs就會失效或死亡,從而引發(fā)服務(wù)中斷、假警報等各種不良后果,因此提高WSNs資源利用率是目前最有效的網(wǎng)絡(luò)能耗解決方法之一[1]。通過合理分配,能夠讓各種資源之間相互配合,降低能源損耗,從而達(dá)到提高WSNs資源利用率目的[2]。
在上述的背景下,關(guān)于網(wǎng)絡(luò)資源分配的研究有很多,不同的專家和學(xué)者提出了不同解決方法。張玉琴等[3]將最大-最小保密率作為目標(biāo)函數(shù),然后利用改進(jìn)啟發(fā)式優(yōu)化算法對目標(biāo)函數(shù)進(jìn)行尋優(yōu)求解,得到的最優(yōu)解就是網(wǎng)絡(luò)資源分配方案。王海峰等[4]以WSNs中的節(jié)點(diǎn)資源為對象,在考慮節(jié)點(diǎn)間距的基礎(chǔ)上,以吞吐量為優(yōu)化目標(biāo),在數(shù)據(jù)傳送路徑、節(jié)點(diǎn)通信容量、節(jié)點(diǎn)布局3個約束條件下,通過貪婪算法進(jìn)行求解,得到WSNs節(jié)點(diǎn)資源的分配方案。雖然前人研究取得了一定的研究成果,但是存在2個缺陷:1)多數(shù)都是針對單一資源分配設(shè)置目標(biāo)函數(shù);2)最后的求取算法本身存在一定的缺陷。在雙重問題作用下,得到的分配方案失衡,綜合效益不高。本文將改進(jìn)的深度Q網(wǎng)絡(luò)(Deep Q-Network,DQN)算法應(yīng)用在WSNs資源分配中,通過進(jìn)一步完善網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),設(shè)計網(wǎng)絡(luò)資源優(yōu)化模型,提升網(wǎng)絡(luò)資源的均衡負(fù)載水平,研究分為WSNs拓?fù)浣Y(jié)構(gòu)、多目標(biāo)函數(shù)及分配方案求取3個部分。通過本研究以期提高WSNs資源的利用率,延長WSNs使用壽命。
WSNs具有體積小、成本低、易于部署等優(yōu)點(diǎn),因此在很多領(lǐng)域都發(fā)揮重要作用。例如,在環(huán)境監(jiān)測領(lǐng)域可以通過在監(jiān)測區(qū)域內(nèi)布設(shè)傳感器,實時感知該區(qū)域內(nèi)的環(huán)境信息,采集空氣質(zhì)量、溫度、濕度、風(fēng)速等信息;WSNs還可以被應(yīng)用到醫(yī)療衛(wèi)生領(lǐng)域,通過讓患者佩戴傳感器,實時感知患者的體征信息,如脈搏、呼吸以及體溫等[5]。此外,WSNs還可以應(yīng)用到軍事領(lǐng)域、建筑領(lǐng)域、交通領(lǐng)域。WSNs結(jié)構(gòu)設(shè)計如圖1所示。
圖1 WSNs結(jié)構(gòu)
傳感器節(jié)點(diǎn)包括數(shù)據(jù)采集單元、數(shù)據(jù)傳輸單元、數(shù)據(jù)處理單元和能量支持單元[6]。節(jié)點(diǎn)位置可以隨時改變,通過無線通信形成的多跳自組織網(wǎng)絡(luò)可以無線連接到物聯(lián)網(wǎng)[7]。為方便描述,將WSNs拓?fù)浣Y(jié)構(gòu)通過有向無環(huán)圖表示,即A={B,C,D},其中:B={b1,b2,…,bn}為無線傳感器節(jié)點(diǎn);C={c1,c2,…,cm}為無線傳感器節(jié)點(diǎn)之間的鏈路;D={d1,d2,…,dk}為WSNs中節(jié)點(diǎn)之間鏈路的初始資源信息。
假設(shè)WSNs具有以下屬性:
1)WSNs拓?fù)浣Y(jié)構(gòu)已知;
2)WSNs節(jié)點(diǎn)數(shù)量和位置已知;
3)在WSNs中不考慮節(jié)點(diǎn)沖突問題;
4)WSNs節(jié)點(diǎn)都具有相同的感應(yīng)數(shù)據(jù)生成速率;
5)WSNs初始資源信息已知。
本文選擇多個目標(biāo)構(gòu)建優(yōu)化模型,與單一目標(biāo)優(yōu)化模型相比,多目標(biāo)模型下求取的WSNs資源分配方案更具有全局性,綜合效益更高。WSNs資源分配的理想狀態(tài)是誤碼率最小化、網(wǎng)絡(luò)鏈路容量最大化、資源分配負(fù)載均衡度最大化、網(wǎng)絡(luò)節(jié)點(diǎn)能耗最小化[8]。從上述可知,優(yōu)化目標(biāo)不一致,為保證多目標(biāo)優(yōu)化中目標(biāo)函數(shù)的一致性,均將最大化問題轉(zhuǎn)化為最小化問題,即取最大化的負(fù)值[9]。另外,由于每個目標(biāo)的重要程度不一樣,因此需要對每個目標(biāo)進(jìn)行賦權(quán),最終構(gòu)建的多目標(biāo)優(yōu)化函數(shù)如下:
Ymin=w1y1min+w2(-y2max)+w3(-y3max)+w4y4min。
(1)
式中:Ymin為多目標(biāo)優(yōu)化最小值;y1為誤碼率;y2為網(wǎng)絡(luò)鏈路容量;y3為資源分配負(fù)載均衡度;y4為網(wǎng)絡(luò)節(jié)點(diǎn)能耗;w1、w2、w3、w4為4個優(yōu)化目標(biāo)的權(quán)重,w1+w2+w3+w4=1。
1)誤碼率。
(2)
式中:aij為數(shù)據(jù)在鏈路cij上傳輸時,鏈路接收端j的信噪比;E為噪聲帶寬;eij為數(shù)據(jù)傳輸速率。
2)網(wǎng)絡(luò)鏈路容量。
(3)
式中:G為可用信道的帶寬;gij為信道頻譜寬度;dij為鏈路cij的頻譜寬度;Dij為鏈路cij的通信距離。
3)資源分配負(fù)載均衡度。
(4)
式中:P為時隙集合;Q為信道集合;Jpq為第p個時隙第q個信道的鏈路容量之和;o為時隙的個數(shù);u為信道的個數(shù)。
4)最大化網(wǎng)絡(luò)生命期。
(5)
針對式(1)設(shè)置以下約束條件:
(6)
式中:Gmin、Gmax分別為信道帶寬下限和上限;D總為鏈通信總距離;emin、emax分別為數(shù)據(jù)傳輸速率下限和上限;d總為鏈路頻譜總資源量。
式(1)與式(6)共同構(gòu)成多目標(biāo)優(yōu)化模型。
在完成多目標(biāo)優(yōu)化模型構(gòu)建后,需要求取最優(yōu)分配方案[10],即解出最優(yōu)解。求取最優(yōu)解的最佳方法就是通過尋優(yōu)算法不斷迭代,優(yōu)勝劣汰,一步一步排除非優(yōu)解,最終剩下的1個解就是最優(yōu)解[11]。在這里選取的尋優(yōu)方法為DQN算法。DQN算法是深度強(qiáng)化學(xué)習(xí)中的一種,該算法中主要有2個網(wǎng)絡(luò):1)當(dāng)前值網(wǎng)絡(luò);2)目標(biāo)網(wǎng)絡(luò)。其中前者通過從經(jīng)驗池中獲取訓(xùn)練樣本,進(jìn)行訓(xùn)練,目的是調(diào)整網(wǎng)絡(luò)參數(shù)并將該參數(shù)全部賦值給目標(biāo)網(wǎng)絡(luò);后者是利用訓(xùn)練好的目標(biāo)網(wǎng)絡(luò),通過輸入測試樣本,得出最優(yōu)結(jié)果。然而,該算法在實際應(yīng)用中很容易出現(xiàn)過估計問題,也就是某個狀態(tài)下次優(yōu)動作的值將超過最優(yōu)動作的值。該問題的出現(xiàn)不僅會影響算法整體穩(wěn)定性,更為重要的是很可能導(dǎo)致最優(yōu)解永遠(yuǎn)找不到[12]。此外,在上述基礎(chǔ)DQN算法中,經(jīng)驗池的參數(shù)更新采用隨機(jī)經(jīng)驗回放機(jī)制來實現(xiàn)。這種方法不僅效率低,而且獎勵很小。面對上述2種問題,本節(jié)從2個方面對DQN算法進(jìn)行更新。
針對過估計問題,在DQN算法的基礎(chǔ)上進(jìn)行改進(jìn),改進(jìn)后DQN算法為:
(7)
針對基礎(chǔ)DQN算法的隨機(jī)經(jīng)驗回放機(jī)制進(jìn)行改進(jìn),設(shè)計一種自適應(yīng)多采樣經(jīng)驗回放機(jī)制,具體過程如下:
步驟1:經(jīng)驗樣本輸入。
步驟4:根據(jù)權(quán)值概率隨機(jī)選取采樣模式。
步驟5:判斷更新模式是否為隨機(jī)采樣?若是,執(zhí)行簡單隨機(jī)采樣原則;若否,進(jìn)入下一步。
步驟6:判斷更新模式是否為就近采樣?若是,執(zhí)行就近采樣原則;若否,進(jìn)入下一步。
步驟7:執(zhí)行優(yōu)先經(jīng)驗回放。
基于改進(jìn)后的DQN算法,具體求解過程如圖2所示。
上述過程求取的最優(yōu)解就是WSNs資源分配方案。
為測試改進(jìn)DQN算法在WSNs資源分配中的應(yīng)用效果,在Matlab環(huán)境下構(gòu)建1個500 m×500 m的研究區(qū)域。隨機(jī)在研究區(qū)域內(nèi)部署30個無線傳感器節(jié)點(diǎn),如圖3所示。
圖3 初始化傳感器節(jié)點(diǎn)的分布
仿真參數(shù)設(shè)置如表1所示。
改進(jìn)DQN算法求解WSNs資源分配方案時,所設(shè)置的初始化參數(shù)如表2所示。
表2 改進(jìn)DQN算法參數(shù)
設(shè)置任務(wù)量100~1 000,分別使用改進(jìn)DQN算法、改進(jìn)啟發(fā)式優(yōu)化算法(算法1)、貪婪算法(算法2)進(jìn)行求解,得出WSNs資源分配方案,然后運(yùn)行WSNs資源分配方案,統(tǒng)計每個方案的傳輸延遲以及節(jié)點(diǎn)總能耗。傳輸延遲越小,節(jié)點(diǎn)能耗越少,證明WSNs資源分配方案越合理,即所研究算法的應(yīng)用效果越好。結(jié)果如圖4和表3所示。
從圖4和表3中可以看出,與算法1、算法2得出的WSNs資源分配方案相比,隨著任務(wù)量的增多,本文算法求取的WSNs資源分配方案的傳輸延遲更低、節(jié)點(diǎn)總能耗更小,方案綜合效益更好,由此證明了本文算法在WSNs資源分配中的應(yīng)用效果。
圖4 傳輸延遲對比
本文針對WSNs資源有效分配,提出一種改進(jìn)DQN算法,以提高網(wǎng)絡(luò)資源利用率,將算法模型誤碼率最小化,隨之將網(wǎng)絡(luò)鏈路容量最大化和資源分配負(fù)載均衡度最大化綜合了多個單一目標(biāo)函數(shù)并利用改進(jìn)DQN算法進(jìn)行求解,得出了WSNs資源分配方案。最后通過WSNs資源分配方案應(yīng)用下的傳輸延遲和節(jié)點(diǎn)總能耗對改進(jìn)DQN算法應(yīng)用效果進(jìn)行對比,證明了其有效性。本文基于網(wǎng)絡(luò)資源分配的視角提升了WSNs的均衡度,在未來應(yīng)進(jìn)一步完善網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),優(yōu)化網(wǎng)絡(luò)鏈路的性能。