1.本发明涉及智慧公交领域,尤其涉及一种公交发车时刻表生成方法及系统。
背景技术:
::2.制定发车时刻表是公交运营计划的基本问题。在实际的生产运营活动中,发车时刻表的制定与客流规律、路况、车辆资源、考核要求等因素都有关系。现阶段,公交公司在编制时刻表时通常还是凭经验。例如在很多城市,会把出行高峰大致定在早7:00‑9:00和晚17:00‑19:00,根据估算的周圈时间和可用车辆资源,给予出行高峰时段较大的发车频率,而对于平峰时段给予较小的发车频率。3.随着公交行业信息化程度的不断提高,尤其是车辆定位和电子支付等技术的普及,使得基于运营数据的时刻表编制成为可能。也出现了根据客流规律、周圈时间来优化发车时刻表的技术。这些技术主要还是对既有时刻表的局部优化,例如在班次总数固定的情况下如何调整发车间隔从而提高乘客体验。但实际上时刻表不仅关乎乘客体验,也关乎公交公司的运营成本、关乎线路的可用车辆资源,涉及的因素比较多。4.现有的公交发车时刻表编制的方法主要还是手工法。计划编制人员依据经验手工编制计划,并根据执行情况做调整。运行大致稳定后则通常会固化时刻表,长时间使用,因为人工编制太繁琐。人工方法的主要的问题是缺乏数据支撑,且人脑无法做复杂的计算,对计划的可执行性没有很好的认识。5.近期也出现了根据客流规律来优化发车间隔的技术,例如以最小化乘客等候时间为目标函数,通过遗传算法等优化技术在发车总班次数不变的情况下最优化发车间隔。这类方法的问题是没有考虑可用的车辆资源,且应用遗传算法因其固有的随机属性,每次计算出的结果很可能并不相同从而不易在实际生产中应用。另外,“发车班次数不变”这个前提本身也是值得商榷的,即现有计划班次数本身也是可能需要优化的。技术实现要素:6.本发明实施例所要解决的技术问题在于,提供一种公交发车时刻表生成方法及系统,以实现综合乘客体验、公交公司运营成本和线路车辆资源的时刻表编制。7.为了解决上述技术问题,本发明实施例提出了一种公交发车时刻表生成方法,包括:步骤1:根据历史样本天计算样本天的分时段载客量、分时段断面通量、分时段周圈时间;步骤2:再根据计算得到的数据采用试探法计算给定的最大断面满载率和最大发车间隔约束下的候选的发车时刻表;步骤3:根据预设的评价函数从候选的发车时刻表中选取最佳的发车时刻表作为生成结果。8.进一步地,步骤3中,预设的评价函数f(timetable_i)满足:;其中,和为预设的加权系数,为目标线路的每公里运营成本,为乘客的每分钟候车时间成本;wait(timetable_i)为执行此时刻表乘客的总等候时长,;为班次的发车间隔,首班的发车间隔为0,即;为班次的载客量,j为班次编号,为时刻表timetable_i的班次数;miles(timetable_i)为执行此时刻表总的运营里程,,l为线路的运营里程;步骤3中根据下式计算最佳的时刻表timetable_opt:。9.进一步地,步骤2中,记预设的班次载客量约束为,班次载客量的取值范围为,即如果班次载客量大于等于则将触发班次;;给定的约束包括最大断面满载率和最大发车间隔,如果某班次的最大断面满载率大于等于时则触发班次;如果某班次的发车间隔大于等于时则触发班次;否则继续试探下一分钟。10.进一步地,步骤2中,记班次的发车时间为,对于首班,,即首班发车时间;记下一班的发车间隔为,初始化;下一班的发车时刻;步骤2中根据以下子步骤计算:1)令班次标号,把发车时刻放入发车时刻表;2)令下一班的发车间隔;3)下一班的发车时间;若超过了线路的末班服务时间,执行子步骤6);否则执行下一步;4)计算时刻发车的班次载客量和最大断面满载率;a.ꢀꢀ若,或,或,或已经是线路的末班发车时间,则把时刻添加到发车时刻表,然后执行子步骤5)b.否则,返回子步骤3)5),返回子步骤2);6)对生成的时刻表做末班小间隔处理,即当末班发车和倒数第二班间隔较小时,按班次客流量均匀化后面几班的发车间隔。11.相应地,本发明实施例还提供了一种公交发车时刻表生成系统,包括:模块1:根据历史样本天计算样本天的分时段载客量、分时段断面通量、分时段周圈时间;模块2:再根据计算得到的数据采用试探法计算给定的最大断面满载率和最大发车间隔约束下的候选的发车时刻表;模块3:根据预设的评价函数从候选的发车时刻表中选取最佳的发车时刻表作为生成结果。12.进一步地,模块3中,预设的评价函数f(timetable_i)满足:;其中,和为预设的加权系数,为目标线路的每公里运营成本,为乘客的每分钟候车时间成本;wait(timetable_i)为执行此时刻表乘客的总等候时长,;为班次的发车间隔,首班的发车间隔为0,即;为班次的载客量,j为班次编号,为时刻表timetable_i的班次数;miles(timetable_i)为执行此时刻表总的运营里程,,l为线路的运营里程;模块3中根据下式计算最佳的时刻表timetable_opt:。13.进一步地,模块2中,记预设的班次载客量约束为,班次载客量的取值范围为,即如果班次载客量大于等于则将触发班次;;给定的约束包括最大断面满载率和最大发车间隔,如果某班次的最大断面满载率大于等于时则触发班次;如果某班次的发车间隔大于等于时则触发班次;否则继续试探下一分钟。14.进一步地,模块2中,记班次的发车时间为,对于首班,,即首班发车时间;记下一班的发车间隔为,初始化;下一班的发车时刻;模块2根据以下步骤计算:1)令班次标号,把发车时刻放入发车时刻表;2)令下一班的发车间隔;3)下一班的发车时间;若超过了线路的末班服务时间,执行步骤6);否则执行下一步;4)计算时刻发车的班次载客量和最大断面满载率;a.若,或,或,或已经是线路的末班发车时间,则把时刻添加到发车时刻表,然后执行步骤5)b.否则,返回步骤3)5),返回步骤2);6)对生成的时刻表做末班小间隔处理,即当末班发车和倒数第二班间隔较小时,按班次客流量均匀化后面几班的发车间隔。15.本发明的有益效果为:本发明首先以历史数据为基础,避免了决策的主观性;同时,较全面考虑了乘客利益、公交公司运营成本和线路的可用车辆资源,通过确定性的计算,给出了合理、实用且易于推行的发车时刻表;本发明可以显著提高公交发车时刻表编制的合理性、实用性和时效性。附图说明16.图1是本发明实施例的公交发车时刻表生成方法的流程示意图。17.图2是本发明实施例的公交发车时刻表生成方法的计算逻辑流程图。18.图3是本发明实施例在班次载客量为约束下的时刻表编制流程图。19.图4是本发明实施例在班次数或车辆数约束情况下的时刻表计算流程图。具体实施方式20.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本发明作进一步详细说明。21.下面给出发车时刻表的计算过程。现实过程中发车时刻表还和线路的运营模式有关,如环线、双向对开线路、全程收班线路、单程对收线路等,为表述本发明的核心方法,这里仅描述线路单向的时刻表编制。对于各种收班模式,在本发明描述的单向时刻表方法的基础上稍作调整即可应用。22.请参照图1~图4,本发明实施例的公交发车时刻表生成方法包括步骤1~步骤3。23.步骤1:根据历史样本天计算样本天的分时段载客量、分时段断面(断面:线路上两个站点之间的路段即为一个断面)通量(断面通量:一段时间内通过线路上某断面的客流积累量即为该时间段内该断面的断面通量)、分时段周圈时间(周圈时间:班次从始发站出发行驶到终点站结束过程中总的行驶时长)。24.样本天的分时段客流量计算:已知:各样本天每个班次的发车时间及对应的班次载客量(班次载客量:该班次从始发站出发行驶到终点站结束过程中上车人数的总和)。25.计算:各时段的客流量。例如,(6:30,6:40]时间段的客流量,即如果首班车6:30发车,第二班6:40发车的话,第二班车的载客量。26.计算方法:记前后两个班次的发车时刻为t1和t2,假定乘客在两个班次之间按时间均匀分布的概率规律到站候车,把发车时刻为t2的班次承载的客流平均分配到(t1,t2]区间的每一分钟,于是得到每一分钟的客流。对这些每一分钟的客流在样本天范围内做平均并按10分钟一个时段做记录,即得到各时段的客流量。后续在应用试探法计算时刻表时,如果tb时刻发车且前一班次ta时刻发车,则tb时刻发车对应的班次载客量就是(ta,tb]时间段的客流量。27.样本天的分时段断面通量计算:已知:各样本天每个班次的断面客流。28.计算:各时段各断面的断面通量。例如,(6:30,6:40]时间段的各断面通量,即如果首班车6:30发车,第二班6:40发车的话,第二班车在线路的各个断面分担的断面通量。29.计算方法:和时段客流量的计算方法类似,不同的是时段客流的计算是根据各班次的载客量,而时段下断面的断面通量的计算是根据各班次在各断面的通量。30.断面通量的预计算是为了后续计算班次的最大断面客流从而得出最大断面满载率(断面满载率:车辆在某个断面的客流量为断面客流,断面客流除以该车辆的核载人数即为该断面的断面满载率)。除候车时长外,班次的最大断面满载率不超过设定的值是考虑乘客体验的另一方面。31.样本天的分时段周圈时间计算:已知:各样本天每个班次的周圈时间。32.计算:各发车时刻对应的周圈时间。33.计算方法:根据各发车时刻对应的周圈时间在样本天范围内做平均,得到相应的发车时刻对应的周圈时间。对于没有出现的发车时刻,通过插值(如线性插值)的方法给出对应时刻的周圈时间。34.周圈时间的预计算是为了得到时刻表中每个班次的运行时间,从而能够估算执行该时刻表需要的最少车辆数。计算方法为分别计算主副站的逆差函数,而主副站逆差函数的最大值即为该站的最小配车数。对某站(主站或副站),按时间现后,如果有车辆发出,则其逆差函数值加1,如果有车辆到达,则其逆差函数值减1。35.以上预计算,在其它文献中有叙述,这里不再过多赘述。36.步骤2:再根据计算得到的数据采用试探法计算预设的班次载客量及给定最大断面满载率和最大发车间隔约束下的候选的发车时刻表(发车时刻表:用列表方式给出线路每一班次的发车时间)。其中试探法就是一分钟一分钟看是否应该发车,如果满足了班次载客量要求或达到了最大班次满载率约束或达到了最大发车间隔(发车间隔:本班次相对上一班次的时间差,单位为分钟)则发车,否则继续试探下一分钟。37.步骤3:根据预设的评价函数从候选的发车时刻表中选取最佳的发车时刻表作为编制生成结果。本发明从这众多的时刻表候选中选择综合评价最好的时刻表作为最终的时刻表。这里的综合评价就是乘客利益和企业运营成本之间的平衡。38.本发明需要利用以下数据:(1)历史样本天,各班次:a)在每个断面的断面客流;b)该班次的整体载客量;c)该班次的周圈时间;(2)目标线路的每公里运营成本,记为;(3)乘客的每分钟候车时间成本,记为;(4)各时段的最大发车间隔要求。39.以上第(1)条,现有公交企业基本都具备车辆定位数据和电子支付数据,有多个技术论文、发明专利讲述如何计算这些数据。40.以上第(2)条,现有公交企业基本都会根据实际的运营里程和开销统计出每条线路的综合每公里运营成本。41.以上第(3)条,可根据当地的工资水平估算出乘客每等候一分钟需要付出的时间成本。42.以上第(4)条,如果对该线路有相应的考核要求则取自考核要求数据,否则根据公交公司当地的情况给出最大发车间隔要求,例如白天最大15分钟发车间隔,晚8点后最大25分钟发车间隔。43.记班次载客量的取值范围为,即如果班次载客量大于等于则将触发班次;。例如,取值范围为[10,10.5,11,11.5,...,200]表示如果班次载客量大于等于10(或10.5,11,11.5,...,200)将触发发车。[0044]整体计算步骤如下:1)预计算:样本天的分时段载客量;样本天的分时段断面通量;样本天的分时段周圈时间;2)令时刻表标号;3)计算约束下的发车时刻表;4);如果,重复步骤3);否则执行下一步;5)从以上n个时刻表中根据评价函数选取最佳的时刻表作为结果。[0045]本发明的评价函数定义如下,其含义为乘客总的候车时间成本与企业运营成本的加权平均,即该评价函数兼顾了乘客的利益和企业的运营成本。[0046]作为一种实施方式,步骤3中,预设的评价函数f(timetable_i)满足:;其中,和为预设的加权系数;wait(timetable_i)为执行此时刻表乘客的总等候时长,;为班次的发车间隔,首班的发车间隔为0,即;为班次的载客量,j为班次编号,为时刻表timetable_i的班次数;miles(timetable_i)为执行此时刻表总的运营里程,,l为线路的运营里程;步骤3中根据下式计算最佳的时刻表timetable_opt:。[0047]作为一种实施方式,预设的班次载客量约束为,班次载客量的取值范围为,即如果班次载客量大于等于则将触发班次;;预设的车辆约束包括最大断面满载率和最大发车间隔,如果某班次的最大断面满载率大于等于时则触发班次;如果某班次的发车间隔大于等于时则触发班次;否则继续试探下一分钟。[0048]作为一种实施方式,本发明计算逻辑为根据设定的班次载客量,通过试探法给出需要的发车时刻。步骤2中,记班次的发车时间为,对于首班,,即首班发车时间;记下一班的发车间隔为,初始化;下一班的发车时刻;步骤2中根据以下子步骤计算:1)令班次标号,把发车时刻放入发车时刻表;2)令下一班的发车间隔;3)下一班的发车时间;若超过了线路的末班服务时间,执行子步骤6);否则执行下一步;4)计算时刻发车的班次载客量和最大断面满载率;a.若,或,或,或已经是线路的末班发车时间,则把时刻添加到发车时刻表,然后执行子步骤5)b.否则,返回子步骤3)5),返回子步骤2);6)对生成的时刻表做末班小间隔处理,即当末班发车和倒数第二班间隔较小时,按班次客流量均匀化后面几班的发车间隔。[0049]因考核要求或现实资源受限,会有对编制的时刻表附加班次数或配车数约束。这种情况下的计算逻辑大部分和基本发车时刻表相同,不同的是对候选的时刻表做约束验证,然后从通过验证的时刻表中选取评价最好的。[0050]对于一般的班次或车辆约束,上述方法都能给出需要的发车时刻表结果。也有全部的候选时刻表都不满足班次或车辆约束的情况,通常是因为要求的班次或车辆数太少或太多,这已经脱离了乘客体验或运营成本的考虑,不在本发明的讨论范围之内。[0051]本发明实施例的公交发车时刻表生成系统,包括:模块1:根据历史样本天计算样本天的分时段载客量、分时段断面通量、分时段周圈时间;模块2:再根据计算得到的数据采用试探法计算给定的最大断面满载率和最大发车间隔约束下的候选的发车时刻表;模块3:根据预设的评价函数从候选的发车时刻表中选取最佳的发车时刻表作为生成结果。[0052]作为一种实施方式,模块3中,预设的评价函数f(timetable_i)满足:;其中,和为预设的加权系数;wait(timetable_i)为执行此时刻表乘客的总等候时长,;为班次的发车间隔,首班的发车间隔为0,即;为班次的载客量,j为班次编号,为时刻表timetable_i的班次数;miles(timetable_i)为执行此时刻表总的运营里程,,l为线路的运营里程;模块3中根据下式计算最佳的时刻表timetable_opt:。[0053]作为一种实施方式,预设的班次约束为,班次载客量的取值范围为,即如果班次载客量大于等于则将触发班次;;预设的车辆约束包括最大断面满载率和最大发车间隔,如果某班次的最大断面满载率大于等于时则触发班次;如果某班次的发车间隔大于等于时则触发班次;否则继续试探下一分钟。[0054]作为一种实施方式,模块2中,记班次的发车时间为,对于首班,,即首班发车时间;记下一班的发车间隔为,初始化;下一班的发车时刻;模块2根据以下步骤计算:1)令班次标号,把发车时刻放入发车时刻表;2)令下一班的发车间隔;3)下一班的发车时间;若超过了线路的末班服务时间,执行步骤6);否则执行下一步;4)计算时刻发车的班次载客量和最大断面满载率;a.若,或,或,或已经是线路的末班发车时间,则把时刻添加到发车时刻表,然后执行步骤5)b.否则,返回步骤3)5),返回步骤2);6)对生成的时刻表做末班小间隔处理,即当末班发车和倒数第二班间隔较小时,按班次客流量均匀化后面几班的发车间隔。[0055]本发明提高了公交发车时刻表编制的合理性,使发车时刻和乘客出行需求更匹配;本发明提高了公交发车时刻表编制的实用性,使发车时刻兼顾了公交公司的运营成本和线路车辆资源;本发明提高了公交发车时刻表编制的时效性,通过发车时刻表编制系统,能够根据运营条件的改变,自动化、快速编制出可用的发车时刻表。[0056]尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。当前第1页12当前第1页12
转载请注明原文地址:https://win.8miu.com/read-505606.html