基于启发式算法和时变行驶时间的公交排班表生成算法制造技术

技术编号:30448130 阅读:12 留言:0更新日期:2021-10-24 18:42
本发明专利技术公开了基于启发式算法和时变行驶时间的公交排班表生成算法,包括:S1、初始化该公交线路的所有车的状态;S2、在当前发车时间点,根据车的可用时间判断状态是否需要改变;S3、完成状态判断后,将状态为在主场站空闲的车依序添加到集合I

【技术实现步骤摘要】
基于启发式算法和时变行驶时间的公交排班表生成算法


[0001]本专利技术涉及智能交通领域,具体涉及一种基于启发式算法和时变行驶时间来自动生成公交排班表的算法。

技术介绍

[0002]公共交通对于缓解交通拥堵具有重要意义。然而,目前的公交系统很难以可承受的成本为乘客提供高质量的服务。Ceder等人通过研究合适的发车间隔、均匀的负载以及寻找最大的协同来提高服务。目前已有一些文献将多条公交线路视为一个系统,然后通过最大化协同或均衡发车间隔来生成公交时刻表,以提高公交服务水平。但目前,关注一条公交线路时刻表的现有文献很少。实际中,即使我们忽略时间依赖的行驶时间,公交排班问题也是NP

hard问题,直接求解是相当耗时的,并且在合理的时间内获得大规模实例的最优解是很难的。

技术实现思路

[0003]不同时间发出的车辆,面临的路况不同,从始发站到终点站的行驶时间也不同,我们把这种情况称为时间依赖,对应的行驶时间称为时变行驶时间。本专利技术针对现有技术所存在的不足,提出一种基于启发式算法和时变行驶时间的公交排班表生成算法,在满足最低发车频次要求的前提下,将各个时段的发车频次降到最低,并自动生成考虑时间依赖行驶时间的针对单条公交线路的公交排班表,以解决现有技术针对单条公交线路的公交排班问题难以求解的技术问题。
[0004]本专利技术为解决上述技术问题提出如下技术方案:一种基于启发式算法和时变行驶时间的公交排班表生成算法,包括如下步骤:S1、初始化该公交线路的所有公交车的初始状态,该初始状态是运营开始前公交车所处的状态;S2、在当前发车时间点,根据公交车的可用时间判断公交车的状态是否需要改变;S3、判断完所有公交车的状态之后,将状态为“在主场站空闲”的公交车依序添加到集合I
B
中,将状态为“在副场站空闲”的公交车依序添加到集合I
V
中;其中,主场站和副场站为该条公交线路的两个端点;S4、在当前发车时间点,从需要发车的场站的集合中选择第一辆公交车执行任务,并把该公交车的状态变更为从发车场站开往目的地场站,可用时间变更为在当前发车时间点的基础上加上从发车场站到目的地场站的时变行驶时间再加上在目的地场站的最少休息时间而得到的时间点;S5、遍历该公交线路的初始发车时刻表,在每一发车时间点均执行步骤S2~S4,即生成在初始发车时刻表下的公交排班表。
[0005]进一步地,还包括:根据最低发车频次要求以及运营时间,获得该公交线路的所述初始发车时刻表。
[0006]进一步地,所述初始发车时刻表通过如下方式获得:对于每个发车时间段,用该时间段的时长除以最低发车频次计算得到发车间隔;若发车间隔不是整数分钟,则取距离该发车间隔最近的两个整数作为发车间隔,在不超出该时间段的时间跨度的前提下,仅选择
较大整数作为发车间隔;结合该条公交线路的运营时间,即得到所述初始发车时刻表。
[0007]进一步地,公交车的可用时间的初始值设为该条公交线路的结束运营时间。
[0008]进一步地,步骤S1中,该条公交线路主场站的所有公交车的初始状态为“在主场站空闲”,副场站的所有公交车的初始状态为“在副场站空闲”。
[0009]进一步地,步骤S2包括:在当前发车时间点,若公交车的可用时间大于当前发车时间点,则公交车的状态保持不变;若公交车的可用时间小于或等于当前发车时间点,则公交车的状态改变,包括:将状态为“从主场站开往副场站”的公交车,变为“在副场站空闲”;将状态为“从副场站开往主场站”的公交车,变为“在主场站空闲”;其中,当公交车执行任务的次数大于预设值时,公交车的状态变为“不可用”。
[0010]进一步地,步骤S3中:将状态为“在主场站空闲”的公交车依序添加到集合I
B
中,包括:先依序添加属于副场站的公交车,再依序添加属于主场站的公交车;将状态为“在副场站空闲”的公交车依序添加到集合I
V
中,包括:先依序添加属于主场站的公交车,其次依序添加属于副场站的公交车。
[0011]进一步地,步骤S3中:将状态为“在主场站空闲”的公交车依序添加到集合I
B
中,还包括:往集合I
B
中添加状态为“在主场站空闲”的外包车辆,添加顺序为:在添加了属于主场站的公交车之后,先依序添加属于副场站的外包车辆,再依序添加属于主场站的外包车辆;将状态为“在副场站空闲”的公交车依序添加到集合I
V
中,还包括:往集合I
V
中添加状态为“在副场站空闲”的外包车辆,添加顺序为:在添加了属于副场站的公交车之后,先依序添加属于主场站的外包车辆,再依序添加属于副场站的外包车辆。
[0012]进一步地,步骤S3中所述依序,是依照车号从小到大或从大到小的顺序。
[0013]进一步地,步骤S4具体包括:S41、从发车场站的集合中选择第一辆公交车;S42、判断所选公交车属于哪个场站,若属于目的地场站,执行S43;若属于发车场站,执行S44;S43、选择该公交车执行发车任务,并执行S45;S44、先计算在选择该公交车执行发车任务的情况下,该公交车的可用时间,计算方式是:在当前发车时间点的基础上加上从发车场站到目的地场站的时变行驶时间再加上在目的地场站的最少休息时间而得到的时间点;然后将计算得到的可用时间与目的地场站的结束运营时间相比较,若计算得到的可用时间小于或等于目的地场站的结束运营时间,则选择该公交车执行发车任务,并执行S45;若计算得到的可用时间大于目的地场站的结束运营时间,则继续在发车场站的集合中选择相邻下一辆公交车并返回S42;S45、将该公交车的状态变更为“从发车场站开往目的地场站”,同时将可用时间变更为在当前发车时间点的基础上加上从发车场站到目的地场站的时变行驶时间再加上在目的地场站的最少休息时间而得到的时间点;其中,当所述发车场站为主场站时,所述目的地场站为副场站;当所述发车场站为副场站时,所述目的地场站为主场站。
[0014]与现有技术相比,本专利技术的技术方案具备如下有益效果:本专利技术可以在满足最低发车频次要求的前提下,考虑时间依赖的行驶时间,使用尽可能少的公交车完成发车任务,不但解决了目前公交排班求解难的问题,同时得到了基于场站公交车容量和最低发车频次要求的最优排班表;该排班表展示了不同时间段内各公交车的使用情况,为回场控制的安排提供依据。
[0015]本专利技术另还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述的基于启发式算法和时变行驶时间的公交排班表生成算法
的步骤。
附图说明
[0016]图1是本专利技术实施例提出的一种基于启发式算法和时变行驶时间的公交排班表生成算法的流程图。
[0017]图2是一条公交线路运行的部分时空图。
具体实施方式
[0018]下面结合附图和具体的实施方式对本专利技术作进一步说明。
[0019]在本专利技术实施例中,提出了针对单条公交线路在一天当中的公交排班问题的解本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于启发式算法和时变行驶时间的公交排班表生成算法,用于针对单条公交线路生成公交排班表,其特征在于,包括如下步骤:S1、初始化该公交线路的所有公交车的初始状态,该初始状态是运营开始前公交车所处的状态;S2、在当前发车时间点,根据公交车的可用时间判断公交车的状态是否需要改变;S3、判断完所有公交车的状态之后,将状态为“在主场站空闲”的公交车依序添加到集合I
B
中,将状态为“在副场站空闲”的公交车依序添加到集合I
V
中;其中,主场站和副场站为该条公交线路的两个端点;S4、在当前发车时间点,从需要发车的场站的集合中选择第一辆公交车执行任务,并把该公交车的状态变更为从发车场站开往目的地场站,可用时间变更为在当前发车时间点的基础上加上从发车场站到目的地场站的时变行驶时间再加上在目的地场站的最少休息时间而得到的时间点;S5、遍历该公交线路的初始发车时刻表,在每一发车时间点均执行步骤S2~S4,即生成在初始发车时刻表下的公交排班表。2.如权利要求1所述的基于启发式算法和时变行驶时间的公交排班表生成算法,其特征在于,还包括:根据最低发车频次要求以及运营时间,获得该公交线路的所述初始发车时刻表。3.如权利要求2所述的基于启发式算法和时变行驶时间的公交排班表生成算法,其特征在于,所述初始发车时刻表通过如下方式获得:对于每个发车时间段,用该时间段的时长除以该时间段的最低发车频次计算得到发车间隔;若发车间隔不是整数分钟,则取距离该发车间隔最近的两个整数作为发车间隔,在不超出该时间段的时间跨度的前提下,仅选择较大整数作为发车间隔;结合该条公交线路的运营时间,即得到所述初始发车时刻表。4.如权利要求1所述的基于启发式算法和时变行驶时间的公交排班表生成算法,其特征在于:公交车的可用时间的初始值设为该条公交线路的结束运营时间。5.如权利要求1所述的基于启发式算法和时变行驶时间的公交排班表生成算法,其特征在于:步骤S1中,该条公交线路主场站的所有公交车的初始状态为“在主场站空闲”,副场站的所有公交车的初始状态为“在副场站空闲”。6.如权利要求1所述的基于启发式算法和时变行驶时间的公交排班表生成算法,其特征在于,步骤S2包括:在当前发车时间点,若公交车的可用时间大于当前发车时间点,则公交车的状态保持不变;若公交车的可用时间小于或等于当前发车时间点,则公交车的状态改变,包括:将状态为“从主场站开往副场站”的公交车,变为“在副场站空闲”;将状态为“从副场站开往主场站”的公交车,变为“在主场站空闲”;其中,当公交车执行任务的次数大于预设值时,公交车的状态变为“不可用”。7.如权利要求1所述的基于启发式算法和时变行驶时间的公交排班表生成算法,其特征在于,步骤S3中:将状态为“...

【专利技术属性】
技术研发人员:张祎陈伟坚李志德李峰董宇涵刘兴禄
申请(专利权)人:深圳市众行网科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1