2024年04月23日星期二
动态播报
公交车辆班次计划自动编制的探索
2021年07月08日 20:28:00 来源: 访问:

[摘要]

     公交车辆班次计划编制以“自动、智能”为主要设计思路,结合数学算法实现排班系统的智能化。在原有调度人员的经验进行计划排班的基础上,根据实际运营结果,不断对排班参数及实现流程进行自动修正和优化,从而达到自学习、优化排班结果的目标。



[关键词]公交车辆排班;算法;优化排班

     公交班次计划编制工作是公交运营的一项必要日常工作,传统方式主要依据调度员人工经验制定为主导,又因其限制条件的复杂性,费时费力,人工完成非常困难且无法达到高效、合理、节省的目标。随着大数据、云计算、互联网、物联网等信息化技术的不断发展,为了进一步提高城市公交智能化水平,济南公交决定依托信息化技术推动企业管理理念,根据客流特征与要满足客流的服务指标相结合,对公交车辆班次计划自动编制进行应用探索。


1.研究内容


      公交车辆班次计划自动编制主要研究在给定车辆、任务以及相应参数和原则的情况下,制定合理的调度方案。

     生成一份合理的行车时刻表是一项非常重要而且复杂的工作,行车时刻表决定了某条线路一天发出的班次总数,给出了每个班次的到离站时间,决定了主站发车的时间间隔,因此也就决定了乘客的平均候车时间,对乘客的服务质量有着很大的影响。


1.1班制参数研究


     将全天划分为6个时段,早低峰、早高峰、平峰、晚高峰、晚平峰、晚低峰,班制分为:正班、一班半、高峰班和正班单。

    (1)正班(双班车):正班主要为了保障早晚低峰时段的运行,由于工作的时间跨度较长,需要安排2-3人共同完成。低峰时段只需要投入部分车辆即可满足需求,为了节约运力,设置正班车。

    (2)一班半(大班车):承担涉及早晚低峰及全天平峰的时段运行,补充双班交接班期间的运行任务。

    (3)高峰车:为了补充高峰运力,解决高峰客流。与一班半的区别是无法承担中午时段的运行。

    (4)4.正班单:正班车安排一个驾驶员休息,另一个驾驶员上班。全天只跑四圈,早1晚3或早3晚1或早2晚2。

1.2车辆班次计划编制原则研究


     (1)公平原则:车辆上班的次序与下班的次序一致。

     (2)班次紧凑原则:降低车辆在主站和副站的停站时间,减少驾驶员的上班时长。

     (3)灵活调度原则:设有常规区间车、对发车辆、固定点车辆、跨线车辆。

1.3班次计划编制研究


      根据线路、营运车辆、发车间隔、停站时间等参数,通过对参数验证安排基础排班表,然后再结合车队实际情况,对排班表进行多次检索调整,最终对结果进行验证筛选,确定最合理有效的班次计划编制。



2.技术路线

2.1 数据库技术


     数据库技术是为了有效管理数据,提高数据处理的效率而发展并完善起来的专门技术。排班计划编制的探索过程我们选用的是Oracle数据库,数据库技术见图1。



图1 数据库技术


2.2 云计算技术


     完成班次计划编制需要巨大的计算能力,传统的计算模式需要耗费相当长的时间、耗费巨大的物力、财力来完成。而采用云计算方法,实时计算海量的GPS数据,采用Hadoop等分布式处理方式来过滤处理大量数据,云计算技术路线见图2。



图2 云计算技术路线


2.3 大数据分析技术


     大数据分析常和云计算联系到一起,因为实时的大型数据集向数十、数百或甚至数千的电脑分配工作。

     通过对GPS定位数据分析,并结合乘车刷卡记录,对客流、运营状况等进行全面分析,最终形成线网优化评估方案。大数据分析指标体系见图3。



图3 大数据分析指标体系


2.4 网络技术


     采用计算、存储虚拟化+异地双活整体方案,和传统热备不同,双活的两个数据中心同时在线运行承担业务,其不仅可以起到容灾的作用,还可以实现业务流量在不同数据中心间的调度与分担,可实现负载均衡目的。网络技术见图4。



图4 网络技术



3.探索车辆班次计划自动编制

3.1探索方法一


3.1.1班次计划编制流程

     首先进行准备设置工作,包括日间隔、单程时间等,然后计算发车点,最后遍历发车点制作发车计划。班次计划编制流程见图5。



图5 班次计划编制流程

    (1)准备设置工作

    ①设置当天的日间隔;

    ②设置当天车辆回场后的停场时间(可用于安排吃饭时间、双班交接时间);

    ③设置单程时间。

    (2)计算发车点

根据线路日间隔设置,计算当天全天上下行发车时间点。

    (3)遍历发车点制作发车计划

使用全天模拟的方法进行排点,遍历全天的发车点,生成排班计划,步骤如下:

    ①获取第一个发车点作为当前发车点;

    ②查找当前方向可用时间在当前发车时间点与上一个发车时间点之间的车辆,按可用时间依次为这些车辆排班;

    ③从排好的顺序中选择顺序号为1的车辆,计算该车以下信息:

    实际停场时间 = 发车时间 - 上次到达时间

    到达时间 = 发车时间 + 单程时间*2

    可用时间 = 到达时间 + 停场时间

    ④把上一步获取的信息记入发车计划表,这样就完成了该时间点的计划制作;

    ⑤获取下一个发车点,重复上述②-④步骤,直至全天计划生成完毕。

3.1.2插入当前待排班车辆


     在当前场区的车辆中查找合适位置,放入待排班车辆,根据不同情况,排序的原则分以下几种:

    (1)如果是第一轮,按照部位号依次排序。

    (2)如果当前车是部位1、2,且刚跑完第一轮回来:分别放在倒数第2个部位、最后一个部位前。

    (3)高峰车:视当前高峰班次完成情况,没完成,高峰车要优先排班,已完成,高峰车不排班。

    (4)其余情况:按部位插队。

    完成以上工作后,除了第一轮的情况外,场区内车辆可能存在空调车连排等不合理情况,同时也为了满足下班先后顺序的要求,需要对车辆顺序进行调整,车辆顺序调整流程表见图6。



图6 车辆顺序调整流程表

3.1.3调整场区内车辆的顺序号


    (1)统计场区内车辆总数,获取顺号1。

    (2)查找应排在该顺序的车辆,查找车辆遵循如下规则:

    ①早高峰规则:上一个是空调车,接下去先选择非空调车;上一个是普通车,接下去按原有顺序号排。

    ②平峰期规则:保证空调车不连发,剩余班次多的先发(双班车预留晚低峰的车次),部位小的先发。

    ③晚高峰规则:保证空调车不连发,剩余班次多的先发(双班车预留晚低峰的车次),部位小的先发。

    ④晚低峰规则:保证空调车不连发,剩余班次多的先发(双班车预留晚低峰的车次),大班车先发,部位号小的先发

    (3)顺序号加1。

    ①如果顺序号大于车辆总数,顺序调整完成;

    ②如果顺序号小于等于车辆总数,重复步骤2。

3.1.4当前方法存在的问题


     当前排班方法是一种比较死板的排班方法,缺少自我校正能力,一旦排班中出现套点错误,排班就会失败,不能进行自我更正。当参与排班的车辆比较充足的时候,成功几率较大,一旦车辆较少,或者各车的班次不够均匀时候,就很容易出现缺车现象,造成排班失败。

3.2探索方法二


     新方法用二维的方法来考虑,站在每个部位的角度来看全天的发车计划,发车点在不同部位、轮次间挪动,实现排班的灵活性。方法分为初设,移动调整,验证筛查三步来进行,排班流程见图7。



图7 车辆排班流程

3.2.1验证参数设置是否正确


     各个车辆的总计划班次之和是否等于应排计划班次(间隔)如果一致,则进入第二步。若不一致,则给予提示,手动调整为一致后再进入第二步。

3.2.2构建初始排班列表


     以20辆车120个发车点为例:

     初始化的原则是,把所有车假定为正班车,先做出具有120个发车点的基础模板。假设为正班车是为了充分发挥正班的班制作用,保证每日的基础运营。根据需要,再将假定的部分正班车把调整为一班半以及高峰车。

     正班车在班制中所占比例最大,这样设定是为了降低后续调整的工作量。因为在初期的基础模板中都假定为正班车,所以正班车移位很少,基本没有调整。其中,正班与一班半的车辆数量相差不大,高峰车最少。正班车8班,一班半6班,高峰车4班。以某条线路为例,正班车9辆,一班半10辆,高峰车2辆。

     如果,在初始化第一步采用不均匀分布的方式,则会加大后续调整的工作量,导致套点现象过多。

     把全天发车点按班序平均分配给每个车辆。模型见图8。



图8 初始排班模型


3.2.3执行移位操作


    (1)筛选车辆

     从首班开始对参加营运的车辆进行多次循环遍历,检索出当前班次大于计划班次的车辆,若应完成班次小于分配班次,则需要移位。

    (2)按班制优先级规则判断,标记出需要移动的时间点,需要移位车辆的班序号以及轮次数见表1。

表1 移位车辆的班序及轮次表

正班车

发车点的级别划分

级别1:本车高峰第一班固定不动  

级别2:本车高峰期第二班以及以后班

级别3:晚平峰

级别4:白天平峰(因正班车需要保证完成早晚低峰的

出车任务,应先空掉靠近中午的发车点,同时需要评估

对晚低峰的正班车次影响,防止出现过早下班的情况。)

对晚低峰的正班车次影响,防止出现过早下班的情况。)

一班半车

发车点的级别划分

级别1:本车高峰第一班

级别2:本车高峰期第二班以及以后班次

级别3:白天平峰

级别4:早低峰 晚平峰 晚低峰

级别5:完工时间之后的点

高峰车

发车点的级别划分

划分方法与一班半车相同。

执行移位操作时的执行顺序与级别序列号相反。即级别4在执行时最优先被执行,执行顺序依次为级别4,3,2,1。

(3)移位


      选择从最小时间点开始移位。即把移出的时间点下移给下一班序的车辆,下一班序的车辆时间点下移给下下一班序的车辆,以后的班序依次类推。


(4)符合实际需求的班次


      每执行一次会筛选出一个不符合规则的时间点,执行一次移位。移到满足条件的时间点后,再判断是否需要继续查找移位的时间点。重复1、2、3步操作,直到全部车辆获得的班次数与班次计划数相符合。最终,确保班次点基本符合实际需求。形成的结果见图9。



图9 调整后的排班模型


3.2.4调整时间点


    (1)解决套点问题

     首先,在排班计划中,进行多次循环,查找存在套点现象的发车点。(查找可以对调的发车点,先由该发车点按顺序向后查找可以对调的发车点,且对调的车不产生新的套点;如果向后找不到,再由上一发车点向前查找可以对调的发车点)。其次找到可以对调的发车点后,执行对调处理。然后重复以上操作,直到处理完所有套点。

    (2)解决正班司机过早下班的问题

     正班车上午司机的班次,在保证不套点,满足最小站停时间的前提下,把发车点向前对调,实现上午司机早完工早下班,缩短工作时长。

调整原则:正班车早晚顶点,早低峰按班序正向排,发车点正向排;晚低峰按照班序反向排,发车点反向排。

    (3)按车辆设定的完工时间调整

    (4)运算结果验证

     包含车辆站停时间、司机上下班时间、对发车、区间车、固定点的验证。



4.探索结论


     在公交车辆班次计划自动编制的探索过程中,针对单向自动排班模式生成的计划发车表见图10、图11。




图10 某条线路发车列表



图11 某条线路发车时刻表




      单向自动排班模式的车辆在副站不停,按照排出的车辆顺序,依据班次数量进行运营。双班车定在早班和晚班发车,早班晚班发完后立马到早高峰和晚高峰,如果有高峰车就使用高峰车来进行排班,如果没有高峰车则直接使用双班车和单班车相互穿插排班,单班车以任务量多的优先排班,任务量少的依次再排,一直穿插到平峰。
     双向自动排班模式仍在继续探索中,双向排班的难点主要有两方面,一方面双向来回穿插排班,打乱主站或副站的发车顺序再进行二次的合理排班比较困难,另一方面需要根据客流数据情况,需要来回调整发车间隔比较困难。
扫一扫

公交信息网微信公众号
bus_info

关于我们 企业文化 免责声明 广告服务 联系方式
 Copyright © 2007-2019 bus-info.cn Inc. All Rights Reserved. 网站设计备案号:沪ICP备17055837号  沪公网安备31011502010460号