王 巍,梁雅靜,劉 陽,洪慧君
1.河北工程大學 信息與電氣工程學院,河北 邯鄲 056038
2.河北省安防信息感知與處理重點實驗室,河北 邯鄲 056038
3.江南大學 物聯(lián)網(wǎng)工程學院,江蘇 無錫 214122
近年來,每年都會有自然災害發(fā)生,例如地震、颶風、火山爆發(fā)以及海嘯等。而城市地區(qū)因其人口眾多,建筑密集,在災害發(fā)生后會受到極其嚴重的損害。突發(fā)事件的發(fā)生使得城市地面通信基礎設施極易處于擁塞癱瘓狀態(tài)或者遭到嚴重毀壞,進一步導致城市災區(qū)的環(huán)境信息以及救援信息無法得到有效傳輸,進而影響救援行動的有效實施。經(jīng)研究,災后的72小時是“黃金救援時間”,因此,災后的緊急救援是挽救生命的重要過程[1]。在此期間,救援人員之間的通信以及城市中遇難者的位置信息等是極其重要的,他們需要共享信息來了解更多的災區(qū)情況以便更高效地完成救援任務,挽救更多的生命,減少損失。
隨著無人機相關關鍵技術的突破,無人機集群組成的無人機網(wǎng)絡能夠?qū)ΡO(jiān)測環(huán)境進行信息采集、處理和發(fā)送,并被廣泛運用于應急通信、環(huán)境監(jiān)控、軍事偵察、物流等領域[2-3]。無人機網(wǎng)絡因其移動性靈活、自主性強等特點,在應急通信領域發(fā)揮著越來越重要的作用。其中,覆蓋率是衡量無人機網(wǎng)絡性能的一個重要因素,因此城市災區(qū)的網(wǎng)絡覆蓋優(yōu)化問題成為重要的研究熱點之一。
針對城市災區(qū)無人機網(wǎng)絡覆蓋優(yōu)化的研究,文獻[4]對災區(qū)進行模擬得到三維立體圖以及重點區(qū)域,對A*算法進行優(yōu)化,提高了無人機的巡查覆蓋率,但并非網(wǎng)絡覆蓋率。文獻[5]針對城市地震場景,提出一種自適應反饋遺傳算法,但目的是優(yōu)化任務規(guī)劃,并非對網(wǎng)絡的覆蓋優(yōu)化。文獻[6]研究了城市環(huán)境下無人機的軌跡規(guī)劃問題,重點優(yōu)化的是無人機的行動軌跡。文獻[7]提出了一種兩階段優(yōu)化算法來為城市地區(qū)提供無縫的長期覆蓋,但重點是對能源消耗的優(yōu)化。文獻[8]介紹了一種新型的無人機輔助路由協(xié)議,重點對城市環(huán)境下的無人機網(wǎng)絡通信服務質(zhì)量進行優(yōu)化,但不適用于災害發(fā)生的場景。文獻[9]提出了一種改進的自適應車輛跟蹤算法,優(yōu)化無人機對地面車輛的動態(tài)追蹤,但并不適用災區(qū)環(huán)境。文獻[10]集中于對城市災區(qū)的研究,提出了一種無人機在災難場景下進行戰(zhàn)術動作的智能策略。結(jié)合了Jaccard距離以及模擬退火算法對地面用戶進行動態(tài)覆蓋。這個策略在保證網(wǎng)絡連通的情況下,最大化了無人機服務的受害者的數(shù)量。但是還存在較多處在角落的節(jié)點未被覆蓋。
針對以上算法的不足,為了對城市災區(qū)環(huán)境下重點區(qū)域的移動地面用戶節(jié)點進行覆蓋優(yōu)化,本文首先對城市災區(qū)的節(jié)點移動進行模擬,通過模型獲得城市災區(qū)中的參數(shù)。其次,對布谷鳥算法進行改進,融入從模型中獲得的參數(shù),引入虛擬力對布谷鳥算法的位置更新方程進行調(diào)整以保證網(wǎng)絡的連通性,并引入權重系數(shù)對目標函數(shù)進行歸一化以提高重點區(qū)域的覆蓋率。結(jié)果表明,該算法適用于城市災區(qū)移動節(jié)點的覆蓋優(yōu)化,且在維持網(wǎng)絡連通性的情況下重點提高了無人機網(wǎng)絡對重點區(qū)域的覆蓋率。
本文重點研究無人機網(wǎng)絡對城市災區(qū)的通信覆蓋優(yōu)化問題。而我國城市數(shù)量眾多,且城市的人口、面積懸殊,建筑物特征、布局各異。而建筑物功能分類結(jié)果可作為推測建筑物內(nèi)人口密度的依據(jù),服務于配套設施的規(guī)劃和緊急情況的應對[11]。因此,在對城市災區(qū)進行應急通信網(wǎng)絡覆蓋之前,需要先對城市場景進行模擬。
設待覆蓋城市區(qū)域A為二維平面,則A?B,R,P,X,其中B為建筑物,R為道路,P為公園等開放性區(qū)域,X為禁止區(qū)域(人類無法進入的區(qū)域、湖泊、河流等)。文獻[11]通過計算不同類型的興趣點(POI)的加權來識別地圖中的建筑物功能類型,并將建筑物劃分為8類。則建筑物集合B?B1,B2,…,B8,其中B1~B8分別代表居住建筑、公共建筑、商業(yè)建筑、商公混合建筑、住公混合建筑、商公混合建筑、其他。文獻[12]以景觀視角將城市的道路劃分為6類,分別為快速通過型道路、穿越通過型道路、景觀旅游型街道、符合共享型街道、居民生活型街道和景觀休閑步行路,則道路集合R?R1,R2,R3,R4,R5,R6。
由于某校區(qū)總體空間布局滿足城市空間布局的集中式總體布局特征,因此本文基于文獻[13]提出的城市災區(qū)地面用戶節(jié)點移動模型,以該校區(qū)為例進行建模。公共類建筑,像醫(yī)院、學校等較大規(guī)模的公共服務機構呈現(xiàn)組團模式的聚集分布[11]。因此該學校區(qū)域建筑集合Bs?B1,B2,道路集合Rs?R1,R2,其中,B1,B2?B,R1,R2?R。
根據(jù)以上描述對模擬區(qū)域進行區(qū)域劃分,由于模擬區(qū)域中的某些道路兩旁有較大面積的草坪覆蓋,當?shù)卣鸢l(fā)生后,地面用戶節(jié)點可以在草坪上隨機移動,因此本文將此類道路和草坪共同劃分為開放性區(qū)域。且由于學校的特殊性,學校的居住建筑以及公共建筑都會有一定的用戶節(jié)點分布,因此本文將居住建筑和公共建共同劃分為建筑區(qū)。區(qū)域劃分情況如圖1所示。
圖1 實際區(qū)域劃分情況Fig.1 Actual area division
節(jié)點在開放性區(qū)域遵循隨機游走(random)的移動規(guī)則,會隨機改變速度和方向;在建筑區(qū)域中,節(jié)點隨機產(chǎn)生四個方向,向建筑區(qū)的邊界移動并最終移動到出口,本文將此移動規(guī)則定義為B-trend;在街道上,節(jié)點線性移動(linear),當街道由于建筑殘骸而被封鎖時節(jié)點停止移動,由于節(jié)點在街道以及道路在被封鎖之前都是線性移動的,因此本文中街道以及被封鎖的道路采用同一個區(qū)域,道路被封鎖通過節(jié)點停止移動來體現(xiàn);本文中的禁止區(qū)域是指學校中的湖泊以及無法進入的區(qū)域;當?shù)卣鸢l(fā)生后也可能會發(fā)生余震使建筑物坍塌(B-col)的突發(fā)情況,此時地面用戶節(jié)點被困在區(qū)域中,通過使節(jié)點消失(fade)來模擬這一情況。
由于學校內(nèi)建筑特征的不同,受災區(qū)域的位置不同,導致不同區(qū)域內(nèi)地面用戶節(jié)點的移動規(guī)則有所差異,因此本文通過限制節(jié)點的移動來實現(xiàn)對城市災區(qū)的不同區(qū)域類型的模擬。根據(jù)待覆蓋區(qū)域As內(nèi)建筑物類型以及道路類型,相應區(qū)域內(nèi)隨機分布有對應密度的地面用戶節(jié)點。整個區(qū)域內(nèi)分布的用戶節(jié)點的總個數(shù)為n,節(jié)點集合為G={g1,g2,…,gn},則節(jié)點gi(i=1,2,…,n)所遵循的移動規(guī)則如下所示:
布谷鳥搜索算法(CS)是一種基于巢寄生性以及萊維(Levy)飛行搜索機制的群體智能優(yōu)化算法。該算法精度較高、復雜度較低、穩(wěn)定性較好[14]。算法的實現(xiàn)需設定3個理想規(guī)則[15]:
(1)每只鳥一次只產(chǎn)一個蛋,并隨機在一個宿主鳥巢中孵化。
(2)從隨機選擇的一組鳥巢中,最好的高品質(zhì)鳥巢保留到下一代。
(3)可利用的宿主鳥巢的數(shù)量n是固定的,一個鳥巢的主人能發(fā)現(xiàn)巢中的蛋是外來蛋的概率是Pa,且Pa∈[0,1]。當宿主發(fā)現(xiàn)是外來鳥蛋時,會將蛋丟棄或者重新尋找位置來建立新的鳥巢。
基于以上3個理想規(guī)則,算法迭代過程中鳥巢的位置更新公式如下:
步長因子α的表達式為:
式中,α0為常數(shù),zbest表示當前的最優(yōu)解。萊維飛行L(β)的表達式為:
式中,μ和υ均服從標準高斯分布。且φ滿足:
結(jié)合公式(1)、(2)和(3),可推導出鳥巢的位置更新公式為:
傳統(tǒng)的布谷鳥算法對無人機網(wǎng)絡的覆蓋優(yōu)化,是將地面用戶節(jié)點視為靜止節(jié)點,不能保證網(wǎng)絡的連通性,并且覆蓋優(yōu)化的區(qū)域是整個目標區(qū)域。文獻[16]對熱點區(qū)域進行確定,并對布谷鳥算法進行改進,提高了無人機網(wǎng)絡對熱點區(qū)域的覆蓋率,但作者并未考慮地面用戶節(jié)點的移動性,且適應場景為非城市災區(qū)。
在實際的城市災區(qū),地面用戶節(jié)點為移動節(jié)點,當無人機網(wǎng)絡拓撲結(jié)構穩(wěn)定不變時,隨時會有節(jié)點遠離無人機網(wǎng)絡的覆蓋區(qū)域,當處于網(wǎng)絡覆蓋區(qū)域外的節(jié)點過多時,無人機網(wǎng)絡無法對其進行覆蓋。因此本文首先針對災區(qū)地面用戶節(jié)點的移動特性,對布谷鳥算法的位置更新方程進行改進,以實現(xiàn)無人機網(wǎng)絡對災區(qū)的自適應覆蓋,但基于此步改進,并沒有保證無人機網(wǎng)絡的連通性,且可能會出現(xiàn)覆蓋重疊的情況。
針對第一步改進出現(xiàn)的弊端,為了維持無人機網(wǎng)絡的連通性,在改進的基礎上引入虛擬力對位置方程進行調(diào)整,當無人機節(jié)點為非連通節(jié)點時采用引力,當無人機節(jié)點為連通節(jié)點時,判斷無人機節(jié)點間的距離,當距離小于某一閾值時,則采用斥力。
在本文提出的災區(qū)地面用戶節(jié)點移動模型中,節(jié)點并非分布于整個區(qū)域,因此無人機網(wǎng)絡只需對用戶節(jié)點活動的區(qū)域覆蓋即可?;诖?,本文對布谷鳥算法的目標函數(shù)進行加權優(yōu)化,引入加權系數(shù),在一定程度上犧牲其他區(qū)域的覆蓋率,重點優(yōu)化用戶節(jié)點活動區(qū)域的覆蓋率。具體改進如下。
2.2.1 位置更新方程的改進
采用傳統(tǒng)的布谷鳥算法部署無人機網(wǎng)絡,隨著算法迭代結(jié)束,無人機網(wǎng)絡拓撲結(jié)構趨于穩(wěn)定,其所覆蓋的地面區(qū)域也將恒定不變。而由于受災區(qū)域內(nèi)地面用戶節(jié)點的移動特性,當某些用戶節(jié)點隨時間變化逐漸移動出應急網(wǎng)絡的覆蓋區(qū)域時,將無法獲得用戶節(jié)點的相關信息,對應急救援任務帶來不便。因此為了實現(xiàn)無人機網(wǎng)絡的自適應覆蓋,本文通過城市災區(qū)人員的移動模型獲得各個時刻地面用戶節(jié)點的坐標位置并作為布谷鳥算法的輸入。由于在本文所提出的城市災區(qū)的節(jié)點移動模型中,各個分區(qū)域的內(nèi)節(jié)點移動規(guī)則是一致的,除開放性區(qū)域,節(jié)點最終將分布在某一區(qū)域處。因此考慮到無人機網(wǎng)絡的能耗,無人機i選擇當前時刻與其水平距離最近的用戶節(jié)點位置方向移動即可覆蓋該區(qū)域處多個用戶節(jié)點。
首先計算當前時刻所有地面用戶節(jié)點與無人機節(jié)點集S之間的水平距離,將得到距離矩陣如下:
其中,n為無人機的個數(shù),p為地面移動節(jié)點的個數(shù)。計算該矩陣每列的最小值以及最小值所在行數(shù)即可獲得距離無人機節(jié)點集水平距離最小的節(jié)點坐標集。計算無人機i與其水平距離最近的節(jié)點的坐標差值(Δxi,Δyi),通過計算得出無人機節(jié)點的橫縱坐標改進距離如下:
結(jié)合公式(5)和公式(7)可得當前時刻改進的布谷鳥算法的位置更新方程為:
2.2.2 虛擬力向?qū)У牟脊萨B算法調(diào)整
根據(jù)公式(9)的位置更新方程,無人機節(jié)點向當前時刻與其水平距離最近的節(jié)點移動,可能會出現(xiàn)多個無人機的下一目標位置坐標相近的情況。由于城市災區(qū)的建筑特征,部分地面用戶節(jié)點分簇分布,當簇與簇之間的距離過大,會導致無人機網(wǎng)絡不連通。因此,為了維持無人機網(wǎng)絡的連通性,本文引力虛擬力對位置更新方程進行調(diào)整。
對于任意兩個無人機節(jié)點si、sj,節(jié)點間的歐式距離為。計算所有無人機節(jié)點間的歐氏距離,獲得距離矩陣如下:
矩陣中的對角線元素0表示無人機節(jié)點與自身的距離,因此為了方便計算,將對角線的0設置為無窮大,獲得距離矩陣為:
其中,θij表示力的方向,和ωr分別表示引力系數(shù)和斥力系數(shù)。由于本文假設所有無人機的基本參數(shù)相同,因此定義距離閾值為dth=2r[17],其中r為無人機的通信半徑。
計算無人機si受到區(qū)域內(nèi)所有其他無人機節(jié)點的虛擬力的合力為:
定義Fth為虛擬力的閾值,當無人機i所受虛擬力合力大于虛擬力的閾值時,對無人機的位置坐標進行更新,否則無人機i將在該位置保持懸停。因此,虛擬力向?qū)У臒o人機i的改進距離為:
其中,F(xiàn)ix為無人機i在x軸方向上的受力,F(xiàn)iy則為無人機i在y軸方向上的受力。由此,結(jié)合公式(8)和公式(11),虛擬力向?qū)У牟脊萨B算法的位置更新方程為:
2.2.3 加權優(yōu)化目標函數(shù)
本文模擬的學校區(qū)域中存在一些禁止區(qū)域,地面用戶節(jié)點在整個模擬過程中都無法進入該區(qū)域,為了避免產(chǎn)生過多覆蓋冗余,本文將地面用戶節(jié)點分布的區(qū)域視為重點區(qū)域,引入加權覆蓋率,在優(yōu)化覆蓋的過程中需重點提高無人機網(wǎng)絡對重點區(qū)域的覆蓋。
無人機網(wǎng)絡為地面用戶提供通信覆蓋,為了更好地研究覆蓋優(yōu)化問題,本文將待覆蓋區(qū)域A數(shù)字離散化為a×b個像素點。覆蓋率定義為被覆蓋的像素點的數(shù)量與區(qū)域A內(nèi)總像素點數(shù)量之比。假設有num個像素點被無人機網(wǎng)絡覆蓋,則無人機網(wǎng)絡的覆蓋率為num/(a×b)。
在目標區(qū)域A中,有m個地面用戶節(jié)點,節(jié)點集合為G={g1,g2,…,gm};有n個無人機節(jié)點,節(jié)點集合為S={s1,s2,…,sn}。第i個無人機節(jié)點si的位置坐標為(xi,yi,hi),設像素點j的位置坐標為(xj,yj,0)。則無人機節(jié)點si與像素點j之間的水平距離為:
本文采用文獻[18]提出的A2G信道模型,則像素點j和無人機i之間的視距通信(LoS)鏈路概率為:
其中,α和β是環(huán)境參數(shù),數(shù)值設置與城市的建筑物密度有關[19]。hi為無人機si的飛行高度。此外,非視距通信(NLoS)鏈路的概率為:
由于城市背景復雜,且存在大量的噪聲和干擾[20]。因此,在城市災區(qū),無線傳播信號除了自由空間傳播損耗之外,還有因建筑物遮擋和散射產(chǎn)生的損失。因此,無人機si與像素點j之間的LoS和NLoS鏈路損失模型[17]分別為:
其中,fc為載波頻率;ηLoS和ηNLoS分別為視距通信鏈路和非視距鏈路下的額外路徑損失;c為光速;dij為無人機si與像素點j之間的距離:
因此,在LoS和NLoS模型下,無人機si與像素點j之間A2G的鏈路平均路徑損失為:
為了保證服務質(zhì)量,像素點j的接收功率必須超過一定的閾值,也就是說,像素點j與無人機si之間的鏈路損耗小于或等于某一個閾值PLmax時,像素點j被無人機si覆蓋,即:
則像素點j可被無人機節(jié)點si感知的概率為:
任一像素點都可同時被多個無人機節(jié)點感知,因此像素點j被無人機節(jié)點集合S感知的聯(lián)合概率表示為:
因此,無人機網(wǎng)絡對整個目標區(qū)域的覆蓋率為:
同理,將地面移動節(jié)點視為像素點可得無人機網(wǎng)絡對重點區(qū)域的覆蓋率為:
本文重點研究無人機網(wǎng)絡對重點區(qū)域移動節(jié)點的覆蓋優(yōu)化,為此可以在某種程度上犧牲禁止區(qū)域的覆蓋率。因此本文引入加權覆蓋率對整體目標區(qū)域覆蓋率和重點區(qū)域覆蓋率進行歸一化計算:
其中,ω1為目標區(qū)域整體覆蓋率的加權系數(shù),ω2為重點區(qū)域覆蓋率的加權系數(shù)且ω1?ω2。
由此,改進的布谷鳥算法的優(yōu)化目標函數(shù)為:
改進的布谷鳥搜索算法具體步驟如下:
(1)參數(shù)初始化,設置種群個數(shù)、鳥巢個數(shù)以及初始鳥巢位置、發(fā)現(xiàn)概率Pa、最大迭代次數(shù)等。
(2)根據(jù)公式(29)計算初始目標函數(shù)值f(x),并保留適應度值最大的鳥巢位置到下一代。
(3)根據(jù)位置更新公式(15)更新鳥巢位置。
(4)根據(jù)新的鳥巢位置,計算目標函數(shù)值f(x),并保留適應度值最大的鳥巢位置到下一代。
(5)產(chǎn)生一個隨機數(shù)r,比較r與Pa的大小,若r>Pa,則返回步驟(3)。
(6)當算法達到最大迭代次數(shù)或適應度函數(shù)值不再發(fā)生變化時,結(jié)束進程。否則,返回步驟(3)。
算法的具體步驟流程圖如圖2所示。
本文在Windows10系統(tǒng)下,基于MATLAB2014a軟件對提出的算法進行仿真,仿真的區(qū)域采用的是某校區(qū)平面圖,近似為正方形區(qū)域,正方形區(qū)域內(nèi)用戶節(jié)點隨機分布在學校的不同可活動區(qū)域。
圖2 改進的布谷鳥算法步驟流程圖Fig.2 Improved cuckoo algorithm step flow chart
待覆蓋區(qū)域是二維(2D)的,平面圖近似為1 000 m×1 000 m的矩形區(qū)域。每個可活動區(qū)域都隨機分布有一定數(shù)量的地面用戶節(jié)點,用戶節(jié)點的總數(shù)量為m。地面用戶節(jié)點的移動速度為vg,在整個目標區(qū)域中,每個劃分區(qū)域內(nèi)的節(jié)點速度都會隨機改變。最大速度代表地面用戶節(jié)點正在從危險區(qū)域逃出,或在尋求幫助。靜止節(jié)點或者以最小速度移動的節(jié)點,代表該節(jié)點因受傷或周圍環(huán)境惡劣而行動困難。
無人機節(jié)點個數(shù)為n,初始時隨機分布在整個目標區(qū)域,其移動最大步長為Dmax;所有無人機都在相同高度h的上空盤旋,并以恒定的速度vuav移動;所有無人機的無線傳輸范圍均為r,可以覆蓋以無線傳輸范圍R為半徑的地面圓形區(qū)域,且在通信范圍內(nèi),無人機之間可以相互通信[7]。算法的最大迭代次數(shù)為tmax。具體的實驗參數(shù)設置如表1中所示。
表1 實驗參數(shù)Table 1 Experiment parameter
3.3.1 城市災區(qū)節(jié)點移動
根據(jù)所劃分區(qū)域的面積以及所屬類型,放入相應數(shù)量的用戶節(jié)點。初始時,所有用戶節(jié)點都是隨機分布的。圖3是移動模型程序運行500 s時,用戶節(jié)點在目標區(qū)域的分布情況。由圖中可以看出,在開放性區(qū)域,節(jié)點遵從隨機游走移動規(guī)則,最終的節(jié)點分布情況是隨機分布;在建筑區(qū),節(jié)點最終聚集在邊界區(qū)域或出口處,其中未在邊界處的節(jié)點可能因建筑殘骸擁堵或受傷而行動緩慢;在被封鎖的街道區(qū)域,節(jié)點最終停止在街道封鎖處;而在禁止區(qū)域,無用戶節(jié)點進入。
圖3 500 s時節(jié)點分布情況Fig.3 Distribution at 500 s
在地震發(fā)生后的應急救援過程中,可能會有余震的發(fā)生而造成新的建筑物坍塌。此時,該區(qū)域內(nèi)的用戶節(jié)點會被困在建筑殘骸中而失去信號,導致無人機網(wǎng)絡無法獲知地面用戶節(jié)點的位置信息。可通過使相應區(qū)域內(nèi)用戶節(jié)點的消失來模擬這一情況[12],如圖4所示。對比圖4(a)和(b)可發(fā)現(xiàn),目標區(qū)域內(nèi),有兩個分區(qū)域內(nèi)的用戶節(jié)點消失,即該兩處區(qū)域發(fā)生了余震導致建筑物坍塌,用戶節(jié)點被困其中。
3.3.2 網(wǎng)絡覆蓋情況
為了驗證本文方法的有效性,采用本文所提出改進布谷鳥算法對第1章提出的城市環(huán)境災后地面用戶節(jié)點移動模型進行覆蓋優(yōu)化,并進行500次獨立實驗驗證。實驗結(jié)果如圖5所示。
圖5(a)為初始狀態(tài),地面用戶節(jié)點以及無人機節(jié)點隨機分布在目標區(qū)域。為了更清楚地展示算法覆蓋效果,圖5(b)及圖5(c)為將區(qū)域的劃分邊界去掉的效果圖。圖5(b)為程序運行到100 s時的實驗結(jié)果,由圖中可以看出,建筑區(qū)域內(nèi)的用戶節(jié)點逐漸在向建筑區(qū)的邊界移動,開放性區(qū)域的節(jié)點,因其遵從隨機游走的移動規(guī)則,依舊是隨機分布。而無人機網(wǎng)絡的拓撲結(jié)構已隨著地面用戶節(jié)點的移動發(fā)生變化。圖5(c)為程序運行到500 s時的實驗結(jié)果。由圖中可以看出,建筑區(qū)域內(nèi)的節(jié)點在建筑區(qū)的邊界以及出口處聚集,無人機網(wǎng)絡幾乎覆蓋了災區(qū)內(nèi)的所有地面用戶節(jié)點,且對禁止區(qū)域的覆蓋率較小,以及保持了網(wǎng)絡的連通性。
圖4 余震情況模擬圖Fig.4 Simulation of aftershocks
對比圖5(a)和(b),圖5(a)和(c)可以看到采用本文所提算法,無人機網(wǎng)絡對重點區(qū)域的覆蓋率得到了提高。對比圖5(a)、(b)和(c)可以看出隨著地面用戶節(jié)點的移動,無人機網(wǎng)絡的拓撲結(jié)構也隨著發(fā)生變化,且無人機網(wǎng)絡對禁止區(qū)域的覆蓋逐漸減少。
為了評價本文城市災區(qū)無人機網(wǎng)路自適應覆蓋優(yōu)化算法的優(yōu)劣,引入了覆蓋率、網(wǎng)絡連通度和路徑損耗三種評價指標。其中覆蓋率為公式(26)中的全局覆蓋率以及公式(28)中的加權覆蓋率;網(wǎng)絡連通度為無人機網(wǎng)絡節(jié)點中所有節(jié)點直接通信范圍內(nèi)的節(jié)點個數(shù)的算數(shù)平均值;路徑損耗為地面用戶節(jié)點的平均路徑損耗。為了對比不同城市環(huán)境參數(shù)α、β的設置下,本文所提算法的性能,分別在α=0.1,β=750、α=0.3,β=110,以及α=0.5,β=300的情況下進行10次實驗,記錄10次實驗同一時刻的結(jié)果,分別對比三組城市環(huán)境參數(shù)下三種評價指標的變化情況。其中,α=0.1,β=750代表稀疏城市,相當于郊區(qū);α=0.3,β=110是本文的環(huán)境設置;α=0.5,β=300代表密集城市[19]。由于本文是針對城市災區(qū)地面移動用戶的通信覆蓋,而在實際情況下,郊區(qū)的地面用戶節(jié)點較少,且空曠區(qū)域較多,節(jié)點分布比較稀疏,而密集城市中,建筑物比較密集,用戶節(jié)點密度大,因此為了方便比較,本文的郊區(qū)環(huán)境和密集城市環(huán)境是同本文的城市環(huán)境相同大小的區(qū)域,其中郊區(qū)分布有150個隨機移動的節(jié)點,密集城市分布有400個節(jié)點,節(jié)點移動采取本文城市災區(qū)用戶節(jié)點的移動規(guī)則。
圖5 各時刻網(wǎng)絡覆蓋情況Fig.5 Network coverage at different times
其次為了評價本文算法的全局尋優(yōu)以及局部尋優(yōu)能力,引入6種多峰測試函數(shù),并且為了更直觀地體現(xiàn)本文算法的優(yōu)劣性,分別采用標準布谷鳥算法(CSA)、灰狼算法(GWO)、烏鴉算法(CS)與本文算法對函數(shù)求最優(yōu)值并獲得函數(shù)的進化曲線。
若三種評價指標的變化幅度在適當范圍內(nèi),且算法的局部尋優(yōu)以及局部尋優(yōu)能力優(yōu)于其他算法,則證明本文所提出的算法有較好的應用價值。
3.5.1 實驗評價結(jié)果
(1)全局覆蓋率和加權覆蓋率
分別記錄三組參數(shù)下10次實驗中全局覆蓋率和加權覆蓋率的值,對比結(jié)果如圖6所示。由于本文的郊區(qū)環(huán)境中節(jié)點是隨機移動的,因此不存在重點區(qū)域,即不存在加權覆蓋率。由柱狀圖可以清晰地看出,郊區(qū)環(huán)境下的覆蓋率最低,這是由于地面節(jié)點分布稀疏,無人機需要飛到更高的高度對用戶節(jié)點進行覆蓋,由此造成了更多的路徑損耗。而密集城市環(huán)境下的覆蓋率略低于本文城市災區(qū)下的覆蓋率,這是由于密集城市建筑物遮擋和散射造成了更多的鏈路損耗。
圖6 覆蓋率對比圖Fig.6 Coverage comparison chart
但三種環(huán)境參數(shù)下的全局覆蓋率和加權覆蓋率都穩(wěn)定在一定的范圍內(nèi),且每次實驗的加權覆蓋率值都高于全局覆蓋率值。說明采用本文所提方法優(yōu)化后的無人機網(wǎng)絡的覆蓋率較為穩(wěn)定,提高了無人機網(wǎng)絡對目標區(qū)域中重點區(qū)域的覆蓋率,且更加適用于城市環(huán)境。
(2)網(wǎng)絡連通度
為了衡量應用本文方法后無人機網(wǎng)絡的連通性,采用連通度指標對該方法進行評價。圖7為三組城市環(huán)境參數(shù)下分別進行10次實驗后,相同時刻的無人機網(wǎng)絡的連通度值變化曲線。由折線圖可以清晰地看出,三種環(huán)境參數(shù)設置下的實驗結(jié)果中,相同時刻的無人機網(wǎng)絡的連通度變化相差都不大,這是由于本文算法引入了虛擬力保證了網(wǎng)絡的連通性,說明應用本文方法在不同的城市參數(shù)下無人機網(wǎng)絡連通性能穩(wěn)定。
圖7 網(wǎng)絡連通度變化曲線Fig.7 Change curve of network connectivity
(3)用戶路徑損耗
圖8為相同實驗參數(shù)設置下,在三組實驗環(huán)境參數(shù)設置下,10次實驗后,相同時刻的用戶路徑損耗情況。由圖中可得,郊區(qū)環(huán)境下90%左右的地面用戶節(jié)點的路徑損耗在閾值(85 dB)以下,有10%左右的節(jié)點的路徑損耗超過了閾值,說明該時刻只有90%左右的節(jié)點被覆蓋。而在本文的城市災區(qū)環(huán)境中只有5%左右的地面用戶節(jié)點的路徑損耗超過了閾值,有95%左右的節(jié)點被覆蓋。密集城市環(huán)境中有7%左右的節(jié)點未被覆蓋。說明無人機網(wǎng)絡能夠更適用于為城市環(huán)境中地面用戶節(jié)點提供應急通信,且網(wǎng)絡質(zhì)量穩(wěn)定。
圖8 不同路徑損耗的用戶比例Fig.8 Proportion of users with different path loss
(4)網(wǎng)絡的動態(tài)覆蓋性能
由于本文所提方法是針對城市災區(qū)移動的地面用戶節(jié)點的網(wǎng)絡覆蓋優(yōu)化,因此為了衡量無人機網(wǎng)絡的動態(tài)覆蓋性能,分別記錄三組城市環(huán)境參數(shù)下實驗中不同時刻三種評價指標的值。由于以上針對三種評價指標的實驗結(jié)果表明,無人機網(wǎng)絡的性能相對穩(wěn)定。因此,此部分分別記錄三種環(huán)境參數(shù)下一次實驗中不同時刻三種評價指標的值。由圖9中可以看出,環(huán)境參數(shù)密集城市的覆蓋率以及平均路徑損耗均略差于α=0.3,β=110時的情況,這是由于密集城市環(huán)境下的建筑物遮擋及散射更多,而郊區(qū)環(huán)境的覆蓋率最低,且路徑損耗最多,說明本文所提方法更適應于對城市災區(qū)的通信進行覆蓋優(yōu)化。而隨著時間變化,三種城市環(huán)境參數(shù)下的無人機網(wǎng)絡的加權覆蓋率、網(wǎng)絡連通度以及地面用戶節(jié)點的平均鏈路損耗變化穩(wěn)定,說明無人機網(wǎng)絡的動態(tài)覆蓋性能較好。
圖9 評價指標隨時間的變化情況Fig.9 Change of evaluation index with time
(5)全局和局部尋優(yōu)能力
由于多峰測試函數(shù)局部極值多,因此多峰測試函數(shù)可以測試算法是否陷入局部最優(yōu)并評價算法的全局尋優(yōu)能力[14]。因此,為了評價本文算法的全局及局部尋優(yōu)能力,本文分別采用CSA、本文算法、烏鴉算法(CS)、灰狼算法(GWO)對6個多峰測試函數(shù)求極值。多峰測試函數(shù)信息如表2所示。
表2 測試函數(shù)Table 2 Test function
由于本文算法是針對城市災區(qū)的特定場景所進行的改進,融入了地面用戶節(jié)點的坐標信息,而運用于函數(shù)中則是在定義域內(nèi)求一個最優(yōu)值。因此在使用本文算法進行尋優(yōu)時,為了與本文算法保持一致,在定義域內(nèi)隨機生成n個節(jié)點,相當于本文中的地面用戶節(jié)點,然后采用本文算法的位置更新規(guī)則尋優(yōu),相當于在函數(shù)的定義域內(nèi)求1架無人機的最優(yōu)位置問題。
分別對4種算法獨立運行100次,取實驗的平均結(jié)果并畫出進化圖像,結(jié)果如圖10~圖15所示。
圖10 F1進化曲線Fig.10 Evolution curve of F1
圖11 F2進化曲線Fig.11 Evolution curve of F2
圖12 F3進化曲線Fig.12 Evolution curve of F3
圖13 F4進化曲線Fig.13 Evolution curve of F4
由圖10可以看出,4種算法都達到了全局最優(yōu),且尋優(yōu)速度和收斂速度都很快。由圖12、圖14、圖15可以看出,都存在算法陷入了局部最優(yōu)。圖12中GWO算法陷入了局部最優(yōu),其他3種算法都達到全局最優(yōu),但CSA算法和CS算法的尋優(yōu)速度和收斂速度更快。圖14中,CS算法和GWO算法陷入局部最優(yōu)值,CSA算法和本文算法都達到了全局最優(yōu),但尋優(yōu)速度劣于其他兩種算法。圖15中CSA算法和GWO算法很早地陷入了局部最優(yōu)且始終未能跳出局部最優(yōu)解,CS算法出現(xiàn)幾次局部極值,且最終未達到全局最優(yōu),而本文算法局部尋優(yōu)速度快,且最終達到全局最優(yōu),但由于函數(shù)的復雜性,算法的收斂速度較慢。由圖11和圖13可以看出本文算法出現(xiàn)了幾次局部最優(yōu)值的變化并最終收斂在局部最優(yōu),圖11中GWO算法達到了全局最優(yōu),CSA算法和CS算法陷入局部最優(yōu),且距離全局最優(yōu)值有一定距離。圖13中CS算法和GWO算法都達到了全局最優(yōu),CSA算法和本文算法都出現(xiàn)幾次局部極值并最終收斂到局部最優(yōu),但在兩個函數(shù)中本文算法的解都更接近于全局最優(yōu)值且尋優(yōu)速度較快。
圖14 F5進化曲線Fig.14 Evolution curve of F5
圖15 F6進化曲線Fig.15 Evolution curve of F6
總體上說,本文算法的尋優(yōu)速度以及收斂速度都較快,且算法的局部尋優(yōu)能力和全局尋優(yōu)能力都優(yōu)于其他算法。這是由于本文算法對布谷鳥算法位置更新方程的改進,使得算法在全局搜索時種群多樣性更強,從而使得算法在全局尋優(yōu)和局部尋優(yōu)上更好地達到平衡。
3.5.2 實驗比較
為了進一步驗證本文算法的有效性,在相同實驗參數(shù)設置下,將本文的加權覆蓋率作為目標函數(shù),在相同實驗環(huán)境下多次運行文獻[10]提出的模擬退火算法(SAA)、標準布谷鳥搜索算法(CSA)以及本文提出的改進的布谷鳥算法,分別進行500次獨立性實驗。
圖16為進行一次實驗后,三種算法的適應度值函數(shù)曲線圖。從圖中可以看出,本文算法的加權覆蓋率高達95.43%,而標準布谷鳥搜索算法和模擬退火算法的覆蓋率則分別為89.14%和86.16%。對比數(shù)據(jù),本文算法的加權覆蓋率明顯高于其他兩種算法。
圖16 算法性能對比Fig.16 Algorithm performance comparison
3.5.3 實驗分析
為了更加公平地獲得實驗結(jié)果并對其分析,本文分別取三種算法500次實驗結(jié)果性能指標的平均值,具體結(jié)果如表3所示。
表3 算法性能對比Table 3 Algorithm performance comparison
對比表中的算法的各個性能指標,可以看出經(jīng)過本文對布谷鳥搜索算法的改進,無人機網(wǎng)絡的加權覆蓋率達到的94.32%,比文獻[10]中的模擬退火算法的覆蓋率高出了2.98個百分點,比標準布谷鳥算法的覆蓋率高出了1.87個百分點。
綜上所述,本文提出的城市災區(qū)無人機網(wǎng)絡自適應覆蓋優(yōu)化算法不僅綜合考慮了地面用戶節(jié)點的移動特性,以及待覆蓋區(qū)域的重要程度差異,且重點提高了無人機網(wǎng)絡對重點區(qū)域的覆蓋率,能夠?qū)崿F(xiàn)無人機網(wǎng)絡對目標區(qū)域的自適應覆蓋且保證了網(wǎng)絡的連通性,此外本文算法的全局尋優(yōu)以及局部尋優(yōu)能力較強,證明本文所提算法能夠更加有效地對城市災區(qū)無人機網(wǎng)絡的覆蓋率進行優(yōu)化。
傳統(tǒng)的對無人機應急網(wǎng)絡覆蓋優(yōu)化的研究,大多不針對城市災區(qū)環(huán)境,且將地面用戶節(jié)點視為靜止節(jié)點,與災害發(fā)生后的實際情況不符。
針對此,本文提出了一種城市災區(qū)無人機網(wǎng)絡自適應覆蓋優(yōu)化算法來對城市環(huán)境下移動的地面用戶節(jié)點進行覆蓋優(yōu)化。以某校區(qū)地圖為例,對地震發(fā)生后地面用戶節(jié)點的移動情況進行模擬。從移動模型中獲得各個時刻地面用戶節(jié)點的坐標,融入到布谷鳥算法的位置更新方程中,使無人機網(wǎng)絡能夠?qū)Φ孛嬗脩艄?jié)點進行動態(tài)覆蓋同時實現(xiàn)對重點區(qū)域的覆蓋率優(yōu)化。考慮到無人機網(wǎng)絡的連通性,引入虛擬力對布谷鳥算法的位置更新方程再次改進。使無人機網(wǎng)絡在維持網(wǎng)絡連通性的情況下適應了城市災區(qū)場景中用戶節(jié)點的動態(tài)移動性。
將本文算法同傳統(tǒng)布谷鳥算法以及改進的模擬退火算法進行多次實驗對比,本文所提算法針對城市環(huán)境下地面用戶節(jié)點的移動特性覆蓋優(yōu)化有效。采用本文所提算法,無人機網(wǎng)路的覆蓋率、連通性以及路徑損耗在動態(tài)環(huán)境下穩(wěn)定,全局尋優(yōu)能力以及局部尋優(yōu)能力強并能保持平衡性,且在覆蓋率上優(yōu)于其他兩種算法。以上證明本文所提算法具有一定的應用價值。