张 鹏,付 洁,赵世伟
(中国民航大学a.适航学院;b.电子信息与自动化学院;c.工程技术训练中心,天津 300300)
中国民航运行规模保持高速增长,对飞机的需求量持续增加,随之而来,飞机维修任务量会迅速递增。每个维修任务都对应一份维修工卡,维修任务的实施由相应的工卡进行指导,从而工卡的数量会急剧攀升[1]。目前,航空公司维修任务调度普遍借助维修信息管理系统进行人工调度,虽然相较过去有明显进步,但由于航空公司的维修管理水平有限,工作人员的经验和精力的不足,且影响因素复杂多样,容易出现失误,引发维修工卡错排、漏排及维修任务工作包编排不合理现象[2],由此可见,维修任务调度中的问题亟待解决。
关于飞机维修任务执行计划和调度问题的研究[3-7],主要集中于定性分析其影响因素及优化方案,多是依据前工作经验结合航空公司自身实际情况进行分析,对此类问题没有普适性的方法,且缺乏足够的理论分析作为支撑。因此,针对飞机维修任务的调度问题,建立了一种维修任务组包优化模型,同时考虑了航空公司维修能力和飞机航后停场时间对调度的影响,以维修任务在航后停场时累积执行的总时间最多为目标函数,构造了一种切实可行的求解方法。
随着飞机制造技术的发展,飞机的可维护性得到改善,航空公司工程管理水平在一定程度上有所提高,同时需考虑其自身运行经济性的要求。波音公司和空客公司已将字母检的概念从维修审查委员会报告(MRBR, maintenance review board report)和维修计划文件(MPD,maintenance plan document)中取消,所有维修任务的维修间隔都单独给出,飞机的维修间隔在维修文件中有严格规定,同时局方(包括民航局、民航地区管理局及监管局在内的民航主管部门)文件给出了维修方案偏离的要求。根据实际维修资源情况,航空公司可以更好地依据机队实际利用率水平,灵活地对维修任务制定工作包,将大量维修任务分解和消化到航后飞机过夜停场时完成,使效益最大化,以产生更好的经济性[7]。
飞机制造国管理当局批准的MRBR,飞机制造厂家提供的MPD,航空公司根据自身运营实际制定的维修方案(MP,maintenance program)是大多数飞机维修任务的来源。上述3个文件中许多维修任务相同,MRBR给出的维修任务是根据MSG-3(航空运输协会维修指导委员会分析逻辑,用于指定飞机例行维修要求)程序选定的,MPD中除了MRBR给出的所有维修任务,还包括了飞机制造商建议的补充任务,而MP 是航空公司根据运营实际情况对维修项目、维修间隔等进行必要的调整后得到的。由于维修计划文件MPD给出的维修任务比较全面且具有普适性,因此,选择MPD作为数据的来源。
MPD给出的维修任务属性主要有:任务编号(ITEM NUMBER)、任务参考(REFERENCE)、故障影响类别(CAT)、任务类型(TASK)、任务维修间隔(INTERVAL)、区域(ZONE)、工作通道(ACCESS)、适用性(APPLICABILITY)、人工时(MANHOURS)、任务描述(TASK DESCRIPTION)等10项[8]。可选择维修任务编号、任务维修间隔和人工时这3项维修属性及MPD未给出的任务维修所需停场时间进行研究。
1.2.1 维修任务编号
维修任务编号由7位阿拉伯数字组成,维修任务与编号一一对应,前2位表示ATA 章节号,中间3位表示序列号,最后2位表示位置信息。
1.2.2 任务维修间隔
任务维修间隔的频率和使用参数以飞行小时(FH),飞行循环(FC),日历时间进行规定,其中,日历时间包括年Y,月M,日D。
1.2.3 人工时
人工时是基于工具和设备就绪状态下,熟练人员完成某架飞机某项维修任务所需的估计时间,该时间不包括打开口盖、放置工作梯、油箱添加燃料和清理、检修等必需的时间,也不包括执行维修任务时纠错所花的时间。人工时是生产计划和安排的重要参数,根据各任务的人工时可计算出完成一个工作包的总工时,从而估计所需的维修人员数量和工作时间,可作为维修资源配置的依据。
1.2.4 停场时间
停场时间,即完成维修任务的时间(不考虑固定维修时间,即维修准备时间),对于维修任务工作包,其长短与维修任务组合方式有关,如图1所示,有3种可能的情况:
1)串行维修 各项维修任务依次执行,停场时间为单项维修任务执行时间累积之和;
2)并行维修 各项维修任务同时执行,停场时间为用时最长的单项维修任务的执行时间;
3)协同维修 前两种方式相结合,停场时间为前两种情况所需时间之和。
图1 不同维修任务组合方式的停场时间Fig.1 Parking time of different maintenance task combinations
各项维修任务组包后,若每个工作包中的维修任务都串行执行,所需停场时间最长,若都并行执行,所需停场时间最短,这是两种极端情况。在实际情况中所有维修任务不可能都依次执行或同时执行,因此,主要考虑协同维修的情况。此处计算停场时间时将各维修任务的维修工时累加得到总工时后,再乘以修正因子琢(0 <琢<1),即为完成维修任务工作包实际所需停场时间,琢主要与工作包中维修任务所在区域及任务的并行性等有关,如维修区域越集中,任务的并行性越好,琢越小;反之琢越大。因此,对于单项维修任务,可假设其停场时间与人工时成线性关系,系数为琢。
MPD给出的任务维修间隔由3 种参数构成,为便于计算,需要对数据进行预处理,将参数统一转换为飞行小时(飞机从离地至着陆的延续时间)。依据咨询通告AC-121-53 中第6 章第5 节给出的新加入方案航空器的时间转换[9],规则如下。
1)飞行循环和飞行小时
其中:RC为循环比,指飞机平均每个循环所飞行的小时数(FH/FC)。
2)日历时间和飞行小时
其中:AveDU为平均日利用率,指在某一段时间,机队中每架飞机在一天内提供的运营飞行小时数的平均值,(FH/D)。
针对某航空公司的某一机队,在一个给定的计划编制周期C 内,将飞机的n个维修任务Mj,基于各执行维修时间点的执行时间Ti(Ti第i个维修时间点的开始执行时间,Ti=iT,i=1,2,…,m,即执行维修任务工作包Ui的m个时间,其中,T 执行维修的基本周期),安排到合适的时间进行维修,在同一维修时间点(同一天)执行的维修任务即组成一个维修任务工作包Ui(第i个维修任务工作包,i=1,2,…,m)。
构建维修任务工作包的主要问题是确定每个维修任务在各自的维修间隔内进行维修的具体时间,而每项维修任务的维修时间是一个区间值,这个区间值可以根据维修文件给出的任务重检间隔以及局方文件AC-121-53 中对维修方案偏离的规定确定。
设n个维修任务组成的m个维修任务工作包,安排在飞机m 天的航后停场时间(正常停场)完成,以使维修任务在航后停场时累积执行的总时间最多,充分利用飞机航后过夜停场时间,减少执行维修任务的计划停场时间(即需要飞机修改飞行计划而停场进行维修的时间),以降低维修成本,建立模型为
其中
所涉及的各项符号含义如下:
1)tparkj为维修任务j 需要的停场时间;
2)xij为决策变量,维修任务j 在第i个执行维修时间点的状态,若维修任务j 在第i个维修时间点执行,即维修任务j 属于第i个维修任务工作包,xij=1,否则xij=0;
3)k为维修任务j 在编制周期中的第k 次维修,k =1,2,…,M,M为维修任务j 在编制周期中的维修次数;
4)Rj为第j个维修任务的维修间隔;
5)Dj为第j个维修任务维修时间的最大可偏离时间;
6)tj为第j个维修任务的维修时间;
7)thj维修任务j 需要的维修人工时数;
8)H为每天可提供的最大维修人工时,即航空公司的维修能力;
9)P为每天可提供的最大航后停场时间,即飞机航后过夜停场时间。
基于民航维修任务的特殊性,构造了一种求解方法,其流程如图2所示,具体求解优化模型的步骤如下:
1)根据计划编制周期C和基本维修周期T 得到维修任务工作包m个,即可由其获知i个维修时间点的执行时间;
2)令i=1;
3)计算第i个维修时间点的执行时间Ti;
4)令j=1;
5)计算第j项维修任务的k 次维修时间tj与Ti的绝对误差,并找出其中的最小值min{error(k)};
6)求出min{error(k)}所对应的维修时间tj(k),并判断其与Ti是否满足偏离要求。
图2 模型求解流程Fig.2 Model solving process
此处主要依据AC-121-53 中关于维修任务间隔的偏离规定[9]进行判断(上文已统一维修任务间隔单位为FH),给出规则如下:
a)维修间隔Rj≤5 000 FH的维修任务,最多可偏离维修间隔的10%;Rj>5 000 FH的维修任务,最多可偏离500 FH。根据Mj的维修间隔Rj计算其最大偏离值
b)Mj的实际偏离时间表示为
c)判断是否满足偏离要求即如果不满足偏离要求,则转到第8 步。
7)Mj属于维修任务工作包Ui,更新此时Ui的累积人工时和停场时间。
8)j=j +1,如果j >n,则执行下一步,否则转到第5 步。
9)所有维修任务经过偏离规定的分析,得到初步构建的Ui的人工时和停场时间,判断是否满足约束条件,在不满足的情况下利用离散粒子群算法进行优化,得到最终所求的Ui。
10)i=i+1,如果i >m,则执行下一步,否则转到第3 步。
11)累加m个维修任务工作包Ui的停场时间,输出总停场时间,程序结束。
为验证模型和算法的可行性,选择波音公司2012版B737NG 机型的MPD文件作为维修任务的来源。根据其给出的参考值,取RC=1.8 FH/FC,AveDU=9 FH/D,设维修任务的停场时间与人工时满足以下函数
其中:假设工作包中维修任务所在区域集中性与任务并行性均为一般水平,停场时间修正因子琢=0.8。
为便于深入研究,根据维修任务的特性,选取了92个具有代表性的维修任务进行仿真(部分数据如表1所示),包括所选的4项属性:任务编号、任务维修间隔(首检间隔和重检间隔)、人工时和停场时间。
在此给定计划编制周期C为4 年,执行维修基本周期T 是810 FH,得到执行维修时间点Ti为16个,即组合16个维修任务工作包。假设某机队每天可提供的总人工时H=4 h,每天航后停场的有效工作时间P=3.5 h。
利用Matlab 软件仿真,得到16个维修任务工作包及其各自所含有的维修任务和所需的人工时和停场时间。由图3 可看出,每个工作包的人工时小于等于4 h。从图4 得知,每个工作包的停场时间小于等于3.5 h,均满足给定约束。最终得到总停场时间为43.04 h,而已知16个工作包安排在16 天航后停场时间完成,其理论可用维修时间为16×3.5=56 h,安排了维修任务后占用时间为43.04 h,航后停场时间的利用率为76.9%。由此可知,安排维修任务后可较为有效地利用航后停场时间,较大程度减少计划停场时间。
表1 维修任务属性数据Tab.1 Maintenance task attributes data
图3 各工作包人工时对比直方图Fig.3 Man hour comparison histogram of each work package
图4 各工作包停场时间对比直方图Fig.4 Parking time comparison histogram of each work package
按照国内某航空公司的规则进行组包时,其结果中某些工作包维修工时偏大,某些工作包维修工时较少,且到后期其差异更加显著,一方面对人力需求波动较大,影响前期人事安排,产生资源浪费,另一方面容易出现工作超时情况,将导致非正常停场时间的增加,航班不能正点运行,降低飞机利用率。所提方法虽也存在各个工作包工作量不一致的情况,但波动明显较小。
通过比较不难看出,该模型能够自动对维修任务进行组包,且有效控制了维修工作包的人工时和停场时间,使人力需求变得平稳,实现了人力资源最优利用。同时,所有工作包都能在预定时间内按要求完成,以避免影响飞机的正常飞行计划,保障航线运行可靠性,提高飞机的利用率。
针对飞机维修任务调度问题,建立了维修任务组包优化模型,并同时考虑了航空公司维修能力和飞机航后停场时间对调度的影响,构造了一种可行的算法并对模型求解,采用维修计划文件MPD中的实际数据进行仿真研究。仿真结果表明:所建模型可以合理对维修任务进行组包,并控制工作包大小和停场规模。
由于维修任务调度问题影响因素众多,基于本模型和算法,加入更多约束条件后(包括场地、航材、设备、工具等),如何进行求解及在实际维修过程中出现的非计划维修任务对工作包大小的制约等问题都有待进一步研究。