本发明涉及一种公交系统,尤其是涉及一种公交车辆智能排班方法、智能终端及存储介质。
背景技术:
公交系统调度排班是保证公交系统正常运行的基本保证,在不同的前提条件下,有着多种不同的排班结果,而公交排班通过智能运算方法计算是一类典型的运输排班组合优化问题,具有较大的复杂性。传统的公交排班研究方法主要采用数学解析、模拟仿真以及数学规划等方法。但是在实际的车辆排班工作中,基本上还是通过人工调度排班的方式,以车辆、时间的进行简单的安排,这种安排能够获得一个可以实现的排班表,但是排班结果和实际运营成本计算上并没有直接的关联,导致运营成本不可控,更何况如今的公交信息随着问题求解难度与问题求解规模的增加,传统人工调度排班方法遇到了极大的挑战,已不能保证目标解的精确性,更无法得到更为成本优化的公交车辆排班结果。
技术实现要素:
本发明解决的技术问题是提供一种公交车辆智能排班方法,能够按照实际预设的条件,灵活快速地找出用车辆最小的排班方案,极大地优化车辆运营成本。
本发明的技术解决方案是:
一种公交车辆智能排班方法,其中,该方法包括:
步骤一,设定假设条件,
所有车辆载客量相同、行驶速度相同、运营不同班的成本相同、单位运营成本已知,非运营状态时不产生成本,车辆的保养和加油不占用车辆的运营时间,车辆空驶产生的成本远大于减少车辆所带来的效益,不可超车;线路为单线路,主副站为场站,全程车,早晚高峰的站间运行时间不同;司乘的休息、用餐、交接时间不计入薪酬、不计入车辆的可运营时间;
步骤二,确定约束条件,
确定最大可用车辆数、车辆可连续运营时间和每个车辆的最小运营总时间,班的衔接在同一场站完成,每运营完一班后需到场站休息一定时间,一个班只能由一辆车辆完成,一辆车辆只能同时运营一个班,司乘需在用餐时间段用餐,班间休息、用餐、交接只能同时存在一个,班与班之间须存在一个班间休息或用餐或交接;
步骤三,确定投入车辆数量以及原始数据:发车场站、到达场站、发车时刻、到达时刻、首站及末站的数据;
步骤四,车辆运营形式集合初始化,定义用餐时间和班间休息为特殊班,其它班为普通班;
依次选取投入车辆中于目标班时段内闲置的一辆车辆,根据该车辆的上一班确定该车辆衔接的特殊班和/或普通班;输出初始化的每辆车运营的班结果;
步骤五,寻找成本最小的车辆运营形式,车辆运营形式为车辆在对应班中是否运营的信息;
确定对偶问题和对应的对偶变量,计算定价问题,得到合适车辆运营形式的最小成本整体车辆运营形式集合;
步骤六,根据运营班类型及车辆运营趟次限制的约束,去除不符合要求的车辆运营形式,输出车辆排班方案。
本发明为了解决上述技术问题还提供了:
一种智能终端,其中,所述智能终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的公交车辆智能排班程序,所述公交车辆智能排班程序被所述处理器执行时实现如上所述的公交车辆智能排班方法的步骤。
一种存储介质,其中,所述存储介质存储有公交车辆智能排班程序,所述公交车辆智能排班程序被处理器执行时实现如上所述公交车辆智能排班方法的步骤。
由以上说明得知,本发明确实具有如下的优点:
本发明基于od数据和公交线路信息,分三大部分,对公交车时刻表、公交车辆、司机和乘务员进行自动排班。其中本发明所涉及的列产生算法的公交车辆智能排班方法,可以自动生成合理的发车方案,较传统手工排班更灵活,可根据不同的评价要求安排不同的车辆运营方式;更合理:根据不同时段的数据不断调整,输出个性化方案;更快速:可短时间内生成多个排班方案,筛选出最优解;且可根据历史方案不断优化改进。本发明能够有效利用海量真实城市公交数据,假设更贴近实际,而不是简单的理想化假设,生成的排班方案更精细化精准化,带来服务质量的提升和营业收入的提高。为乘客提供了更丰富的出行信息。运营调度效率高,调度计划科学合理。实时掌握全市道路交通情况,及时对公交车进行合理调度,缓解城市拥堵。
附图说明
图1为本发明公交车辆智能排班方法的较佳实施例中的步骤流程示意图;
图2为本发明公交车辆智能排班方法的较佳实施例中的标签矫正算法的图示例。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
本发明的公交车辆智能排班方法,根据发班时刻表,在特定的应用场景中,将车辆与发车时刻进行自动匹配。匹配过程添加车辆最大连续运营时间,司乘用餐、交接班,班的衔接必须在同一场站等系统约束条件,将发车时刻表的班与车辆进行组合,找出用车量最小的方案。求解过程产生算法逐步逼近最优解。列产生算法通过初始可行解集,进一步寻找更多能优化的解,再从可行解集里去除不影响目标的解来获得排班方案。
请参阅图1所示,为本发明的较佳实施例中的步骤流程示意图。
本发明的一种公交车辆智能排班方法,其较佳的实施例中,该方法包括:
s101步骤一,设定假设条件:
所有车辆载客量相同、行驶速度相同、运营不同班的成本相同、单位运营成本已知,非运营状态时不产生成本,车辆的保养和加油不占用车辆的运营时间,车辆空驶产生的成本远大于减少车辆所带来的效益,不可超车;线路为单线路,主副站为场站,全程车,早晚高峰的站间运行时间不同;司乘的休息、用餐、交接时间不计入薪酬、不计入车辆的可运营时间;
s102步骤二,确定约束条件,
确定最大可用车辆数、车辆可连续运营时间和每个车辆的最小运营总时间,班的衔接在同一场站完成,每运营完一班后需到场站休息一定时间,一个班只能由一辆车辆完成,一辆车辆只能同时运营一个班,司乘需在用餐时间段用餐,班间休息、用餐、交接只能同时存在一个,班与班之间须存在一个班间休息或用餐或交接;
s103步骤三,确定投入车辆数量以及原始数据:发车场站、到达场站、发车时刻、到达时刻、首站及末站的数据;例如,对原始班数据进行转换原班op={r,l,u,tr}转换至p={p1,p2,p3,p4},发车场站p1,到达场站p2,发车时刻p3,到达时刻p4,首站p5,末站p6。
s104步骤四,车辆运营形式集合初始化,定义用餐时间和班间休息为特殊班,其它班为普通班;
依次选取投入车辆中于目标班时段内闲置的一辆车辆,根据该车辆的上一班确定该车辆衔接的特殊班和/或普通班;输出初始化的每辆车运营的班结果;
s105步骤五,寻找成本最小的车辆运营形式,车辆运营形式为车辆在对应班中是否运营的信息;
确定对偶问题和对应的对偶变量,计算定价问题,得到合适车辆运营形式的最小成本整体车辆运营形式集合;
s106步骤六,根据运营班类型及车辆运营趟次限制的约束,去除不符合要求的车辆运营形式,输出车辆排班方案。
如上所述的本发明的公交车辆智能排班方法,其较佳的实施例中,在s104步骤四中包括:
a.对班集合{p}按班的开始运营时刻从小到大进行非递减排序。对当前车辆信息集合中的车辆按车辆的运营的班类型分成运营单班的车辆viss和运营双班的车辆visd;
b.记闲置的车辆信息集合为visfree=vissfree∪visdfree,总数为m=ms+md。其中vissfree表示闲置的单班的车辆信息集合,总数为ms。其中visdfree表示闲置的双班的车辆信息集合,总数为md;被选中的车辆集合为vpicked,总数为mpicked。被选中的班集合为ppicked,总数为npicked;未被选中的班集合为pfree,总数为n;
c.初始化被选中的车辆序号i为0,被选中的班p为0;vpicked={},mpicked=0;pfree=p,|pfree|=mp,ppicked={},npicked=0;
d.从闲置车辆集合vfree选取第i辆车,转至e;
e.从未被选中的班集合pfree按顺序选取一班,记为p;转至f;
f.如果车辆i未包含任何班,则转至g;
否则设车辆i运营的上一班(普通班)为q,做以下判断:
p.判断第q班的结束时刻是否在用餐时间段内;
如果是:
a.判断车辆i是否已经包含同类型的特殊班:用餐时间;
如果是,转至步骤f-p-b;
如果不是,
则在班q后衔接一特殊班:用餐时间;转至g;
如果不是:
b.在班q后衔接一特殊班班间休息时间;转至g;
g.判断班p的发车时刻和结束时刻是否在第i辆车的可工作时间段内,且若存在上一班,与该辆车运营的上一班为特殊班,在时间和空间上能够衔接;
如果是:
a.将班p分配给车辆i,pfree=pfree\p,转至h;
如果不是:
b.删除在f中衔接的特殊班,转至k;
h.如果|pfree|=0,转至s,否则转至e;
k.如果|visfree|=0,令m=m+1,为随机增加单班或双班的车辆,转至b;否则令i=i+1。转至d;
s.输出每辆车运营的班。
如上所述的本发明的公交车辆智能排班方法,其较佳的实施例中,在步骤五中,原问题对应的对偶问题为:
πp为原问题第p个约束对应的对偶变量;δip为车辆是否运营形式,其值为1或0;ir为车数集合;
基于步骤四中初始化的每辆车运营的班结果i,对偶问题可以求解得到πp;
πp∈[0.0,max{ci}];
所述定价问题为:
如上所述的本发明的公交车辆智能排班方法,其较佳的实施例中,定价问题转换为最优路径的寻找问题,并用标签矫正算法进行求解,获得最优路径的成本的集合。
请参阅图2所示,为标签矫正算法的图示例。
其中:
1)图(graph):
图包含以下节点(node):
a)班节点,包括“普通班”和“特殊班”(早餐时间、午餐时间、晚餐时间、班间休息)。
b)车节点,包含“单班车节点”和“双班车节点”
c)图还有两个特殊节点:源节点(source)和槽节点(sink)。每一个路径都必须起于源节点并且终止于槽节点。
2)图的节点的构建:
a)对班集合中的每个班,生成一个普通节点。
b)对班集合中的每个班p,都有对应的班间休息/用餐(早餐、午餐、晚餐)。生成这些时间的特殊节点。
c)生成一个“单班车”节点和一个“双班车”节点。
d)生成源节点与槽节点各一个。
3)图的连线的构建:
根据以下约束条件,将源节点、槽节点、车节点、班、休息/用餐/交接时间用线连接:
a)源节点只能与车节点相连,槽节点只能与普通班节点相连。
b)车节点只能与普通班节点相连。
c)特殊班节点只能与普通节点相连。
d)普通班节点只能与特殊班节点和槽节点相连。
e)班、休息/用餐/交接时间的连线必须在时间和地点上能够前后衔接。
f)普通班与特殊班(休息/用餐)相连接时,需满足以下约束:
i只能同时连接两个中的一个。
ii用餐只能在相关时间段(比如午餐时间段)连接。
iii如果普通班p的结束时间不在用餐时间段内。则必须连接一个班间休息时间。
iv班间休息、用餐不能两两相连。
4)寻找能够降低成本的路径
设g=(v,e)为构建得到的图。其中v={vi,s,t},e={eij}为分别为图的节点集合和边(连线)集合,s代表源节点,t代表槽节点。
设d(i)代表从源节点s到节点i的成本。pred(i)为节点i的父节点。upper为最优路径的成本。open为最优路径上的节点的集合。
设aij为从子节点i连接子节点j的成本,如果子节点j为普通节点,则由公式3.2.6计算,得aij=-πp,其中p为子节点j对应的普通班。如果子节点j为车节点,则aij为车节点j的成本权重。如果子节点j为槽节点或者特殊节点(用餐节点或者班间休息节点),则aij=0.0。
a)初始化:
d(s)=0,d(i)=∞,pred(i)=0,upper=∞,open={s},paths{}。
b)如果open不为空,即open≠{}。转至步骤c。
c)从open中取出一个节点,假设为i。open=open\i。转至步骤d。
d)如果节点i为特殊节点(用餐、班间休息)或者源节点。转至步骤e。如果节点i为普通节点,则转至步骤f。
e)对特殊(源)节点i的所有子节点j(普通节点):
如果d(i)=aij≤d(j)。
如果从源节点到子节点j的路径上的普通班都在此路径的车节点的“可工作时间段”内。
则:
令d(j)=d(i)+aij,pred(j)=i。
如果open不包含j,则:
open=open∪j。
转至步骤g。
a)对普通节点i的所有子节点j:
如果子节点j为用餐时间:
如果从源节点到子节点j的路径上的普通班节点都在此路径的车节点的“可工作时间段”内。则:
判断到节点i为止的路径是否已经包含了与子节点j同类型的子节点。
如果已经包含:
继续下一个子节点的循环(continue)。
否则:
判断连接此用餐时间节点后是否还可连接此用餐节点的其他普通班(在此路径的车节点的“可工作时间段”内)。
如果可以:
d(j)=d(i)+aij,pred(j)=i。
如果open不包含j,则:
open=open∪j。
如果不可以:
继续下一个子节点的循环(continue)。
如果子节点j为班间休息节点:
判断连接此班间休息时间节点后是否还可连接此班间休息节点的其他普通班(在此路径的车节点的“可工作时间段”内)。
如果可以:
d(j)=d(i)+aij,pred(j)=i。
如果open不包含j,则:
open=open∪j。
如果子节点j为槽节点:
如果从源节点到子节点j的路径上的普通班都在此路径的车节点的“可工作时间段”内。则:
令upper=d(i)+aij。
如果1.0+upper≤0.0:
根据{pred}计算从节点s到节点t的路径path,并将path放入paths。转至步骤g。
b)如果open为空,则转至步骤h。否则转至步骤c。
c)输出upper,{d(i)},paths。
如上所述的本发明的公交车辆智能排班方法,其较佳的实施例中,在步骤六中还包括:
根据初始化的每辆车运营的班结果i中的车辆运营形式的运营的班类型判断为单班或者双班,并根据单班最低运营趟次、单班最高运营趟次、双板早班最低运营趟次、双班早班最高运营趟次、双班晚班最低运营趟次、双班晚班最高运营趟次,将最优路径的成本的集合ii中不符合上述约束的车辆运营形式去除。
如上所述的本发明的公交车辆智能排班方法,其较佳的实施例中,该方法还包括对主问题的求解:
被限制的主问题在原问题的基础上对车辆运营形式的集合进行限制,并保证被限制的车辆运营形式的集合足以覆盖全部的班;
被限制的主问题的原问题:
p只包含普通班,不包含特殊班;
基于最优路径的成本的集合ii,主问题求解得到最优的xi;
根据xi的值,提取被选择的车辆运营形式,每一个车辆运营形式集合即为一辆车执行的班次链,得到进一步优化的完整的车辆排班方案。
本发明还提供一种智能终端,其较佳的实施例汇总,所述智能终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的公交车辆智能排班程序,所述公交车辆智能排班程序被所述处理器执行时实现如上所述的公交车辆智能排班方法的步骤。
本发明还提供一种存储介质,其较佳的实施例中,所述存储介质存储有公交车辆智能排班程序,所述公交车辆智能排班程序被处理器执行时实现如上所述的公交车辆智能排班方法的步骤。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
本发明基于od数据和公交线路信息,分三大部分,对公交车时刻表、公交车辆、司机和乘务员进行自动排班。其中本发明所涉及的列产生算法的公交车辆智能排班方法,可以自动生成合理的发车方案,较传统手工排班更灵活,可根据不同的评价要求安排不同的车辆运营方式;更合理:根据不同时段的数据不断调整,输出个性化方案;更快速:可短时间内生成多个排班方案,筛选出最优解;且可根据历史方案不断优化改进。本发明能够有效利用海量真实城市公交数据,假设更贴近实际,而不是简单的理想化假设,生成的排班方案更精细化精准化,带来服务质量的提升和营业收入的提高。为乘客提供了更丰富的出行信息。运营调度效率高,调度计划科学合理。实时掌握全市道路交通情况,及时对公交车进行合理调度,缓解城市拥堵。
以上所述仅为本发明示意性的具体实施方式,并非用以限定本发明的范围。任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所作出的等同变化与修改,均应属于本发明保护的范围。