張 贇,邱忠宇,蔡云澤
(1.上海交通大學(xué)自動化系,上海 200240;2.上海機(jī)電工程研究所,上海 201109)
在導(dǎo)彈實現(xiàn)集群智能作戰(zhàn)的關(guān)鍵技術(shù)中,協(xié)同決策系統(tǒng)是重中之重,其主要功能是負(fù)責(zé)導(dǎo)彈集群的任務(wù)分配。任務(wù)分配的目標(biāo)可以概括為:在當(dāng)前態(tài)勢環(huán)境下,對我方資源進(jìn)行調(diào)配以實現(xiàn)我方效益的最大化。
大量研究成果針對不同場景提出了各種任務(wù)分配模型和算法,這些方法按照架構(gòu)主要分為集中式和分布式。隨著作戰(zhàn)集群規(guī)模的不斷擴(kuò)大,集中式算法漸漸不再適應(yīng)任務(wù)分配的需求。相對于集中式算法,分布式算法賦予了各智能體一定的自主性和決策能力,因此具有更適應(yīng)大規(guī)模集群、魯棒性更好、響應(yīng)迅速等優(yōu)勢。
目前分布式任務(wù)分配算法主要有基于市場機(jī)制的方法[1]、分布式馬爾可夫決策過程方法[2]和博弈論方法?;谑袌鰴C(jī)制的方法主要有合同網(wǎng)方法和拍賣算法,合同網(wǎng)[3]包含發(fā)布者和競標(biāo)者,并將分配過程分為招標(biāo)、投標(biāo)、中標(biāo)、確認(rèn)4 個階段;拍賣算法[4]以競價的方法將任務(wù)分配給出價最高者,使得全體競價者的滿意值最高,經(jīng)典的拍賣分配算法有一致性包算法(consensus-based bundle algorithm,CBBA)[5]?;诜植际今R爾可夫法是基于分布式馬爾可夫過程模型的分配算法[6],通常使用強化學(xué)習(xí)進(jìn)行訓(xùn)練得到最優(yōu)分配解,這種方法適用于動態(tài)復(fù)雜的場景下的分配,但訓(xùn)練難度較大、收斂較慢。
運用博弈論解決分布式任務(wù)分配問題時,鑒于博弈參與者只關(guān)注自身利益最大化,而無需關(guān)注全局利益,通過一定的頂層設(shè)計可使得全局利益與局部利益一致,這意味著智能體自身不需要復(fù)雜的決策系統(tǒng),不需要關(guān)注過多全局信息。
聯(lián)盟形成博弈(coalition formation game,CFG)模型是一種常用的博弈模型,屬于合作博弈模型的范疇。在博弈過程中參與者會自行組成若干個聯(lián)盟,從全局來看即形成了若干分組。在此基礎(chǔ)上,偏好聯(lián)盟博弈(hedonic coalition game,HCG)模型中的參與者會選擇自己最喜好的聯(lián)盟加入。HCG 模型被越來越多地應(yīng)用于多種場景下的分布式優(yōu)化問題中,包括無線通信網(wǎng)絡(luò)[7]、認(rèn)知網(wǎng)絡(luò)[8]、無人機(jī)[9]等場景中的資源調(diào)配、安全傳輸[10]、任務(wù)分配[11]等問題。
本文基于偏好聯(lián)盟博弈模型,設(shè)計了空空導(dǎo)彈集群攻擊場景下的分布式任務(wù)分配模型,并針對該模型選擇空間自適應(yīng)學(xué)習(xí)(spatial adaptive play,SAP)算法進(jìn)行求解,通過仿真實驗驗證了設(shè)計模型和算法的有效性,并取得了較好的優(yōu)化結(jié)果和收斂效率。本文貢獻(xiàn)主要有兩點:1)基于HCG 模型建立了含約束的分布式任務(wù)分配模型;2)針對SAP 算法收斂效率較低、易于陷入局部最優(yōu)的局限對其進(jìn)行了改進(jìn)。
在建立多對多任務(wù)分配模型之前,需要先建立一對一的空戰(zhàn)模型[12]。本文所考慮的模型是在二維平面內(nèi),不考慮導(dǎo)彈和目標(biāo)具體形狀的影響,即將導(dǎo)彈和目標(biāo)當(dāng)作質(zhì)點處理,導(dǎo)彈與目標(biāo)速度均為常值,且導(dǎo)彈速度遠(yuǎn)大于目標(biāo)。
圖1展示的是本文所使用的導(dǎo)彈與目標(biāo)相對運動模型。 其中:M 表示導(dǎo)彈;T 表示目標(biāo);分別表示導(dǎo)彈和目標(biāo)的位置、速度、加速度和航向角;R為彈目距離;λ表示彈目視線角。
圖1 導(dǎo)彈與目標(biāo)相對運動模型Fig.1 Relative motion model of missile and target
建立導(dǎo)彈與目標(biāo)的運動方程如下:
令vR、vλ分別表示彈目相對速度平行于和垂直于視線角方向的分量,vR表示彈目相對接近速度,則彈目相對運動方程為
攻擊成本考慮兩個因素,剩余攻擊時間和預(yù)計消耗能量。其中剩余攻擊時間采用文獻(xiàn)[13]中的方法,將目標(biāo)狀態(tài)投影到彈目視線方向,將目標(biāo)轉(zhuǎn)化為相對靜止?fàn)顟B(tài)的思想,實現(xiàn)對機(jī)動目標(biāo)的剩余攻擊時間估計。
針對機(jī)動目標(biāo),采用虛擬目標(biāo)的思路,將vT和aT對彈目相對運動的影響均投影到彈目視線角方向上,并修正由目標(biāo)機(jī)動引起的航向角和視線角變化,將目標(biāo)轉(zhuǎn)化為相對靜止?fàn)顟B(tài)。修正后的剩余攻擊時間估計為
估計預(yù)計消耗能量的方法是在預(yù)計剩余攻擊時間的基礎(chǔ)上,借鑒文獻(xiàn)[14]的方法,基于最優(yōu)控制原理設(shè)計,使得導(dǎo)彈機(jī)動最小化的最優(yōu)制導(dǎo)律為
由此可計算導(dǎo)彈i攻擊目標(biāo)j的預(yù)計消耗能量指標(biāo)為
式中:w1和w2為權(quán)重。
假設(shè)我方有nM枚導(dǎo)彈,其集合表示為M:={M1,M2,…,MnM};戰(zhàn)場上有nT個目標(biāo)需要攻擊,其集合表示為T:={T0,T1,…,TnT},其中T0表示空目標(biāo)。本文只考慮導(dǎo)彈數(shù)量不少于目標(biāo)數(shù)量,即nM≥nT的情況。
設(shè)Ai?T表示第i枚導(dǎo)彈的可選目標(biāo)集。特別地,引入T0∈Ai(i=1,…,nM),表示所有導(dǎo)彈總是可以選擇不攻擊任何目標(biāo)。導(dǎo)彈i從自己的目標(biāo)集Ai中選出目標(biāo)ai,則向量組a=(a1,a2,…,anM)組成了一個分配解。設(shè),其中Sj表示分配解a下選擇目標(biāo)j的導(dǎo)彈集合,sj表示Sj中的導(dǎo)彈個數(shù),即sj=|。
將全局目標(biāo)函數(shù)定義為攻擊所有目標(biāo)可得收益之和,可建立任務(wù)分配模型如下:
在HCG 模型[15]中,任務(wù)分配問題被看作是聯(lián)盟劃分問題,定義聯(lián)盟劃分為一個集合Π={S0,S1,…,SnT},Sj(j=1,…,nT)的定義與1.3 節(jié)相同,特別地,引入新的集合S0,代表沒有選擇任何任務(wù)的導(dǎo)彈集合。由于每枚導(dǎo)彈只能選擇一個任務(wù),因此,這里M為1.3 節(jié)中定義的導(dǎo)彈集合。為了后續(xù)論述方便,用Π(i)表示導(dǎo)彈Mi選擇的目標(biāo)編號,用SΠ()i表示導(dǎo)彈Mi所屬的聯(lián)盟集合,即。
對于每個導(dǎo)彈Mi,將二元組x=(Tj,p)稱為一組聯(lián)盟對,意味著“導(dǎo)彈Mi將與p個隊友一起執(zhí)行任務(wù)Tj”。在所有聯(lián)盟對上定義一個關(guān)于效用的偏序關(guān)系?i,對任意x1,x2∈X,x1?i x2意味著導(dǎo)彈Mi對聯(lián)盟對x1偏好。
HCG模型G=(M,T,?i)是由導(dǎo)彈集合、任務(wù)集合和導(dǎo)彈的偏好關(guān)系組成的博弈模型。在HCG 模型框架下解決任務(wù)分配問題,實質(zhì)上是將選擇相同目標(biāo)的導(dǎo)彈視為一個聯(lián)盟,導(dǎo)彈可根據(jù)自己的偏好選擇加入某個聯(lián)盟。當(dāng)模型獲得納什均衡狀態(tài)時即可得到分配結(jié)果,HCG 模型的納什均衡狀態(tài)下的聯(lián)盟劃分Π*滿足對于任何導(dǎo)彈Mi有
在設(shè)計模型時,設(shè)計效用函數(shù)Ui(Tj,p)表示導(dǎo)彈的聯(lián)盟偏好關(guān)系,p表示聯(lián)盟成員數(shù)量。該效用函數(shù)與目標(biāo)和聯(lián)盟成員數(shù)有關(guān),且導(dǎo)彈偏好的聯(lián)盟具有更大的效用。
為了保證HCG 模型的納什均衡狀態(tài)的存在性,由文獻(xiàn)[16]的結(jié)論可知,當(dāng)導(dǎo)彈效用函數(shù)滿足關(guān)于聯(lián)盟成員數(shù)遞減,即
HCG 模型的納什均衡狀態(tài)一定存在。根據(jù)此性質(zhì),設(shè)計導(dǎo)彈效用函數(shù)為
式中:r(Tj,|Sj|)為導(dǎo)彈和聯(lián)盟成員一起攻擊目標(biāo)Tj可獲得的回報,并假設(shè)聯(lián)盟所有成員平分任務(wù)回報。在空戰(zhàn)場景中,攻擊同一個目標(biāo)的導(dǎo)彈數(shù)量越多,擊中目標(biāo)的概率越大。但當(dāng)數(shù)量超過一定界限時,再增加導(dǎo)彈數(shù)量對于攻擊目標(biāo)所起的作用很小,即隨著聯(lián)盟成員的數(shù)量增加,導(dǎo)彈所得到的邊際回報在遞減。因此可定義任務(wù)回報函數(shù)r(Tj,|Sj|)為
在本文的HCG 模型的場景中,需要限定得到的聯(lián)盟劃分滿足約束條件式(9)。由于本節(jié)定義的導(dǎo)彈效用函數(shù)與聯(lián)盟成員數(shù)有關(guān),而約束條件也是對于執(zhí)行同一任務(wù)的導(dǎo)彈個數(shù)的限定,因此可以直接對導(dǎo)彈效用函數(shù)進(jìn)行進(jìn)一步改進(jìn),使得導(dǎo)彈在加入一個聯(lián)盟時,會考慮到加入該聯(lián)盟后該聯(lián)盟成員數(shù)是否仍滿足約束條件。如果加入該聯(lián)盟后約束條件不再滿足,則導(dǎo)彈不會選擇加入該聯(lián)盟。具體來說,設(shè)計最終的導(dǎo)彈效用函數(shù)為
當(dāng)導(dǎo)彈即將選擇加入的聯(lián)盟已經(jīng)達(dá)到約束邊界時,若導(dǎo)彈加入,則得到的效用將會是0,因此導(dǎo)彈最終不會選擇再加入該聯(lián)盟,從而保證了求解的可行性。
2.3.1 收斂性分析
若將HCG 模型G下的導(dǎo)彈效用函數(shù)設(shè)計成如式(15)所示的形式,可以得到G收斂到一個納什均衡劃分的迭代次數(shù)上界。從只包含1枚導(dǎo)彈的模型開始,逐一在模型中增加導(dǎo)彈并且找到新模型的納什均衡劃分。當(dāng)1枚新的導(dǎo)彈加入1個已得到納什均衡劃分的k個導(dǎo)彈模型時,至多會造成原有的所有導(dǎo)彈都改變策略,即總計(k+1)次策略改變,新的模型就可以獲得新的納什均衡劃分。因此,對于含有nM個導(dǎo)彈的模型,要獲得其納什均衡劃分,至多需要的迭代次數(shù)為
2.3.2 均衡性能分析
選擇無秩序代價(price of anarchy,PoA)作為衡量納什均衡性能的指標(biāo)。設(shè)純納什均衡分配解為a*,全局最優(yōu)分配解為aopt,則PoA 的定義為全局最優(yōu)效用和納什均衡效用之比的上界,即
由PoA 的定義可知,PoA 越大,代表最差情況下納什均衡效用越小,即意味著HCG 模型的性能越差。關(guān)于本文建立的HCG 模型,我們可以用以下命題得到該模型PoA 的上界,從而保證了HCG 模型性能的下界。
命題1(HCG 模型PoA 上界)根據(jù)式(15)設(shè)計的導(dǎo)彈效用函數(shù)建立的HCG 模型G,且令εj=ε>1 和,則該HCG模型的PoA滿足
式中:
在可行解范圍內(nèi),根據(jù)任務(wù)回報函數(shù)r(Tj,|Sj|)單調(diào)遞增的性質(zhì),結(jié)合全局效用函數(shù)為任務(wù)回報函數(shù)之和的定義,對全局效用函數(shù)有
將全局最優(yōu)劃分Πopt和納什均衡劃分Π*分別取代式(20)中的ΠA和ΠB,則不等式左側(cè)為Ug(Πopt)。對于不等式右側(cè),代入式(13),忽略常值代價函數(shù),將式(20)右側(cè)化為
因此可得命題結(jié)論。
由命題1 可知,若要控制HCG 模型的性能下界PoA<1+η0(0<η0<1),則需要設(shè)置衰減參數(shù)ε滿足
SAP 算法[16]原本是空間博弈中的一種自適應(yīng)學(xué)習(xí)方法,本文將針對任務(wù)分配問題的特點,將其改造為適用于任務(wù)分配問題的SAP算法。
SAP算法的特點是在第k次迭代時等可能地隨機(jī)選擇1 枚導(dǎo)彈Mi進(jìn)行目標(biāo)的選擇,其他導(dǎo)彈保持目標(biāo)選擇a-i(k-1)不變。被選中的導(dǎo)彈Mi根據(jù)自己的可選集Ai使用以下方法計算其目標(biāo)選擇概率分布為
式中:σ(·)為softmax函數(shù)。
在原始的SAP 算法迭代后期,由于只有少部分導(dǎo)彈尚未達(dá)到均衡,此時若仍然等可能地選擇1枚導(dǎo)彈,會導(dǎo)致收斂過程加長。因此,對原始SAP 算法作出以下改進(jìn)。
在第k次迭代時刻,每枚導(dǎo)彈會統(tǒng)計前(k-1)次迭代過程中自己被選中且沒有改變目標(biāo)的次數(shù)Ni(k)。設(shè)計選擇導(dǎo)彈的概率分布為
這樣設(shè)計的意義在于:較大的Ni(k)使得選中已處于均衡狀態(tài)的導(dǎo)彈的概率減少;如果導(dǎo)彈改變了目標(biāo),則Ni(k)清零,使導(dǎo)彈重新進(jìn)入均衡迭代過程。
另外,HCG 模型下導(dǎo)彈效用函數(shù)均為非負(fù)值,可能導(dǎo)致計算pi(k)時各分量之間差距不大而使得導(dǎo)彈反而加入不符合約束的聯(lián)盟,從而導(dǎo)致約束條件不再滿足。為了保證收斂解的可行性與快速性,對SAP 算法作出修正,將計算pi(k)的方法改為導(dǎo)彈效用值為正的聯(lián)盟參與計算,如果所有分量均為0,則隨機(jī)選擇聯(lián)盟加入。因此pi(k)的計算公式為
本章提出的改進(jìn)SAP算法流程如圖2所示。
圖2 改進(jìn)SAP算法流程Fig.2 Flow of improve SAP algorithm
本章設(shè)計仿真實驗測試本文HCG 模型與算法的性能。為了對比效果,使用幾種集中式啟發(fā)算法對式(8)所示模型進(jìn)行對比,使用到的集中式啟發(fā)算法包括遺傳算法(genetic algorithm,GA)、粒子群算法(paticle swarm optimization,PSO)、退火遺傳算法(simulated annealing genetic algorithm,SAGA)、蟻群退火遺傳算法(ant colony optimization-simulated annealing genetic algorithm,ACOSAGA)。
將GA 和SAGA 算法的參數(shù)設(shè)置為:種群數(shù)量為20,迭代次數(shù)為200步,交叉算子為PMX 算子,交叉概率為0.4,變異算子為EM 算子,變異概率為0.4。ACOSAGA 算法使用蟻群算法對SAGA 算法中使用的交叉和變異算子進(jìn)行尋優(yōu)。
此外,使用文獻(xiàn)[17]中的分布式一致交互算法(distributed mutual exclusion algorithm,DMEA)作為分布式算法中的對比算法參與實驗。
為了消除隨機(jī)因素影響,本文將6 種算法針對同一場景的任務(wù)分配問題求解100 次,每次迭代隨機(jī)產(chǎn)生初始解,以此比較各算法下優(yōu)化性能的穩(wěn)定性。此外,為了比較不同場景下的算法性能,本文將同一場景下所有算法重復(fù)計算得到的所有優(yōu)化值中的最優(yōu)值作為參照值,將各算法所得目標(biāo)值與參照值作比,作為各算法的優(yōu)化程度表現(xiàn)。下面將使用的“AvsB”表示A枚導(dǎo)彈對戰(zhàn)B個目標(biāo)的場景。
任務(wù)分配中的場景通??梢苑譃閮煞N,分別為平衡分配場景和非平衡分配場景。平衡分配場景指的是n枚導(dǎo)彈攻擊n個目標(biāo),即導(dǎo)彈數(shù)量等于目標(biāo)數(shù)量;非平衡分配問題指的是導(dǎo)彈數(shù)量不等于目標(biāo)數(shù)量,在本文中只研究導(dǎo)彈數(shù)大于目標(biāo)數(shù)的情況。
平衡分配問題可以反映出問題規(guī)模對算法的影響。在使用集中式啟發(fā)算法解決非平衡問題時,引入虛擬目標(biāo)將非平衡問題轉(zhuǎn)換成平衡問題?;贖CG模型的SAP 算法(HCGSAP)沒有引入虛擬目標(biāo),也沒有對可選目標(biāo)集加以約束,因此在處理非平衡問題和平衡問題時的性能有所差別。本章將針對任務(wù)分配中的這兩種問題場景進(jìn)行仿真實驗,對比HCGSAP算法與集中式啟發(fā)算法的性能。
本文使用的仿真平臺是Ubuntu16.04 系統(tǒng)下的Matlab R2018a。
首先分析平衡分配場景,設(shè)計導(dǎo)彈和目標(biāo)數(shù)量等同地從10 增加到50,圖3 展示了6 種算法在5 種場景下的優(yōu)化結(jié)果的箱型圖分布及其平均值曲線,具體平均值數(shù)據(jù)見表1。
圖3 平衡分配場景下算法優(yōu)化效果對比Fig.3 Comparison of algorithm optimization performance in balance scenarios
表1 平衡場景下不同算法優(yōu)化效果平均值對比Tab.1 Comparison of different algorithm optimization performance in balance scenarios
從同場景的不同算法角度對比可見,集中式啟發(fā)算法的優(yōu)化效果普遍比分布式算法好,且SAGA 算法的優(yōu)化效果最好。本文提出的HCGSAP 算法優(yōu)化效果達(dá)到97.5%以上,但相比于集中式啟發(fā)算法和另一種分布式算法DMEA還存在差距。
從不同場景變化角度來看,隨著任務(wù)分配規(guī)模的擴(kuò)大,集中式啟發(fā)算法除了SAGA 外,優(yōu)化效果都有略微下降。而HCGSAP 算法和基于HCG 模型的DMEA 算法(HCGDMEA)性能則有所提升,表現(xiàn)為得到的解更加收斂和穩(wěn)定,且結(jié)果與部分集中式算法相當(dāng),如PSO 算法。在50 vs 50 的場景中,HCGSAP可達(dá)到98%以上的優(yōu)化效果。由此可見,HCG 模型下的分布式算法在處理較大規(guī)模問題上具有較好的優(yōu)化能力。
關(guān)于收斂效率方面,由于集中式算法和分布式算法的框架不同,表2 中只比較了HCGSAP 和HCGDMEA 的平均收斂步數(shù)。由表2 可以看出,HCGSAP 的總收斂步數(shù)比HCGDMEA 多,但實際上由于SAP 算法的迭代特點,將收斂步數(shù)平均到每枚導(dǎo)彈后,即表2 第3 行所示的HCGSAP 收斂步數(shù)是很小的。考慮到算法中計算效用函數(shù)以及交互通信達(dá)到一致性需要消耗較多資源,實際上HCGSAP 可以節(jié)約更多的時間和資源。
表2 平衡場景下分布式算法平均收斂步數(shù)對比Tab.2 Comparison of average convergence steps in balance scenarios
選擇固定導(dǎo)彈數(shù)量為55,目標(biāo)數(shù)量由10 增加到50,對于目標(biāo)分配的不平衡,設(shè)定約束條件的確定方法為盡量平均分配,不平均部分隨機(jī)分配。圖4 展示的是非平衡場景下不同算法的優(yōu)化效果對比,具體平均值數(shù)據(jù)見表3。
圖4 非平衡分配場景下不同算法優(yōu)化效果對比Fig.4 Comparison of different algorithm optimization performance in unbalance scenarios
從同場景下不同算法的對比來看,可看出在非平衡問題下,集中式算法效果有所下降,而分布式算法則有所提升,尤其是HCGSAP 算法,在部分場景下優(yōu)化效果已經(jīng)超過了HCGDMEA 算法,且達(dá)到了與PSO算法相當(dāng)?shù)乃健?/p>
從不同場景變化看,隨著目標(biāo)數(shù)量的增加,任務(wù)分配的非平衡程度減小,HCGSAP算法的性能逐漸降低,但優(yōu)化效果也達(dá)到了98%以上;而在目標(biāo)數(shù)量為10 時,問題非平衡程度最大,且此場景下HCGSAP 算法性能可與PSO 算法和ACOSAGA 算法相當(dāng)。由此可見,HCGSAP算法在非平衡分配問題上的優(yōu)化效果比集中式算法更優(yōu)。
關(guān)于收斂效率方面,表3 列出了非平衡分配場景下分布式算法的平均收斂步數(shù)對比。從不同場景的對比情況分析,HCGDMEA算法所需的迭代步數(shù)會隨著目標(biāo)數(shù)量增加而增加。在非平衡程度較高時,HCGSAP 算法下平均到每枚導(dǎo)彈所需的迭代次數(shù)最多,在非平衡程度較低即目標(biāo)數(shù)量較多時,HCGSAP算法下平均到每枚導(dǎo)彈的迭代次數(shù)反而減少,這是由于HCGSAP 算法的總迭代步數(shù)幾乎不隨目標(biāo)數(shù)量的改變而改變。
表3 非平衡場景下不同算法優(yōu)化效果對比Tab.3 Comparison of different algorithm optimization performance in unbalance scenarios
從上述兩個場景的仿真對比可以看出,與集中式啟發(fā)算法以及分布式的DMEA算法對比,本文設(shè)計的HCG 模型及SAP 算法具有較好的優(yōu)化能力和收斂效率,尤其是在非平衡程度較高的分配問題和較大規(guī)模問題上具有更好的性能,在某些場景下可以達(dá)到與集中式算法相當(dāng)?shù)男阅堋?/p>
表4 非平衡場景下分布式算法平均收斂步數(shù)對比Tab.4 Comparison of average convergence steps in unbalance scenarios
針對實際空戰(zhàn)場景下空空導(dǎo)彈集群攻擊中任務(wù)分配技術(shù)所面臨的高動態(tài)性、強博弈性需求,本文使用HCG 作為基本理論工具,設(shè)計了基于HCG 的任務(wù)分配模型,并針對該模型改進(jìn)了SAP 算法。仿真實驗表明,本文設(shè)計的模型與算法在較大規(guī)模分配問題和非平衡分配問題下具有良好的性能和收斂效率。
但本文提出的算法仍存在不少問題,比如在部分場景下仍不能達(dá)到集中式算法的水平。另一方面,分布式算法的優(yōu)化結(jié)果分散性較大,因此提高分布式算法求解結(jié)果的優(yōu)化性和穩(wěn)定性是下一步的研究工作。