夏景明,劉玉風(fēng),談玲
(1.南京信息工程大學(xué)人工智能學(xué)院,江蘇 南京 210044;2.南京信息工程大學(xué)江蘇省大氣環(huán)境與裝備技術(shù)協(xié)同創(chuàng)新中心,江蘇 南京 210044;3.南京信息工程大學(xué)軟件學(xué)院,江蘇 南京 210044;4.南京信息工程大學(xué)計(jì)算機(jī)學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 210044)
無人機(jī)(UAV,unmanned aerial vehicle)具有體積小、價(jià)格低和移動性強(qiáng)等特點(diǎn),其作為空中移動用戶在移動邊緣計(jì)算中的優(yōu)勢明顯[1-3]。然而,當(dāng)面對復(fù)雜且時(shí)間敏感的計(jì)算任務(wù)時(shí),無人機(jī)自身的計(jì)算資源和處理能力明顯不足。為了應(yīng)對上述挑戰(zhàn),無人機(jī)可與配備移動邊緣計(jì)算(MEC,mobile edge computing)服務(wù)器的地面基站[4-6(]GBS,ground base station)進(jìn)行協(xié)作,以提高自身計(jì)算性能。目前,通過UAV 和配備MEC 服務(wù)器的GBS 協(xié)作完成計(jì)算任務(wù)方面已有較多研究。例如,文獻(xiàn)[7]研究了無人機(jī)的飛行軌跡以及卸載調(diào)度問題,并利用連續(xù)凸逼近(SCA,successive convex approximation)方法和迭代算法實(shí)現(xiàn)了計(jì)算任務(wù)處理時(shí)間最小化的目標(biāo)。文獻(xiàn)[8]在綜合考慮能量和時(shí)間約束的基礎(chǔ)上,在GBS 和相鄰無人機(jī)之間選擇最佳協(xié)作對象卸載計(jì)算任務(wù),并應(yīng)用密集算法進(jìn)行實(shí)驗(yàn)。文獻(xiàn)[9-10]通過對無人機(jī)軌跡、計(jì)算任務(wù)分配和傳輸功率的綜合考慮,應(yīng)用SCA 方法對初始問題進(jìn)行一系列轉(zhuǎn)化,實(shí)現(xiàn)了蜂窩連接的無人機(jī)MEC 網(wǎng)絡(luò)總能量消耗最小化的目標(biāo)。文獻(xiàn)[11]針對蜂窩連接的多無人機(jī)MEC 場景,重點(diǎn)考慮地面基站的能量約束和資源約束,對無人機(jī)的總能量消耗進(jìn)行優(yōu)化,同樣應(yīng)用了SCA 方法對原始問題進(jìn)行有效求解。
災(zāi)害救援與應(yīng)急保障是無人機(jī)網(wǎng)絡(luò)的主要應(yīng)用場景之一。文獻(xiàn)[7-11]均采用靜態(tài)算法解決目標(biāo)問題,并未考慮實(shí)際場景中因自然災(zāi)害造成部分GBS 損壞或因地理位置的缺陷導(dǎo)致GBS 建設(shè)困難的情形。如何在GBS 缺失的情況下盡快完成無人機(jī)計(jì)算任務(wù)還需要進(jìn)一步研究。對此,文獻(xiàn)[12]提出了一個兩層無人機(jī)的體系結(jié)構(gòu),其中,低空平臺無人機(jī)向配備MEC 服務(wù)器的高空平臺無人機(jī)卸載計(jì)算任務(wù),并應(yīng)用多領(lǐng)導(dǎo)者多追隨者的Stackelberg模型進(jìn)行求解。但該模型中攜帶計(jì)算任務(wù)的低空平臺無人機(jī)的位置是預(yù)先設(shè)定的,沒有涉及其機(jī)動性,實(shí)際場景往往不符合此條件。另外,高空平臺無人機(jī)的計(jì)算資源有限,難以應(yīng)對計(jì)算任務(wù)量的快速增加。針對該問題,文獻(xiàn)[13]將MEC 服務(wù)器部署在計(jì)算資源更加豐富的高空氣球(HAB,high-altitude balloon)上。當(dāng)MEC 支持的HAB 接收到無人機(jī)的計(jì)算任務(wù)時(shí),可獨(dú)立進(jìn)行高效處理,而無須傳輸?shù)竭h(yuǎn)程GBS 或云端,以此降低傳輸時(shí)延。此外,考慮到無人機(jī)與HAB 之間有更強(qiáng)、更可靠的視距連接,在移動邊緣計(jì)算中可充分利用HAB 的分布式計(jì)算資源來提高計(jì)算性能。這對于GBS 損壞而無法高效處理無人機(jī)的計(jì)算任務(wù)而言是一個重大突破。本文由此受到啟發(fā),將高空氣球引入本文模型中來協(xié)助無人機(jī)進(jìn)行任務(wù)卸載,旨在解決由無人機(jī)自身資源限制帶來的計(jì)算能力不足等問題,達(dá)到負(fù)載均衡的效果。
考慮到多無人機(jī)的移動性和自然環(huán)境的時(shí)變性,如何在蜂窩連接的無人機(jī)網(wǎng)絡(luò)中捕獲各種設(shè)備的位置信息,充分利用計(jì)算資源制定卸載策略也是值得探討的問題。數(shù)字孿生(DT,digital twins)技術(shù)可通過創(chuàng)建虛擬模型等手段來表示物理網(wǎng)絡(luò)中的真實(shí)對象,并實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài),進(jìn)而為用戶提供感知數(shù)據(jù)并最終做出準(zhǔn)確及時(shí)的卸載決策,滿足實(shí)際的智能需求[14-16]。鑒于DT 的技術(shù)優(yōu)勢,一些研究將其與MEC 相結(jié)合構(gòu)建了數(shù)字孿生邊緣網(wǎng)絡(luò)(DITEN,digital twins edge network),能夠?qū)崿F(xiàn)卸載模塊與實(shí)時(shí)環(huán)境的頻繁交互,查詢各個邊緣服務(wù)器的運(yùn)行狀態(tài),從而有效提高任務(wù)卸載效率并節(jié)約系統(tǒng)資源。例如,文獻(xiàn)[16]為解決多地面移動用戶能量消耗最小化問題,構(gòu)建了整個網(wǎng)絡(luò)的DITEN,并應(yīng)用雙深度Q 網(wǎng)絡(luò)(DDQN,double deep Q-network)實(shí)現(xiàn)了多地面移動用戶與多無人機(jī)的關(guān)聯(lián)。文獻(xiàn)[17]研究了移動用戶端智能卸載任務(wù)到協(xié)作移動邊緣服務(wù)器的問題,并建立了以降低功耗和時(shí)間開銷為目標(biāo)的數(shù)學(xué)優(yōu)化模型,最終采用決策樹算法和DDQN 算法進(jìn)行高效求解。然而,文獻(xiàn)[16-17]均未涉及無人機(jī)的軌跡連續(xù)問題,也未考慮計(jì)算任務(wù)的拆分情況,而在攜帶大量時(shí)延敏感型計(jì)算任務(wù)的無人機(jī)應(yīng)用中,因自身資源有限,無人機(jī)的高效任務(wù)處理將成為挑戰(zhàn),此時(shí)飛行軌跡優(yōu)化和計(jì)算任務(wù)拆分策略將變得至關(guān)重要。本文將針對這類時(shí)延敏感型應(yīng)用進(jìn)行著重討論,從無人機(jī)的飛行路線設(shè)計(jì)和計(jì)算任務(wù)卸載比例方面入手,研究飛行軌跡優(yōu)化算法,旨在實(shí)現(xiàn)無人機(jī)計(jì)算任務(wù)的高效處理。
基于以上討論,本文構(gòu)建一個由DT 輔助的多無人機(jī)和多高空氣球組成的兩層MEC 模型。該模型引入多只配備MEC 服務(wù)器的高空氣球協(xié)助無人機(jī)完成計(jì)算任務(wù),應(yīng)用DT 技術(shù)在高空氣球搭建無人機(jī)的數(shù)字孿生網(wǎng)絡(luò),重現(xiàn)無人機(jī)物理實(shí)體的實(shí)際運(yùn)行狀況,通過聯(lián)合優(yōu)化UAV-HAB 關(guān)聯(lián)、無人機(jī)的飛行軌跡、無人機(jī)的計(jì)算頻率和計(jì)算任務(wù)卸載比例來實(shí)現(xiàn)全部無人機(jī)總能量消耗最小化的目標(biāo)。
本文的主要貢獻(xiàn)如下。
1) 構(gòu)建一個由DT 輔助的多無人機(jī)和多高空氣球組成的兩層MEC 模型,并提出一種基于任務(wù)量比例的任務(wù)劃分策略來管理任務(wù)的計(jì)算和分配,在時(shí)延、速度的約束下,從能量消耗最小化的角度提出一個針對UAV-HAB 關(guān)聯(lián)、無人機(jī)軌跡、無人機(jī)的計(jì)算頻率和計(jì)算任務(wù)卸載比例的聯(lián)合優(yōu)化問題。
2) 考慮到所提出優(yōu)化問題的復(fù)雜性和非線性,任務(wù)卸載采用時(shí)分多址技術(shù),在連續(xù)的時(shí)隙中,高空氣球與無人機(jī)之間始終存在對應(yīng)關(guān)系,由此將UAV-HAB 關(guān)聯(lián)的二元整數(shù)變量松弛為連續(xù)變量,并應(yīng)用深度強(qiáng)化學(xué)習(xí)中的DDQN 算法求解,實(shí)現(xiàn)無人機(jī)與高空氣球間的有效關(guān)聯(lián),完成無人機(jī)卸載決策的制定。
3) 針對無人機(jī)軌跡優(yōu)化問題的非凸性,提出一種基于BCD 的迭代優(yōu)化算法,將所有優(yōu)化變量劃分為UAV-HAB 關(guān)聯(lián)、無人機(jī)飛行軌跡、無人機(jī)計(jì)算頻率和計(jì)算任務(wù)卸載比例3 個模塊,并應(yīng)用連續(xù)凸逼近算法來解決無人機(jī)飛行軌跡模塊中的非凸問題。BCD 算法在顯著降低復(fù)雜度的前提下實(shí)現(xiàn)了近似最優(yōu)解。
考慮到實(shí)際場景中多無人機(jī)的移動性和自然環(huán)境的時(shí)變性特點(diǎn),本文設(shè)計(jì)了一個基于DT 輔助的MEC 支持的多無人機(jī)網(wǎng)絡(luò),分為物理實(shí)體網(wǎng)絡(luò)和數(shù)字孿生網(wǎng)絡(luò),如圖1 所示。其中,編號為k,k∈K= {1,2,…,K}的無人機(jī)和編號為m,m∈M={1,2,…,M}的配備MEC 服務(wù)器的高空氣球共同構(gòu)成物理實(shí)體網(wǎng)絡(luò)。高空氣球采用均勻部署,對無人機(jī)通信區(qū)域全覆蓋。無人機(jī)與高空氣球以及高空氣球之間均通過無線方式進(jìn)行通信,主要依靠安裝在高空氣球上的通信模塊來完成,利用時(shí)分多址技術(shù)完成任務(wù)處理。所有物理實(shí)體的數(shù)字孿生體和無線通信環(huán)境等共同構(gòu)成數(shù)字孿生網(wǎng)絡(luò)。物理實(shí)體網(wǎng)絡(luò)中的無人機(jī)和高空氣球通過實(shí)時(shí)信道將自身運(yùn)行狀態(tài)和計(jì)算資源情況等發(fā)送到數(shù)字孿生網(wǎng)絡(luò),數(shù)字孿生網(wǎng)絡(luò)便根據(jù)物理實(shí)體網(wǎng)絡(luò)的數(shù)據(jù)構(gòu)建真實(shí)世界的虛擬模型,在該模型中,無人機(jī)的數(shù)字孿生體借助其實(shí)體傳送過來的參數(shù)等信息,有效評估多無人機(jī)系統(tǒng)能量消耗,輔助其進(jìn)行最佳決策的制定。此時(shí)無人機(jī)只需執(zhí)行其數(shù)字孿生體發(fā)送過來的指令,這種方式可以節(jié)省自身尋找最佳卸載節(jié)點(diǎn)的能量消耗和時(shí)延。
圖1 基于DT 輔助的MEC 支持的多無人機(jī)網(wǎng)絡(luò)
在給定的時(shí)間周期T內(nèi),多架無人機(jī)分別從初始位置飛行到終止位置,在飛行過程中還需要完成自身隨機(jī)產(chǎn)生的計(jì)算任務(wù)。這里,本文應(yīng)用時(shí)分多址技術(shù),將時(shí)間周期T均分為N份,每個時(shí)隙n,n∈N={1,2,…,N}的時(shí)長為δ[n],滿足T=Nδ[n]。
假設(shè)無人機(jī)k在時(shí)隙n攜帶的計(jì)算任務(wù)量大小為Dk[n](Dk[n] ≥ 0),其中,無人機(jī)k計(jì)算部分任務(wù),比例為ρk[n],并將剩余任務(wù)以1 -ρk[n]的比例卸載給配備MEC 服務(wù)器的HAB,由HAB 提供遠(yuǎn)程計(jì)算協(xié)助。顯然,0 ≤ρk[n] ≤ 1,ρk[n]=0表示在時(shí)隙n,無人機(jī)k將所有計(jì)算任務(wù)卸載到HAB;ρk[n]=1表示在時(shí)隙n,無人機(jī)k在本地完成所有計(jì)算任務(wù)。由于計(jì)算結(jié)果的大小一般遠(yuǎn)遠(yuǎn)小于任務(wù)輸入的大小,因此可以忽略HAB 返回計(jì)算結(jié)果給無人機(jī)的時(shí)間[7]。在三維笛卡兒坐標(biāo)系中,無人機(jī)k在時(shí)隙n的飛行高度為Hk,水平位置坐標(biāo)為
高空氣球m的懸停高度為Hm,水平位置坐標(biāo)為
在時(shí)隙n,無人機(jī)k與高空氣球m之間的距離可以表示為
與文獻(xiàn)[18-20]相似,考慮視距鏈路和自由空間路徑損失模型。因此,無人機(jī)k和高空氣球m之間的信道功率增益可以表示為
其中,β0表示參考距離為1 m 的信道功率增益[21]。
本文系統(tǒng)所利用的時(shí)分多址技術(shù)限制了無人機(jī)的計(jì)算卸載過程[22],即無人機(jī)最多與一個HAB進(jìn)行通信。設(shè)為UAVk與HABm之間關(guān)聯(lián)的二元整數(shù)變量,該變量表示UAVk是否被HABm服務(wù)。如果,表示HABm接收UAVk的計(jì)算任務(wù),否則表示不接收。因此,需滿足以下條件,即
式(5)表示在任意時(shí)隙n,UAVk只能將計(jì)算任務(wù)卸載給一個HAB。
另外,無人機(jī)k的軌跡Lk[n]受速度vk[n]和最小安全距離等的約束,即
其中,Lk,I表示無人機(jī)k的初始位置,Lk,F表示無人機(jī)k的終止位置,dmin表示無人機(jī)間最小安全距離。定義無人機(jī)k在時(shí)隙n計(jì)算卸載時(shí)的發(fā)射功率為p k,m[n]。假設(shè)每架無人機(jī)的發(fā)射功率已知,則在時(shí)隙n,UAVk和HABm的傳輸速率表示為
其中,B表示系統(tǒng)帶寬,σ2表示高斯白噪聲[23]。
本文考慮了一種特定類型的數(shù)字孿生體,即無人機(jī)。由于數(shù)字孿生技術(shù)在重現(xiàn)物理實(shí)體的實(shí)際運(yùn)行情況時(shí)會消耗大量計(jì)算資源,因此本文模型中所有無人機(jī)的數(shù)字孿生體將在配備MEC 服務(wù)器的高空氣球中建立。高空氣球可以存儲每個無人機(jī)實(shí)體的原始數(shù)據(jù),并監(jiān)視網(wǎng)絡(luò)的實(shí)時(shí)運(yùn)行狀態(tài)。無人機(jī)的數(shù)字孿生體是無人機(jī)實(shí)體的數(shù)字副本,它不斷地與無人機(jī)實(shí)體通過實(shí)時(shí)信道進(jìn)行交互,并根據(jù)實(shí)際的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、任務(wù)請求等進(jìn)行自我更新。需要注意的是,數(shù)字孿生體不能完全反映無人機(jī)的狀態(tài),并且可能與無人機(jī)的真實(shí)狀態(tài)值存在估計(jì)誤差。故在本文模型中,用表示在時(shí)隙n,無人機(jī)k與其數(shù)字孿生體之間計(jì)算頻率的估計(jì)誤差,其可正可負(fù),本文假設(shè)其為正值。根據(jù)上述定義,在時(shí)隙n,無人機(jī)k的數(shù)字孿生體構(gòu)建如下
無人機(jī)k的能量消耗包括本地計(jì)算能量消耗、傳輸能量消耗和飛行能量消耗。在時(shí)隙n,無人機(jī)k的本地計(jì)算能量消耗表示為
其中,Kk表示無人機(jī)k芯片結(jié)構(gòu)的預(yù)設(shè)參數(shù)值,C k[n] 表示無人機(jī)k完成1 bit 計(jì)算任務(wù)所需要的CPU 周期數(shù)。
在時(shí)隙n,無人機(jī)k一方面會進(jìn)行部分計(jì)算任務(wù)的卸載,另一方面會與高空氣球m保持持續(xù)交流和數(shù)據(jù)傳輸,其中的數(shù)據(jù)包含計(jì)算任務(wù)的相關(guān)信息和數(shù)字孿生體的相關(guān)參數(shù)等,故在整個時(shí)隙n中,無人機(jī)k的傳輸能量消耗表示為
則在時(shí)隙n,無人機(jī)k的飛行能量消耗表示為
其中,P[v k[n]]表示無人機(jī)k在時(shí)隙n的飛行功耗,表示為
其中,P0表示懸停狀態(tài)下無人機(jī)k的翼型功率,Utip表示轉(zhuǎn)子葉尖轉(zhuǎn)速,Pi表示懸停狀態(tài)下無人機(jī)k的誘導(dǎo)功率,V0表示前進(jìn)飛行時(shí)感應(yīng)轉(zhuǎn)子的平均速度,d0表示機(jī)身阻力比,ε表示空氣密度,s表示轉(zhuǎn)子壓實(shí)度,M0表示轉(zhuǎn)子盤面積。
在時(shí)隙n,無人機(jī)k執(zhí)行計(jì)算任務(wù)所需的估計(jì)時(shí)間為
由于數(shù)字孿生體和實(shí)體之間的數(shù)據(jù)交互存在時(shí)延誤差,故無人機(jī)的數(shù)字孿生體有時(shí)不能準(zhǔn)確反映無人機(jī)實(shí)體的真實(shí)狀態(tài),但真實(shí)計(jì)算時(shí)延和數(shù)字孿生估計(jì)時(shí)延之間的誤差可以提前獲得。則在時(shí)隙n,無人機(jī)k的真實(shí)計(jì)算時(shí)延與其數(shù)字孿生體估計(jì)時(shí)延之間的計(jì)算時(shí)延間隙表示為[24]
則在時(shí)隙n,無人機(jī)k本地計(jì)算實(shí)際消耗的時(shí)間為
系統(tǒng)參數(shù)及其含義如表1 所示。
表1 系統(tǒng)參數(shù)及其含義
其中,約束C1表示無人機(jī)k與高空氣球m之間的關(guān)聯(lián)變量是一個二元整數(shù)變量;約束C2表示在任意時(shí)隙n,無人機(jī)k只能將計(jì)算任務(wù)卸載給一個高空氣球進(jìn)行處理;約束C3表示在時(shí)隙n,無人機(jī)k的速度不能超過最大飛行速度;約束C4表示無人機(jī)k的初始位置和終止位置;約束C5表示無人機(jī)k在時(shí)隙n的軌跡約束;約束C6表示在時(shí)隙n,為防止碰撞,兩架無人機(jī)之間的最小安全距離設(shè)置;約束C7表示在時(shí)隙n,無人機(jī)k的數(shù)字孿生體對真實(shí)計(jì)算頻率估計(jì)值的大小設(shè)置,保證其不超過無人機(jī)的數(shù)字孿生體對真實(shí)最大計(jì)算頻率的估計(jì)值;約束C8表示在時(shí)隙n,無人機(jī)k完成計(jì)算任務(wù)消耗的時(shí)間不能超過其能容忍的最大時(shí)延上限;約束C9表示在時(shí)隙n,無人機(jī)k卸載任務(wù)比例的范圍限制;約束C10表示在時(shí)隙n,無人機(jī)k上行鏈路傳輸?shù)目偙忍財(cái)?shù)需滿足的條件。
從約束條件中可以很容易地觀察到,約束C1和C2中的UAV-HAB關(guān)聯(lián)變量涉及二元整數(shù)變量和目標(biāo)函數(shù),約束C6和約束C10與優(yōu)化變量ρ和L存在高度耦合性。因此,優(yōu)化問題P1 是一個非凸混合整數(shù)非線性規(guī)劃問題,而傳統(tǒng)的凸優(yōu)化技術(shù)無法解決該問題。本文將原始問題P1 分解為3 個更易于處理的子問題,即UAV-HAB 關(guān)聯(lián)子問題、UAV 軌跡子問題、計(jì)算任務(wù)卸載比例和計(jì)算資源分配子問題。本文設(shè)計(jì)了一種基于深度強(qiáng)化學(xué)習(xí)和交替迭代的算法來得到原始問題的收斂次優(yōu)解。
由于P1 的非線性,直接求解不現(xiàn)實(shí)。本文通過求解以下3 個子問題獲得原問題P1 的最優(yōu)解,算法流程如圖2 所示。首先在給定可行{F,L,ρ}下優(yōu)化{A},應(yīng)用DDQN 算法求解;然后在給定可行{A,F,ρ}下優(yōu)化{L},因其存在的非凸結(jié)構(gòu),故應(yīng)用SCA 技術(shù)進(jìn)行優(yōu)化;最后在給定可行{A,L} 下優(yōu)化{F,ρ},應(yīng)用優(yōu)化工具CVX 有效解決。本節(jié)分別給出以上3 個子問題的求解過程。
圖2 算法流程
由于動態(tài)網(wǎng)絡(luò)環(huán)境和系統(tǒng)要求,在計(jì)算卸載中,采用智能方法來實(shí)現(xiàn)更好的卸載決策至關(guān)重要。本節(jié)首先闡述深度強(qiáng)化學(xué)習(xí)的4 個關(guān)鍵元素,然后利用DDQN 算法對未知環(huán)境進(jìn)行探索,優(yōu)化UAV-HAB 關(guān)聯(lián)變量,不僅解決了深度Q 網(wǎng)絡(luò)估計(jì)過高的問題,而且解決了UAV 位置變化導(dǎo)致的狀態(tài)-動作對大量增加的問題。
深度強(qiáng)化學(xué)習(xí)的4 個關(guān)鍵要素為智能體和環(huán)境、狀態(tài)、動作和獎勵[24],本文具體的系統(tǒng)模型如下。
智能體和環(huán)境。在本文提出的數(shù)字孿生技術(shù)輔助多無人機(jī)計(jì)算任務(wù)卸載模型中,環(huán)境中的智能體的目標(biāo)是最大化其未來的潛在回報(bào)。因此,與其他強(qiáng)化學(xué)習(xí)方法不同,本文模型通過定義與能量成本負(fù)相關(guān)的獎勵,將最小的能量消耗總和轉(zhuǎn)化為最大的獎勵。
狀態(tài)。系統(tǒng)狀態(tài)由以下幾個部分組成
其中,Lk[n] 表示無人機(jī)k在時(shí)隙n的位置,Dk[n]表示無人機(jī)k在時(shí)隙n生成的計(jì)算任務(wù)比特?cái)?shù),Tk[n] 表示無人機(jī)k在時(shí)隙n完成計(jì)算任務(wù)能容忍的最大時(shí)延,Lm表示高空氣球m的位置。智能體在執(zhí)行一個動作后將從一個狀態(tài)轉(zhuǎn)換到另一個特定的狀態(tài)。
動作。綜合提出的網(wǎng)絡(luò)模型,行動包括
獎勵。智能體在執(zhí)行每一個可能的動作后,在特定狀態(tài)下獲得獎勵。在某種意義上,獎勵函數(shù)應(yīng)該與目標(biāo)函數(shù)相關(guān)聯(lián)。然而,本文的目標(biāo)函數(shù)是最小化系統(tǒng)的總能量消耗,強(qiáng)化學(xué)習(xí)的目標(biāo)是最大化獎勵。因此,獎勵的價(jià)值應(yīng)該與目標(biāo)函數(shù)呈負(fù)相關(guān),故將即時(shí)獎勵定義為
其中,v表示懲罰項(xiàng)。
給定多無人機(jī)的實(shí)時(shí)位置、多無人機(jī)的傳輸功率、多無人機(jī)的計(jì)算任務(wù)卸載比例和計(jì)算資源分配,則關(guān)于UAV-HAB 關(guān)聯(lián)的優(yōu)化問題可以構(gòu)建為
其中,π*表示{A} 的最優(yōu)策略。
為了解決問題P1.1,本文使用帶有經(jīng)驗(yàn)重放的優(yōu)化算法DDQN 來獲得最優(yōu)策略。DDQN 不是在目標(biāo)網(wǎng)絡(luò)里面直接搜索最大Q值的動作,而是先在預(yù)測網(wǎng)絡(luò)中找出最大Q值對應(yīng)的動作,即
其中,φ1表示預(yù)測網(wǎng)絡(luò)的參數(shù),φ2表示目標(biāo)網(wǎng)絡(luò)的參數(shù)。然后利用選取出來的動作在目標(biāo)網(wǎng)絡(luò)中計(jì)算目標(biāo)Q值,即
其中,ω表示折扣因子。
損失函數(shù)為
其中,P表示在記憶庫D中抽取的樣本數(shù)量。
DDQN 算法框架如圖3 所示,基于DDQN 算法的流程如算法1 所示。
圖3 DDQN 算法框架
算法1基于DDQN 算法的流程
當(dāng)UAV-HAB 關(guān)聯(lián)、多無人機(jī)的計(jì)算任務(wù)卸載比例和計(jì)算容量分配給定時(shí),可以得到如下優(yōu)化問題
除了目標(biāo)函數(shù)、約束C6和C10,其他約束均存在凸結(jié)構(gòu)。因此,不能直接應(yīng)用標(biāo)準(zhǔn)凸優(yōu)化方法來解決。針對目標(biāo)函數(shù),首先引入松弛變量{φk[n]},將的原表達(dá)式轉(zhuǎn)換為
問題P1.3 具有凸結(jié)構(gòu),可以使用標(biāo)準(zhǔn)凸優(yōu)化方法有效解決。
當(dāng)UAV-HAB 關(guān)聯(lián)和無人機(jī)的軌跡給定時(shí),得到如下優(yōu)化問題
問題P1.4 是一個標(biāo)準(zhǔn)的線性規(guī)劃問題,可以使用優(yōu)化工具 CVX 來有效解決。聯(lián)合優(yōu)化LSAV-HAV 關(guān)聯(lián)、無人機(jī)軌跡、無人機(jī)計(jì)算資源分配和計(jì)算任務(wù)卸載比例的算法如算法2 所示。
算法2聯(lián)合優(yōu)化LSAV-HAV 關(guān)聯(lián)、無人機(jī)軌跡、無人機(jī)計(jì)算資源分配和計(jì)算任務(wù)卸載比例的算法
定義r=0,初始化K,M,Hk,Hm,β0,vmax,dmin,Lk,I,Lk,F,B,ξ,網(wǎng)絡(luò)參數(shù)φ1和φ2
1) 在給定的F,L,ρ下,應(yīng)用算法1 解決問題P1.1,得到最優(yōu)策略π*;
2) 循環(huán)
3) 應(yīng)用SCA 技術(shù)解決問題P1.3,得到無人機(jī)軌跡Lr;
4) 應(yīng)用優(yōu)化工具CVX 解決問題P1.4,得到無人機(jī)計(jì)算資源分配和計(jì)算任務(wù)卸載比例
5)r=r+1;
6) 直到相鄰目標(biāo)函數(shù)值之間的絕對值之差小于閾值ξ;
7) 輸出UAV-HAV 的關(guān)聯(lián)A、無人機(jī)軌跡L、無人機(jī)計(jì)算資源分配F和計(jì)算任務(wù)卸載比例ρ。
為解決問題P1.1,采用DDQN 算法。然而,神經(jīng)網(wǎng)絡(luò)的計(jì)算復(fù)雜度受許多因素的影響,如數(shù)據(jù)的大小、模型的復(fù)雜性和整體算法框架。神經(jīng)網(wǎng)絡(luò)的復(fù)雜性分析是一個非常復(fù)雜的問題,很少有研究涉及這一問題。為了簡化這個問題,本文關(guān)注生成最優(yōu)動作的計(jì)算復(fù)雜性。在每次迭代中,DDQN 中的每個智能體遍歷所有動作,尋找Q值最大的最優(yōu)動作。在本文模型中,每個時(shí)隙有K個無人機(jī),每個無人機(jī)可以從M+1 個動作中選擇一個。因此,相應(yīng)的計(jì)算復(fù)雜度為O(NK(M+1))。解決問題P1.3 的求解復(fù)雜度為O(N(K(K- 1)+KM))。因此,算法2總的計(jì)算復(fù)雜度為O(NK(M+1) +EN(K(K-1)+KM)),其中,E為外部迭代次數(shù)。
圖4 給出了不同學(xué)習(xí)率下DDQN 算法的收斂性。從圖4 可知,DDQN 算法的獎勵值隨著迭代次數(shù)的增加達(dá)到收斂;學(xué)習(xí)率越高,DDQN 的收斂速度越快。另外,隨著學(xué)習(xí)率的增加,得到局部最優(yōu)解而不是全局最優(yōu)解的可能性變大。因此,需要根據(jù)具體情況選擇合適的學(xué)習(xí)率。
圖4 不同學(xué)習(xí)率下DDQN 算法的收斂性
本文使用Python3.7 和TensorFlow 框架對多無人機(jī)空中用戶計(jì)算任務(wù)卸載方案進(jìn)行了仿真,考慮兩架無人機(jī)和3個配備MEC服務(wù)器的高空氣球分布在1 000 m×1 000 m 區(qū)域中。其中,兩架無人機(jī)的飛行高度統(tǒng)一設(shè)置為Hk= 500m,3 個高空氣球的懸停高度統(tǒng)一設(shè)置為2 500 m。任意時(shí)隙下,無人機(jī)k的發(fā)射功率為p k,m[n]=2 W,所有無人機(jī)的最大飛行速度為vmax= 30 m/s。其他參數(shù)設(shè)置如表2 所示。為了評估本文算法,本文設(shè)計(jì)實(shí)驗(yàn)方案如下。
表2 參數(shù)設(shè)置
1) 為了說明本文算法較其他算法的優(yōu)越性,本文分別給出無卸載方案、深度Q 網(wǎng)絡(luò)方案和本文算法對多無人機(jī)能量消耗最優(yōu)化的仿真實(shí)驗(yàn)結(jié)果。
2) 為了體現(xiàn)DT 對能量消耗最優(yōu)化的影響,本文設(shè)計(jì)了有DT 輔助和無DT 輔助的對比實(shí)驗(yàn)方案,進(jìn)一步證明了DT 輔助方案(本文算法)的有效性和優(yōu)越性。
3) 為了評估無人機(jī)任務(wù)卸載比例對其飛行軌跡、能量消耗的性能影響,本文分別給出不同計(jì)算任務(wù)卸載比例下的無人機(jī)軌跡仿真圖像和無人機(jī)計(jì)算任務(wù)占比對其能量消耗影響的仿真實(shí)驗(yàn)結(jié)果,進(jìn)一步說明本文算法在降低無人機(jī)能量消耗方面的有效性。
4 種對比方案如下。
1) 無卸載方案。計(jì)算任務(wù)都由無人機(jī)執(zhí)行,優(yōu)化無人機(jī)的軌跡和計(jì)算資源分配。
2) 深度Q 網(wǎng)絡(luò)方案。無人機(jī)的計(jì)算任務(wù)卸載到哪一個高空氣球端由深度Q 網(wǎng)絡(luò)優(yōu)化。
3) 無DT 輔助的方案。整個系統(tǒng)沒有應(yīng)用數(shù)字孿生技術(shù),即在處理無人機(jī)攜帶的計(jì)算任務(wù)時(shí)需要額外的數(shù)據(jù)交互。
4) 本文算法。無人機(jī)部分比例計(jì)算任務(wù)在本地計(jì)算,部分比例計(jì)算任務(wù)可以卸載到配備MEC服務(wù)器的高空氣球計(jì)算。
圖5 給出了不同時(shí)間周期T對所有無人機(jī)能量消耗的影響。從圖5 可知,隨著時(shí)間周期T的增加,所有方案下的系統(tǒng)能量消耗都呈上升趨勢。其中,無卸載方案下的系統(tǒng)能量消耗最大,而其他方案實(shí)現(xiàn)了更小的能量消耗。這是由于其他方案下的HAB 可作為一個輔助計(jì)算平臺,與無人機(jī)協(xié)作完成攜帶任務(wù)。此外,本文算法也優(yōu)于深度Q 網(wǎng)絡(luò)方案,這可以解釋為深度Q 網(wǎng)絡(luò)方案使用相同的值來選擇和評價(jià)一個動作,但本文算法克服了該缺點(diǎn),進(jìn)一步提高了目標(biāo)Q值。
圖5 不同時(shí)間周期T 對所有無人機(jī)能量消耗的影響
圖6給出了不同計(jì)算任務(wù)量對所有無人機(jī)能量消耗的影響。從圖6可知,隨著計(jì)算任務(wù)量的增加,無人機(jī)能量消耗越來越大。其中,本文算法總是比其他方案表現(xiàn)出更好的性能,而且隨著每架無人機(jī)計(jì)算任務(wù)量的增加,這種優(yōu)勢變得越來越明顯。
圖6 不同計(jì)算任務(wù)量對所有無人機(jī)能量消耗的影響
圖7 給出了不同計(jì)算頻率對所有無人機(jī)能量消耗的影響。從圖7 可知,無人機(jī)的能量消耗隨著計(jì)算頻率的增加而增加。其原因是基于本地計(jì)算頻率表達(dá)式,無人機(jī)本地計(jì)算的能量消耗與計(jì)算頻率呈正相關(guān),故當(dāng)無人機(jī)的計(jì)算頻率增加時(shí),無人機(jī)的能量消耗也隨之增加。無卸載方案、深度Q 網(wǎng)絡(luò)方案能量消耗較大,本文算法的能量消耗較小。
圖7 不同計(jì)算頻率對所有無人機(jī)能量消耗的影響
圖8 給出了有無DT 輔助下不同計(jì)算任務(wù)量對所有無人機(jī)能量消耗的影響。從圖8 可知,有DT輔助方案的系統(tǒng)能量消耗明顯小于無DT 輔助方案。其原因是每個無人機(jī)的狀態(tài)都存儲在DT 中,在尋找卸載點(diǎn)時(shí)不需要額外的數(shù)據(jù)交互,進(jìn)而減少了系統(tǒng)的能量消耗,節(jié)省了數(shù)據(jù)傳輸?shù)臅r(shí)間。
圖8 有無DT 輔助下不同計(jì)算任務(wù)量對所有無人機(jī)能量消耗的影響
圖9 給出了時(shí)間周期T= 100 s時(shí),不同計(jì)算任務(wù)卸載比例下的無人機(jī)軌跡。無人機(jī)1 的初始水平位置和終止水平位置分別設(shè)定為L1[0]=(-5 00,-2 25)和L1[N]= (500,-2 25),無人機(jī)2的初始水平位置和終止水平位置分別設(shè)定為L2[0]=(-5 00,225)和L2[N]= (500,225),3 個配備MEC 服務(wù)器的高空氣球水平位置坐標(biāo)分別設(shè)置為L1=(- 300,0)、L2= (0,0)和L3= (300,0)。從圖9 可知,依據(jù)本文算法優(yōu)化所得的無人機(jī)軌跡曲線變化幅度較小,并且無人機(jī)傾向于靠近配備MEC 服務(wù)器的高空氣球,這意味著更多的計(jì)算任務(wù)會卸載到高空氣球進(jìn)行處理,而無人機(jī)用于本地計(jì)算的能量消耗會減少。另一個觀察結(jié)果是,在計(jì)算任務(wù)全部卸載的情況下,無人機(jī)無限靠近配備MEC 服務(wù)器的高空氣球,但無人機(jī)能量總消耗明顯大于本文算法。
圖9 時(shí)間周期T=100 s 時(shí),不同計(jì)算任務(wù)卸載比例下的無人機(jī)軌跡
圖10 給出了無人機(jī)計(jì)算任務(wù)占比對所有無人機(jī)能量消耗的影響。從圖10 可知,無論是本文算法還是深度Q 網(wǎng)絡(luò)方案,無人機(jī)的總能量消耗總是隨著無人機(jī)計(jì)算任務(wù)占比的增加而增加。其原因是基于本地計(jì)算頻率表達(dá)式,無人機(jī)本地計(jì)算能量消耗與無人機(jī)計(jì)算任務(wù)占比呈正相關(guān),即當(dāng)無人機(jī)的計(jì)算任務(wù)占比增加時(shí),無人機(jī)的能量消耗也隨之增加。另外,可以明顯觀察到,本文算法相較深度Q 網(wǎng)絡(luò)方案在減少能量消耗方面一直保持較大優(yōu)勢。
圖10 無人機(jī)計(jì)算任務(wù)占比對所有無人機(jī)能量消耗的影響
本文搭建了一種數(shù)字孿生技術(shù)輔助下的移動邊緣計(jì)算蜂窩連接多無人機(jī)網(wǎng)絡(luò)模型,引入多只配備MEC 服務(wù)器的高空氣球協(xié)助無人機(jī)完成計(jì)算任務(wù),并研究了多無人機(jī)軌跡優(yōu)化和資源分配方案。以多無人機(jī)的總能量消耗最小化為目標(biāo),通過聯(lián)合優(yōu)化UAV-HAB 關(guān)聯(lián)、無人機(jī)飛行軌跡、計(jì)算頻率分配和計(jì)算任務(wù)卸載比例,實(shí)現(xiàn)了多無人機(jī)任務(wù)的高效處理。在制定卸載決策時(shí),借助DDQN 算法處理UAV-HAB 關(guān)聯(lián)存在的二元整數(shù)問題,實(shí)現(xiàn)了無人機(jī)與高空氣球間的有效關(guān)聯(lián),并采用連續(xù)凸逼近技術(shù)解決無人機(jī)飛行軌跡存在的非凸問題。仿真結(jié)果表明,本文算法在執(zhí)行無人機(jī)計(jì)算任務(wù)時(shí)能量消耗降低了30%,優(yōu)于其他對比算法。下一步將在本文的基礎(chǔ)上考慮無人機(jī)計(jì)算任務(wù)卸載過程中的三維軌跡優(yōu)化和發(fā)射功率分配。該類優(yōu)化問題中的優(yōu)化變量間存在高度耦合性和復(fù)雜性,這也是未來工作的重點(diǎn)和難點(diǎn)。