呂曉東,邢煥來,宋富洪,王心漢
1(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 610031)
2(西南交通大學(xué) 計算機與人工智能學(xué)院,成都 610031)
隨著移動應(yīng)用和物聯(lián)網(wǎng)的快速發(fā)展,功率和計算資源有限的移動設(shè)備(MDs)不再滿足資源密集型應(yīng)用的嚴(yán)格要求,如低延遲、高可靠性、用戶體驗連續(xù)性的要求[1].在移動邊緣計算(MEC)中,網(wǎng)絡(luò)運營商和服務(wù)提供商進(jìn)行合作,在網(wǎng)絡(luò)邊緣提供優(yōu)秀的通信和計算資源,以增強MD 能力[2].
在MEC 中,計算資源的管理在提高資源利用率和優(yōu)化系統(tǒng)資源效益方面起著至關(guān)重要的作用[3].由MEC服務(wù)器處理外部任務(wù)會消耗本地計算資源.因此,每個MD 根據(jù)某種資源定價機制支付一定的服務(wù)費,以激勵邊緣云提供足夠的計算資源.
現(xiàn)有的定價機制,如基于拍賣的,依賴于中間機構(gòu)的靜態(tài)定價[4-6].拍賣雙方都需要向中介提供的服務(wù)支付費用.總成本的增加使得雙方都無法從資源交易中獲得最佳的利益.同時,靜態(tài)定價也不能適應(yīng)MD 不斷變化的資源需求.在這種情況下,MEC 服務(wù)器很難有效地利用其本地資源.因此,一個關(guān)鍵的問題是如何有效地將有限的MEC 資源分配給具有不同需求和偏好的相互競爭的MD.為此,我們將MEC 環(huán)境中的多資源分配和定價問題表述為一個包含一個領(lǐng)導(dǎo)者和多個跟隨者的多階段Stackelberg 博弈,其中所有MEC 服務(wù)器同時將它們的實時價格發(fā)送到一個聚合平臺(AP).在第1 階段,通過MEC 服務(wù)器公布的價格,AP 通過解決一個效用最大化問題來找到最優(yōu)的資源分配解決方案.在第2 階段,基于環(huán)境的反饋(即資源如何分配給MDs),我們利用多代理近端策略優(yōu)化(MAPPO)算法[7]學(xué)習(xí)每個MEC 服務(wù)器的最優(yōu)定價策略,這種策略不需要MEC 服務(wù)器獲取其他MEC 服務(wù)器實現(xiàn)的定價策略就可以做出最優(yōu)的決策.
我們的主要貢獻(xiàn)如下: (1)我們通過構(gòu)建一個Stackelberg 的領(lǐng)導(dǎo)者-跟隨者博弈,充分考慮了AP 和MEC 服務(wù)器之間的互動以及服務(wù)器之間的競爭.納什均衡給出了完全競爭的合理結(jié)果.(2)該算法基于MAPPO,這是一種具有集中式訓(xùn)練和分布式執(zhí)行的深度強化學(xué)習(xí)算法,能夠適應(yīng)環(huán)境動力學(xué)和參數(shù)的不確定性.每個MEC 服務(wù)器作為一個智能體,不斷地與環(huán)境交互,以生成一系列的培訓(xùn)經(jīng)驗.智能體既不需要事先了解MEC 資源的折扣成本,也不需要知道其他智能體所采取的行動.因此,信號傳遞的開銷就大大減少了.(3)仿真結(jié)果表明,該算法可以為每個MEC 服務(wù)器學(xué)習(xí)一個優(yōu)秀的策略,以確定其資源的單價.
邊緣系統(tǒng)的最優(yōu)資源分配和定價已經(jīng)引起了越來越多的研究關(guān)注.主要有兩個研究方向: 定價導(dǎo)向因素和最優(yōu)定價策略.
定價導(dǎo)向因素.Dong 等人[8]提出了一種云計算資源定價算法,分析歷史資源使用情況并不斷調(diào)整資源價格.但該算法只考慮了資源利用率,沒有分析其他重要因素.Liu 等人[9]提出了一種基于價格的分布式算法,只強調(diào)了任務(wù)調(diào)度.Li 等人[10]提出了云計算的靜態(tài)資源定價方案.定價操作簡單,但難以滿足終端設(shè)備的動態(tài)需求.他們沒有考慮用戶需求與資源價格之間的實時關(guān)系,因此不能根據(jù)用戶需求動態(tài)調(diào)整資源價格.
最優(yōu)定價策略.現(xiàn)有的最優(yōu)定價策略大多是基于拍賣和博弈論的.Zhang 等人[11]研究了通過基于拍賣的算法對系統(tǒng)效益和多維資源的聯(lián)合優(yōu)化.解決方案是系統(tǒng)性能改進(jìn)和單位效益的產(chǎn)物.然而,該算法以每一輪拍賣為優(yōu)化目標(biāo),難以接近全局最優(yōu).因此,執(zhí)行成本非常高.Dong 等人[12]采用了一種基于價格的雙層Stackelberg 博弈來模擬一個由單個MEC 服務(wù)器和多個用戶組成的MEC 系統(tǒng).
MEC 系統(tǒng)模型由多個利益相關(guān)者組成: (1)希望出售免費資源的MEC 服務(wù)器; (2)希望購買資源以執(zhí)行計算任務(wù)的MD; (3)AP 作為第三方代理,代表MD 從MEC 服務(wù)器購買資源.不失一般性,我們考慮一個通用的“多對多”場景,即每個MEC 都可以將資源出售給多個MD.同時,每個MD 可以購買多個MEC 服務(wù)器出售的資源.
我們考慮一個具有多個MD 和具有多種類型資源的多個MEC 服務(wù)器的MEC 系統(tǒng).我們用U={1,2,···,U}和M={1,2,···,M}分別表示MD 和MEC 服務(wù)器的集合.R={1,2,···,R}表示資源種類的集合.我們有|U|=U,|M|=M,|R|=R.MEC 服務(wù)器和MD 之間的相互作用總結(jié)如下:
(1)MEC 服務(wù)器i∈M,希望出售空閑資源r∈R,于是向AP 告知它的可用資源數(shù)量Qi,r和其單位資源的期望價格pi,r.
(2)給定價格pi,r和可用資源數(shù)量Qi,r,MDj∈U決定從每個MEC 服務(wù)器購買的資源數(shù)量
(3)MDj使用所購買的資源來處理其計算任務(wù).
Stackelberg 領(lǐng)導(dǎo)者-跟隨者博弈是一個策略游戲,其中領(lǐng)導(dǎo)者承諾一個策略,然后跟隨者跟隨[13].一般來說,游戲中的所有玩家都是自私的,因為他們每個人都考慮了他人的策略來最大化自己的利益.具體來說,考慮到跟隨者可能采取的策略,領(lǐng)導(dǎo)者選擇了一種最大化其利益的策略.基于觀察領(lǐng)導(dǎo)者的策略,每個跟隨者都采用了使其利益最大化的策略.然后,我們解釋了跟隨者之間的競爭.通過MAPPO 算法,得到了每個跟隨者的最佳響應(yīng).在這個算法中,每個跟隨者都與環(huán)境交互,并學(xué)習(xí)一種策略來優(yōu)化其長期獎勵,而不需要考慮他人采取的行動.Stackelberg 領(lǐng)導(dǎo)者-跟隨者博弈的定義如下:
玩家: AP 和MEC 服務(wù)器都是游戲玩家.AP 是領(lǐng)導(dǎo)者,而所有的MEC 服務(wù)器都是跟隨者.
策略: 對于MEC 服務(wù)器i∈M,他的策略是確定資源r∈R的單價; 對于AP,策略是確定MDj∈U從MEC服務(wù)器處購買的資源r的數(shù)量.
收益: MEC 服務(wù)器、MD 和AP 的收益函數(shù)分別由式(1)-式(3)給出.
令xi.j.r表示MDj∈U從MEC 服務(wù)器i∈M處購買的資源r∈R的數(shù)量.MEC 服務(wù)器i的收益計算如下:
其中,pi,r表示MEC 服務(wù)器i的資源r的單價,xi={xi,j,r}j∈U,r∈R,pi={pi,r}j∈U.
MDj的收益定義如下:
其中,xj={xi,j,r}i∈M,r∈R,p={pi,r}i∈M,j∈U,ωi,j,r是MEC 服務(wù)器i出售給MDj的資源r的質(zhì)量.
AP 的收益是所有MEC 服務(wù)器和MD 收益的總和(即社會福利),定義如下:
其中,x={xi,j,r}i∈M,j∈U,r∈R.
由于所有資源都有獨立的預(yù)算,且彼此不受影響,因此我們可以將多資源分配和定價問題分解為多個單資源分配和定價子問題.因此,我們將優(yōu)化問題分解為R個獨立的子問題,每個子問題都與特定的資源類型相關(guān)聯(lián).與整體處理原始優(yōu)化問題相比,該分解的主要優(yōu)點是處理多個子問題顯著降低了計算復(fù)雜度.與r∈R相關(guān)的子問題表示為:
其中,xi,r={xi,j,r}j∈U,xr={xi,j,r}i∈M,j∈U,pr={pi,r}i∈M.
針對與資源r相關(guān)的子問題,給定所有MEC 服務(wù)器對資源r的單價(即pr),AP 的目標(biāo)是最大化它的收益.
問題1:
其中,Qi,r是MEC 服務(wù)器i中資源r的可售賣數(shù)量,Bj,r是MDj購買資源r的預(yù)算.
定理1.問題1 的最優(yōu)解如下:
其中,
證明見附錄A.
本節(jié)將介紹每個MEC 服務(wù)器如何選擇其對AP所采用的策略的最佳響應(yīng).
我們使用多智能體強化學(xué)習(xí)(multi-agent reinforcement learning,MARL)來解決多重單一資源分配和定價子問題.我們將每個子問題描述為一個馬爾可夫決策過程(Markov decision process,MDP),以準(zhǔn)確地反映資源分配和定價的決策過程.然后,我們將 MAPPO應(yīng)用于這些子問題.由于其在全局優(yōu)化方面的出色性能,MAPPO 可以在需要時快速為每個MEC 服務(wù)器獲得接近最優(yōu)的單一資源分配和定價策略.
對于資源r,給定來自環(huán)境的反饋(即資源r如何分配給MD),每個MEC 服務(wù)器需要確定資源r的單價以最大化它的收益.
MDP 的元素如下所示,包括狀態(tài)空間、動作空間和獎勵函數(shù).
狀態(tài)空間: MEC 服務(wù)器i在時隙t時刻的狀態(tài)空間表示為oti,包括對前面的L個時隙的觀察,如式(12)所述:
全局狀態(tài): MAPPO 基于全局狀態(tài)s而不是本地觀察oi學(xué)習(xí)策略 πθ和值函數(shù)V?(s).我們使用所有局部觀測結(jié)果的連接來作為critic 網(wǎng)絡(luò)的輸入.
動作空間: 在時隙t,MEC 服務(wù)器i∈M觀察前L個時隙的資源分配情況,決定在當(dāng)前時隙的單價,即pti,r.
獎勵函數(shù): 獎勵函數(shù)定義如下:
其中,cti是MEC 服務(wù)器i的折扣成本.log 函數(shù)確保當(dāng)所獲收益(即)不足以抵扣成本時,獎勵是負(fù)的.
MARL 算法可以分為兩種框架: 集中式學(xué)習(xí)和分散式學(xué)習(xí).集中式方法假設(shè)合作博弈,并通過學(xué)習(xí)單一策略直接擴(kuò)展單智能體強化學(xué)習(xí)算法,以同時產(chǎn)生所有智能體的聯(lián)合動作.在分散學(xué)習(xí)中,每個智能體都優(yōu)化自己的獨立獎勵; 這些方法可以解決非零和博弈,但可能會受到非平穩(wěn)轉(zhuǎn)換的影響.最近的工作已經(jīng)開發(fā)出兩條研究路線來彌合這兩個框架之間的差距: 集中培訓(xùn)和分散執(zhí)行(centralized training and decentralized execution,CTDE)和值分解(value decomposition,VD).CTDE 通過采用actor-critic 結(jié)構(gòu)并學(xué)習(xí)集中的critic 來減少方差,從而改進(jìn)了分散的強化學(xué)習(xí).代表性的CTDE方法是多智能體深度確定性策略梯度(multi-agent deep deterministic policy gradient,MADDPG)[14].VD 通常與集中式Q 學(xué)習(xí)相結(jié)合,將聯(lián)合Q 函數(shù)表示為每個代理的局部Q 函數(shù)的函數(shù)[15],這已被視為許多MARL 基準(zhǔn)測試的黃金標(biāo)準(zhǔn).MAPPO 通過將單個近端策略優(yōu)化算法(proximal policy optimization algorithms,PPO)[16]訓(xùn)練與全局值函數(shù)相結(jié)合,屬于CTDE 類別.不同的是PPO 是一個on-policy 算法,MADDPG 是基于offpolicy 的算法,但是MAPPO 經(jīng)過簡單的超參數(shù)調(diào)整就能獲得比較好的成績.
在RAP-MAPPO 中,每個MEC 服務(wù)器都被視為一個智能體.每個智能體都有一個參數(shù)為θ的actor 網(wǎng)絡(luò)和一個參數(shù)為?的critic 網(wǎng)絡(luò).RAP-MAPPO 為每個智能體訓(xùn)練這兩個神經(jīng)網(wǎng)絡(luò).我們用V?表示critic 網(wǎng)絡(luò),用 πθ表示actor 網(wǎng)絡(luò).我們使用統(tǒng)一的經(jīng)驗重放緩沖區(qū)來存儲歷史數(shù)據(jù)點以進(jìn)行訓(xùn)練.RAP-MAPPO 是一種基于集中式訓(xùn)練和分布式執(zhí)行的方法.在集中訓(xùn)練階段,actor 網(wǎng)絡(luò)只從自身獲取觀測信息,而critic 網(wǎng)絡(luò)獲取全局狀態(tài).在分布式執(zhí)行階段,每個代理只需要它的actor 網(wǎng)絡(luò)(而不需要critic 網(wǎng)絡(luò)).通過與環(huán)境的交互,每個代理都可以做出合適的資源分配和定價策略.
Actor 網(wǎng)絡(luò)被訓(xùn)練用來最大化:
Critic 網(wǎng)絡(luò)被訓(xùn)練用來最大化.
其中,是折扣獎勵.RAP-MAPPO 的訓(xùn)練步驟見算法1.
算法1.RAP-MAPPO 的訓(xùn)練過程初始化: 初始化actor 網(wǎng)絡(luò)和critic 網(wǎng)絡(luò)的參數(shù)1: 設(shè)置學(xué)習(xí)率step≤stemmax α 2: while 3: 令 data buffer i=1 to batch_size D={}4: for do τ=[]5:6: for t=1 to T do pat=π(ota;θ),uta~pta,vta=V(sta;?)7:utrt,ot+1,st+1 8: 計算動作 ,得到τ+=[st,ot,ut,rt,ot+1,st+1]9:images/BZ_105_405_1460_426_1491.pngA,images/BZ_105_430_1460_451_1491.pngRτ 10: 計算,將分成長度為L 的塊11: for 1=1,2,…,T //L do D=D∪(τ[l:l+L,images/BZ_105_571_1561_592_1592.pngA[l:l+L],images/BZ_105_680_1561_701_1592.pngR[l:l+L]])12:13: 從D 中隨機抽取K 個樣本L(θ)θ L(?)? 14: 通過更新,更新
我們考慮一個由多個MEC 服務(wù)器和多個MD 組成的MEC 系統(tǒng).收益最大化問題取決于可用的資源和預(yù)算.為簡單起見,我們設(shè)置ωi,j,r=1+0.1j+i/10.資源質(zhì)量在整個實驗過程中都是固定的.我們將長期獎勵的折扣系數(shù)設(shè)置為零,因為自私的智能體的目標(biāo)是最大化他們的即時收益.為了加快訓(xùn)練過程,我們對每個智能體都采用了一個相對較小的網(wǎng)絡(luò).Actor 網(wǎng)絡(luò)和critic 網(wǎng)絡(luò)都是由1 個輸入層,3 個隱藏層和1 個輸出層組成.這3 個隱藏層分別有128、64 和32 個神經(jīng)元.此外,actor 網(wǎng)絡(luò)和critic 網(wǎng)絡(luò)都使用ReLU 作為所有隱藏層的激活函數(shù),參與者網(wǎng)絡(luò)采用tanh 函數(shù)激活輸出層進(jìn)行策略生成.其他模擬參數(shù)見表1.進(jìn)行性能比較的算法如下:
表1 仿真參數(shù)
質(zhì)量比例最優(yōu)定價(quality proportional optimal pricing,QPOP): 我們假設(shè)AP 對每個MEC 服務(wù)器提供的資源質(zhì)量有一個先驗的知識.單價設(shè)置與服務(wù)器的資源質(zhì)量成正比,同時消耗確定的資源和貨幣預(yù)算(即I=0).I=0在實際系統(tǒng)中是不可能的,但由QPOP 找到的解決方案可以作為一個最優(yōu)的基準(zhǔn).
隨機: 單價在(0,5)區(qū)間內(nèi)隨機產(chǎn)生.
MADDPG: 每個MEC 服務(wù)器都被視為一個智能體,狀態(tài)空間由前L個時隙的價格和資源分配組成,動作是資源的單價,獎勵函數(shù)基于MEC 服務(wù)器的資源收入和成本設(shè)計.
圖1 為所提出的RAP-MAPPO 和MADDPG 在不同MEC 服務(wù)器數(shù)量下的收斂曲線.隨著訓(xùn)練次數(shù)的增加,MEC 服務(wù)器的平均獎勵逐漸上升,最終變?yōu)榉e極和穩(wěn)定.我們首先研究了MEC 服務(wù)器的數(shù)量對收斂性的影響.隨著MEC 服務(wù)器的增加,這兩種算法都需要更多的時間來收斂.這是因為更多的服務(wù)器會導(dǎo)致更大的狀態(tài)空間.這兩種算法需要對狀態(tài)空間進(jìn)行更多的探索,才能獲得可觀的獎勵.此外,MEC 服務(wù)器的平均獎勵隨著MEC 服務(wù)器的增加而降低.這是因為更多的服務(wù)器會在競爭期間降低價格,也就是說,每個服務(wù)器都希望出售其資源.然后,我們比較了兩種算法在收斂性方面的性能.我們很容易觀察到,與MADDPG 相比,RAP-MAPPO 具有收斂速度更快、平均獎勵速度更高的特點.
圖1 不同算法的收斂性曲線
我們在兩種場景下比較了這4 種算法.在第1 種場景下,Bj,r從5 到40 不等,Qi,r保持不變.在第2 種場景下,Qi,r均勻分布在[5,40]的范圍內(nèi),Bj,r固定為20.為了說明預(yù)算約束的影響,我們在實驗過程中固定了MD 的質(zhì)量權(quán)重,并將M,U分別設(shè)置為4 和8.
在第1 種場景下,RAP-MAPPO 在沒有對MEC 服務(wù)器提供的資源質(zhì)量的先驗知識的情況下,獲得了接近最優(yōu)的性能,如圖2 所示.當(dāng)MEC 服務(wù)器的資源不足時,MD 之間的激烈競爭導(dǎo)致了賣方市場.同時,RAPMAPPO 在社會福利方面優(yōu)于MADDPG 和隨機算法(見圖3).這是因為隨機定價不能充分利用MEC 服務(wù)器的資源,而RAP-MAPPO 則鼓勵MEC 服務(wù)器動態(tài)調(diào)整其單價,以達(dá)到提高資源效率的目的.
圖2 不同MEC 資源數(shù)量下MEC 服務(wù)器收益
圖3 不同MEC 資源數(shù)量下社會福利
在第2 種場景下,從圖4 和圖5 可以看出,在大多數(shù)情況下,RAP-MAPPO 在MD 收益和社會福利方面比MADDPG 和隨機算法獲得了更好的性能.隨著MD 的平均貨幣預(yù)算的增長,MEC 服務(wù)器更有可能提高價格,以響應(yīng)AP 的資源購買策略.因此,MD 需要降低他們的資源需求或支付更多的費用來鼓勵MEC 服務(wù)器銷售更多的資源,從而減少MD 的回報,即賣方市場.
圖4 不同MD 預(yù)算下MEC 服務(wù)器收益
圖5 不同MD 預(yù)算下社會福利
綜上所述,RAP-MAPPO 在MEC 服務(wù)器的收益和社會福利方面的表現(xiàn)優(yōu)于MADDPG 和隨機算法.它的性能與QPOP 類似.QPOP 需要知道MEC 服務(wù)器的質(zhì)量權(quán)重信息和MEC 服務(wù)器之間的無條件合作,而我們的方法只是基于與環(huán)境相互作用的局部觀察.
本文研究了基于Stackelberg 博弈的資源分配和定價問題,其中AP 和MEC 服務(wù)器是領(lǐng)導(dǎo)者和追隨者.這個問題被分解為多個可以單獨解決的單一資源類型的子問題.我們采用MAPPO 來解決這個問題.對于任意的MEC 服務(wù)器,RAP-MAPPO 不需要知道其他MEC 服務(wù)器所采取的操作,這有助于減少信令開銷.此外,RAP-MAPPO 可以通過一系列的狀態(tài)-行動-獎勵觀察來指導(dǎo)競爭智能體實現(xiàn)收益最大化.仿真結(jié)果表明,在RAP-MAPPO 中,MD 和MEC 服務(wù)器在滿足前者嚴(yán)格的貨幣預(yù)算約束的同時,學(xué)習(xí)了接近最優(yōu)的回報.此外,RAP-MAPPO 在收益和社會福利方面都優(yōu)于QPOP、隨機和MADDPG.
附錄A.定理1 的證明
問題1 對應(yīng)的拉格朗日方程是:
KKT 條件如下:
消去 λi,可得:
因此,問題1 可以被分解為如下兩個子問題.
子問題1:
子問題1 對應(yīng)的拉格朗日形式的KKT 條件如下:
消去 λi,可得:
由式(25)可知:
另一方面,式(23)的可行解可推出:
因此可知:
子問題2:
子問題2 對應(yīng)的拉格朗日形式的KKT 條件如下:
消去 μj,可得:
由式(30)可知:
另一方面,式(29)的可行解可推出:
因此可得:
綜上所述,問題1 的解如下: