王康+張瀟云+胡佳新+唐輝+姜杉彪



摘要:航空發動機維修是一個具有高動態性和高復雜度的商業領域。本文采用多Agent方法對航空發動機維修進行調度仿真。本系統可對等待維修的飛機數量、周轉時間和維修生產線利用率等關鍵指標進行分析,從而為航空發動機維修提供可靠的決策支持。同時,本系統以動態腳本的方式支持多種發動機可靠度估計算法,增加系統的可擴展度。最后,通過多個案例驗證本系統的有效性。
關鍵詞:計算機軟件與理論;航空發動機維修調度;仿真;多Agent;Repast;可靠性估計
引言
隨著航空運輸業的迅速發展,民航業的競爭也越來越激烈。航空發動機是飛機的心臟,其健康狀態對保證飛行安全和降低航空公司運營成本具有重要意義。在我國航空飛行事故中,航空發動機的故障是導致飛機機械和機務故障的主要原因之一。除安全性因素外,經濟可承受性是不可避免的問題,發動機一次送修的費用達數百萬美元,發動機維修成本占總維修成本的30%~40%。為了適應航空運輸業對發動機安全性與經濟性的要求,必須展開航空發動機維修調度新方法的研究。
航空運輸業方面要求在持續安全管理的情況下降低成本。維修企業則迫切需要自主研發面向大型裝備的維修、維護和大修支持系統,提供全面的MRO(Maintenance、Repair、Ovehall)數字化解決方案和信息化集成技術。為了航空發動機的技術安全,實現降低全壽命周期運行成本,因此還需要從全壽命、全費用的過程開展機群維修研究。通過有效調度實現保障可靠度的同時降低維修成本、最大化收益。
為了實現這個目標,本文基于多Agent對飛機發動機維修調度仿真。通過本系統使因等待維修而停飛的飛機數量盡可能少;維修生產線的利用率盡可能高;靈活地應對突發情況,使重新調度影響的飛機盡可能少;能夠對一段時間內的調度情況進行分析,可以對不同的調度方案進行評估、比較,為是否需要增加投入增加維修能力或增加備用發動機數量等調度策略的優化提供決策支持。
1研究現狀
計算機輔助維修管理系統最早產生在20世紀60年代。文獻根據PSO算法建立模型提出了戰時裝備維修保障調度策略,最大限度的提高戰時維修保障系統的效能。文獻建立了以飛機為對象的發動機群總保障成本最小的混合整數非線性規劃模型。Rolls-Royce通過從航空發動機的傳感器收集大數據并進行深入分析實現具有成本效益的發動機維修調度方法。Rem e nyi and Staudacher針對多條航線的維護提出基于仿真的航空發動機維修調度規則識別方法。文獻對航空發動機的使用及條件參數進行了詳細介紹。
2航空發動機維修調度仿真器
2.1Agent設計
本系統包括多個航空發動機Agent、多個維修生產線Agent、一個Schedule Agent、一個ControlAgent,系統結構圖如圖1所示。
每個發動機用一個航空發動機Agent表示,航空發動機Agent記錄與發動機相關信息。如發動機的狀態(在役、等待維修、維修、備用)、經費、維修、用于估計可靠度的運行參數信息(飛行模式等動態屬性),所需的服務類型及時間(維護,修理和大修)。航空發動機Agent的一個重要特點是允許自定義可靠度估計算法,用戶可將算法寫入動態腳本,系統自動加載執行動態腳本,計算發動機的預計維修時間。這種實現方式增加了系統的靈活性,同時系統可作為發動機可靠度估計算法的評估平臺。
維修基地通常擁有多條維修生產線。因此,本系統中每個修理生產線有一個對應的維修生產線Agent。該Agent包含與維修生產線相關的信息(如可修理的發動機類型、正在修理的發動機、所需時間、購置費用等)與操作。
調度Agent負責運行調度算法,安排航空發動機檢修時間與檢修生產線;突發時間發生時,進行重新調度。
本系統通常與基于Web的總控系統、實時監測系統、數據庫等外部系統協同工作。系統中的控制Agent負責與外部系統交換數據。總控系統在調度、仿真前將發動機、維修生產線的基本信息、系統配置信息以仿真文件系統屬性文件的形式發送給系統。控制Agent根據這些文件創建發動機Agent、維修生產線Agent及它們交互的環境。此外,控制Agent還負責接收總控系統的啟動、暫停等控制命令并反饋系統當前的工作狀態;接收航空發動機的狀態更新信息、將仿真結果數據存入數據庫。
2.2調度機制
本系統的核心功能是對發動機的維修進行調度。為了更好地實現調度,定義調度時間界限和鎖定時間界限兩個概念。調度時間界限是指維修時間達到此時間的發動機可以開始調度。鎖定時間界限:維修生產線需要時間進行維修準備工作,在此時間線內的發動機不允許進行臨時調度。
對于預計修理時間達到調度時間界限的發動機,調度Agent按下列機制安排維修時間:按隨機順序給這些發動機安排維修時間。為了應對突發情況需要重新調度,引入緊急情況緩沖間隔。最佳維修時間一般在預計維修時間之前,間隔即為緊急情況緩沖間隔(如圖2所示)。由于維修基地的維修生產線有限,只有一部分發動機可以安排在最佳維修時間維修,其他的發動機只能盡可能接近最佳維修時間。如果將調度代價最高的發動機和其他任一發動機對換,兩者的維修代價之和更小,則將兩個發動機的維修時間對換。如果找不到調度代價更小的方案,調度Agent對調度代價次高的發動機尋找是否有可對調的機會。直到沒有可對調的發動機。調度代價的計算方法是實際維修時間與預計維修時間間隔的函數。如圖2所示,如果維修時間在最佳維修時間之前,由于縮短了飛行時間降低了收益,所以調度代價高。如果維修時間介于最佳維修時間和預計維修時間,將降低調度的靈活性,所以調度代價高于最佳維修時間的調度代價。在預計維修時間之后維修的調度代價將迅速增加,因為飛機在維修基地等待造成更大的停飛損失。
航空維修時常出現突發事件,有效的調度應該能夠靈活地應對突發事件。本系統用緊急情況緩沖間隔避免整個調度方案受到影響,即只需要調整相鄰的一個或幾個發動機維修時間。
2.3發動機可靠度估計
本系統通過估計發動機的可靠度來確定預計維修時間。發動機由許多個部分組成,每個部分性能變化曲線都不同。整個發動機可靠度通過綜合各個部分的分布函數用Weibull函數建模而得出。通過調節函數的尺度和形狀參數,可以對不同類型的發動機磨損進行建模:
(1)開始使用類型:經過幾次飛行風險會急驟降低
(2)隨機類型:對應常規風險
(3)磨損類型:發動機處于疲勞狀態時風險會增加
M個組件的風險可以用公式的有限混合模型表示:其中p(t)是在t時刻出現衰退的概率,Pj是由第j個組件引發衰退的a prior概率。p(tj)是在t時刻由有組件i的風險引發衰退的可能性(ajbj分別是Weibull函數的尺度、形狀參數)。3M參數pjaj bj(j=1,2,…M)是用最大似然方法估計的,參數95%置信區間是用Fisher信息矩陣確定的。用發動機以往的數據訓練模型的數據。
為了提高系統的可擴展性,系統提供對groovy動態腳本的支持。可靠度估計算法用groovy動態腳本實現。用戶可以采用多種可靠度估計方法。因此,本系統可用于比較不同發動機可靠度估計算法。
2.4仿真數據分析
通常航空發動機可以使用數十年,能夠將數十年的市場動態因素、維修調度決策的影響可視化是具有挑戰性而有意義的。系統可以對幾年、幾十年的發動機維修調度過程進行仿真,并保存與性能相關的仿真數據。分析維修生產線的能力,飛機的使用情況,發動機的風險估計模型等因素對維修調度的影響是個很復雜的工作。本系統基于仿真數據分析修理生產線使用率、發動機周轉時間、修理成本、備用發動機(簡稱備發)數量等指標比較調度性能為航空發動機維修提供決策支持。
3實驗結果與分析
本系統采用Java語言編程,基于Repast多Agent仿真引擎實現。Repast開放靈活的系統架構。系統界面圖如圖3所示。圖中包含三條修理生產線,每條生產線上的每個長方形表示一個發動機維修的安排,隨著時間的推移,長方形會向左移動。長方形的顏色表示調度的質量。綠色表示發動機在最佳維修時間維修,藍色表示維修時間在最佳維修時間與預計維修時間之間。橙色表示非常接近預計維修時間,進行重調度的靈活度很低。紅色表示已超過預計維修時間但仍在等待維修的發動機。
航空發動機維修效率的重要指標包括周轉時間、因等待維修而停飛的飛機數量,維修資源利用率。本系統可以對航空發動機的維修調度進行仿真,通過分析仿真結果數據可以對這些指標進行分析,為維修調度決策提供支持。本文中的分析目的在于說明不同維修決策的長期影響,以下案例對十年的發動機維修調度進行仿真,數據都是虛擬數據。
3.1周轉時間
周轉時間是指飛機正常工作之外的時間,即包括機場到維修基地的運輸時間、維修時間、在備發庫中等待的時間。在仿真周期中,一個發動機不可用的天數為t,一共維修的次數為s,則每次維修的周轉時間(tpr)為t/s。
圖4是6次仿真tpr的平均值。橫坐標是在役發動機與備發的比值,縱坐標是tpr值。圖中的曲線分別表示在役發動機為10,16,20時的情況。隨著在役發動機的增多,tpr值也增加,因為發動機的數量越多,等待維修的時間就越長。從圖中可以看到,隨著備發數量的增加,競爭維修資源的時間也越少,也可以降低tpr,即維修等待的時間。
如圖5所示當在役引擎數量不變時,三條修理生產線和四條修理生產線時周轉時間的變化曲線,從圖中可以看出,增加修理生產線的數量也可以降低tpr。當備發的數量為在役發動機的一半時,tprf降到了最低,增加更多的備發,增加生產線數量都只會增加成本,對降低tpr沒有影響。
在實驗中,tpr最小值為60天。這個實驗說明了備發數量、在役機器的數量,維修生產線數量對周轉時間的影響。這些只能通過長時間的仿真、分析實現。
3.2因等待維修而停飛的飛機數量
當飛機所需的一個或多個發動機還沒有修好時,該飛機就必須停飛等待,將造成很大的經濟損失。圖6顯示了在10年的仿真周期中,備發數量固定時,在役發動數量越多,因等待維修而停飛的飛機數量越大。從圖中可看到大致的趨勢,確定在給定情況下因等待維修而停飛的飛機數量值,在不同場景中因等待維修而停飛的飛機數量的差異。
3.3維修資源的使用率
維修生產線成本很高,對維修效率影響很大,所以為了達到投資回報最優,需要盡可能減少其空閑的時間。在復雜的維修流程中分析維修生產線的使用率很困難。本系統可以對各種維修情況進行仿真,從而分析比較生產線的利用率,為維修調度決策提供有效支持。
圖7仿真中生產線在總天數中空閑天數的比例。總體而言,生產線的使用率是下降的,隨著在役與備發的數量下降,因為發動機數量少所需的總維修時間少。
4總結
本文設計并實現航空發動機維修調度與仿真系統。系統主要功能包括航空發動機維修調度、分析可視化、支持可擴展的可靠度估計算法模塊、為維修決策提供支持的維修調度仿真分析。
未來的工作包括對系統進行擴展以分布式的方式支持多個維修基地的維修調度與仿真,提高系統調度與仿真過程的可視化程度。