基于RePast的航空发动机维修调度仿真系统
2017-02-07王康张潇云胡佳新唐辉姜杉彪
王康+张潇云+胡佳新+唐辉+姜杉彪
摘要:航空发动机维修是一个具有高动态性和高复杂度的商业领域。本文采用多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总结
本文设计并实现航空发动机维修调度与仿真系统。系统主要功能包括航空发动机维修调度、分析可视化、支持可扩展的可靠度估计算法模块、为维修决策提供支持的维修调度仿真分析。
未来的工作包括对系统进行扩展以分布式的方式支持多个维修基地的维修调度与仿真,提高系统调度与仿真过程的可视化程度。