孫海文,謝曉方,孫 濤,王誠成
(海軍航空大學 兵器科學與技術系, 山東 煙臺 264001)
隨著各種高新技術在兵器研制中的廣泛應用,空中目標的技術性能和空襲戰術發生了重大變化:在技術性能方面,目標的速度、射程、機動能力、抗干擾能力以及隱身性能都得到較大提高;在空襲戰術方面:目標更多地實施多批次、超低空攻擊,實施飽和攻擊以及防區外攻擊,電子偵察、干擾與壓制相結合。這就要求現代艦艇防空要從單型號單平臺防空武器系統控制逐漸向多型號多平臺武器系統綜合控制發展,同時,要求艦艇防空武器綜合控制系統對連續多批次目標任務具備快速實時性和動態持續性的攔截能力[1]。
目前,國內外絕大多研究是從運籌學的角度,將整個防空過程看作是火力-目標分配問題,即多項式復雜程度的非確定性(NP)問題。火力-目標分配有兩種類型:一種是靜態火力-目標分配,在其分配過程中,所有參數都是已知的,并且在一個階段中將所有武器分配給所有的目標,該問題大多采用匈牙利算法[2]、粒子群算法[3-6]、蟻群算法[7]以及遺傳算法[8]等方法進行求解;另一種是動態火力-目標分配,所有武器都是分階段分配的,當前階段的火力分配,要結合前一階段的目標毀傷結果進行分配,文獻[9]將遺傳算法與anytime算法相結合來解決動態火力-目標分配,并取得了較好的結果;文獻[10]提出一種禁忌搜索算法來求解動態火力-目標分配問題,仿真結果驗證了該方法的有效性。文獻[11]將馬爾科夫模型與近似動態規劃法有效結合,在時間序列上對動態火力資源進行分配。
通過分析這些文獻發現:很少有從任務規劃和資源調度的角度對整個防空過程進行分析研究,使得防空過程缺乏系統性和動態連續性;隨著人工智能技術的發展,大多數文獻都采用智能算法對問題進行求解,而沒有從知識表示和推理的角度,對防空過程進行智能決策研究。
針對上述問題,本文提出了一種基于PROLOG語言的智能在線任務規劃及火力資源調度方法。該方法可實現探測跟蹤、威脅評估、火力分配方案制定、火力分配方案執行、毀傷評估等多個行動同時執行。將整個防空過程放在時間軸上,連續多批次目標看作攔截任務,將編隊防空作戰中各平臺上的火力節點、制導節點以及探測節點看作調度資源,對可重復性資源,在其空閑時間窗內可進行多次調度。利用PROLOG語言[12]根據當前目標狀態信息、火力資源狀態信息以及各控制參數等信息,結合Prolog自身的推理機制,自動推理出處理目標任務的可行行動;在防空目標任務規劃過程中,傳統的火力資源調度方式是一旦開始對目標任務進行火力資源分配時,絕不會因為任何原因中斷對當前目標任務的火力資源分配方案的制定和執行。由于來襲目標往往是連續多批次出現的,傳統的火力資源調度模式不能達到最佳的攔截狀態。因此,在基于Prolog的任務規劃基礎上,引入搶占式火力資源調度思想,即當新的優先級更高的目標出現時,在方案執行時間之前,對已制定的攔截方案進行武器釋放,生成更優的攔截方案。通過仿真分析,驗證了該方法的有效性和優越性。
Petri網[13]是一種可用圖形表示的組合模型,其不僅可以用于靜態結構分析,也可用于動態行為分析。隨著Petri網理論及應用的不斷擴展,近年來,Petri網在知識表示及推理領域被廣泛應用。本文結合艦空武器智能綜合控制系統的功能特點,利用Petri網構建了綜合防空目標任務的處理流程。如圖1所示。圖1中的庫所及變遷含義如表1所示。

圖1 基于Petri網的目標任務處理流程

庫所含義變遷含義P1來襲目標t1發現并跟蹤目標P2已被發現并跟蹤的目標t2威脅判斷P3等待被分配火力通道的目標t3火力分配方案制定P4已分得火力通道的目標t4分配方案開始執行P5正在被攔截的目標t5攔截評估P6等待再次攔截的目標t6同一火力通道進行二次攔截t7更換火力通道進行二次攔截
系統任務處理的具體行動如下:
1) 發現并跟蹤目標
輸入:來襲目標狀態 (雷達探測并跟蹤)
輸出:目標類型、位置信息、運動特征、目標攻擊意圖以及目標狀態轉到已被發現并跟蹤的目標狀態。
2) 威脅判斷
輸入:目標類型特征(目標類型、干擾能力量化值)、位置信息(目標高度、目標方位角、目標距離)、運動特征(目標徑向速度、航路捷徑)、目標攻擊意圖量化值等。
輸出:各目標的威脅值,并且目標狀態轉到等待被分配火力通道的目標狀態。
3) 火力分配方案制定
輸入:目標的威脅值、目標的類型、目標的位置信息、目標的運動特征、火力資源的狀態信息、戰技指標、作戰空域信息。
輸出:目標狀態轉到已分得火力通道的目標狀態和非分得火力通道的目標狀態(即生成攔截方案),將未分得火力通道的目標轉轉到已發現并跟蹤的目標狀態。
4) 分配方案開始執行
輸入:當前時間(到達方案執行時刻)
輸出:目標狀態轉到正在被攔截的目標狀態。
5) 攔截評估
輸入:當前時間(到達目標與導彈遭遇的時刻)。
輸出:目標是否被攔截成功,若成功攔截,則該目標任務結束;否則轉到待再次攔截目標狀態。
6) 同一火力通道進行二次攔截
輸入:目標位置信息、該火力通道作戰空域信息(目標處于該火力打擊范圍內)。
輸出:目標狀態轉到正在被攔截的目標狀態。
7) 更換火力通道進行二次攔截
輸入:目標位置信息、該火力通道作戰空域信息(目標不處于該火力打擊范圍內)。
輸出:目標狀態轉到已發現并跟蹤的目標狀態。
根據7個任務行動和6個目標任務狀態來進行相關知識的獲取、表示和推理,完成不同目標狀態下的行動規劃,并調用相應的行動功能模塊進行目標任務處理。
Programming in logic(Prolog)[14]是一種具有知識表達及邏輯推理能力的程序設計語言,其具有模式匹配、遞歸、回溯、事實庫和謂詞庫等強大功能,其在求解問題時,只需描述問題中的對象和對象關系等已知的事實和規則,計算機就能自動得出結果。將其應用到綜合防空任務行動規劃問題上,可快速有效地推理出要執行的下一行動。
這里采用Prolog進行防空目標任務的行動規劃,根據目標狀態信息和火力資源狀態信息,通過相應的行動規則以及Prolog的推理機制,對防空目標任務進行規劃處理,具體行動規劃過程如下:
1) 分析綜合防空過程中需要用到的相關領域概念以及相互關系;
2) 定義相關域和屬性。域:string、integer、float以及boolean等;屬性包括目標狀態、目標類型、目標位置以及火力資源狀態等屬性;
3) 采用面向對象進行事實庫的構建,包括目標事實庫和艦船事實庫。事實庫的結構形式如表2和表3所示;
4) 采用邏輯及產生式規則進行規則庫構建,這里構建在線任務規劃規則,如表4所示;
5) 對規則進行語法和完備性檢查,并通過Prolog的深度優先搜索進行推理。

表2 目標知識表示

表3 艦艇知識表示

續表3
火力資源調度是整個在線任務規劃中最為關鍵的一個行動。如何高效有序地進行火力資源調度提高艦艇的生存能力是防空作戰過程中重要的一部分。在此采用搶占式火力資源調度方式,即,方案執行之前,當新的目標任務出現,可對已分配好的火力資源進行釋放,重新進行資源分配。
搶占式調度主要原則有:
1) 威脅度優先權原則。當威脅度高的目標出現時,將威脅度低的目標任務的火力資源釋放,重新對威脅度高的目標任務進行資源分配;
2) 飛臨時間優先權原則。當新出現的目標飛臨時間明顯比當前目標短,則釋放飛臨時間長的目標任務的火力資源,并優先對飛臨時間短的目標任務進行火力資源分配。
3) 時間原則。搶占式調度只能在方案執行之前進行,一旦方案開始執行,則不能進行搶占式調度,只能進行下一階段的資源調度方案的制定。

表4 在線任務規劃規則表示
假設某一次防空作戰中,m個空襲目標編號為Tj(j=1,2,…,m),n個火力單元的編號為Fi(i=1,2,…,n)。令xij為決策變量,若第i個火力單元被分配攔截第j個目標,則xij=1,否則xij=0;令pij為第i個火力單元對第j個目標的毀傷概率。設Pj為所分配火力對第j個目標的聯合毀傷概率,則:
(1)

(2)
式(2)中,tij為目標j到火力單元i的飛臨時間。
引入預先毀傷概率閥值和飛臨時間的火力-目標分配模型:
(3)
(4)

(5)



式(5)表示一個火力單元至多只能分配給一個目標。
某一來襲目標的出現時間為tT,離艦艇的距離為dT,并以速度vT向艦艇逼近,攔截導彈的飛行速度為vF,武器的最大攔截距離為dmax,最小攔截距離為dmin,對來襲目標的鎖定耗時為tlock,準備武器耗時為ta,攔截方案執行的開始時間為tp,攔截點離艦船的距離為dinter,攔截發生的時間為tinter,針對某一個來襲目標的攔截,某一攔截方案對可重復占用/釋放武器F的時間窗口占用記為tF={nameF,[ts,te]},其中ts表示武器實施協同攔截的開始時間,te表示武器實施協同攔截的結束時間。
導彈占用時間窗口:
tfire={fire,[tp,tp+tlock+ta]}
(6)
對于中近程導彈需要照射器照射引導,計算照射器占用時間窗口:
dinter∈[dmin,dmax]
(7)
tinter=tp+tlock+ta+dinter/vT
(8)
tguidance={guidance,[tp,tinter]}
(9)
如圖2所示,表示執行一個任務的動作序列為{o1,o2,o3,o4},任一行動o的起止時間記作st(o)和et(o)。其中需要火力單元F1和F3分別執行o2和o4,制導節點G2執行o1和o3。

圖2 執行目標任務的甘特圖
為了有效調度火力資源,避免占用時間窗口上的資源調度沖突,將火力資源的時間窗口進行以下分類:
定義1:工作時間窗口WTW(Working time window)。表示該時間窗口內,無人平臺被調度去執行某一行動。
定義2:臨時空閑時間窗口TATW(Temporarily avaible time window)。無人平臺在時間窗口處于臨時空閑狀態,經過一定的時間段將去執行某一行動。
定義3:持續空閑時間窗口PATW(Persisitently avaible time window)。表示無人平臺在該時間窗口內未被分配任務行動,處于持續空閑狀態。
以上3類時間窗口可有效地表示各火力資源某時刻的時間窗口狀況。當在t1時刻,各火力資源的時間窗口集合為:



當到達t2時刻,各火力資源沒有接受到新的執行動作,則各火力資源的時間窗口集合為



各火力資源在滿足時間約束的情況下,在其臨時和持續空閑時間窗口內均可被調度。
步驟1:按照發現時間上先到先服務的算法思想進行任務排序。假設在時間tNi發現第i批次的目標集合Ni。
步驟2:限定算法分配時間Δt以及各目標的預期毀傷門限,目標數量較少時可采用遍歷搜索算法,較多時采用智能算法(布谷鳥算法,由于這不是本文的研究重點,因此不詳細介紹),結合式(3),在滿足毀傷概率門限的條件下,優先對威脅度高,飛臨時間短的目標任務進行火力分配。
步驟3:選擇方案執行時間。按照方案中飛臨時間最短的目標任務的時間狀態,來選方案執行時間。執行時間的選擇范圍為[tearly,tlast]。其中,tearly為最早執行時間,即保證導彈在殺傷區遠界與目標相遇的攔截方案執行時間;tlast為最晚執行時間,即保證導彈在殺傷區近界與目標相遇的攔截方案執行時間。
步驟4:當出現新的目標任務,比較威脅程度以及飛臨時間,要是優先級高于已分配目標任務,則釋放優先級低的目標任務的火力資源,重新對待分配目標進行資源調度分配。若搶占式攔截方案在原方案執行時間之前生成,則采用重新生成的方案;否則,按原定方案執行,新到目標任務進入下一輪的火力資源調度中,即返回步驟1。
步驟5:確定好攔截方案后,計算該攔截方案所需火力資源的時間占用窗口集合,更新各火力資源的時間窗口集合。返回步驟1。
綜上所述,采用Petri網表示火力資源調度的運行過程,如圖3所示。

圖3 火力資源調度的運行過程
圖3中豎杠代表規則,圓圈代表目標任務和資源狀態。當目標任務和資源狀態滿足規則條件時,則執行相應規則,得到新的目標任務和資源狀態。
假設某艦艇配有10個火力通道,每個火力通道擁有6枚導彈,各火力通道轉火時間為10 s,來襲目標數目分別為4、8、12和16,目標在時間區域0~10 s,0~30 s,0~50 s,0~70 s上均勻出現,所有目標出現時離艦艇50 km。仿真過程中當時間等于目標出現時間,則視為目標出現;當時間等于方案執行時間,則該方案被執行。當觀測到某一目標任務攔截失敗,則將該目標視為新目標任務,攔截發生時間視為新目標的出現時間,重新進行方案制定;當在方案執行時間之前出現新的目標,比較威脅度以及飛臨時間優先級,進行搶占式資源調度。艦艇的生存概率為毀傷所有目標任務的概率。分別采用本文的搶占式火力資源調度方法與傳統的先到先服務的非搶占式調度方法進行對比仿真。4個算例的仿真結果如圖4、圖5、圖6、圖7所示。
由圖4、圖5、圖6、圖7可見,在目標數量較少,火力資源相對充足的情況下,搶占式調度和非搶占式調度對艦艇生存能力影響基本相同;在目標數量較大、目標出現時間平均分配區間較小、火力資源相對匱乏時,搶占式調度的優勢就顯現出來,明顯提高了艦艇的生存概率。

圖4 來襲目標數量為4時搶占式和非搶占式調度效果

圖5 來襲目標數量為8時搶占式和非搶占式調度效果

圖6 來襲目標數量為12時搶占式和非搶占式調度效果

圖7 來襲目標數量為16時搶占式和非搶占式調度效果
本文針對連續、多批次來襲目標任務的艦艇綜合火力優化分配問題展開研究。提出了一種基于PROLOG語言的智能在線任務規劃及資源調度的綜合防空火力優化分配方法。該方法有別于傳統運籌學中單純的火力-目標分配方法,本文嘗試將具備知識表示及推理能力的PROLOG智能規劃語言用于防空作戰的任務規劃中;在資源調度中通過分析細化火力資源時間窗口狀態,有效地避免資源調度中的沖突,并按照威脅度以及飛臨時間優先權引入搶占式調度策略。通過仿真比較分析,該方法能有效地對連續、多批次目標進行持續地攔截;同時,在目標數量相對較多以及出現時間較集中的情況下,搶占式調度策略的引入能相比于非搶占式調度能有效地提高艦艇地生存概率。