曹軍海,鄭竣兮,杜海東,梁精睿
(陸軍裝甲兵學院,北京 100072)
裝備動用管理是指在裝備的使用過程中,為了保持足夠數量的裝備隨時處于良好狀態,以滿足軍事行動的需要,進行的協調、組織、規劃、監督和控制的管理活動[1]。裝備的動用管理是裝備保障與管理中的關鍵環節,也是軍隊完成各項軍事任務的重要保障,對維持和提高裝備完好率、戰備水平,提高軍隊作戰效能和保障能力具有重要作用[2]。裝備動用業務流程的建模與仿真,是本領域熱點研究問題,其根本目的是通過建模與仿真方法,實現對裝備動用流程的評估與優化。
裝備動用業務流程是一類典型的涉及主體多、存在異步并發事務、資源占用規則復雜、確定性與隨機性并存的復雜業務流程。在業務流程建模領域,常用的方法包括基于GERT(Graphic Evaluation and Review Technique)的建模方法[3-4]、基于PERT(Program Evaluation and Review Technique)的建模方法[5-6]、基于Petri網的建模方法[7-10]、基于ESD(Event Sequence Diagram)的建模方法[11]等。其中,Petri網建模方法在處理復雜的活動觸發規則、活動優先級、批處理和異步并發事件等方面,具有獨特的優勢,因此得到廣泛應用。然而,傳統Petri網方法,基于面向流程的系統建模思想,從系統活動要素出發,通過對系統中各類活動流程的建模,實現對整個系統行為的刻畫,這種方法不能很好地適應大型復雜系統業務流程模型的構建,也不符合當前流行的基于Agent的復雜系統建模與仿真方法論思想。在處理大型復雜系統的業務流程時,因為規模龐大,關系復雜,很容易出現“邏輯混亂”、“模型轉換困難”、“建模思路不清晰”、“狀態空間爆炸”、“模型維護困難”、“模型可重用性差”等問題。為了克服傳統Petri網的不足,Lee和Wang提出了一種將面向對象方法與Petri網建模相結合的模型構建方法[12],即OOPN(Object Oriented Petri Nets)法。OOPN建模方法可以高度抽象系統的業務流程,其建模過程從面向系統活動,向面向系統主體(對象)轉變。它關注系統對象與外部世界之間的信息傳遞接口和不同對象接口之間的信息傳遞,因此更容易實現系統擴展,可以很好地適應復雜系統的建模問題,因此,該方法逐漸被廣泛應用。李景峰[13]等描述了煤炭超市業務流程問題,并建立了面向對象分層Petri網模型,實現了對煤炭超市業務系統中物流、資金流和信息流的數據描述以及業務流程的優化分析。孫光[14]等考慮了繼電保護裝置、斷路器裝置、重合閘裝置間的配合關系,并利用面向對象技術降低了單個Petri網仿真單元的復雜性,提出了一種面向對象的輸電網線路保護Petri網模型。鄭學恩[15]等針對設計工作流活鎖問題,提出了基于面向對象Petri網的擴展工作流網,設計了躍遷狀態轉移機制和虛擬token的網標識,給出了能夠描述虛擬token的可達性分析方法。
從基于仿真的裝備動用業務流程評估與優化的研究需要出發,針對裝備動用業務流程建模與仿真的復雜性和難點問題,本文提出了基于OOPN的裝備動用業務流程建模與仿真方法,并通過Anylogic平臺進行了仿真驗證,證明了方法的可行性和有效性,為裝備保障系統建模與仿真技術的開發與應用提供了新的思路。
按照面向對象的方法,OOPN將系統的目標實體分成了多個對象類。對象類和對象類之間的關系由Petri網的存儲庫、流關系和轉換表示。對象類表示具有類似行為的實體類。它封裝了這些實體共享的狀態和行為,并且獨立于其他對象類。OOPN建模方法的核心是引入模塊化的Petri子網模塊,然后根據一定的規則連接以上模塊,從而構建了整個系統的模型。使用OOPN方法,模型不僅使圖形描述易于理解,而且還保留了Petri網的分析和驗證功能。
OOPN模型由三部分組成:頂層Petri網模型、子層的對象Petri網模型和二者的連接關系模型。在本文中,頂層Petri網模型針對裝備動用流程整體,對象Petri網模型則是針對各個對象,描述了它們在流程中的參與情況以及涉及的具體業務活動;而對象之間通過連接關系模型,以信息流的形式傳遞指令,實現整個模型的運行。
定義1頂層Petri網模型是一個3元組(O,P,R),其中:O={Oi,i=1,2,…,I,I∈N}是系統的對象集;
P={Pi,i=1,2,…,I,I∈N}是系統對象的庫所集;
R={Rij,i=1,2,…,I,j=1,2,…,J,I,J∈N}是系統對象的關系集。
定義2 子層Petri網模型是一個4元組,(OiP,OiT,Imi,Omi)
其中:OiP={OiP1,OiP2,…,OiPn} 是子層Petri網對象Oi的對象集;
OiT={OiT1,OiT2,…,OiTn}是子層Petri網對象Oi的變遷集;
Imi是對象Oi的輸入信息庫所集;
Omi是對象Oi的輸出信息庫所集。
定義3 子層間關系連接模型是一個 2 元組(Iij,Ojk)
其中:Iij(OMi,Oj)作為從輸出信息庫所OMi到對象Oj的輸入功能;
Ojk(Oj,IMk)作為從對象Oj到輸入信息庫所IMk的輸出功能。
裝備動用管理是一項涉及大量人員主體的綜合性管理工作。以裝甲裝備為例(本文主要指教練車),裝甲車輛的使用由多個相關團隊組織和實施,在此期間,涉及多個部門之間的協調、合作和保障。同時,應執行相應的程序,遵守有關規定和要求,滿足各種約束條件,其業務范圍和人員范圍相當廣泛。裝甲車輛動用的典型業務流程如圖1所示。

圖1 裝甲裝備動用流程
如圖1所示,裝甲車輛的動用過程主要涉及裝備機關、車場管理站、車場值班室、修理分隊、使用分隊五個部門,各個部門的職能分工明確,在整個流程中存在裝備交接、文件下達、物流、信息流等傳遞過程,符合OOPN建模中對象的特點。本文將這五個部門抽象為五個業務主體對象,并根據面向對象業務流程的特點,對動用流程進行轉換,如圖2所示。

圖2 基于業務主體對象的裝甲車輛動用流程
由圖1可知,裝備動用的層次Petri網包含5個業務主體對象。分別為:
1)裝備機關,主要負責裝備使用計劃、維修計劃的制定與下達,在流程中涉及信息流的傳遞,構建的模型如圖3所示。

圖3 裝備機關子層Petri網模型
2)車場管理站,作為裝備狀況的鑒定機構,在流程中參與了裝甲車輛技術狀況檢查、修理情況上報等程序,構建的模型如圖4所示。

圖4 車場管理站子層Petri網模型
3)車場值班室,主要負責裝備的出入場登記,在流程中涉及信息流的傳遞,構建的模型如圖5所示。

圖5 車場值班室子層Petri網模型
4)修理分隊,作為基層級修理機構,負責裝甲車輛使用中出現小故障時的搶修以及工位的換件修理,構建的模型如圖6所示。

圖6 修理分隊子層Petri網模型
5)使用分隊,負責裝備的使用、技術狀況檢查、保養,使用過后的卡片填寫、入庫等工作,涉及信息流、物流的傳遞,是裝備動用流程中參與程度最高的機構,構建的模型如圖7所示。

圖7 使用分隊子層Petri網模型
以上模型中,各個庫所和變遷的含義如表1所示,其中,裝備機關代號為A,車場管理站代號為B,車場值班室代號為C,修理分隊代號為D,使用分隊代號為E。

表1 OOPN模型中各個庫所和變遷的含義
頂層Petri網模型對于整個裝甲裝備動用業務流程進行圖形化、直觀化描述。通過對各個主體對象模型進行交互分析,并進行模型集成,建立系統總體的業務流程模型,如圖8所示。

圖8 裝備動用流程頂層Petri網模型
在該模型中,各個Gate與I/O口的含義如表 2所示。

表2 頂層Petri網門與I/O口的含義
為了驗證基于OOPN的裝備動用業務流程建模方法的有效性。本文采用AnyLogic通用仿真建模平臺,對所建立的裝備動用OOPN模型進行了仿真實現。
AnyLogic仿真平臺是一種可用于離散型、連續型及混合型復雜系統建模與仿真的通用工作平臺軟件,其最大的特色在于支持基于Agent的復雜系統建模與仿真方法,并提供了豐富的基礎模型庫和強大的擴展能力。本文在Anylogic平臺下,以多Agent仿真技術為基礎,對Petri網中的核心要素庫所和變遷進行定制,并將各個業務對象定義為Agent實體,并通過Agent間的信息流傳遞來驅動Petri網的運行,從而實現OOPN模型的動態仿真。
本文以裝備動用流程OOPN模型為基礎,使用 AnyLogic平臺確定仿真參數、構建仿真模型。
如圖9所示,首先在仿真模型中定義“Battalion”、“DutyRoom”等五個Agent,分別表示裝備動用OOPN中的五個主體對象。

圖9 基于多Agent的裝備動用主體對象模型
然后定義“Place”、“TimeTransition”兩個Agent,分別表示Petri網中的庫所和變遷。如圖10所示,在“Place”中定義變量“tokens”,表示Petri網中的token。其中,參數“initialTokens”表示初始token。

圖10 基于多Agent的庫所模型
如圖11所示,在“TimeTransition”中,建立帶有時延的循環,運行到“start”時,從該變遷的每個輸入庫所中抽取一個token,運行到“finish”時,再給每個輸出庫所中增加一個token,如此循環,實現Petri網運轉的邏輯約束。

圖11 基于多Agent的變遷模型
最后,根據裝備動用OOPN模型中每個對象的底層Petri網模型,在相對應的Agent中建立相關的行為模型,以裝備機關為例,其仿真模型如圖12所示。

圖12 裝備機關仿真模型
其中,裝備機關、車場管理站、車場值班室和修理分隊人員編制較少,在運行過程中存在人力資源與需求沖突的問題,因此假定在繁忙時不可運轉。而使用分隊人員較多,假定在運行過程中一直處于可工作狀態。
以上行為建模結束之后,可以運行建立的模型。模型運行的邏輯流程如下:
1)初始化Place數組;
2)初始化TimeTransition數組;
3)判斷當前狀態下是否存在滿足發射條件的變遷,并隨機選擇一個滿足發射條件的變遷執行下一步;
4)對一個指定的變遷發射,將這個變遷的所有前驅庫所中的token均減1,所有后繼庫所中數目加1,若繼續,則返回第3步。
參考部隊歷史數據,設定各流程人均完成時間均服從正態分布,并通過AnyLogic平臺中正態分布由隨機數生成函數normal(double sigma,double mean)生成隨機的活動完成時間。以均值±3σ對應著色時間Petri網時間區間函數兩端的值,均值和σ值由部隊歷史數據計算得出,如表3所示。

表3 變遷占用時間
在仿真實驗過程中,首先運行單個子對象Petri網,在每個對象子網運行無誤后,再進行頂層Petri網的操作。每個模型均運行20次,當各個模型到達(如維修分隊Petri子網中,token從P4到OM4的所用時間即為完成一次維修活動所用時間),該Petri網完成。經統計,各個仿真模型運行時間如表4所示。

表4 仿真模型平均運行時間
綜上,可得出如下結論:
1)從初始標記開始,始終可以到達終止標記,模型具有可訪問性。
2)在模型運行過程中,任何節點中都沒有出現大于1的數,表明模型是有界且安全的。
3)仿真模型中不存在死鎖,因此該模型具有活性。
本文針對裝備動用業務流程的建模與仿真問題,采用面向對象的分層Petri網方法,構建了裝備動用業務OOPN模型,并進行了仿真驗證。通過仿真實驗,表明了OOPN方法用于裝備動用流程建模與仿真的有效性。作為一種圖示與數學結合的模型工具,OOPN方法不僅直觀、易懂以及易用,并且可以充分利用Petri網的一般分析方法和技術,對復雜系統進行靜態的結構分析和動態的行為分析,能夠很好地適應裝備保障系統這類復雜系統的建模與仿真研究,并在刻畫系統并發行為、動態特性等方面具有明顯優勢。該方法為裝備保障系統建模與仿真技術的開發與應用提供了新的技術思路。