周錦鋒,涂繼超,孫世巖
(海裝駐上海地區(qū)第二軍代室,上海 200129)
保障性作為重要的裝備通用質(zhì)量特性,是艦炮裝備執(zhí)行任務(wù)的基礎(chǔ)之一。隨著艦炮裝備的快速發(fā)展,技術(shù)不斷革新,任務(wù)強(qiáng)度逐漸加大,對裝備的保障性提出了更高的要求。從裝備研制立項(xiàng)到交付部隊(duì)使用,保障性貫穿艦炮裝備壽命全過程。目前,艦炮裝備的保障性涵蓋戰(zhàn)備完好性、設(shè)計(jì)特性以及保障資源三個(gè)方面,保障系統(tǒng)結(jié)構(gòu)越來越復(fù)雜。傳統(tǒng)的保障性仿真方法往往只是針對保障性的某一個(gè)或幾個(gè)指標(biāo)進(jìn)行仿真,在仿真的過程中,往往只考慮了與該指標(biāo)有關(guān)的因素,而忽略了其他影響因素。因此,導(dǎo)致了以下問題:一方面是仿真結(jié)果比較單一,難以形成有效的指導(dǎo);另一方面是仿真結(jié)果精度不高,參考性不強(qiáng)。
針對這些問題,本文以Multi-Agent仿真技術(shù)為支撐,基于AnyLogic軟件構(gòu)架,綜合考慮艦炮裝備可靠性、維修性等因素,搭建艦炮裝備保障性綜合仿真平臺,提高了仿真精度,對各項(xiàng)保障性指標(biāo)進(jìn)行輸出。
艦炮裝備保障性綜合仿真平臺(以下簡稱仿真平臺)包含仿真子系統(tǒng)和計(jì)算子系統(tǒng)兩部分,仿真子系統(tǒng)主要提供仿真信息的輸入、修改、存儲等功能,而計(jì)算子系統(tǒng)則負(fù)責(zé)保障活動(dòng)成功仿真及效能評估等功能。它們之間不需要實(shí)時(shí)數(shù)據(jù)交換,利用數(shù)據(jù)庫交換即可滿足要求。
仿真子系統(tǒng)屬于管理信息系統(tǒng)的范疇,且目前主要部署在單機(jī),不存在分布式部署和分布式維護(hù)的問題,因此,仿真子系統(tǒng)擬采用Visual Studio 2019作為桌面式開發(fā)平臺??紤]開發(fā)的快速性,擬采用C#語言開發(fā)。本系統(tǒng)的數(shù)據(jù)庫擬選用SQL Server。
計(jì)算子系統(tǒng)是整個(gè)系統(tǒng)的核心,需要將可靠性、維修性、保障性綜合考慮,此時(shí),單一的仿真方法難以解決此類問題。AnyLogic軟件是一種可以對離散事件、系統(tǒng)動(dòng)力學(xué)、多智能體和混合系統(tǒng)建模和仿真的工具。由于其天然支持Multi-Agent建模,因此,我們選用AnyLogic作為仿真計(jì)算子系統(tǒng)的開發(fā)平臺。
仿真平臺具備仿真想定管理、仿真計(jì)算、保障性評估等功能,實(shí)現(xiàn)仿真過程從輸入、計(jì)算到輸出的全流程管理,其功能模塊如圖1所示。
圖1 仿真平臺功能模塊圖
其中,仿真想定管理負(fù)責(zé)管理仿真信息,如任務(wù)信息、裝備結(jié)構(gòu)信息,裝備故障信息、維修保障資源信息等,為仿真計(jì)算提供輸入。其包含如下功能:1)對仿真任務(wù)的持續(xù)時(shí)間、任務(wù)剖面、任務(wù)成敗準(zhǔn)則進(jìn)行配置;2)對系統(tǒng)故障指定故障規(guī)律、故障分布;3)對預(yù)防性維修的時(shí)間間隔、資源需求、延誤時(shí)間等信息進(jìn)行管理;4)對故障維修的維修資源、維修時(shí)間分布、保障延誤等信息進(jìn)行管理。
仿真計(jì)算包含如下功能:1)對仿真時(shí)間、仿真次數(shù)、仿真速度進(jìn)行配置;2)對仿真任務(wù)進(jìn)行蒙特卡洛仿真;3)可通過仿真動(dòng)畫展示仿真進(jìn)程,觀察仿真是否與實(shí)際情況吻合;4)對仿真結(jié)果提供存儲功能,避免重復(fù)仿真。
保障性評估負(fù)責(zé)對仿真結(jié)果進(jìn)行分析,評估當(dāng)前保障系統(tǒng)的效能。其包含如下功能:1)對多次仿真進(jìn)行統(tǒng)計(jì)分析,以圖表的形式展現(xiàn)任務(wù)成功概率及任務(wù)失敗原因;2)可進(jìn)行敏感性分析,以評估任務(wù)成敗的關(guān)鍵部件及關(guān)鍵故障;3)根據(jù)指標(biāo)體系及仿真結(jié)果對目前維修保障體系進(jìn)行效能評估;4)形成評估報(bào)告,給出系統(tǒng)評估結(jié)果及相應(yīng)的對策建議。
傳統(tǒng)的艦炮裝備保障性分析主要是基于解析方法,對系統(tǒng)的假設(shè)往往比較苛刻,比如系統(tǒng)組成部件的壽命必須服從指數(shù)分布,不同部件的故障概率相互獨(dú)立等,而現(xiàn)實(shí)中的系統(tǒng)往往很難滿足以上假設(shè)。因此,用計(jì)算機(jī)仿真方法解決復(fù)雜系統(tǒng)的保障性分析問題成為最佳選擇。本文對艦炮進(jìn)行保障性綜合仿真,需要將可靠性、維修性、保障性綜合考慮,此時(shí),單一的仿真方法難以解決此類問題。
Agent是一個(gè)具有自適應(yīng)性和智能性的軟件實(shí)體,能代表用戶或其他程序,以主動(dòng)服務(wù)的方式完成一項(xiàng)工作。Agent具有自主性、交互性、反應(yīng)性、主動(dòng)性等特點(diǎn),單一Agent很難對存在于動(dòng)態(tài)開放環(huán)境中的大規(guī)模復(fù)雜問題進(jìn)行求解。通常,我們將多個(gè)Agent組成的系統(tǒng)稱為多Agent系統(tǒng),其多個(gè)Agent成員之間相互協(xié)調(diào),相互服務(wù),共同完成任務(wù)。Agent技術(shù)對于自底向上建立復(fù)雜的可靠性、維修性、保障性仿真系統(tǒng)十分有利,但如果采用純Agent技術(shù)建立仿真模型,帶來的一個(gè)主要問題是各Agent之間消息傳遞過多,嚴(yán)重影響仿真效率。
離散事件系統(tǒng)是指受事件驅(qū)動(dòng),系統(tǒng)狀態(tài)只在離散的時(shí)間點(diǎn)發(fā)生變化的系統(tǒng),各種排隊(duì)系統(tǒng)即是離散事件系統(tǒng),由于現(xiàn)實(shí)世界大多數(shù)的業(yè)務(wù)流程都可以描述為離散事件系統(tǒng),因此,在生產(chǎn)、物流、軍事等領(lǐng)域,離散事件仿真系統(tǒng)得到了廣泛應(yīng)用。但純離散事件仿真系統(tǒng)一般需要建立離散事件仿真表來調(diào)度仿真模型,當(dāng)系統(tǒng)較為復(fù)雜時(shí),開發(fā)者需要考慮過多細(xì)節(jié)以保證仿真表的正確性,開發(fā)難度較大,而且對于可靠性維修性保障性仿真系統(tǒng),離散事件仿真系統(tǒng)缺乏描述故障傳遞的有效機(jī)制。
本仿真系統(tǒng)需要對艦炮典型任務(wù)進(jìn)行維修保障效能評估,因此涉及可靠性、維修性、保障性建模問題,其中的關(guān)鍵就是如何對系統(tǒng)中的各種故障模式進(jìn)行建模,且能模擬故障之間的相互影響。因此,設(shè)計(jì)方案擬采用Agent模擬各種故障模式,利用Agent的消息機(jī)制模擬故障傳遞。產(chǎn)生故障后,故障的維修和保障資源配置是一個(gè)典型的排隊(duì)問題,可以用離散事件系統(tǒng)建模。
艦炮裝備結(jié)構(gòu)建模主要描述艦炮裝備的邏輯層次結(jié)構(gòu)關(guān)系,并包含艦炮裝備的基本信息、可靠性信息、維修性信息等。其中:基本信息主要是設(shè)置裝備的編號、名稱、型號、數(shù)量和當(dāng)前狀態(tài)(正常、故障、降工況等);可靠性信息主要是設(shè)置裝備的故障分布函數(shù)類型(指數(shù)分布、正態(tài)分布、威布爾分布等)及其參數(shù);維修性信息主要是設(shè)置裝備的平均修復(fù)時(shí)間、需要的維修人員等。
作為復(fù)雜系統(tǒng),艦炮裝備功能及基本組成要素的數(shù)量非常龐大。若模型描述過于詳細(xì),將使得模型本身非常復(fù)雜。由于艦炮裝備在結(jié)構(gòu)上以及使用、保障的體制上,都具有顯著的層次化組織的特征,因此,需要結(jié)合任務(wù)情況進(jìn)行層次化建模。如圖2所示,將艦炮裝備劃分為系統(tǒng)—單元—部件三個(gè)結(jié)構(gòu)層次。
圖2 艦炮裝備結(jié)構(gòu)層次圖
部件是整個(gè)裝備系統(tǒng)的基礎(chǔ),裝備的狀態(tài)由部件開始,部件的狀態(tài)變化反映到單元層次,進(jìn)而反映到系統(tǒng)層次。每一個(gè)部件對應(yīng)為一個(gè)Agent,部件主要?jiǎng)澐譃?個(gè)模塊:正常工作、預(yù)防性維修、故障、等待維修和維修。如圖3所示。
圖3 單元部件狀態(tài)轉(zhuǎn)移圖
1)正常工作模塊,表示單元部件現(xiàn)在的工作狀態(tài)為正常。
2)預(yù)防性維修模塊,表示單元部件正在進(jìn)行預(yù)防性維修活動(dòng),其進(jìn)入預(yù)防性維修的判斷條件為正常工作時(shí)間是否達(dá)到預(yù)防性維修時(shí)間閾值,如果達(dá)到該時(shí)間閾值,則當(dāng)前單元部件進(jìn)入預(yù)防性維修狀態(tài)。
3)故障模塊,表示單元部件發(fā)生了故障,需要對其進(jìn)行維修。
對于故障的發(fā)生,由于艦炮裝備符合指數(shù)分布,本文采用指數(shù)分布的方法,利用累計(jì)失效率求取一次任務(wù)時(shí)部件的故障間隔發(fā)數(shù),通過求取的故障間隔發(fā)數(shù)觸發(fā)故障。對故障的類型進(jìn)行比較,判斷其故障的類型。
4)等待維修模塊,對維修資源保障庫的空閑維修人員進(jìn)行統(tǒng)計(jì),維修人員不足,則繼續(xù)等待維修,維修人員足夠,則進(jìn)入維修狀態(tài)。
5)維修狀態(tài),表示單元部件正在進(jìn)行維修。
用Agent對各故障模式進(jìn)行建模,無論是哪種故障模式,其基本形態(tài)都是一致的,如圖4所示。故障Agent包含失效與正常兩個(gè)狀態(tài),正常狀態(tài)可由自身隨機(jī)故障(由失效分布決定)或其他故障發(fā)出消息引發(fā)進(jìn)入失效狀態(tài),失效狀態(tài)可由維修完畢消息引發(fā)進(jìn)入正常狀態(tài)(當(dāng)故障不可修時(shí),即沒有相應(yīng)的維修保障模型時(shí),就不會收到這個(gè)消息,因此,部件一旦失效,將永遠(yuǎn)處于失效狀態(tài))。當(dāng)進(jìn)入失效狀態(tài)時(shí),將產(chǎn)生一個(gè)故障實(shí)體進(jìn)入離散事件仿真模型,同時(shí)若此故障與其他故障關(guān)聯(lián)時(shí),將發(fā)送消息引發(fā)其他故障產(chǎn)生。
圖4 故障模型
根據(jù)艦炮裝備的任務(wù)和特點(diǎn),采用嵌套方式進(jìn)行建模。由于艦炮裝備劃分為機(jī)電單元、BYD單元、GD單元和FS單元,因此,根據(jù)各單元的結(jié)構(gòu)組成,利用部件Agent建立四個(gè)單元,以GD單元為例,其結(jié)構(gòu)框圖如圖5所示。
圖5 GD單元結(jié)構(gòu)框圖
根據(jù)四個(gè)單元之間的關(guān)系,我們建立艦炮裝備系統(tǒng)級模型,并且畫出各單元的狀態(tài)轉(zhuǎn)移圖,如圖6所示。
圖6 艦炮裝備系統(tǒng)狀態(tài)轉(zhuǎn)移圖
艦炮裝備系統(tǒng)狀態(tài)轉(zhuǎn)移圖由工作模塊和任務(wù)成功性判定模塊組成。工作模塊有兩個(gè)狀態(tài),分別是“正常”和“故障”狀態(tài),表示的是艦炮裝備的兩種工作狀態(tài),正常工作狀態(tài)到故障狀態(tài)的變遷條件,通過單元的結(jié)構(gòu)框圖進(jìn)行判定。
艦炮系統(tǒng)執(zhí)行任務(wù)期間遠(yuǎn)離岸上基地,海洋環(huán)境變幻莫測,各種航態(tài)交替進(jìn)行,補(bǔ)給保障困難。采用多階段任務(wù)系統(tǒng)可以有效地描述艦炮復(fù)雜系統(tǒng)多階段任務(wù)特點(diǎn),由于執(zhí)行任務(wù)和環(huán)境壓力的變化,系統(tǒng)結(jié)構(gòu)會按時(shí)間順序被劃分為不同的階段。在任務(wù)剖面中,每個(gè)任務(wù)階段都稱為一個(gè)階段任務(wù),在一個(gè)給定的階段任務(wù)中,系統(tǒng)配置、任務(wù)是否成功的判據(jù)及單元故障特性等是相對固定的。
艦炮裝備任務(wù)剖面用于描述艦炮任務(wù)的層次結(jié)構(gòu)及其時(shí)序關(guān)系。由于艦炮任務(wù)較為復(fù)雜,需要根據(jù)艦炮使用方案中對任務(wù)剖面的描述,將各任務(wù)剖面分別細(xì)化為不同的任務(wù)階段和任務(wù)單元,形成逐步細(xì)化、深入的“任務(wù)剖面→任務(wù)階段→任務(wù)單元”3級遞進(jìn)關(guān)系。其中:任務(wù)剖面是從宏觀的角度描述艦炮在一定時(shí)間段內(nèi)的總體任務(wù)要求,以及艦炮裝備在任務(wù)中所需經(jīng)歷的事件和環(huán)境;任務(wù)階段是對任務(wù)剖面的展開,具體描述艦炮為了完成任務(wù)在特定時(shí)間段內(nèi)須運(yùn)行的工況或具備的功能;任務(wù)單元?jiǎng)t是構(gòu)成艦炮任務(wù)的基本組成元素,詳細(xì)描述參與任務(wù)的裝備名稱、數(shù)量和使用方式,在每個(gè)任務(wù)單元中,參與任務(wù)的裝備和裝備的使用方式是唯一的。艦炮裝備任務(wù)剖面分解示意圖如圖7所示,圖中括號里的數(shù)字表示任務(wù)持續(xù)時(shí)間范圍。
圖7 任務(wù)剖面分解圖
仿真建模的基本思路為:用Multi-Agent仿真模型模擬故障的產(chǎn)生和傳播,用離散事件系統(tǒng)仿真模型模擬故障的維修和保障,兩者通過消息機(jī)制聯(lián)結(jié)起來形成有機(jī)整體,最終完成“三性”一體化仿真建模。其基本結(jié)構(gòu)如圖8所示,仿真流程如9所示。
圖8 仿真模型基本結(jié)構(gòu)
對比單一的Multi-Agent系統(tǒng)仿真方法和單一的離散事件系統(tǒng)仿真方法,本文仿真方法主要有以下特點(diǎn)。
1)維修保障仿真部分由離散事件系統(tǒng)仿真分擔(dān),減少了過多的Agent消息傳遞,有利于提高仿真效率。
2)此仿真模型是可伸縮的,當(dāng)不需要對維修性和保障性做過多考慮時(shí),可以將離散事件系統(tǒng)仿真部分去掉,將維修過程簡化為故障Agent的一個(gè)定時(shí)狀態(tài)轉(zhuǎn)換即可,修改工作量極小。
圖9 仿真流程
3)故障的產(chǎn)生部分可以用Multi-Agent模擬,降低了離散事件系統(tǒng)仿真建模壓力,提高了模型計(jì)算速度。
4)可以用Agent的消息機(jī)制模擬故障的傳播,能夠更加真實(shí)地模擬艦炮裝備各部件之間、單元之間的內(nèi)在聯(lián)系。
設(shè)置初始輸入?yún)?shù),包括部件失效率、隨船備件數(shù)量、保障人員數(shù)量、故障類型、平均故障修復(fù)時(shí)間、預(yù)防性維修時(shí)間等。設(shè)置射擊次數(shù)為200、500、1 000、2 000,對不同任務(wù)強(qiáng)度下的仿真結(jié)果進(jìn)行對比分析,得到的仿真界面如圖10所示。
圖10 不同射擊次數(shù)的仿真界面
將“輸出結(jié)果.xlsx”系統(tǒng)有關(guān)計(jì)算結(jié)果導(dǎo)出,內(nèi)容如表1所示。
表1 不同射擊次數(shù)下仿真計(jì)算結(jié)果
對比分析可以發(fā)現(xiàn):
1)其他條件不變,隨著任務(wù)強(qiáng)度的加大(射擊次數(shù)增多),艦炮裝備備件滿足率呈明顯下降的趨勢,備件利用率呈上升趨勢;
2)單次任務(wù)成功率基本維持不變,說明單次任務(wù)的成敗主要與艦炮裝備的固有屬性相關(guān);
3)雖然備件利用率較低,但是仍有備件短缺的情況發(fā)生。某些部件的故障次數(shù)較多,對備件需求量更大,顯然,將所有類型備件配置成一致數(shù)量是不科學(xué)的,不僅導(dǎo)致了某些備件短缺,還導(dǎo)致了備件滿足率、備件利用率的降低。
如果我們改變輸入?yún)?shù),還可以得到不同保障資源條件、組成結(jié)構(gòu)、失效率條件的仿真結(jié)果,因此,仿真平臺具備推廣條件。
本文通過多智能體建模技術(shù)賦予艦炮任務(wù)、裝備、部件、故障更為豐富、靈活的發(fā)生與信息傳遞機(jī)制;通過離散事件系統(tǒng)建模實(shí)現(xiàn)艦炮全任務(wù)過程的建模與仿真;通過對仿真結(jié)果的評估,研究艦炮裝備的保障活動(dòng)以及任務(wù)與設(shè)備關(guān)系分析,可以評估多個(gè)不同維修保障方案的效能,指導(dǎo)維修保障資源的合理配置,為裝備的科學(xué)使用提供決策依據(jù)。