罗 军,程 宇,余龙水,吴植英,张家华※
(1.广东机场白云信息科技有限公司,广州 510890;2.广东工业大学机电工程学院,广州 510006)
随着航空业务量的快速增加,高效地利用机场现有人力资源对于降低机场人力成本、保证航班准点起飞、保证机场有序运行起着至关重要的作用。在这之中,机场运营成本中的人力成本越发地成为了不可忽视的机场支出项,排班管理作为机场信息化管理中的重要一环也因此变得越发重要。
针对排班问题,国内外学者对此研究进行大量相关的研究并取得了许多了成果。在班次设计方面:一个完整的班次应包含班次的有效开始和结束时间,甚至规定了一次或几次用餐或休息时间[1];Herbers[2]在机场地勤排班问题上研究出了通过移动任务块平滑需求曲线及在增添班次模板的基础上可快速求得较优班次设计的算法;Raik[3]在柜台值机排班问题上通过班次规则生产可用班次集合后,可用CPLEX 对班次设计模型进行快速求解;Lishun Zeng[4]在机场地勤排班问题中提出通过使高职能员工可向下兼容低职能工作的方式并采用分支定价算法来进行人力配置的优化;2019 年,胡修武[5]在呼叫中心坐席人员排班问题中为班次设计增添了用于加班的短班次,并运用邻域搜索算法对模型进行了求解,实现了为公司降低用人成本的同时也为员工增加了创收的机会。2020 年,胡修武[6]在呼叫中心坐席人员排班问题中为班次设计模型增加了班种与两段班的概念,并用启发式算法求出模型初始解,再以邻域搜索算法对解进行优化,提高了坐席人员工作时间的规律性。
在人员排班方面,人员排班旨在快速、合理且有效地将人力资源分配到各个班次任务上[7],实际上是一类组合优化问题。艾杰[8]通过调研分析建立了带有强、弱约束的护士排班模型,采用整数规划的分支定界算法对模型进行求解和分析。杨琨等[9]对急诊医生的周计划排班问题进行研究,建立了基于马尔科夫链模型和均匀化方法的系统定量评估方法,并设计禁忌搜索算法对问题加以求解优化。李献忠[10],张增勇[11]以及丰富[12]等学者分别从最小化非作业时间、设计并最小化惩罚费用、设计并最大化时间均衡度三个目标分别对这个问题进行建模与求解。
国外机场和航空公司目前已有通过建立智能排班系统作为实现这一战略的重要手段。国内机场对于排班算法的研究尚处于起步阶段,鲜有实际的应用案例。机场地面服务人员排班运筹优化算法作为全国较早研究机场排班算法的实际应用,在中国民航业内有开创性的意义。
本文研究以人力资源、人力需求曲线已知作为前提,通过配置每天的班次、确定班次的起始与结束时间以及所需人力;再根据员工个性化需求来安排员工在哪一天哪个班次上班,使得班次的人力曲线尽可能贴合任务需求负荷曲线,同时使排班方式将不再依靠单体的轮询规则来进行。相比于历史排班数据,本文提出的两阶段算法使机场的人力资源利用率、排班均衡性显著提高,机场人力成本显著降低。
在实际运营中,众多机场面临着日益增长的客流量与技术服务发展之间不平衡的问题,其中非常重要的是地面服务人力资源与利用,主要包括:班次时间划分与各班次安排人力、人员及岗位技能与数量规划、员工最合理化排班等问题。
经过深入地调研分析,某机场传统的排班方式是利用员工的丰富经验来设置长期固定班次组合,一旦班次组合确定,将会在较长的一段时间内稳定。由于没有标准的处理过程,每次人为划分班次都需要耗费不少时间和精力,这也是导致人力利用无法进一步提升的主要原因之一。当可供现场调度的工作人员配备不足,将会导致工作内容无法被完成;而当配备过多的人员时,这对企业运营成本来说也是极大的压力。
通过前面对问题的层层描述,发现当前机场人员排班问题可以被划分为两个方面:一是太依赖个人经验导致人力资源安排未能很好的与任务负荷相对应;二是太依赖规律排班导致灵活地安排人力资源受到一定的限制以及员工之间工作量均衡性差。所以问题的解决方案将从下面的两个阶段来得到实现。
(1)班次设计阶段:该阶段需打破原来的凭借排班员经验来确定班次的班次生成方式,根据任务需求负荷来在某一时段提供合理的人力数量,使人力曲线尽可能的去贴合任务需求负荷曲线以此来达到降低人力资源浪费的情况,减少员工时忙时闲的现象。在一段时期内,可用人力资源总量一般是相对稳定的,所以在人力需求曲线能够相对准确提供的条件下,合理设计各班次开始时间、班次长度以及班次需求人力是具有现实可行性的。
(2)优化排班阶段:在上一阶段根据实际负荷设计好的班次前提下,本阶段需打破原先轮询的规律排班方式,按照输入的排班规则和优化方向进行优化排班以及排班结果的输出,明确每一位员工每天上班时间并保证员工间排班的均衡性。员工上什么班次将不再依靠单一的轮询规则来定。该阶段主要就是解决员工之间排班不均衡的现象,降低员工之间的抱怨,提高员工工作效率以及服务质量。整体的实现流程如图1所示。
图1 整体设计流程
对于有能力提供较为准确的人力需求曲线的部室,班次设计能为其优化人力的配置,对有限的人力资源进行时间上的重分配,使其在满足各时段人力需求的前提下,又减少了各时段人力资源的浪费,使得人力资源利用率达到一个较高的水平。
一般而言,班次设计需要兼顾管理的难易程度和生产效益的高低,而影响管理因素的包括每天的班次数量、每天安排的上班人数、员工的休假规律等。通过整理各部门的班次设计需求,总结出了以下几点主要约束:(1)日班次数量的上下限;(2)班次时长的上下限;(3)日可用人力资源的上限。其中,日班次数量(种类)与部门管理者的管理能力相关,一般而言,日班次数量(种类)与管理难度的关系、日班次数量(种类)与班次设计的效益的关系以及日可用人力资源与班次设计的效益的关系分别如图2~4所示。
图2 日班次数量(种类)与管理难度的关系
图3 日班次数量(种类)与班次设计的效益的关系
图4 日可用人力资源与班次设计的效益的关系
在满足上述约束的前提下,班次设计的优化方向将以负荷超载量最少以及资源浪费量最少为目标。在资源充足的情况下,本文所述班次设计结果如图5,班次设计所形成的在岗人力曲线可以贴合地覆盖各时段的负荷曲线,使得负荷超载量(负荷曲线高于人力曲线的时段的面积总和)最少的同时,人力资源浪费量(人力曲线高于负荷曲线的时段的面积总和)最少。
图5 班次设计样例
2.2.1 模型目标函数
(1)负荷超载量最小目标函数
式中:H为每天的时段数(一般取24 h);C为一天可选的班次数;ytct为第t天编号为ct的班次所配置的强度;为第t天编号为c的班次是否覆盖了h时段,是则置1,否则置0;P为单个员工的负荷处理能力;Bth为第t天h时段的负荷量。
(2)资源浪费量最小目标函数
符号含义同上一条目标函数。
2.2.2 模型约束
(1)班次数量限制约束
式中:为第t天日班次数的下限值;为第t天日班次数的上限值;xtct为第t天是否存在编号为ct的班次,是则置1,否则置0。
(2)班次的存在与班次资源强度配置相关性的约束
式中:ytct为第t天编号为ct的班次所配置的强度;xtct为第t天是否存在编号为ct的班次,是则置1,否则置0;M为极大值。
班次设计算法流程包括了输入数据的解析、输入数据的归类、输入数据的检测、班次矩阵的构建等几大块。输入数据的归类要求了输入数据必需包含班次设计所需的负荷信息、参数信息、预设班次信息、约束信息、优化目标信息。数据检验要求各项输入信息必需完备,一旦输入数据被检测出有诸如格式或者信息的错漏的问题,应当及时反馈给排班员,让其修正数据后再进行班次设计。在输入信息完备后,需要构建好一个合理的班次矩阵,该班次矩阵是班次设计模型搭建的基础,模型约束以及目标的构建都离不开班次矩阵。
本文所构建的所有模型都将以Gurobi 求解器进行求解,在求解结束后,需提取求解器的求解数据,进行结果整理,并进行班次设计结果表的输出。具体的班次设计算法流程如图6所示。
图6 班次设计算法流程
优化排班阶段需要在班次信息、人力信息、约束目标函数信息等已知的情况下,分资质完成员工与班次之间的指派。在模型求解过程中需考虑工时均衡、班次类型均衡、最小化虚拟人力、资质满足等问题,最大化地保证排班的公平性,减少员工之间的抱怨,提高员工工作效率以及服务质量。
从本质上来讲,优化排班是在各类硬软约束的限制下完成人员到班次的一个指派问题。通过对各岗位排班需求的整理,得出代表性的排班需求有班次人数匹配、班次间隔约束、月工时、最大连续休假等约束。
班次人数匹配约束保证为每一个班次指派的人数等于其需求人数,最小班次间隔约束保证员工所上的相邻两个班次之间的时间间隔不会小于机场规定的员工休息时间,以上两条约束属于模型硬约束保证求解的结果的可行性。月工时上下限约束保证员工在一个排班周期里的工作量在机场规定的范围内,最大连续休假约束保证各员工的上班天数在一个周期里均匀分布,后两条约束保证排班的公平性在各员工之间得到一定程度上的保证。
3.2.1 模型目标函数
(1)虚拟人数最小化目标函数
式中:为各班次虚拟人力;为虚拟人力最大值,最小值;Nsf为班次数量。
(2)工时均衡最小化目标函数
式中:xdmax、xdmin为员工中工时最大值和最小值。
3.2.2 模型约束
(1)班次人数匹配约束
式中:xij为各员工是否上个班次,是置1,否则置0;Nx为员工数量;为各班次需求人力。
(2)最小班次间隔约束
式中:cfik为各班次的间隔时间是否小于规定的休息时间,是置1,否则置0。
(3)月工时上下限约束
式中:为月工时约束上下限值。
(4)最大连续休假约束
式中:Cr为最大休息天数;T为排班天数;wlj为表示各员工在每一天是否上班,是置1,否则置0。
优化排班算法流程主要包含了数据完善检验,模型求解,排班结果输出3个阶段。图7所示为优化排班算法的具体流程。
图7 优化排班算法的具体流程
(1)数据完善检验阶段。对输入的数据进行格式转换,根据已知信息补充其他排班的必要信息等;当数据完善完毕则需要对输入的数据进行错误检验,检验项包括重要数据项是否缺失、重要数据是否存在常识性错误、模型参数是否冲突等。
(2)模型求解阶段。根据班次人员信息构建决策变量;根据资质信息、人员状态信息、预排班信息等对相关决策变量进行上下限的修改;再根据约束信息,目标函数信息构建模型约束及模型目标函数;最后设置模型求解时间、求解节点、MIPGap值等参数;然后启动求解。
(3)排班结果输出阶段。需要根据决策变量的取值来确定每个人与每个班次的指派关系,结合班次的开始结束时间,生成各员工在排班周期里上下班时刻表。
本节选取客舱清洁室作为案例分析,着重讨论班次设计及排班优化的结果对比以往经验排班的优越性。客舱清洁室以往的班次设计是通过该部门分队长的经验来完成设置的。其设定的日班次数为方便管理一般为10,班次时长为12 h,各班次依据经验分布在一天中的各个时段,每个班次的人数配置也根据历史经验进行划定,而后各个清洁小组以轮询方式进行班次之间的指派。
为方便优化结果的展示,在本节中仅截取班次设计周期内某一天的班次设计结果作讨论。通过对比发现:班次设计结果生成的人力曲线相比于手工班次人力曲线更为贴合负荷曲线,并且对负荷曲线进行了全覆盖,在资源浪费上,班次设计显然比手工班次的浪费更少,人力资源的利用率更高。具体如图8。
图8 班次人力与负荷变化曲线
对上述的手工班次及班次设计结果进行指标统计,得到如表1 所示结果。对比手工所设计班次,算法设计班次在平均每小时的人力浪费量上减少了约5 个人,在人力资源利用率上提高了约18.67%,即本文所研究的班次设计算法对于提高机场地勤人员的利用率以及减少人力资源的浪费上有着显著的作用,可有效降低机场运营成本。
表1 手工班次及班次设计数据信息表
在优化排班方面,主要以客舱清洁室各员工在排班周期内的上班天数与上班总工时上的差异来展示算法排班相对于手工排班的优异性。通过统计,算法排班无论是在上班总天数还是总工时,其均衡性(取值分布范围)都比手工排班表现要出色不少,且员工总工时分布在明显低于手工排班。具体如图9~10所示。
图9 手工与算法排班上总天数分布情况
由于借助计算机的计算能力,其耗费人力成本,时间成本都比手工排班要少很多。用方差体现各员工间上边天数,上班时长的均衡性。那么在上班总天数和上班总工时两方面优化的效果如表2所示。
图10 手工与算法排班之间员工总工时的分布情况
表2 手工与人力排班在工时和上班天数均衡性方面的优化效果
伴随着中国经济的高速增长,中国民航业也正在经历迅速发展阶段,但是在地勤管理方面仍然存在信息化程度不高、无法动态精准按需分配等问题。本文针对上述问题,机场地面服务人员两阶段运筹优化算法的研究通过对机场一线员工的岗位资质和工作量进行估算、设计、优化和调整,在机场一线员工中高效地利用各种人、财、物资源,提高运营效率,降低运营成本,建立一个结果正确、响应及时、可人工干预、整体联动,并根据航班信息、员工资质、保障任务、约束条件,并通过混合算法运筹优化排班结果的机场地面服务运筹优化算法及系统。
本文所进行的研究取得的成效:(1)班次设计及优化排班算法均已上线使用,极大地优化了机场人力的配置;(2)本次研究产品上线之前,国内还没有机场真正投入并使用了地服人员智能排班系统,本次研究的产品在国内市场上具备独有性,拥有十分广阔的市场前景;(3)本次研究在技术上的具有一定领先性,具体包括算法模型求解上采用混合算法、算法处理过程允许多级松弛、数据处理上有双重检验。