摘" 要: 針對(duì)多無人機(jī)輔助海上物聯(lián)網(wǎng)搜救場景,為了使無人機(jī)能處理無人船卸載的更多計(jì)算任務(wù),同時(shí)盡可能減少無人機(jī)的能量浪費(fèi),文中提出一種基于深度確定性策略梯度(DDPG)的任務(wù)感知聯(lián)合卸載和資源分配算法。首先,考慮無人機(jī)可自適應(yīng)調(diào)整時(shí)隙內(nèi)飛行時(shí)間以及無人船卸載任務(wù)在無人機(jī)排隊(duì)計(jì)算的實(shí)際情況,建立了通信模型、計(jì)算模型和能耗模型。其次,通過聯(lián)合考慮卸載決策、功率分配以及無人機(jī)飛行軌跡規(guī)劃和速度調(diào)整,構(gòu)建最大化所有無人機(jī)平均收益的優(yōu)化問題;然后將該問題轉(zhuǎn)化為馬爾科夫決策過程,確立了對(duì)應(yīng)的狀態(tài)空間、動(dòng)作空間和獎(jiǎng)勵(lì)函數(shù),并通過DDPG算法求解出最優(yōu)策略。仿真結(jié)果表明,與其他基準(zhǔn)算法相比,所提算法可以有效提高無人機(jī)的平均收益。
關(guān)鍵詞: 移動(dòng)邊緣計(jì)算; 無人機(jī); 深度強(qiáng)化學(xué)習(xí); 計(jì)算卸載; 功率分配; 軌跡規(guī)劃
中圖分類號(hào): TN929.5?34" " " " " " " " " " " 文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " " " " " " "文章編號(hào): 1004?373X(2025)03?0141?08
Deep reinforcement learning based joint offloading and resource allocation
for UAV?assisted maritime Internet of Things
LI Yunuo, WEI Ze, HE Rongxi
(College of Information Science and Technology, Dalian Maritime University, Dalian 116026, China)
Abstract: In order to enable unmanned aerial vehicles (UAVs) to compute more tasks offloaded by multiple unmanned surface vessels (USVs) while reducing their energy waste as much as possible, a deep deterministic policy gradient (DDPG)?based task?aware joint offloading and resource allocation (DTJORA) algorithm is proposed for a search and rescue scenario based on multiple UAV?assisted maritime Internet of Things (MIoT). Firstly, a communication model, a computation model, and an energy consumption model are presented on the basis of considering the adaptive adjustment of UAVs′ flight time within each time slot and the UAVs′ actual queuing of offloaded tasks by USVs. Secondly, an optimization problem for maximizing the average revenue of all UAVs is formulated by jointly considering offloading decisions, power allocation, and UAV trajectory planning and speed adjustment. And then the problem is transformed into a Markov decision process, the corresponding state space, action space and reward function are presented, and the optimal strategy is achieved by the DDPG algorithm. Simulation results show that the proposed algorithm can improve the average revenue of UAVs effectively in comparison with the other benchmark algorithms.
Keywords: mobile edge computing; UAV; deep reinforcement learning; computation offloading; power allocation; trajectory planning
0" 引" 言
近年來,海上運(yùn)輸、海上搜救、海洋環(huán)境監(jiān)測等海上業(yè)務(wù)的持續(xù)繁榮,極大地推動(dòng)了海上物聯(lián)網(wǎng)(Maritime Internet of Things, MIoT)的快速發(fā)展[1],同時(shí)也使MIoT中涌現(xiàn)出越來越多的計(jì)算密集型和延時(shí)敏感型應(yīng)用,大大增加了海上終端設(shè)備的能耗和計(jì)算需求。然而一些海上終端設(shè)備(如智能航標(biāo)、無人船等)的能量和計(jì)算資源有限,為此,可將移動(dòng)邊緣計(jì)算(Mobile Edge Computing, MEC)引入MIoT中,以滿足這些資源受限的海上終端設(shè)備的計(jì)算和低延時(shí)需求[2]。配有MEC服務(wù)器的無人機(jī)(Unmanned Aerial Vehicle, UAV)憑借其靈活性、易部署、性價(jià)比高等優(yōu)點(diǎn),可以方便地動(dòng)態(tài)部署在靠近終端用戶的位置,能滿足突發(fā)狀況下用戶的通信和計(jì)算需求,因此,在地面固定基站無法覆蓋的MIoT中具有極大的應(yīng)用前景[1]。
計(jì)算卸載作為UAV輔助MEC中一個(gè)關(guān)鍵問題,近年來得到了廣泛研究。文獻(xiàn)[3]針對(duì)單無人機(jī)輔助MEC網(wǎng)絡(luò),提出一種混合自然啟發(fā)優(yōu)化算法聯(lián)合優(yōu)化用戶卸載決策、無人機(jī)位置和計(jì)算資源的分配,以最小化系統(tǒng)能耗問題。文獻(xiàn)[4]針對(duì)單無人機(jī)輔助的多接入邊緣計(jì)算系統(tǒng),考慮卸載決策和資源競爭的約束,用博弈計(jì)算卸載算法以最小化系統(tǒng)時(shí)間、延遲和能耗的加權(quán)成本。文獻(xiàn)[5]提出一種面向智能集裝箱的海上無人機(jī)輔助數(shù)據(jù)卸載算法,以降低智能容器在數(shù)據(jù)規(guī)模需求和可用能量約束下的平均卸載時(shí)延。文獻(xiàn)[6]針對(duì)單無人機(jī)輔助MEC網(wǎng)絡(luò),聯(lián)合優(yōu)化無人機(jī)軌跡和計(jì)算資源分配,用塊交替下降法以最小化無人機(jī)和用戶設(shè)備的加權(quán)和能耗。文獻(xiàn)[7]研究了單無人機(jī)輔助空地一體化的MEC系統(tǒng),在能耗、延遲、計(jì)算和通信資源約束下,聯(lián)合優(yōu)化深度神經(jīng)網(wǎng)絡(luò)模型決策、計(jì)算和通信資源分配以及無人機(jī)軌跡控制,以最小化服務(wù)延遲。
由于單架UAV的處理能力和服務(wù)范圍都有限,無法執(zhí)行大量復(fù)雜的任務(wù)。因此,不少文獻(xiàn)研究了多無人機(jī)輔助MEC網(wǎng)絡(luò)的計(jì)算卸載問題。文獻(xiàn)[8]研究了多無人機(jī)輔助的兩級(jí)MEC系統(tǒng),考慮無人機(jī)資源有限和任務(wù)可容忍的延遲,以最小化移動(dòng)終端和無人機(jī)的能耗為目標(biāo),用塊連續(xù)上界最小化方法聯(lián)合解決任務(wù)卸載、通信和計(jì)算資源分配問題。文獻(xiàn)[9]針對(duì)多無人機(jī)輔助MEC網(wǎng)絡(luò),考慮多用戶計(jì)算卸載和邊緣服務(wù)器部署,用類似棋子的異步更新算法來解決最小化動(dòng)態(tài)環(huán)境下的系統(tǒng)計(jì)算成本問題。文獻(xiàn)[10]針對(duì)多無人機(jī)輔助MEC網(wǎng)絡(luò),考慮了MEC排隊(duì)時(shí)延,用最優(yōu)傳輸理論和粒子群算法聯(lián)合優(yōu)化用戶關(guān)聯(lián)和無人機(jī)部署,以最小化平均任務(wù)時(shí)延。文獻(xiàn)[11]研究了一種云服務(wù)器和無人機(jī)協(xié)作的多無人機(jī)輔助云無線充電系統(tǒng),通過基于柯西變異的混沌自適應(yīng)甲蟲群優(yōu)化算法輔助的塊坐標(biāo)下降算法聯(lián)合優(yōu)化資源?軌跡,以提升系統(tǒng)的節(jié)能能力。文獻(xiàn)[12]針對(duì)多無人機(jī)輔助MEC網(wǎng)絡(luò),提出一種任務(wù)卸載策略和基于最短距離算法的無人機(jī)在線調(diào)度算法,旨在盡可能滿足用戶需求前提下,最小化UAV的能耗,以實(shí)現(xiàn)更高的資源利用率。
由于在一些動(dòng)態(tài)復(fù)雜的通信網(wǎng)絡(luò)中,其時(shí)變環(huán)境導(dǎo)致問題復(fù)雜度和規(guī)模增加,傳統(tǒng)算法很難快速有效解決,而深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)可以很好地克服這些缺點(diǎn),因此,不少文獻(xiàn)將DRL引入U(xiǎn)AV輔助MEC來解決計(jì)算卸載問題。文獻(xiàn)[13]針對(duì)多無人機(jī)輔助MEC系統(tǒng),提出基于差分進(jìn)化的部署策略和DRL輔助的任務(wù)調(diào)度方案來實(shí)現(xiàn)負(fù)載均衡的任務(wù)卸載。文獻(xiàn)[14]研究了時(shí)變信道狀態(tài)下單無人機(jī)輔助MEC系統(tǒng)的計(jì)算卸載問題,聯(lián)合優(yōu)化用戶調(diào)度、任務(wù)卸載比例、無人機(jī)飛行角度和速度,用基于深度確定性策略梯度(Deep Deterministic Policy Gradient, DDPG)的計(jì)算卸載算法最小化處理時(shí)延。文獻(xiàn)[15]針對(duì)單無人機(jī)輔助的MEC網(wǎng)絡(luò),提出基于雙延遲DDPG無人機(jī)軌跡規(guī)劃和任務(wù)卸載算法,通過聯(lián)合優(yōu)化無人機(jī)飛行規(guī)劃、有向無環(huán)圖任務(wù)委托和調(diào)度層級(jí)以減小系統(tǒng)延遲。文獻(xiàn)[16]研究了多無人機(jī)輔助MEC場景,提出一種基于DRL的動(dòng)態(tài)延遲敏感協(xié)作框架,聯(lián)合優(yōu)化無人機(jī)飛行軌跡、用戶的卸載決策,在考慮時(shí)延和能耗的同時(shí)最大化無人機(jī)的效用。文獻(xiàn)[17]研究了多無人機(jī)輔助MEC的能量調(diào)度問題,通過聯(lián)合優(yōu)化無人機(jī)軌跡規(guī)劃、能量更新和應(yīng)用部署,以最大化所有無人機(jī)的長期能效,并提出一種基于三重學(xué)習(xí)器的強(qiáng)化學(xué)習(xí)方法,以實(shí)現(xiàn)優(yōu)化目標(biāo)。
盡管文獻(xiàn)[14?17]研究了UAV輔助的MEC中聯(lián)合無人機(jī)軌跡規(guī)劃和卸載問題,但卻采用等時(shí)隙劃分下UAV先飛行一段固定時(shí)間再懸停接收和處理用戶的卸載任務(wù),無法根據(jù)用戶終端產(chǎn)生任務(wù)量多少調(diào)整飛行時(shí)間和懸停時(shí)間,可能導(dǎo)致無人機(jī)不必要的能量浪費(fèi),或減小了無人機(jī)接收和處理的計(jì)算任務(wù)量。具體而言,當(dāng)用戶終端產(chǎn)生任務(wù)量較小時(shí),所需計(jì)算時(shí)間較短,此時(shí)無人機(jī)可以較小速度飛行較長時(shí)間,然后再懸停進(jìn)行任務(wù)接收和處理,而上述固定飛行時(shí)間策略可能導(dǎo)致設(shè)置的飛行時(shí)間較短,無人機(jī)需以較大速度飛行,而懸停時(shí)間過長,遠(yuǎn)大于無人機(jī)接收和處理卸載任務(wù)時(shí)間,導(dǎo)致不必要的能量消耗。相反,在用戶產(chǎn)生較大任務(wù)量時(shí),所需懸停計(jì)算時(shí)間較大,而固定飛行時(shí)間策略可能導(dǎo)致無人機(jī)沒有足夠時(shí)間去接收和計(jì)算上傳的任務(wù),使得計(jì)算任務(wù)量很小。以上兩種情況均會(huì)導(dǎo)致無人機(jī)收益降低。另外,文獻(xiàn)[14?16]未涉及優(yōu)化無人機(jī)計(jì)算任務(wù)數(shù),雖文獻(xiàn)[17]優(yōu)化了無人機(jī)處理任務(wù)數(shù),但其假設(shè)無人機(jī)從收到第一個(gè)上傳任務(wù)后就一直計(jì)算,未考慮某個(gè)用戶上傳完任務(wù)之前無人機(jī)可能已處理完隊(duì)列中所有任務(wù)而出現(xiàn)空閑的情況,其得出的無人機(jī)計(jì)算任務(wù)數(shù)可能會(huì)比實(shí)際多。為此本文針對(duì)多個(gè)UAV和多個(gè)無人船(Unmanned Surface Vehicle, USV)構(gòu)成的海上MIoT搜救場景,考慮多個(gè)USV產(chǎn)生任務(wù)大小各異以及上傳任務(wù)在無人機(jī)排隊(duì)計(jì)算的實(shí)際情況,為了讓無人機(jī)能夠感知任務(wù)大小自適應(yīng)調(diào)整飛行時(shí)間,使其能計(jì)算更多任務(wù)同時(shí)減少能量浪費(fèi),通過對(duì)卸載決策、功率分配以及無人機(jī)的軌跡規(guī)劃和飛行速度進(jìn)行聯(lián)合優(yōu)化,以最大化所有無人機(jī)的平均收益為目標(biāo)建立了優(yōu)化模型,并提出一種基于DDPG的任務(wù)感知聯(lián)合卸載和資源分配(DDPG?based Task?Aware Joint Offloading And Resource Allocation, DTJORA)算法求解最優(yōu)策略。仿真結(jié)果表明,與3種基準(zhǔn)算法相比,本文算法的無人機(jī)平均收益均能取得較好的性能。
1" 系統(tǒng)模型
1.1" 網(wǎng)絡(luò)模型
多無人機(jī)輔助的海上MEC網(wǎng)絡(luò)如圖1所示,包含[M]架無人機(jī)和[K]個(gè)無人船終端,每個(gè)無人機(jī)都配有邊緣計(jì)算服務(wù)器,能夠?yàn)闊o人船提供通信和計(jì)算服務(wù)。
將無人船和無人機(jī)集合分別記為[K={1,2,…,K}],[M={1,2,…,M}]。將整個(gè)時(shí)間[T]劃分成多個(gè)相同長度的時(shí)隙,表示為集合[T={1,2,…,T}],在任意時(shí)隙[t∈T]中無人船會(huì)隨機(jī)產(chǎn)生任務(wù)需要處理。將目標(biāo)區(qū)域[Ω]等分為[Q]個(gè)邊長為[R]的正方形區(qū)域,任一小正方形區(qū)域用[G]表示,在任意時(shí)隙,每個(gè)小正方形區(qū)域內(nèi)的無人船只能被一個(gè)無人機(jī)服務(wù),以避免碰撞,無人機(jī)輔助通信時(shí)可以完全覆蓋整個(gè)小正方形區(qū)域。將無人機(jī)[m∈M]所服務(wù)區(qū)域包含的無人船記為[Gmlt;K],任意無人船[k∈Gm]可通過無線信道將任務(wù)部分或全部卸載到無人機(jī)[m]上進(jìn)行處理,將在時(shí)隙[t]內(nèi)無人機(jī)[m]處理任務(wù)集合記為[MN(t)={1,2,…,N}],[N≤Gm]。時(shí)隙[t]開始時(shí)無人機(jī)[m]決定其行進(jìn)軌跡,它要么保持當(dāng)前位置不變,要么以速度[vm(t)]移動(dòng)到一個(gè)相鄰小正方形區(qū)域的中心;然后無人機(jī)[m]在時(shí)隙內(nèi)懸停在該網(wǎng)格上,接收并計(jì)算來自無人船的任務(wù),無人機(jī)[m]可移動(dòng)的下一位置方向?yàn)閇δm(t)],將所有無人機(jī)可移動(dòng)的位置方向記為集合[D={0,1,2,3,4,5,6,7,8}]。其中,0表示在原地不動(dòng),1為向北移動(dòng),2為向東北移動(dòng),3為向東移動(dòng),4為向東南移動(dòng),5為向南移動(dòng),6為向西南移動(dòng),7為向西移動(dòng),8為向西北移動(dòng),顯然[δm∈D]。此外,考慮到任務(wù)計(jì)算結(jié)果的大小遠(yuǎn)小于卸載任務(wù)的大小,可省略從無人機(jī)向無人船發(fā)送計(jì)算結(jié)果的延遲和能耗[17]。
1.2" 通信模型
在任意時(shí)隙[t],無人機(jī)飛到固定位置懸停并且與其覆蓋區(qū)域內(nèi)的無人船采用正交頻分多址(Orthogonal Frequency Division Multiple Access, OFDMA)進(jìn)行通信,每個(gè)無人船分配一個(gè)子信道,可忽略無人船之間的干擾[13]。假設(shè)所有無人機(jī)都在距離地面[H](單位為m)的固定高度飛行,在笛卡爾三維坐標(biāo)系中,無人機(jī)[m]在區(qū)域中心懸停的水平坐標(biāo)為[qm(t)=xm(t),ym(t),t∈T,m∈M]。在時(shí)隙[t]無人船[k]的位置為[pk(t)=xk(t),yk(t),t∈T,k∈K]。由于無人機(jī)高度較高,無人機(jī)與無人船之間的信道以視距信道為主[13]。因此,在時(shí)隙[t∈T],無人機(jī)[m]到無人船[k]的信道功率增益可以描述為自由空間路徑損耗模型,即:
[hm,k(t)=β H2+qm(t)-pk(t)2] (1)
式中[β]表示在參考距離[d0=1 m]時(shí)的信道增益。
因此,時(shí)隙[t]無人機(jī)[m]到無人船[k]的傳輸速率為:
[Rm,k(t)=Blog21+Ptrm,k(t)hm,k(t)σ2] (2)
式中:[B]為子信道帶寬;[Ptrm,k(t)]表示無人船[k]到無人機(jī)[m]的發(fā)射功率;[σ2]表示噪聲功率。
1.3" 計(jì)算模型
無人機(jī)[m]為無人船[k]([k∈Gm])提供服務(wù)時(shí),每個(gè)時(shí)隙分為飛行時(shí)間[tflym(t)]和懸停時(shí)間[thoverm(t)],如圖2所示。
時(shí)隙開始時(shí),無人機(jī)[m]先以速度[vm(t)]飛到所要服務(wù)的區(qū)域,然后在區(qū)域中心上空懸停,為該區(qū)域的無人船提供持續(xù)時(shí)間為[thoverm(t)]的通信和邊緣計(jì)算服務(wù)。假設(shè)無人船[k]在時(shí)隙[t]內(nèi)產(chǎn)生的任務(wù)大小用[Dk(t)]表示,采用部分卸載的方式卸載到無人機(jī)進(jìn)行處理,用[αk(t)]表示無人船[k]將任務(wù)卸載到UAV的任務(wù)數(shù)據(jù)的部分比例,[0≤αk(t)≤1]。因此,在時(shí)隙[t]無人船[k]上傳到無人機(jī)[m]的任務(wù)量為[αk(t)Dk(t)],則可求出無人機(jī)[m]在時(shí)隙[t]總的計(jì)算任務(wù)量為[Dm(t)=k∈Gmαk(t)Dk(t)]。在無人機(jī)[m]懸停時(shí)間[thoverm(t)]內(nèi),有卸載需求的無人船并行上傳數(shù)據(jù)到無人機(jī)[m],按先來后到在無人機(jī)[m]進(jìn)行計(jì)算處理,無人機(jī)從第一個(gè)任務(wù)到達(dá)后開始計(jì)算處理,如圖3所示。
假設(shè)在時(shí)隙[t]無人船[k]上傳任務(wù)為第[n]([n∈MN(t)])個(gè)到達(dá)無人機(jī)[m]的任務(wù),其數(shù)據(jù)量為[Dnk(t)=αk(t)Dk(t),k∈Gm,n∈MN(t)]。該任務(wù)的傳輸時(shí)延[ttrn(t)]和計(jì)算時(shí)延[tcompn(t)]可分別表示為:
[ttrn(t)=Dnk(t)Rm,k(t)] (3)
[tcompn(t)=Qm(ttrn)(t)fUAV] (4)
式中[Qm(ttrn)(t)]為第[n]個(gè)任務(wù)到來時(shí)無人機(jī)[m]中排隊(duì)等待處理的總?cè)蝿?wù)量,可表示為:
[Qm(ttrn)(t)=Qm(ttrn-1)(t)-Fm(ttrn)(t)+Dnk(t)] (5)
它由第[n]個(gè)任務(wù)到來時(shí)的隊(duì)列長度和第[n]個(gè)到來任務(wù)的任務(wù)量組成。若在第[n]-1個(gè)和第[n]個(gè)任務(wù)到來之間隊(duì)列任務(wù)全部被處理完,則第[n]個(gè)任務(wù)到來時(shí)的隊(duì)列長度為0。否則,無人機(jī)將在兩個(gè)任務(wù)到來之間一直進(jìn)行計(jì)算。此時(shí),第[n]個(gè)任務(wù)到來時(shí)隊(duì)列長度則為第[n]-1個(gè)任務(wù)到來時(shí)的隊(duì)列長度減去無人機(jī)在兩個(gè)任務(wù)到達(dá)之間處理的任務(wù)量[Fm(ttrn)(t)],可以表示為:
[Fm(ttrn)(t)=minQm(ttrn-1)(t),ttrn(t)-ttrn-1(t)fUAV] (6)
式中:[fUAV]是無人機(jī)的計(jì)算能力;[Qm(ttrn-1)]表示第[n]-1個(gè)任務(wù)到來時(shí)無人機(jī)[m]中待計(jì)算任務(wù)隊(duì)列總?cè)蝿?wù)量。
任務(wù)完成總時(shí)延由傳輸時(shí)延和計(jì)算時(shí)延組成,則完成到達(dá)無人機(jī)[m]的第[n]個(gè)任務(wù)所需總時(shí)延為:
[ttotaln(t)=ttompn(t)+ttrn(t)] (7)
按上述流程,無人機(jī)從初始位置選擇所服務(wù)的區(qū)域,在每個(gè)時(shí)隙內(nèi)進(jìn)行飛行?傳輸?計(jì)算的程序??紤]到無人機(jī)機(jī)載能量有限,如何讓無人機(jī)在處理更多任務(wù)的同時(shí)減少能量消耗至關(guān)重要。因此有必要聯(lián)合考慮卸載決策、功率分配、無人機(jī)飛行軌跡和飛行速度規(guī)劃以優(yōu)化無人機(jī)收益。
1.4" 能耗模型
無人機(jī)能量消耗主要包括懸停、飛行和計(jì)算能耗。
1.4.1" 無人機(jī)飛行和懸停能耗
本文考慮了一種旋轉(zhuǎn)翼無人機(jī)推進(jìn)功率模型[17]。對(duì)于旋翼無人機(jī),無人機(jī)[m]在時(shí)隙[t]的推進(jìn)功率為:
[Pm,provm(t)=12SfRsAρRsAv3m(t)+" "φe8ρRsAΩ3eR3e1+3v2m(t)Ω2eR2e+" "(1+kp)(gMUAV)322ρA1+v4m(t)4gMUAV2ρA2-v2m(t)2gMUAV2ρA] (8)
式中:[φe]為葉片阻力系數(shù);[Ωe]為槳葉角速度;[R3e]為旋轉(zhuǎn)活塞半徑;[ρ]為空氣密度;[kp]為感應(yīng)功率因數(shù);[Rs]為風(fēng)輪實(shí)度;[g]為重力加速度;[A]為槳盤面積;[MUAV]為無人機(jī)質(zhì)量;[Sf]為機(jī)身等效平板面積;[vm(t)]表示無人機(jī)[m]在時(shí)隙[t]的飛行速度。需要注意的是,無人機(jī)在卸載階段進(jìn)行數(shù)據(jù)傳輸和計(jì)算時(shí)需要在所服務(wù)區(qū)域的固定高度上懸停,以保證通信連接的穩(wěn)定。那么,無人機(jī)[m]的推進(jìn)能耗可以表示為:
[Eprom(t)=pmovmvm(t)qm(t+1)-qm(t)vm(t)+pmovm(0)τ-tfly(t)] (9)
式中,[τ]為時(shí)隙持續(xù)時(shí)間,這表明[Eprom(t)]包含每個(gè)時(shí)隙[t]無人機(jī)的飛行能量和懸停能量。
1.4.2" 無人機(jī)計(jì)算任務(wù)能耗
無人機(jī)接收無人船傳輸任務(wù)后,進(jìn)行計(jì)算處理,計(jì)算能耗可以表示為:
[Ecompm,k(t)=Kmf2UAVDm(t)] (10)
式中[Km]是一個(gè)取決于芯片架構(gòu)的非負(fù)系數(shù)。
無人機(jī)[m]在時(shí)隙[t]總能耗可以表示為:
[Em(t)=Eprom(t)+Ecompm,k(t)] (11)
每個(gè)時(shí)隙[t]無人機(jī)[m]剩余能耗可以表示為:
[em(t)=em(t-1)-Em(t)] (12)
無人船能量消耗主要包括傳輸和計(jì)算能耗。
1) 無人船傳輸任務(wù)能耗
無人船[k]將任務(wù)上傳到無人機(jī)時(shí),所消耗的能耗為:
[Etrk(t)=ptrm,k(t)ttrn(t)] (13)
2) 無人船本地計(jì)算任務(wù)能耗
無人船[k]在本地進(jìn)行任務(wù)計(jì)算時(shí),所消耗的能量為:
[Ecompk(t)=Kuf2ue1-αk(t)Dk(t)] (14)
式中[Ku]是一個(gè)取決于芯片架構(gòu)的非負(fù)系數(shù)。
時(shí)隙[t]無人船[k]剩余能耗可以表示為:
[ek(t)=ek(t-1)-Etrk(t)-Ecompk(t)] (15)
2" 問題建模
本文通過聯(lián)合優(yōu)化卸載決策、功率分配、無人機(jī)軌跡規(guī)劃和飛行速度,以最大化所有無人機(jī)的平均收益。無人機(jī)平均收益定義為:
[U=1Tt=1T1Mm=1MλDm(t)-Em(t)] (16)
可以看出無人機(jī)接收和計(jì)算的任務(wù)量越多、能耗越少,則無人機(jī)收益越大。上述優(yōu)化問題可以表示為:
[maxvm(t),ptrm,k(t),δm(t),αk(t)Us.t." " C1:0≤ptrm,k(t)≤pmaxm,k," " ?t,?m∈M,?k∈Gm" " " " "C2:vmin≤vm(t)≤vmax," " ?t,?m∈M" " " " "C3:0≤αk(t)≤1," " ?t,?k∈Gm" " " " "C4:δm(t)∈D," " ?t,?m∈M" " " " "C5:ttotaln(t)≤τ-tflym(t)," " ?t,?m∈M" " " " "C6:pm(t)-pm(t)2≥R2," " ?t,?m∈M,m∈M\{m}" " " " "C7:Em(t)≤em(t)," " ?t,?m∈M" " " " "C8:Etrk(t)+Ecompk(t)≤ek(t)," " ?t,?k∈Gm]
(17)
式中:[λ]為權(quán)重系數(shù);[C1]表示無人船[k]的發(fā)射功率不得超過其最大功率;[C2]表示無人機(jī)[m]飛行速度要在規(guī)定的最小和最大飛行速度之間;[C3]為無人船[k]到無人機(jī)[m]的卸載率約束;[C4]表示無人機(jī)[m]可選擇的飛行軌跡的方向約束;[C5]表示無人船卸載到無人機(jī)[m]的任務(wù)都要能計(jì)算完;[C6]表明每個(gè)小正方形區(qū)域只能被一個(gè)無人機(jī)覆蓋,以避免潛在的碰撞;[C7]代表無人機(jī)在時(shí)隙[t]內(nèi)的能耗不能超過它當(dāng)前時(shí)隙的電池容量;[C8]表示無人船[k]在時(shí)隙[t]內(nèi)的能耗不能超過它當(dāng)前時(shí)隙的電池容量。
由于時(shí)變的復(fù)雜網(wǎng)絡(luò)和高維的動(dòng)作空間增加了傳統(tǒng)方法直接求解優(yōu)化問題的難度,因此,下一節(jié)引入DRL方法來尋找合適的調(diào)度策略。
3" 基于DDPG的計(jì)算卸載算法
3.1" DDPG算法
根據(jù)Actor?Critic結(jié)構(gòu),可以將DDPG算法分為四個(gè)部分:Actor當(dāng)前網(wǎng)絡(luò)、Actor目標(biāo)網(wǎng)絡(luò)、Critic當(dāng)前網(wǎng)絡(luò)和Critic目標(biāo)網(wǎng)絡(luò)[18]。分別用[θμ]和[θμ]表示Actor當(dāng)前網(wǎng)絡(luò)和Actor目標(biāo)網(wǎng)絡(luò)的參數(shù),[θQ]和[θQ]分別表示Critic當(dāng)前網(wǎng)絡(luò)和Critic目標(biāo)網(wǎng)絡(luò)的參數(shù)。
DDPG算法的整個(gè)訓(xùn)練過程為:開始時(shí),智能體從環(huán)境中收集信息,形成狀態(tài)空間。在得到初始狀態(tài)[st]后,將當(dāng)前狀態(tài)輸入到Actor網(wǎng)絡(luò)中,得到動(dòng)作[at=μstθμ+Nt],其中[Nt]是隨機(jī)噪聲,使智能體能夠探索潛在的更好策略。執(zhí)行選定的動(dòng)作后可以得到下一個(gè)動(dòng)作[st+1]和獎(jiǎng)勵(lì)[rt],將元組[st,at,rt,st+1]存儲(chǔ)在回放緩沖區(qū)中。然后,從經(jīng)驗(yàn)回放記憶中隨機(jī)選取[N]個(gè)樣本數(shù)據(jù)[si,ai,ri,si+1]建立一個(gè)mini?batch,將已建立的mini?batch引入演員網(wǎng)絡(luò)和評(píng)論家網(wǎng)絡(luò),計(jì)算critic目標(biāo)網(wǎng)絡(luò)的[Q]值。
[yi=ri+γQsi+1, μsi+1θμθQ] (18)
然后,通過最小化損失函數(shù)更新critic當(dāng)前網(wǎng)絡(luò)參數(shù),損失函數(shù)可以表示為:
[L=1Niyi-Qsi,aiθQ2] (19)
Actor當(dāng)前網(wǎng)絡(luò)根據(jù)[θQ]和樣本元組更新當(dāng)前策略,通過梯度上升指導(dǎo)網(wǎng)絡(luò)參數(shù)向更高評(píng)價(jià)方向更新,可表示為:
[?θμμsi≈1Ni?aQs,aθQs=si,a=μ(si)?θμμsμsθμsi] (20)
與深度Q網(wǎng)絡(luò)(Deep Q Network, DQN)不同,DDPG利用軟更新來更新參數(shù),以提高學(xué)習(xí)穩(wěn)定性。因此,[θQ]和[θμ]的更新過程可以表示為:
[θQ←τθQ+(1-τ)θQ] (21)
[θμ←τθμ+(1-τ)θμ] (22)
3.2" DTJORA算法描述
1) 狀態(tài)空間
在時(shí)隙[t],系統(tǒng)狀態(tài)包含5個(gè)參數(shù):任意無人機(jī)[m]和無人船[k]在當(dāng)前時(shí)隙的剩余電量[em(t)]和[ek(t)]、任意無人船[k]所產(chǎn)生的任務(wù)大小[Dk(t)]、無人船和無人機(jī)在當(dāng)前時(shí)隙的位置坐標(biāo)[qm(t)]和[pk(t)]??稍O(shè)定狀態(tài)空間為:
[st=em(t),ek(t),Dk(t),qm(t),pk(t)," ?m∈M,k∈K,t∈T] (23)
2) 動(dòng)作空間
為了使無人機(jī)在收集到更多任務(wù)的同時(shí)節(jié)省能量,要合理進(jìn)行卸載決策、功率分配、無人機(jī)飛行軌跡和飛行速度規(guī)劃。基于系統(tǒng)當(dāng)前的狀態(tài)和觀察到的環(huán)境,在時(shí)隙[t]中動(dòng)作空間可以定義為:
[at=vm(t),ptrm,k(t),δm(t),αk(t)," " ?m∈M,k∈K,t∈T]
(24)
智能體基于當(dāng)前時(shí)刻的狀態(tài)與環(huán)境進(jìn)行交互,決定動(dòng)作執(zhí)行,獲得立即獎(jiǎng)勵(lì)??稍O(shè)置獎(jiǎng)勵(lì)函數(shù)為無人機(jī)計(jì)算任務(wù)數(shù)與無人機(jī)所消耗的能量相減,求其最大值。立即獎(jiǎng)勵(lì)表示為:
[rt=1Mm=1MλDm(t)-Em(t)] (25)
式中,引入系數(shù)[λ]以確保[Dm(t)]與[Em(t)]在同一數(shù)量級(jí)上,這樣可以更好地優(yōu)化兩個(gè)目標(biāo)。
然后將其與前一狀態(tài)獎(jiǎng)勵(lì)累加獲得長期獎(jiǎng)勵(lì),表示為:
[Rt=1Tt=1T1Mm=1MλDm(t)-Em(t)] (26)
DTJORA算法偽代碼如算法1所示。其中,步驟1~步驟3為初始化Actor和Critic當(dāng)前網(wǎng)絡(luò)、目標(biāo)網(wǎng)絡(luò)參數(shù)以及回放緩沖區(qū)的過程。步驟4~步驟9為智能體與環(huán)境交互過程,步驟10~步驟17為DDPG訓(xùn)練的具體步驟。使用Adam優(yōu)化器和軟更新分別在步驟18和步驟19中修改Actor和Critic網(wǎng)絡(luò)中當(dāng)前和目標(biāo)網(wǎng)絡(luò)的參數(shù)。待回合數(shù)完成時(shí),訓(xùn)練就停止。
算法1" DTJORA算法偽代碼
1" 隨機(jī)初始化Actor網(wǎng)絡(luò)[θμ]和Critic網(wǎng)絡(luò)[θQ]的參數(shù);
2" 初始化目標(biāo)網(wǎng)絡(luò)的參數(shù)[θμ←θμ]和[θQ←θQ];
3" 初始化回放緩沖區(qū)[Bm];
4" for episode=1 to [Emax] do
5" " " 重置MEC系統(tǒng)的仿真參數(shù),得到初始觀測狀態(tài)[st];
6" " " 歸一化[st]為[st];
7" " " for [t]=1 to [T] do
8" " " " " 從Actor網(wǎng)絡(luò)[θμ]中獲得動(dòng)作,并執(zhí)行動(dòng)作;
9" " " " " 獲得獎(jiǎng)勵(lì)[rt]和下一個(gè)狀態(tài)[st+1];
10" " " " "if重放緩沖區(qū)不滿then
11" " " " "在回放緩沖區(qū)[Bm]中存儲(chǔ)[(st,at,rt,st+1)];
12" nbsp; " " "else
13" " " " "隨機(jī)替換回放緩沖區(qū)[Bm]中的元組[(si,ai,ri,si+1)];
14" " " " "從經(jīng)驗(yàn)重放記憶[M]中隨機(jī)抽取[N]個(gè)元組作為訓(xùn)練Actor和Critic主網(wǎng)絡(luò)的小批量數(shù)據(jù);
15" " " " "計(jì)算Critic主網(wǎng)絡(luò)的梯度[?θQL];
16" " " " 利用Adam優(yōu)化器更新Critic主網(wǎng)絡(luò)參數(shù)[θQ];
17" " " " 計(jì)算Actor主網(wǎng)絡(luò)的策略梯度[?θμL];
18" " " " 使用Adam優(yōu)化器更新Actor主網(wǎng)絡(luò)的參數(shù)[θμ];
19" " " " 更新Actor目標(biāo)網(wǎng)絡(luò)和Critic目標(biāo)網(wǎng)絡(luò)參數(shù)[θQ]和[θμ];
20" " " end if
21" " end for
22" end for
23" Return Actor網(wǎng)絡(luò)[μsθμ]
4" 仿真分析
本節(jié)使用Python 3.6對(duì)所提算法進(jìn)行仿真分析,并與三個(gè)基準(zhǔn)算法進(jìn)行比較,包括固定飛行速度(Fixed Flight Speed, FFS)算法、固定飛行軌跡(Fixed Flight Trajectory, FFT)算法和隨機(jī)(Random)飛行算法。
1) 固定飛行速度:該算法基于DDPG算法對(duì)卸載決策、功率分配、無人機(jī)軌跡規(guī)劃進(jìn)行聯(lián)合優(yōu)化,但所有時(shí)隙內(nèi)無人機(jī)采用固定的飛行速度。
2) 固定飛行軌跡:該算法基于DDPG算法對(duì)卸載決策、功率分配、無人機(jī)飛行速度進(jìn)行聯(lián)合優(yōu)化,但所有時(shí)隙內(nèi)無人機(jī)飛行軌跡固定,依次按東?南?西?北固定方向飛行。
3) 隨機(jī)飛行:該算法基于DDPG算法對(duì)卸載決策、功率分配進(jìn)行聯(lián)合優(yōu)化,但在每個(gè)時(shí)隙[t]無人機(jī)隨機(jī)選擇飛行軌跡和飛行速度。
仿真中假設(shè)在200 m×200 m區(qū)域內(nèi)存在4個(gè)無人機(jī)和48個(gè)無人船,無人機(jī)推進(jìn)能量模擬參數(shù)依據(jù)文獻(xiàn)[19]設(shè)置,其他仿真參數(shù)依據(jù)文獻(xiàn)[14,17]等設(shè)置。主要仿真參數(shù)如表1所示。
首先將經(jīng)驗(yàn)池大小設(shè)為2 000,mini?batch大小設(shè)為64,折扣因子設(shè)為0.9,進(jìn)行一系列實(shí)驗(yàn)來確定算法使用的重要超參數(shù)的最優(yōu)值。所提算法在不同學(xué)習(xí)率下的收斂性能如圖4所示。其中[LA]和[LC]分別為Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)學(xué)習(xí)參數(shù)。從圖中可以觀察到,[LA=0.08]且[LC=0.1],[LA=0.000 08]且[LC=0.000 1]時(shí),震蕩較大難以收斂。而當(dāng)[LA=0.008]且[LC=0.01]時(shí)本文方案不能找到最優(yōu)策略。因此,在后續(xù)仿真中,將設(shè)置[LA=0.000 8]且[LC=0.001],使其在學(xué)習(xí)期間能獲得更好的獎(jiǎng)勵(lì)。
圖5比較了本文算法和FFS算法設(shè)置不同速度在不同數(shù)量無人船情況下的所有無人機(jī)的平均收益。
FFS算法的無人機(jī)收益
可以觀察到,在兩種算法中,無人機(jī)的平均收益隨著無人船的數(shù)量增加而增加。這是因?yàn)殡S著無人船數(shù)量的增長,無人船將產(chǎn)生更多的卸載請(qǐng)求,因而無人機(jī)能接收和計(jì)算更多任務(wù)。此外,在不同數(shù)量的無人船下,本文算法的無人機(jī)平均收益均優(yōu)于采用不同速度的FFS算法。這是因?yàn)椋簾o人船可能產(chǎn)生不同大小的卸載任務(wù)請(qǐng)求,F(xiàn)FS算法固定飛行速度,一方面可能造成飛行速度較小,飛行時(shí)間過長,從而懸停時(shí)間過短而無法收集處理更多任務(wù);另一方面也可能導(dǎo)致飛行速度較大,飛行時(shí)間過短而懸停時(shí)間過長(超過無人機(jī)收集處理任務(wù)所需時(shí)間),造成無人機(jī)不必要能量消耗。顯然,以上兩種均會(huì)造成無人機(jī)收益降低。
圖6比較了不同數(shù)量的無人船情況下不同算法無人機(jī)收益值。
圖6中,F(xiàn)FS算法無人機(jī)速度設(shè)為30 m/s。后面仿真采用相同設(shè)置。從圖中可以看出,隨著無人船數(shù)量增加,所有算法的無人機(jī)收益也隨之增加。這是因?yàn)殡S著無人船數(shù)量的增長,無人船會(huì)產(chǎn)生更多的卸載任務(wù)請(qǐng)求,因而會(huì)有更多任務(wù)被無人機(jī)接收和計(jì)算。另外,該圖還表明,本文算法優(yōu)于其他對(duì)比算法,原因在于本文算法可根據(jù)無人船產(chǎn)生任務(wù)量大小自適應(yīng)調(diào)整飛行時(shí)間,當(dāng)任務(wù)量較大時(shí),無人機(jī)會(huì)以較快速度飛行,使無人機(jī)有足夠的懸停時(shí)間收集處理更多任務(wù)。當(dāng)任務(wù)量較小時(shí),可減小飛行速度和不必要的懸停時(shí)間以避免能量浪費(fèi),因而本文算法可有效增加無人機(jī)收益;而FFT算法固定飛行軌跡,可能導(dǎo)致無人機(jī)并未飛到任務(wù)較多的無人船上空為其提供服務(wù),從而導(dǎo)致無人機(jī)收益降低;FFS固定飛行速度可能導(dǎo)致無人機(jī)懸停時(shí)間過長或過短,均可能導(dǎo)致無人機(jī)收益下降。
圖7對(duì)比了不同無人機(jī)計(jì)算能力下不同算法的無人機(jī)收益。
可以觀察到,所有算法的無人機(jī)平均收益隨無人機(jī)計(jì)算能力增加先增加然后降低。這是因?yàn)殡S著無人機(jī)計(jì)算能力的增長,無人機(jī)可以用更少的時(shí)間計(jì)算更多的任務(wù),從而可以擁有更多飛行時(shí)間,因而能以更低速度飛到所服務(wù)區(qū)域,有利于減少能耗。然而,當(dāng)無人機(jī)計(jì)算能力增加到一定程度后,會(huì)出現(xiàn)無人機(jī)即使以最低速度飛行,所有任務(wù)都被無人機(jī)處理完后,仍有懸停時(shí)間,這種情況下無人機(jī)收集和計(jì)算任務(wù)量以及推進(jìn)能耗不再發(fā)生改變;但繼續(xù)增加無人機(jī)計(jì)算能力,計(jì)算產(chǎn)生的能耗隨之增加,因而會(huì)令無人機(jī)收益進(jìn)一步降低。此外,可以看出,無論無人機(jī)計(jì)算能力如何變化,本文算法的無人機(jī)平均收益都高于對(duì)比算法。
不同算法的無人機(jī)收益
圖8對(duì)比了不同時(shí)隙長度下不同算法的無人機(jī)收益。
可以觀察到,在所有算法中,無人機(jī)的收益隨著時(shí)隙長度時(shí)間的增加先增加然后降低。這是因?yàn)殡S著時(shí)隙長度增長,一方面無人機(jī)在執(zhí)行任務(wù)過程中可以有更多懸停時(shí)間來接收和計(jì)算更多來自無人船的卸載任務(wù),有利于增加無人機(jī)的收益;另一方面也使無人機(jī)有更多飛行時(shí)間,能以更低速度飛到所服務(wù)區(qū)域,可以減少能量消耗,也有利于增加無人機(jī)的收益。然而,當(dāng)時(shí)隙長度增加到一定程度后,會(huì)出現(xiàn)無人機(jī)即使以最低速度飛行,當(dāng)所有任務(wù)都被無人機(jī)處理完后,仍有懸停時(shí)間,這時(shí)無人機(jī)計(jì)算任務(wù)量和飛行能耗幾乎不再發(fā)生改變,而繼續(xù)增加時(shí)隙長度,會(huì)產(chǎn)生懸停能耗,因而會(huì)導(dǎo)致無人機(jī)收益降低。此外,從圖中還可以看出,所有情況下本文算法的無人機(jī)收益均優(yōu)于對(duì)比算法。
5" 結(jié)" 語
本文研究了多無人機(jī)輔助MIoT的計(jì)算卸載問題??紤]無人機(jī)可感知無人船任務(wù)量大小自適應(yīng)調(diào)整飛行時(shí)間,以及無人船卸載任務(wù)在無人機(jī)排隊(duì)計(jì)算的實(shí)際情況,以最大化所有無人機(jī)的平均收益為目標(biāo),建立了卸載決策、功率分配、無人機(jī)飛行軌跡和速度聯(lián)合優(yōu)化問題,并提出DTJORA算法求解最優(yōu)策略。最后,通過仿真證明本文算法能有效提高無人機(jī)收益。
參考文獻(xiàn)
[1] LI M Q, QIAN L P, DONG X Y, et al. Secure computation offloading for marine IoT: An energy?efficient design via cooperative jamming [J]. IEEE transactions on vehicular technology, 2023, 72(5): 6518?6531.
[2] DAI M H, HUANG N, WU Y, et al. Latency minimization oriented hybrid offshore and aerial?based multi?access computation offloading for marine communication networks [J]. IEEE transactions on communications, 2023, 71(11): 6482?6498.
[3] CHEN Y, PI D C, YANG S X, et al. HNIO: A hybrid nature?inspired optimization algorithm for energy minimization in UAV?assisted mobile edge computing [J]. IEEE transactions on network and service management, 2022, 19(3): 3264?3275.
[4] ZHANG K Y, GUI X L, REN D W, et al. Energy?latency tradeoff for computation offloading in UAV?assisted multiaccess edge computing system [J]. IEEE Internet of Things journal, 2021, 8(8): 6709?6719.
[5] DAI Y, LIN B, CHE Y, et al. UAV?assisted data offloading for smart container in offshore maritime communications [J]. China communications, 2022, 19(1): 153?165.
[6] JI J Q, ZHU K, YI C Y, et al. Energy consumption minimization in UAV?assisted mobile?edge computing systems: Joint resource allocation and trajectory design [J]. IEEE Internet of Things journal, 2021, 8(10): 8570?8584.
[7] DENG C L, FANG X M, WANG X B. UAV?enabled mobile?edge computing for AI applications: Joint model decision, resource allocation, and trajectory optimization [J]. IEEE Internet of Things journal, 2023, 10(7): 5662?5675.
[8] EI N N, ALSENWI M, TUN Y K, et al. Energy?efficient resource allocation in multi?UAV?assisted two?stage edge computing for beyond 5G networks [J]. IEEE transactions on intelligent transportation systems, 2022, 23(9): 16421?16432.
[9] NING Z, YANG Y, WANG X, et al. Dynamic computation offloading and server deployment for UAV?enabled multi?access edge computing [J]. IEEE transactions on mobile computing, 2023, 22(5): 2628?2644.
[10] HAN Z, ZHOU T, XU T, et al. Joint user association and deployment optimization for delay?minimized UAV?aided MEC networks [J]. IEEE wireless communications letters, 2023, 12(10): 1791?1795.
[11] PANG S, HE X, HSU C H, et al. Joint trajectory and energy consumption optimization based on UAV wireless charging in cloud computing system [J]. IEEE transactions on cloud computing, 2023, 11(4): 3426?3438.
[12] CHEN S B, SHI L, DING X, et al. Energy efficient resource allocation and trajectory optimization in UAV?assisted mobile edge computing system [C]// 2021 7th International Conference on Big Data Computing and Communications (BigCom). New York: IEEE, 2021: 7?13.
[13] YANG L, YAO H P, WANG J J, et al. Multi?UAV?enabled load?balance mobile?edge computing for IoT networks [J]. IEEE Internet of Things journal, 2020, 7(8): 6898?6908.
[14] WANG Y P, FANG W W, DING Y, et al. Computation offloading optimization for UAV?assisted mobile edge computing: A deep deterministic policy gradient approach [J]. Wireless networks, 2021, 27(4): 2991?3006.
[15] ZHENG C X, PAN K, DONG J D, et al. Multi?agent collaborative optimization of UAV trajectory and latency?aware DAG task offloading in UAV?assisted MEC [J]. IEEE access, 2024, 12: 42521?42534.
[16] DU R Z, CAO B W, GAO Y. Collaborative framework for UAVs?assisted mobile edge computing: A proximity policy optimization approach [J]. Journal of supercomputing, 2024, 80(8): 10485?10510.
[17] LI J L Y, YI C Y, CHEN J Y, et al. Joint trajectory planning, application placement, and energy renewal for UAV?assisted MEC: A triple?learner?based approach [J]. IEEE Internet of Things journal, 2023, 10(15): 13622?13636.
[18] CHEN L X, GONG G Q, JIANG K, et al. DDPG?based computation offloading and service caching in mobile edge computing [C]// IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). New York: IEEE, 2022: 1?6.
[19] ZENG Y, XU J, ZHANG R. Energy minimization for wireless communication with rotary?wing UAV [J]. IEEE transactions on wireless communications, 2019, 18(4): 2329?2345.