掌桥专利:专业的专利平台
掌桥专利
首页

基于时间片切分的地铁车辆检修计划自动生成方法

文献发布时间:2023-06-19 11:26:00


基于时间片切分的地铁车辆检修计划自动生成方法

技术领域

本发明涉及有轨道交通车辆维护技术领域,确切地说涉及一种基于时间片切分的地铁车辆检修计划自动生成方法。

背景技术

近年来,随着我国城市轨道交通快速发展,在一定程度上对地铁车辆的检修和运用工作效率提出了更高的要求,使得其朝着更加智能化的方向发展,因此,如何更加高效合理地编制地铁车辆的检修计划是研究车辆检修工作效率提升的核心问题之一。

现有的地铁车辆运用和检修过程中,检修调度人员主要依据车辆的走行公里数和运用时间等进行人工编排年度检修计划和月度检修计划,在年度和月度维修安排中,均衡修是一项重要检修修程,是建立在充分评估列车可靠度和零部件故障周期的基础上,对列车检修修程进行了优化整合,有效地缩短了列车的维修停库时间,在一定程度上提高了列车的利用率和运营可靠度,因此,均衡修任务的合理安排对目前地铁车辆检修工作效率提升起着关键作用。

但是现有的地铁车辆检修计划编制过程中,主要存在如下问题:

(1)目前车辆检修计划的编制主要依赖人工根据车辆走行公里数和运用时间,结合均衡修修程的相关约束,安排列车的计划检修日期,从而形成车辆年度和月度检修计划。这种人工编制的方式,存在过程复杂、安排不合理、结果易出错、工作量大等诸多缺点。

(2)随着地铁运营朝着线网化运营方向发展,对车辆检修工作的智能化水平和降低地铁运营维护成本提出了迫切需求。人工编排过程中,无法考虑到实际生产过程中车辆实际状况变化,如车辆故障,无法做到自适应地调整检修计划。

而针对现有技术的问题,目前的地铁车辆检修排程算法中主要涉及到多目标优化的检修计划预排算法和基于多因素综合评估的车辆检修平衡排程算法。如公开号为CN106845789A,公开日为2017年6月13日,名称为“基于修程的轨道交通设备年检修计划自动预排方法”的中国发明专利文献,公开的年检修计划自动预排方法:步骤1、输入年检修计划表模板、设备信息表、历史检修记录和修程表;步骤2、调出年检修计划表模板;步骤3、填充年检修计划表模板;从设备信息表中筛选出属于某线路某专业的所有检修设备,并从修程表中读取各检修设备对应的检修信息,将检修设备及对应的检修信息填充到年检修计划表模板;步骤4、建立目标函数和约束条件;步骤5、将填充后的年检修计划表模板根据目标函数和约束条件生成初始的年检修计划,将全年的检修任务分配到12个月中;步骤6、对初始的年检修计划进行审核,以审核通过后的年检修计划作为最终的年检修计划。但该申请案只针对轨道交通设备的年检计划进行自动预排,并没有将车辆这个最主要的设备独立出来;预排的结果是年检修计划,没有根据设备运行的实际情况对每个月的检修任务做出相关变动,并且只针对轨道交通设备的年检计划进行自动预排,并没有将车辆这个最主要的设备独立出来;预排的结果是年检修计划,没有考虑检修班组休息时间无法保障、车间检修资源不足等情况。

如公开号为CN109214690A,公开日为2019年1月15日,名称为“一种多因素综合评估车辆检修计划平衡排程系统及方法”的中国发明专利文献,公开的车辆检修计划平衡排程方法:步骤一:在列车的年度维护总量不变、不改变各部件的维修周期和维修深度的情况下,将原本传统计划修的维修内容拆分到月检中,形成新的检修规程;步骤二:根据修程编制年度计划、月度计划和周计划;步骤三:综合利用多源监测数据的支撑,依托车辆运行数据建立自动化采集的评价指标进行逻辑运算,对车辆健康状态进行评价;步骤四:根据步骤三数据处理结果,对检修策略做修改变动;步骤五:将所编排的计划在工位看板和/或手持式维护终端上展现给相关维修人员,维修人员按计划进行维修作业。该申请案提高了列车上线率、车辆的可靠性和安全性,能根据车辆实际状态调整修程顺序以及检修时间,但该申请未考虑检修计划安排的均匀分布问题,会出现连续作业导致检修班组的休息时间无法保障的问题;排程处理过程中也未考虑检修计划安排与车间实际检修资源存在冲突的情况,无法根据排程冲突进行自适应调整。

发明内容

本发明的目的在于针对现有技术中在编制车辆年月检修计划时过程复杂、安排不合理、结果易出错、工作量大等缺陷,提供一种基于时间片切分的地铁车辆检修计划的自动生成方法。

本发明的目的是通过以下技术方案实现的:

基于时间片切分的地铁车辆检修计划自动生成方法,其特征在于,包括以下步骤:

初始化步骤,设置地铁车辆检修计划的自动排程参数,加载车辆检修计划的基础数据以及所有待检修地铁车辆的车辆历史检修数据;所述自动排程参数包括每列待检修地铁车辆每个设定周期内需要进行各类检修修程的次数,以及每种类型的检修修程所需要间隔的时间周期;所述车辆检修计划的基础数据包括待检修地铁车辆的数量、车间检修班组数量以及所需要的各类检修修程的修次和检修天数,计划性的检修修程往往在一段时间内(设定周期)是周期性安排的,比如均衡修在一年的周期内被分为12次进行,某个修程在周期内第几次安排即为修次;所述车辆历史检修数据包括所有待检修地铁车辆检修记录,检修记录包括过往的检修日期、各类的检修修程的次数以及各类检修修程的修次;

合法性检查步骤,对所述初始化步骤设置的自动排程参数以及车辆检修计划的基础数据进行排程前的检修资源合法性检查,即检查年度检修计划所需检修资源是否超过车间实际拥有的检修资源,具体的,计算出检修计划周期内所需要的检修资源数YS(单位:列·日),YS=待检修地铁车辆列数*每辆待检修地铁车辆完成检修计划周期内被安排的所有检修修程所需的检修天数;以及计算出检修车间该年度能够提供的检修资源数YZ(单位:列·日),YZ=车间均衡修班组数量*均衡修班组一年内所有工作日数;若YZ≥YS则表示资源满足排程要求,合法性检查通过;若YS≥YZ则表示车间检修资源不足,合法性检查不通过;

检修计划生成步骤,所述初始化步骤设置的自动排程参数、车辆检修计划的基础数的据通过所述合法性检查步骤的检修资源合法性检查后,根据待检修地铁车辆检修记录确定每列待检修地铁车辆在设定周期内首次检修的修程和修次,然后按照自动排程参数和车辆检修计划的基础数据中待检修地铁车辆每个设定周期需要进行检修修程的次数、类型、以及每种类型的检修修程所需要间隔的时间周期以及天数,结合所述车间检修班组数量对所有待检修地铁车辆逐个进行设定周期内的检修计划排程,并且设定在同一时间段内同一车间检修班组不能对一列以上的待检修地铁车辆同时进行检修修程,生成每列待检修地铁车辆在设定周期内所有需要进行的检修修程的次数、类型、修次和时间已经对应车间检修班组的检修任务表。

所述初始化步骤中,检修修程包括例行检修和计划性检修,例行检修的修程包括周检和登顶检,类似于日常维护,计划性检修的修程指的是均衡修,均衡修一般比日常维护复杂一些,在列车运行一定的时间和/或里程后需要对一些耗件耗材进行针对性的检修,检修复杂度、要求和工时长度一般也比日常维护要多,每月每列待检修地铁车辆可被安排均衡检修修程的次数原则上不超过2个,计量单位一般为“个/天”,检修计划一般包括年度计划、月度计划、周计划、日计划,本方案主要研究的是车辆的年度计划和月度计划,年度计划是每列待检修地铁车辆在年度或月度内所有修程(主要是均衡修修程)的集合,将年度计划分解后可以得到每个月的月度计划,这两种计划主要安排的检修任务是均衡修修程,年度/月度检修计划可以参与自动排程的修程,即将需要参与年度/月度检修计划自动排程的修程是可配置项,可根据实际需求予以配置,比如年度检修计划中,需要自动排程的修程是均衡修,而暂时不安排其他的修程时,我们可以仅配置均衡修这个修程即可。

进一步的,所述自动排程参数中包括每日每列待检修地铁车辆完成各类检修修程个数的最大值MAX与最小值MIN,单位为(个/天),各类检修修程能够完成的进度是指承担检修任务的车间检修班组每天能够完成的某个修程的工作内容多少,以及每月每列待检修地铁车辆可被安排例行检修修程的次数n和计划性检修修程的次数N,设每个设定周期包含M个完整月份,则,每列待检修地铁车辆每个设定周期内需要进行检修修程的次数最小值为M*(n/MIN+N/MIN),次数最大值为M*(n/MAX+N/MAX)。

所述初始化步骤中,车辆检修计划的基础数据中还包括所述待检修地铁车辆的车辆信息,车辆信息包括待检修地铁车辆的车号、车辆型号、车辆编码、配属单位;所述检修记录中还包括待检修地铁车辆的试修修程、试修日期以及试修修次,其中,所述试修日期为待检修地铁车辆交付运营后第一次安排检修的日期;所述试修修程为待检修地铁车辆第一次被安排进行的修程,试修修程通常安排均衡修;所述试修修次为待检修地铁车辆被安排进行试修修程对应的修次,根据实际情况而定,不一定从1开始,计划性的检修修程往往在一段时间内是周期性安排的,比如均衡修在一年的周期内被分为12次进行,某个修程在周期内第几次安排即为修次;

所述初始化步骤中,车辆检修计划的基础数据中还包括各车间检修班组的班组信息,班组信息包括班组名称、班组类型、工作区域以及组所属场段;所述班组类型包括均衡修班组和例行检修班组,其中主要是均衡修班组,本方案主要考虑以均衡修为基础生成一个年度或月度的检修计划,均衡修是以一年为周期分为12个子规程进行的修程,也属于阶段性的大修程,现在地铁公司普遍采取这种方式代替之前的定修(即年检);所述工作区域包括正线区域和库内区域;

所述初始化步骤中,检修记录中还包括车辆修程信息,车辆修程信息包括修程名称、修程编码、修程修次、车辆型号、周期天数、偏差天数、检修天数以及优先级信息;所述修程名称可以理解为针对不同类型车辆所要求的检修任务的代号;所述周期天数是指某个修程在同一辆待检修地铁车辆上进行检修所需要间隔的天数,即A检修在甲车上完成后,需要间隔15天才会再对甲车进行A检修;所述偏差天数是指某个修程实施过程中允许提前或延期检修的冗余天数;所述检修天数即执某个修程时需要耗费的时间多少。

所述检修计划生成步骤,具体的,包括以下步骤:

步骤1,对每一列待检测地铁车辆,首先调取所述初始化步骤中的车辆历史检修数据,根据所述初始化步骤自动排程参数中每列待检测地铁车辆需要安排的均衡检修修程的类型和次数、以及每种类型的检修修程所需要间隔的时间周期,以及所述车辆检修计划的基础数据中各类检修修程的修次和检修天数,以每列待检测地铁车辆的车辆历史检修数据中最后一次检修记录,排出所有待检测地铁车辆在设定周期内所需要进行的各类检修的修次的检修初计划;

步骤2,根据所述车辆检修计划的基础数据中车间检修班组数量,对应所述检修初计划自动进行车间检修班组分配,并且同一个车间检修班组在同一个时间段内不能被重复匹配不同的地铁车辆检修修程,直至将所有的车间检修班组在设定周期内所有的检修修程任务全部安排至所述检修初计划中,生成每一列待检测地铁车辆的周期性检修计划;

步骤3,将每一列待检测地铁车辆的周期性检修计划逐条进行比对,将周期性检修计划中存在同一时段内车间检修班组任务有重叠的进行调整,并按照修次时间顺序,最终生成在设定周期内对应所有待检修地铁车辆的检修任务表。

所述步骤1,具体的,首先调取每一列待检修地铁车辆的车辆历史检修数据中最后一次进行的检修修程,根据所述自动排程参数中每列待检修地铁车辆在设定周期内需要进行的检修修程和车辆检修计划的基础数据中各检修修程的修次排出每一列待检修地铁车辆在设定周期内的第一个检修修程,然后根据每个检修修程所需要间隔的时间周期以及各类检修修程的修次和检修天数按照时间顺序依次安排设定周期内每一列待检修地铁车辆的检修修程以及修次;

具体的,将设定周期中划分为安装时间顺序的N个时间片,并按照各类检修修程的检修天数将每个时间片切分为时间子片;得到待检修地铁车辆在设定周期内的第一个检修修程后,根据待检修地铁车辆的车辆历史检修数据中最后一次进行的检修修程的时间、以及与待检修地铁车辆在设定周期内的第一个检修修程之间需要间隔的时间周期计算出待检修地铁车辆在设定周期内的第一个检修修程的起始时间,对应在设定周期中找到第一个检修修程的时间子片并进行占用,然后继续根据待检修地铁车辆在设定周期内每个检修修程所需要间隔的时间周期以及各类检修修程的修次和检修天数按照时间顺序依次占用对应的时间子片直至所有时间子片全部被占用完成。

所述步骤1,若某一列待检测地铁车辆并无车辆历史检修数据,则为该待检测地铁车辆安排一个试修修程为开始,并将设定周期内的第一天设定为该待检测地铁车辆试修修程的起始时间。

与现有技术相比,上述技术方案包括以下创新点及有益效果(优点):

(1)上述技术方案提出了一种基于时间片的地铁车辆检修计划的自动生成方法,能有效克服了现有技术中依赖人工编制计划的缺陷;

(2)上述技术方案能够让所有车辆的均衡修任务安排能在一个月内均匀分布,从而保障检修班组获得充分的休息时间,增强了检修计划排程的可操作性;

(3)上述技术方案能保证均衡修任务的延续性,因为不同修次的均衡修的检修天数为1~3天不等,检修天数超过2天的需要保障连续执行。

(4)上述技术方案能够解决人工编制过程中无法自动识别的排程冲突,以确保检修任务的安排能够满足排程约束。

附图说明

本发明的前述和下文具体描述在结合以下附图阅读时变得更清楚,其中:

图1是本发明自动生成算法的总体流程示意图;

图2是本发明自动生成算法具体实施例的年计划自动排程算法流程图;

图3是本发明自动生成算法具体实施例的时间片切分流程示意图;

图4是本发明自动生成算法具体实施例的检修车辆分组流程示意图;

图5是本发明自动生成算法具体实施例按照试修日期分组流程示意图;

图6是本发明自动生成算法具体实施例按照上次检修日期分组流程示意图;

图7是本发明自动生成算法具体实施例车辆检修任务分配流程示意图;

图8是本发明自动生成算法具体实施例车辆检修任务分配流程示意图。

具体实施方式

下面通过具体的实施例来进一步说明实现本发明目的技术方案,需要说明的是,本发明要求保护的技术方案包括但不限于以下实施例。

作为本发明基于时间片切分的地铁车辆检修计划自动生成方法一种具体的实施方案,包括初始化步骤、合法性检查步骤和检修计划生成步骤,具体的:

所述初始化步骤,设置地铁车辆检修计划的自动排程参数,加载车辆检修计划的基础数据以及所有待检修地铁车辆的车辆历史检修数据;所述自动排程参数包括每列待检修地铁车辆每个设定周期内需要进行各类检修修程的次数,以及每种类型的检修修程所需要间隔的时间周期;所述车辆检修计划的基础数据包括待检修地铁车辆的数量、车间检修班组数量以及所需要的各类检修修程的修次和检修天数,计划性的检修修程往往在一段时间内(设定周期)是周期性安排的,比如均衡修在一年的周期内被分为12次进行,某个修程在周期内第几次安排即为修次;所述车辆历史检修数据包括所有待检修地铁车辆检修记录,检修记录包括过往的检修日期、各类的检修修程的次数以及各类检修修程的修次;

所述初始化步骤中,检修修程包括例行检修和计划性检修,例行检修的修程包括周检和登顶检,类似于日常维护,计划性检修的修程指的是均衡修,均衡修一般比日常维护复杂一些,在列车运行一定的时间和/或里程后需要对一些耗件耗材进行针对性的检修,检修复杂度、要求和工时长度一般也比日常维护要多,均衡修共分为12个月修,周期天数为30天,偏差天数为±5天,所有车辆在一年时间内必须完成12个月修,依次按照月修1-月修2-月修3…月修11-月修12进行,其中1,2,3,…,12即为修次,每个修次规定的检修天数从1到3天不等,每月每列待检修地铁车辆可被安排均衡检修修程的次数原则上不超过2个,计量单位一般为“个/天”,检修计划一般包括年度计划、月度计划、周计划、日计划,本方案主要研究的是车辆的年度计划和月度计划,年度计划是每列待检修地铁车辆在年度或月度内所有修程(主要是均衡修修程)的集合,将年度计划分解后可以得到每个月的月度计划,这两种计划主要安排的检修任务是均衡修修程,年度/月度检修计划可以参与自动排程的修程,即将需要参与年度/月度检修计划自动排程的修程是可配置项,可根据实际需求予以配置,比如年度检修计划中,需要自动排程的修程是均衡修,而暂时不安排其他的修程时,我们可以仅配置均衡修这个修程即可,年度和月度计划排程约束主要包括:(1)除加班情况外,月修班一周应至少保障有1天的休息时间,连续两周至少有4天的休息时间;(2)当某个修程的检修天数不止1天时,安排的检修日期应保证其连续性;(3)某个车辆的前后两次修程安排的时间间隔应满足周期天数±偏差天数的要求。

进一步的,所述自动排程参数中包括每日每列待检修地铁车辆完成各类检修修程个数的最大值MAX与最小值MIN,单位为(个/天),各类检修修程能够完成的进度是指承担检修任务的车间检修班组每天能够完成的某个修程的工作内容多少,以及每月每列待检修地铁车辆可被安排例行检修修程的次数n和计划性检修修程的次数N,设每个设定周期包含M个完整月份,则,每列待检修地铁车辆每个设定周期内需要进行检修修程的次数最小值为M*(n/MIN+N/MIN),次数最大值为M*(n/MAX+N/MAX)。

所述初始化步骤中,车辆检修计划的基础数据中还包括所述待检修地铁车辆的车辆信息,车辆信息包括待检修地铁车辆的车号、车辆型号、车辆编码、配属单位;所述检修记录中还包括待检修地铁车辆的试修修程、试修日期以及试修修次,其中,所述试修日期为待检修地铁车辆交付运营后第一次安排检修的日期;所述试修修程为待检修地铁车辆第一次被安排进行的修程,试修修程通常安排均衡修;所述试修修次为待检修地铁车辆被安排进行试修修程对应的修次,根据实际情况而定,不一定从1开始,计划性的检修修程往往在一段时间内是周期性安排的,比如均衡修在一年的周期内被分为12次进行,某个修程在周期内第几次安排即为修次;

所述初始化步骤中,车辆检修计划的基础数据中还包括各车间检修班组的班组信息,班组信息包括班组名称、班组类型、工作区域以及组所属场段;所述班组类型包括均衡修班组和例行检修班组,其中主要是均衡修班组,本方案主要考虑以均衡修为基础生成一个年度或月度的检修计划,均衡修是以一年为周期分为12个子规程进行的修程,也属于阶段性的大修程,现在地铁公司普遍采取这种方式代替之前的定修(即年检);所述工作区域包括正线区域和库内区域;。

所述初始化步骤中,检修记录中还包括车辆修程信息,车辆修程信息包括修程名称、修程编码、修程修次、车辆型号、周期天数、偏差天数、检修天数以及优先级信息;所述修程名称可以理解为针对不同类型车辆所要求的检修任务的代号;所述周期天数是指某个修程在同一辆待检修地铁车辆上进行检修所需要间隔的天数,即A检修在甲车上完成后,需要间隔15天才会再对甲车进行A检修;所述偏差天数是指某个修程实施过程中允许提前或延期检修的冗余天数;所述检修天数即执某个修程时需要耗费的时间多少。

即基础数据包括:

(1)车辆信息,包括车号、车辆型号、车辆编码、配属单位、试修日期、试修修程、试修修次。其中试修日期为车辆交付运营后第一次安排检修的日期,试修修程为第一次安排的修程(通常安排均衡修),试修修次根据实际情况而定,不一定从1开始;

(2)车间检修班组信息,包括班组名称、班组类型、工作区域、班组所属场段。其中班组类型主要指均衡修班组,也称月修班,该班组从周一到周五上班,加班后可采取调休;工作区域分为正线、库内两种;

(3)车辆修程信息,包括修程名称、修程编码、修次、车型、周期天数、偏差天数、检修天数、优先级,修程可以理解为针对不同类型车辆所要求的检修任务,周期天数即间隔多少天进行一次某修程;偏差天数即某修程允许适当提前或延期检修的天数;检修天数即执行该修程时,需要耗费的时间多少。

所述合法性检查步骤,对所述初始化步骤设置的自动排程参数以及车辆检修计划的基础数据进行排程前的检修资源合法性检查,即检查年度检修计划所需检修资源是否超过车间实际拥有的检修资源,具体的,计算出检修计划周期内所需要的检修资源数YS(单位:列·日),YS=待检修地铁车辆列数*每辆待检修地铁车辆完成检修计划周期内被安排的所有检修修程所需的检修天数;以及计算出检修车间该年度能够提供的检修资源数YZ(单位:列·日),YZ=车间均衡修班组数量*均衡修班组一年内所有工作日数;若YZ≥YS则表示资源满足排程要求,合法性检查通过;若YS≥YZ则表示车间检修资源不足,合法性检查不通过;

检修计划生成步骤,所述初始化步骤设置的自动排程参数、车辆检修计划的基础数的据通过所述合法性检查步骤的检修资源合法性检查后,根据待检修地铁车辆检修记录确定每列待检修地铁车辆在设定周期内首次检修的修程和修次,然后按照自动排程参数和车辆检修计划的基础数据中待检修地铁车辆每个设定周期需要进行检修修程的次数、类型、以及每种类型的检修修程所需要间隔的时间周期以及天数,结合所述车间检修班组数量对所有待检修地铁车辆逐个进行设定周期内的检修计划排程,并且设定在同一时间段内同一车间检修班组不能对一列以上的待检修地铁车辆同时进行检修修程,生成每列待检修地铁车辆在设定周期内所有需要进行的检修修程的次数、类型、修次和时间已经对应车间检修班组的检修任务表。

进一步的,所述检修计划生成步骤,具体的,包括以下步骤:

步骤1,对每一列待检测地铁车辆,首先调取所述初始化步骤中的车辆历史检修数据,根据所述初始化步骤自动排程参数中每列待检测地铁车辆需要安排的均衡检修修程的类型和次数、以及每种类型的检修修程所需要间隔的时间周期,以及所述车辆检修计划的基础数据中各类检修修程的修次和检修天数,以每列待检测地铁车辆的车辆历史检修数据中最后一次检修记录,排出所有待检测地铁车辆在设定周期内所需要进行的各类检修的修次的检修初计划;

步骤2,根据所述车辆检修计划的基础数据中车间检修班组数量,对应所述检修初计划自动进行车间检修班组分配,并且同一个车间检修班组在同一个时间段内不能被重复匹配不同的地铁车辆检修修程,直至将所有的车间检修班组在设定周期内所有的检修修程任务全部安排至所述检修初计划中,生成每一列待检测地铁车辆的周期性检修计划;

步骤3,将每一列待检测地铁车辆的周期性检修计划逐条进行比对,将周期性检修计划中存在同一时段内车间检修班组任务有重叠的进行调整,并按照修次时间顺序,最终生成在设定周期内对应所有待检修地铁车辆的检修任务表。

所述步骤1,具体的,首先调取每一列待检修地铁车辆的车辆历史检修数据中最后一次进行的检修修程,根据所述自动排程参数中每列待检修地铁车辆在设定周期内需要进行的检修修程和车辆检修计划的基础数据中各检修修程的修次排出每一列待检修地铁车辆在设定周期内的第一个检修修程,然后根据每个检修修程所需要间隔的时间周期以及各类检修修程的修次和检修天数按照时间顺序依次安排设定周期内每一列待检修地铁车辆的检修修程以及修次;

具体的,将设定周期中划分为安装时间顺序的N个时间片,并按照各类检修修程的检修天数将每个时间片切分为时间子片;得到待检修地铁车辆在设定周期内的第一个检修修程后,根据待检修地铁车辆的车辆历史检修数据中最后一次进行的检修修程的时间、以及与待检修地铁车辆在设定周期内的第一个检修修程之间需要间隔的时间周期计算出待检修地铁车辆在设定周期内的第一个检修修程的起始时间,对应在设定周期中找到第一个检修修程的时间子片并进行占用,然后继续根据待检修地铁车辆在设定周期内每个检修修程所需要间隔的时间周期以及各类检修修程的修次和检修天数按照时间顺序依次占用对应的时间子片直至所有时间子片全部被占用完成。

所述步骤1,若某一列待检测地铁车辆并无车辆历史检修数据,则为该待检测地铁车辆安排一个试修修程为开始,并将设定周期内的第一天设定为该待检测地铁车辆试修修程的起始时间。

这里为了更方便理解,我们以年度检修计划为例,即设定周期为1年,以月修(均衡修)为计划排列基础来进行说明,则,所述检修计划生成步骤具体包括以下步骤:

S1、根据车辆历史检修数据,初始化年度计划的检修任务序列WY;

S2、按月划分检修时间片,生成年度计划的检修时间片集合ST;

S3、按车辆的上次检修日期或试修日期对车辆进行分组,生成与检修时间片对应的检修车辆分组集合P;

步骤S3具体包括以下步骤:

S301、将检修车辆分组集合P初始化为与ST时间片个数相等且有序的集合;

S302、按月循环,所有车辆是否已分配到指定分组P[i]内;若是,则执行步骤S4;若否,则执行步骤S302;

S303、按照车辆分组规则,将所有车分配到当月的车辆分组P[i]中;令月份i=i+1,并返回步骤S301。

所述车辆集合V即初始化步骤S1中的车辆信息,包括车号、车辆型号、车辆编码、配属单位、试修日期、试修修程、试修修次等;

所述车辆分组规则是按照车辆上次检修日期/试修日期推算出在月份i(i=1,2,…,12)中的估算检修时间,根据这个时间利用车辆分组P集合与检修时间片集合ST的一一对应关系,将某个车辆分配到月份i的车辆分组P[i]的某个切片P[i][j](j为切片号,j=1,2,…,Q[i])内去。其中车辆的估算检修时间=车辆上次检修日期/试修日期*分配系数η,其中η=月份i的天数/月份i-1的天数;若车辆的上次检修日期为空,则按照试修日期计算;若不为空,则按照车辆的上次检修日期计算。例如:分配V1车在2月份的车辆分组时,发现其在1月30日安排了月修,其2月份的估算检修时间=30×(28/31)≈28(四舍五入),因此,将V1车分配到2月28日对应的车辆分组P[i]的切片中。

S4、按月循环,所有车的检修任务是否安排完成;若是,则执行步骤S4;若否,则执行步骤S5;

S5、按时间片循环,每个车的检修任务是否安排完成;若是,令月份i=i+1,则返回步骤S4;若否,则执行步骤S6;

S6、将与时间片ST[i][j]对应的车辆分组P[i][j]中所有车辆按照排程约束,依次安排其具体的检修日期,并更新车辆检修任务序列WY;令分组号j=j+1,并返回步骤S5。

所述年度计划的检修任务序列的字段主要包括车号、检修时间、检修修次、检修天数等,主要根据历史检修数据中上次检修修程或车辆试修修程,按照月修修次变化规律对当年12个月的检修时间、检修修次及检修天数进行赋值。

所述年度计划的检修时间片集合是将一个自然月划分为多个有序的检修时间片集合,每个时间片内的日期也是有序的。

所述检修车辆分组是在划分时间片的基础上,将所有待排程的车辆划分与时间片对应的组合,以便于后续步骤安排车辆具体的检修日期。

步骤S6具体包括以下步骤:

S601、将与时间片ST[i][j]对应的检修车辆分组切片P[i][j]中的所有车辆按照检修顺序依次指定具体的检修日期;

S602、分组内的所有车辆检修安排是否满足分组要求;若是,则执行步骤S65;若否,则执行步骤S603;

S603、找出切片P[i][j]中不符合分组要求的车辆,将其存入当前切片的排程冲突列表F中,并注明引起冲突的原因;

S604、将排程冲突列表F中的车辆调整到前一个或后一个分组中,重新安排其检修日期,并更新排程冲突列表,并返回步骤S602;

S605、更新车辆年度检修任务序列WY;令分组号j=j+1,并返回步骤S5。

所述检修顺序是检修车辆分组内的所有车辆按照其上次检修日期或试修日期的先后顺序,若车辆的上次检修日期不为空时,则取上次检修日期进行排序;若为空,则取试修日期进行排序。

所述分组要求主要包括:必须保证每个车辆分组所需检修资源不超出对应时间片能够提供的最大检修资源;分组内所有车辆的具体检修日期与上次检修日期偏差值不超过规定的检修周期偏差天数;每日安排月修的车辆数量是否超过每日允许安排月修数量的最大值,一般不超过其月修班数量。

所述排程冲突列表F是用于存储排程过程中不符合分组要求的车辆检修安排信息,与分组切片P[i][j]一一对应,主要包括车号、检修日期、检修修次、检修天数、冲突原因。

则,对应的,本实施例这种基于时间片切分的地铁车辆检修计划自动生成方法,以年休计划为目标,以均衡修为基础的检修计划自动生成方法,如图1所示,总体流程实现过程包括以下步骤。

S1、设置自动排程参数,加载车辆检修计划的基础数据和车辆历史检修数据。其中,自动排班参数主要包括每日各修程允许完成数量的最大值与最小值、每列车每月可安排的检修数量(主要指均衡修,每个月可安排的月修原则上不超过2个,这里的月修是指两个不同修次的月修)、年度和月度检修计划参与自动排程的修程等;车辆检修计划的基础数据包括车辆信息、车间检修班组信息、车间检修班组的轮替信息、车辆修程信息等;车辆信息主要包括车号、车辆型号、车辆编码、配属单位、试修日期、试修修程、试修修次,试修日期为车辆交付运营后第一次安排检修的日期,试修修程为第一次安排的修程,通常安排均衡修修程,试修修次根据实际情况而定,不一定从1开始;车间检修班组信息主要包括班组名称、班组类型、工作区域、班组所属场段,班组类型主要指均衡修班组,也称月修班,该班组从周一到周五上班,加班后可采取调休,工作区域分为正线、库内两种;车辆修程信息主要包括修程名称、修程编码、修次、车型、周期天数、偏差天数、检修天数、优先级,修程可以理解为针对不同类型车辆所要求的检修任务,周期天数即间隔多少天进行一次某修程,偏差天数即某修程允许适当提前或延期检修的天数,检修天数即执行该修程时,需要耗费的时间多少。

S2、是否满足排程前检修资源合法性检查。合法性检查步骤需要判断年/月检修计划所需检修资源是否会超过车间实际拥有的检修资源。首先计算年度计划所需检修资源数量(单位:人·天):YS=T∑Ji, i=1,2,…,12,其中YS为年计划所需检修资源总数;T为检修车间配属的列车总数;Ji为月修i所需的检修天数。再计算车间年度实际拥有检修资源数量(单位:人·天):YZ=NJ*Gi,i=1,2,…,12,其中NJ为均衡修班组数量;Gi为该年第i个月的工作日数量。若YZ≥YS,满足检修任务自动排程要求;若YZ≥YS,车间检修资源不足,无法满足自动排程要求,需要提示增加检修资源或考虑让班组加班,即增加月修班数量。

S3、根据车辆历史检修数据、年度计划排程约束,自动生成车间年度检修计划。其中车间的历史检修数据,主要包括车号、检修日期、检修修程、检修修次、检修天数等。年度和月度计划排程约束相同,主要包括一下四点:(1)除加班情况外,月修班一周应至少保障有1天的休息时间,连续两周至少有4天的休息时间;(2)当某个修程的检修天数不止1天时,安排的检修日期应保证其连续性;(3)某个车辆的前后两次修程安排的时间间隔应满足周期天数±偏差天数的要求。

S4、根据编制好的年计划数据、月计划排程约束,自动分解生成车间月度检修计划。月度检修计划主要通过对年度检修计划按月拆分得到。

如图2所示,一种基于时间片的地铁车辆检修计划的自动生成算法实施例的年计划自动排程算法流程图的实现过程主要包括以下步骤。

S1、根据车辆历史检修数据,初始化年度计划的检修任务序列WY。初始化时,先将所有车在当前年份中的检修时间赋值为默认值(某年每月的1号,即“yyyy-MM-01”)。再根据历史检修数据中上一年的最后一次检修修程或试修修程,按照修次变化规律对当年12个月的月修修次进行赋值,例如,V1车上一年12月份最后安排的修程为月修3,则当前年份的1月应安排的修程应为月修4;若V1车无上一年检修计划,需要从车辆信息中获取试修修程,假如试修修程为月修2且试修日期为1月1日,那么该车当前年份的1月应安排修程为月修2,依次类推。最终得到年度计划检修任务序列如下:WY={key=车号,value={[repairDate=检修时间, repairContent=月修, repairTimes=修次, repairDays=检修天数], …},其中车号与车辆集合V中的车号对应,车辆集合V={[key=车号, value1=车辆型号, value2=车辆编码, value3=配属单位, value4=试修日期, value5=试修修程, value6=试修修次],…}。

S2、按月划分检修时间片,生成年度计划的检修时间片集合ST。将某个年度按月划分成Ta和Tb两种大小不等的时间片,Tb的大小等于某月所有列车安排的月修中的最大检修天数,Ta=Tb+1,即Tb=max{WY[V1][月份i], WY[V2][月份i], …, WY[Vn][月份i]},其中WY为车辆检修任务序列,集合V表示该月安排检修的所有列车车号,i为第i个检修月份(i=1,2,…,12),默认取值格式为“yyyy-MM-01”。每个月份内两种时间片的个数计算如下:Ta和Tb满足如下公式:Ta * m + Tb * n = Mi(i=1,2,…,12),其中Mi为某月的总天数;m=max{[(Mi-Tb*n)/Ta]},即取方程的最大整数解;n=min{[(Mi-Ta*m)/Tb]},即取方程的最小整数解。某月份i划分的时间片总数Q[i]等于时间片Ta与Tb的数量之和,即Q[i]=m+n。两种时间片能够提供的检修资源为:Sa=Ta * NJ 其中NJ为均衡修班组数,单位:列·日;Sb=Tb *NJ 其中NJ为均衡修班组数。月份i的时间片划分结果为:ST[i]={Ta1,Ta2,…,Tam,Tb1,Tb2,…,Tbn},月份i对应的检修资源结果为S[i]={Sa1,Sa2,…,Sam,Sb1,Sb2,…,Sbn};其中i =1,2,…,12,且是有序集合;因此,年度的时间片划分结果集为ST={ST1,ST2,…,ST12}, 年度的时间片对应资源结果集为S={S1,S2,…,S12}。

进一步的,如图3所示,基于时间片切分流程的实现过程包括以下步骤。

S201、初始化年度计划的检修时间片集合ST为有序且元素个数等于12的时间片子集;

S202、按月循环,所有月份是否都已完成时间片切分;若是,则执行步骤S4;若否,则执行步骤S203。

S203、将月份i切分为Ta和Tb两种时间片,两种时间片个数为方程Ta*m+Tb*n=Mi的最大和最小整数解,其中Mi为月份i的总天数,且Tb=Ta-1;

S204、将月份i中所有日期有序分配到时间片子集ST[i]中,即ST[i]={Ta1,Ta2,…,Tam,Tb1,Tb2, …, Tbn};令月份i=i+1,并返回步骤S202。

所述两种时间片个数为m和n,分别对应时间片Ta和Tb的个数,其中m = max{[(Mi-Tb*n)/Ta]}, n=min{[(Mi-Ta*m)/Tb]}。月份i划分的时间片总数Q[i]等于时间片Ta与Tb个数之和,即Q[i]=m+n。每个时间片能够提供的最大检修资源为Sa=Ta * NJ或Sb=Tb * NJ,其中NJ为均衡修班组数。

S3、按车辆的上次检修日期或试修日期对车辆进行分组,生成与检修时间片对应的检修车辆分组集合P。检修车辆分组是在划分时间片的基础上,将所有待排程的车辆划分与时间片对应的组合,以便于后续步骤安排车辆具体的检修日期。

进一步的,如图4所示,检修车辆分组流程的实现过程包括以下步骤。

S301、按照检修时间片ST的划分方式,将检修车辆分组集合P初始化为与ST时间片个数相等且有序的集合。检修车辆分组集合P[i]={P[i][1],P[i][2],P[i][3],…,P[i][g]},其中g为车辆分组总数,g等于对应月份的时间片总数q。

S302、按月循环,所有车辆是否已分配到指定分组内;若是,则执行步骤S4;若否,则执行步骤S302;

S303、按照车辆分组规则,将所有车分配到当月的车辆分组P[i]中;令月份i=i+1,并返回步骤S301。若上次检修日期为空,则按照试修日期的先后顺序,将所有车分配到对应的车辆分组集合P[i]中,如下图5所示。若不为空,则按照上次检修日期的先后顺序,将所有车分配到对应的车辆分组集合P[i]中,如图6所示。车辆分组过程中,当上一月份的天数大于或小于当前月份时,需要将上次检修日期值乘以分配系数η(η=当前月天数/上一月天数)换算后,再分配。例如,V1车1月30日做了检修,那么在安排其2月份分组时,计算30×(28/31)≈28(四舍五入),然后将V1车分配到2月28日对应的车辆分组的最后一个切片。

S4、按月循环,所有车的检修任务是否安排完成;若是,则执行步骤S4;若否,则执行步骤S5。

S5、按时间片循环,每个车的检修任务是否安排完成;若是,令月份i=i+1,则返回步骤S4;若否,则执行步骤S6。

S6、将与时间片ST[i][j]对应的车辆分组切片P[i][j]中所有车辆按照排程约束,依次安排其具体的检修日期,并更新车辆检修任务序列WY;令分组号j=j+1,并返回步骤S5。

进一步的,如图7,车辆检修任务分配流程的实现过程包括以下步骤:

S601、将与时间片ST[i][j]对应的检修车辆分组切片P[i][j]中的所有车辆按照检修顺序依次指定具体的检修日期。检修顺序是指检修车辆分组内的所有车辆按照其上次检修日期或试修日期的先后顺序,若车辆的上次检修日期不为空时,则取上次检修日期进行排序;若为空,则取试修日期进行排序。检修车辆分组P[i][j]中车辆检修任务的具体分配过程,如图7所示,日期安排分配过程中需要注意时间片中的周末尽量不安排,以保障月修班组的正常休息时间。

S602、分组内的所有车辆检修安排是否满足分组要求;若是,则执行步骤S65;若否,则执行步骤S603。对每个检修车的任务分配进行合法性检验,即判断其是否满足分组要求。分组要求包括如下三点:(1)必须保证每个车辆分组所需检修资源不超出对应时间片能够提供的最大检修资源,即SP[i][j]≤S[i][j],其中j=1,2,…,g,g为检修车辆分组数量,i为某年第i个月,i=1,2,…,12;(2)分组内所有车辆的具体检修日期与上次检修日期偏差值不超过规定的检修周期偏差天数;(3)每日安排月修的车辆数量是否超过每日允许安排月修数量的最大值,一般不超过其月修班数量。

S603、找出切片P[i][j]中不符合分组要求的车辆,将其存入当前切片的排程冲突列表F中,并注明引起冲突的原因。排程冲突列表主要包括车号、检修日期、检修修次、检修天数、冲突原因,即F={key=车号,{[repairDate=检修日期, repairTimes=检修修次,repairDays=检修天数,conflictReason=冲突原因]}}。

S604、将排程冲突列表F中的车辆调整到前一个或后一个分组中,重新安排其检修日期,并更新排程冲突列表,并返回步骤S602。需要注意的是,调整时优先进行组内车辆的检修时间的调整,组内调整后也无法满足的,就调整到前一个分组或后一个分组中。

S605、更新车辆年度检修任务序列WY;令分组号j=j+1,并返回步骤S5。分组内所有车辆检修任务都安排完成后,更新这些车辆对应的检修任务序列。

相关技术
  • 基于时间片切分的地铁车辆检修计划自动生成方法
  • 基于Pinnacle计划系统的直肠癌VMAT计划自动生成方法
技术分类

06120112922398