Skip to content

pkusunbx/airport_staff_manage

 
 

Repository files navigation

数据说明:

2017年航班数据

  • 每月每天的航班数据,主要记录每班次的各种数据,主要特征为每航班的机位数量。每个表的用到的主要信息为每天的机位数量,即每个表中航班的机位的和。

客通道量数据

  • 记录了2017年6月2日~2018年4月17日中每一天各个通道关于时间的客流分布。其中每个时刻开设的通道数量与客流量有关,T2_A~T2_F为日常主要开通通道。

汇总数据

  • 经过程序把所需要用的特征全汇总到一个表中
    • 各小时客流量数据.csv

      • 主要记录2017年6月2日~2018年4月17日中每一天各个小时的客流数量,主要用于预测未来的客流量分布,以规划机场所需要开通的通道。再计算出所需工作人员的数量,最后进行工作安排
    • 各通道各小时客流量数据.xls

      • 主要记录2017年6月2日~2018年4月17日中每一天各个通道每一小时的客流量情况,可以用于探究其机场的运作规律。
    • 2017年各个航班数据.xls

      • 把2017年航班数据文件夹的每个表汇总到一个数据表中,方便计算出每月份的航班机位数量。可以用于预测未来客流量情况。

其他数据

  • result_plan.xlsx
    • 排版结果。列date为日期,列group的值,即每天分三个班次。第一班次:6:00~13:00(共7小时);第二班次:13:00~21:00(共8小时);第三班次:21:00~次日6:00(共9小时)。Xi为第i号员工,其中x1~x40为开机员工,x41~x100为非开机员工。Xi的值为1则表示该员工在对应的日期班次需要工作,否则为休息。由于9月属于次旺季,因此在9月份只安排100名员工(40名开机,60名非开机)值班即可。实际上在旺季的时候可以调取更多员工值班。
  • 各公司旺季加班计划.xlsx
    • 计划旺季中新增的航班数量。可用于预测客流量。

代码说明

  • merge_flightData.py

    • 把2017年航班数据文件夹的每个表汇总到一个数据表 ‘2017年各个航班数据.xls’
  • merge_passageData.py

    • 把客通道量数据文件夹中的所有数据表汇总到新数据表 '各通道各小时客流数据.xls'
  • queue_calculate.py

    • 基于排队论计算在不同参数下各个排队指标。输入参数主要有:n为通道数量,r为平均达到率 ,u为服务率。
    • 可以计算的指标有:服务台空闲概率、平均排队长、L为平均队长、平均排队时间、平均等待时间、排队等待的概率
  • test.m

    • 排班规划的目标函数和约束函数
  • main.m

    • 应用蒙特卡洛法求解出排班安排

研究背景

  • 青海机场公司近年来旅客吞吐量增长较快,以每2年百万人次增长,到现在每年实现百万人次增长,随着主业的迅速发展,青海机场公司安检岗位员工需求量越来越大。但是,因为青海近年来的发展主要依靠旅游业,而旅游季又呈现非常明显的季节性波动。所以,青海机场的旅客吞吐量也呈现非常明显的季节性波动,一般11月至次年3月属于淡季,4月-6月、9月-10月属于小旺季,7月-8月属于大旺季。

    从公司运营的角度来看,主业呈现季节性波动会给人力资源管理及配置带来一定的难度。一般情况下, 公司会于当年10月提出次年的用工计划,对与航班数量、旅客流量密切相关的岗位进行用工预测。 主要采用倒推法,即已知当年旺季旅客每小时数量分布,结合市场部预测的次年主业增幅,计算次 年高峰日每小时旅客数量分布。再根据行业对安检过检率的规定,倒推出每小时需要开放的旅检通 道和所需的安检员数量。取最高峰和次高峰人数的平均值,以此作为安检员次年用工计划。

    所以,安检人员是以旺季数据为配置依据的,但是又并非完全按照峰值配置,旺季时就会出现人员略显 紧缺的情况。而淡季时旅客流量降低,或多或少会存在人力资源闲置的现象,这就要求在安检岗位研 究出合适的弹性班制,实现员工在岗满负荷的同时保证员工充分的休息,从而提高安检岗位有效工时利用率。

    目前常见的概念有:“弹性工作制”和“弹性班制”。弹性工作制是指在完成规定的工作任务或固定的工作 时间长度的前提下,员工可以灵活地、自主地选择工作的具体时间安排,以代替统一、固定的上下班时 间的制度。弹性班制是指通过人力资源最优组合,根据不同时段旅客流量变动,动态调整员工工作时间 和在岗人数,从而实现对人员的弹性安排。

    公司已对安检等与航班量、旅客量密切相关的岗位进行人员调控,也意识到弹性班制在淡旺季应用的必要性, 但受限于旅客到达时间无法预知,航空市场变幻莫测,航班量及旅客量受民航局政策影响较大,管理局对 安检岗位的定额要求,劳动法规定的工作时长,的质控要求和安全管理要求标准严格,在这些前提下还希 望将人力效能达到最优,人员配置最为科学,工时利用率最高,员工疲劳度最低。面对上述问题,很难找 到一个满足多条件得出最优解的排班方案。

    已有的有关弹性班制的文献也大多集中在护士排班、银行柜员排班、乘务排班等几个方面,对机场部分岗位 未有充分的研究。在这种情况下,机场安检岗位弹性排班可以去繁从简,以不突破行业标准为前提,以旅 客流量及高峰时段区分为依据,充分考虑安检岗位人员现有资质及工作疲劳程度,实现固有班制的优化。

模型数据分析

  • 根据研究背景的淡旺季划分,统计出各小时的客流量日占比,反应出客流到达的规律。 image

    考虑到员工每周工作不得超过40小时,且劳动强度应均匀分布,故将05-23点分为3个工作时间段,分别是06点-13点为第一班,13点-21点为第二班,21点-次日06点为第三班。 统计2017~2018年各月份的客流量,分析其淡季和旺季之间的客流量变化。并根据2017每天的航班数据统计出各月份的机位数量,机位数量为因变量x,客流量为因变量y,作线性回归得出机位数量和客流量的线性相关关系,知道所有航班中有65%左右的机位数量会转换成机场客流量。 image

    对比2017年的客流量,6-10月的客流量似乎呈现一个以8月为对称的分布规律。其中8月的客流量是11、12月淡季的3倍左右,6、7、9、10月为12月淡季的2倍左右。对于次旺季,航空公司计划日均增加11.44班次,按照一般每班次增加200个客座,一个月按30天算可以增加约6.9万客座。同比2017年次旺季每月44万左右的客座数,预计2018年次旺季每月达到51万客座数,根据前面的回归方程,预计2018年次旺季每月的客流量为30万。2018年4月份只统计了17天的数据,共有15.4万左右的客流,换成一个月30天的数据来算,2018年完整的4月客流量约有27.2万人。考虑到4月是次旺季的开端,中后期的客流量会有所增加,因此每月客流量30万的预测应该有较强的说服力。

    对于旺季,航空公司预计每天增加54个航空班次,大概每个月能增加32.4万个客座,由于回归模型对于旺季的预测不太准确,因此客座数量对于旺季的客流量预测只作辅助作用。根据去年的数据,虽然7、8月份大旺季的客座数是淡季的一倍,但7月份的客流量只有座位数的一半左右,而八月份的客流量占到了差不多7成。根据这个占比来计算,则2018年7月份的的客流量为38.2万,而8月份的客流量为53.5万人左右。把预测的月份数据换成日均数据。

    有了每天的大概客流量外,还需要估算出每小时的客流量,以便根据客流量大小开放对应数目的通道。根据统计去年个小时的客流量占比如下图所示。各个月份的总体分布基本一致,但11月和12月份有着高度重合,而且跟其他月份也有一定的分歧。主要特点是呈现多峰形状,且峰度较高,这个在工作人员排班安排上也容易出现资源浪费的现象。 image

    有了以上的统计数据,可以估算出各个时间段的大致客流量,从而继续分析开通通道数量和需要的工作人员数量。员工需求数量的预测主要运用经典排队论的方法来进行研究,而当旅客开始进入值机队列,到旅客接受完值机服务,离开值机柜台,实质上可以用排队论中的排队模型 M/M/C 表示。根据机场自身的服务水平和服务能力,可以自由设置的排队时长的大小,旅客排队时间一般不能超过20分钟,理想排队时间应在12分钟以内。但根据行业标准每小时放行率180-220人,为了保险起见,取最低值180,由于双开机的通道,所以放行率要乘以2,得出360的服务率(按小时为单位),而到达率为预测的各个时间段的客流量。基于以上参数,可以根据基于排队论求得在预测的客流量分布中各时间段的理论开通通道数量: image

    单考虑每小时的最优开设通道是不实际的,对每个小时进行不停的调整工作人员只会更大管理难度。举个例子,在五月份6时的时候需要开设两个个通道即可,一个通道需要开机员工4人,非开机员工6人,共10人。即6时的时候需要20个工作人员,但到了后两个小时,只需开通一个通道,只需要10个人。那么剩下10个人则变得浪费了,但又不能立即让这“多余的”10人下班,因为9时需要开通3个通道,需要30个工作人员。因此在实际操作中应选择工作时间段中需要开通最大数量的通道作为整段时间段的开设通道。以每小时前后一小时时间内选择需要开通通道最大数量作为该段时间范围内需要开通的通道数,经过调整后各个小时的通道数量如下: image

模型建立求解

排班目标:
    每班需要的安检员数量既满足保障需求又满足人员最少为排班目标。前半部分的目标在规划通道开通数量的时候已经实现了,
    因此只需要满足后半部分的目标即可。为了体现公平性,尽量保证每个人的总工作时长一致,在排班目标引入方差正则。
    最终排版目标位在员工的总工作时间最小、员工间的工作时间方差最小。

限制条件:
	1.不同班制员工数量不得小于该时段需求的人员总数;
	2.开机岗位员工不得连续工作超过 30 分钟;(开机岗位有两个,可以轮着换,这限制条件不考虑)
	3.同一名员工不得连续 3 天被排到同一个班;
	4.同一名员工不得连续 2 天被排到第二班;
	5.旺季时所有员工不得休带薪年休假;(暂不考虑)
	6.开机岗位员工每 3 个班可以休息 1 个班;(暂不考虑)
	7.非开机岗位员工每 4 个班可以休息 1 个班;(暂不考虑)
	8.所有员工每周工作时长不得超过 40 小时。

其他参数:
	可安排开机人员60名,非开机人员120名。
	考虑到平均每人到工作时间,在淡季中,只需安排40 名开机,60 名非开机可以达到最优,其他人员可以调岗。

About

机场排班安排

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 76.4%
  • MATLAB 23.6%