一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

公交行车计划的确定方法及电子设备与流程

2022-05-18 06:27:37 来源:中国专利 TAG:


1.本发明涉及智能交通技术领域,特别涉及一种公交行车计划的确定方法及电子设备。


背景技术:

2.随着经济的快速发展,城市人口的逐年增加,导致给城市的交通系统带来了更多的压力,城市交通问题成为许多城市发展中的重点问题之一。城市公共交通与私家车相比,具有客运量大、相对投资少、占有资源少、效率高等优点,城市公共交通中公交车是人们日常生活中使用频率较高的交通工具。
3.由于城市中人口集中,市内交通比较拥堵,公交车作为城市中的主要交通工具,在缓解城市交通压力上发挥着极为重要的作用。为了满足市民们的出行需要以及提高出行效率,需要对公交车进行调度,确定出公交车行车计划。
4.现有技术中,通常是先按照客流需求和车辆载客数按照时段生成发车时刻表的发车时间,然后根据发车时间的历史路况数据生成车辆到达时间,最后形成包含出发和到达时间的完整发车时刻表。然后人工将发车时刻表与各公交车辆进行匹配,得到公交行车计划。由此,导致公交行车计划的生成效率较低。


技术实现要素:

5.本公开示例性的实施方式中提供一种公交车行车计划的确定方法及电子设备,用于提高公交行车计划的生成效率。
6.本公开的第一方面提供一种公交行车计划的确定方法,所述方法包括:
7.响应于用户发送的公交行车计划确定指令,基于与所述公交行车计划确定指令相对应的公交指标参数,得到公交车总数量范围;其中,所述公交指标参数包括单班类型公交车的发车次数、双班类型公交车的发车次数以及公交发车时刻表,且所述单班类型公交车为在公交运用时段内被一个司机所使用的公交车,所述双班类型公交车为在所述公交运营时段内被两个司机轮流使用的公交车;
8.利用所述公交车总数量范围和所述公交指标参数,得到与所述公交车总数量范围内的各公交车总数量相对应的双班类型公交车的数量;
9.针对任意一个公交车总数量,根据所述公交车总数量对应的双班类型公交车的数量以及所述公交发车时刻表,将所述公交发车时刻表中各发车时刻与各公交车进行匹配,得到公交行车计划。
10.本实施例中通过响应于用户发送的公交行车计划确定指令,基于与所述公交行车计划确定指令相对应的公交指标参数,得到公交车总数量范围,然后确定出各公交车总数量范围内双班类型公交车的数量,然后基于双班类型公交车的数量和公交发车时刻表,得到与各公交车总数量范围内双班类型公交车的初始行车计划。由此,本实施例并不需要人工将发车时刻表与各公交车辆进行匹配,得到公交行车计划,提高了公交行车计划的生成
效率。
11.在一个实施例中,所述方法还包括:
12.针对任意一个公交行车计划中的任意一辆公交车,若确定所述公交车对应的各发车时刻中存在冲突时刻,则对所述冲突时刻进行调整,得到所述公交车的各第一目标发车时刻;
13.通过各公交车的第一目标发车时刻,得到与所述公交车总数量相对应的中间公交行车计划;
14.利用预设评价函数对各公交车总数量分别对应的各中间公交行车计划进行评价,得到评价值,并基于所述各公交车总数量分别对应的评价值,得到目标公交行车计划。
15.本实施例中确定出公交车总数量范围内各公交车总数量,并得到与各公交车总数量相对应的中间行车计划,然后利用评价函数对各中间行车计划进行评价,以此得到目标公交行车计划。由此,本实施例可以自动确定出目标公交行车计划,并不需要人工手动的确定出目标公交行车计划,提高了最终的公交行车计划的生成效率。
16.在一个实施例中,所述利用所述公交车总数量范围和所述公交指标参数,得到与所述公交车总数量范围内的各公交车总数量相对应的双班类型公交车的数量,包括:
17.针对所述公交车总数量范围内的任意一个公交车总数量,基于所述公交车总数量、双班类型公交车的发车次数、单班类型公交车的发车次数和所述公交发车时刻表中各发车时刻的总数量,得到单班类型公交车的数量;并,
18.利用所述单班类型公交车数量和所述公交车总数量,得到双班类型公交车的数量。
19.在一个实施例中,所述针对所述公交车总数量范围内的任意一个公交车总数量,基于所述公交车总数量、双班类型公交车的发车次数、单班类型公交车的发车次数和所述公交发车时刻表中各发车时刻的总数量,得到单班类型公交车的数量,包括:
20.针对所述公交车总数量范围内的任意一个公交车总数量,将所述公交车总数量与所述双班类型公交车的发车次数相乘后,与所述发车时刻的总数量相减,得到第一中间值;并将所述双班类型公交车的发车次数和所述单班类型公交车的发车次数相减,得到第二中间值后,将所述第一中间值和所述第二中间值相除,得到所述单班类型公交车的数量;
21.所述利用所述单班类型公交车数量和所述公交车总数量,得到双班类型公交车的数量,包括:
22.将所述公交车总数量与所述单班车类型公交车的数量相减,得到所述双班车类型公交车的数量。
23.在一个实施例中,所述针对任意一个公交车总数量,根据所述公交车总数量对应的双班类型公交车的数量以及所述公交发车时刻表,将所述公交发车时刻表中各发车时刻与各公交车进行匹配,得到公交行车计划,包括:
24.根据所述公交发车时刻表中各发车时刻以及双班类型公交车的发车次数对各发车时刻进行分组,得到各时刻分组;
25.针对任意一个时刻分组,若所述时刻分组中的发车时刻的总数量大于所述公交行车计划确定指令中的双班类型公交车的发车次数,则将所述时刻分组中的各发车时刻从早到晚进行排序,得到所述时刻分组中排序后的各发车时刻;
26.利用各公交车的标识从小到大进行排序,得到排序后的各公交车;
27.针对所述时刻分组中的任意一个发车时刻,将所述排序后的各公交车中排序位置与所述发车时刻的排序位置相同的公交车确定为所述发车时刻对应的公交车。
28.在一个实施例中,所述方法还包括:
29.若所述时刻分组中的发车时刻的总数量不大于所述公交行车计划确定指令中的双班类型公交车的发车次数,则将所述时刻分组中的各发车时刻从早到晚进行排序,得到所述时刻分组中排序后的各发车时刻;
30.将双班类型公交车的标识从小到大排序,得到排序后的各公交车;
31.针对所述时刻分组中的任意一个发车时刻,将所述排序后的各公交车中排序位置与所述发车时刻的排序位置相同的公交车确定为所述发车时刻对应的公交车。
32.在一个实施例中,所述根据所述公交发车时刻表中各发车时刻以及双班类型公交车的发车次数对各发车时刻进行分组,得到各时刻分组,包括:
33.按照从早到晚的顺序,对所述公交发车时刻表中各发车时刻进行遍历,针对任意一个遍历到的第一发车时刻,执行以下步骤:
34.判断所述第一发车时刻是否存在对应的时刻分组;
35.若不存在,则基于与所述第一发车时刻对应的到达时刻,在所述公交发车时刻表中确定出大于所述到达时刻,且与所述到达时刻的差值最小的第二发车时刻;
36.利用所述公交发车时刻表中在所述第一发车时刻和所述第二发车时刻之间的各发车时刻的总数量与双班类型公交车的发车次数进行比对;
37.若确定所述各发车时刻的总数量不大于所述双班类型公交车的发车次数,则将所述第一发车时刻、所述第二发车时刻以及所述公交发车时刻表中所述第一发车时刻与所述第二发车时刻之间的各发车时刻添加到同一时刻分组中,并返回按照从早到晚的顺序,对所述待优化公交车行车计划中的各发车时刻进行遍历的步骤,直至不存在需要进行遍历的发车时刻;
38.若确定所述各发车时刻的总数量大于所述双班类型公交车的发车次数,则将所述公交发车时刻表中位于所述第一发车时刻之后的指定数量的发车时刻和所述第一发车时刻添加到同一时刻分组中,并返回按照从早到晚的顺序,对所述待优化公交车行车计划中的各发车时刻进行遍历的步骤,直至不存在需要进行遍历的发车时刻;其中,所述指定数量为基于所述公交车总数量确定出的。
39.在一个实施例中,所述冲突时刻包括冲突到达时刻和冲突发车时刻;
40.所述若确定所述公交车对应的各发车时刻中存在冲突时刻,则对所述冲突时刻进行调整,得到所述公交车的各第一目标发车时刻,包括:
41.在所述公交发车时刻表对应的各发车时刻中确定出发车时刻晚于所述冲突发车时刻,且与所述冲突发车时刻之间的时间差满足指定条件的第一中间发车时刻;并将所述第一中间发车时刻与所述公交车的冲突发车时刻进行调换后,判断所述第一中间发车时刻所对应的公交车在调换时刻后是否存在冲突时刻;若不存在,则将调换后的各发车时刻确定为所述公交车的第一目标发车时刻;若存在,则返回在所述公交发车时刻表对应的各发车时刻中确定出发车时刻晚于所述冲突发车时刻,且与所述冲突发车时刻之间的时间差满足指定条件的第一中间发车时刻的步骤,直至所述第一中间发车时刻所对应的公交车在调
换时刻后不存在冲突时刻,则将调换后的各发车时刻确定为所述公交车的第一目标发车时刻;其中,所述指定条件是基于调换次数确定出的;或,
42.在所述公交发车时刻表对应的各发车时刻中确定出发车时刻早于与所述冲突到达时刻相对应的发车时刻,且与所述冲突到达时刻相对应的发车时刻之间的时间差满足指定条件的第二中间发车时刻,并将所述第二中间发车时刻与所述冲突到达时刻相对应的发车时刻进行调换,判断所述第二中间发车时刻所对应的公交车在调换时刻后是否存在冲突时刻;若不存在,则将调换后的各发车时刻确定为所述公交车的目标发车时刻;若存在,则返回在所述公交发车时刻表对应的各发车时刻中确定出发车时刻早于与所述冲突到达时刻相对应的发车时刻,且与所述冲突到达时刻相对应的发车时刻之间的时间差满足指定条件的第二中间发车时刻的步骤,直至所述第二中间发车时刻所对应的公交车在调换时刻后不存在冲突时刻,则将调换后的各发车时刻确定为所述公交车的目标发车时刻。
43.在一个实施例中,当所述公交发车时刻表中的各发车时刻中不存在满足指定条件的发车时刻,所述方法还包括:
44.基于所述冲突到达时间、所述冲突发车时间和预设站停时间,得到调整时长;
45.利用所述调整时长对所述初始公交车行车计划中的各发车时刻分别进行调整,得到所述公交车的第一目标发车时刻。
46.在一个实施例中,所述利用所述调整时长对所述初始公交车行车计划中的各发车时刻分别进行调整,得到所述公交车的第一目标发车时刻,包括:
47.将所述冲突发车时刻与所述调整时长相加,得到调整后的所述冲突发车时刻;并对所述公交行车计划对应的各发车时刻中除所述冲突发车时刻之外的其他发车时刻分别与对应的目标调整时长相加,得到调整后的各发车时刻,并将所述公交车调整后的各发车时刻确定为所述公交车的第一发车时刻;其中,所述目标调整时长是根据所述调整时长和所述发车时刻的位置的确定出的;或,
48.将所述冲突到达时刻所对应的第二目标发车时刻与所述调整时长相减,得到调整后的所述第二目标发车时刻;并对所述公交行车计划中的各发车时刻中除所述第二目标发车时刻之外的其他发车时刻分别与对应的目标调整时长相减,得到调整后的各发车时刻,并将所述公交车调整后的各发车时刻确定为所述公交车的第一发车时刻;其中,所述目标调整时长是根据所述调整时长和所述发车时刻的位置的确定出的。
49.本公开第二方面提供一种电子设备,包括存储单元和处理器,其中:
50.所述处理器,被配置为:
51.响应于用户发送的公交行车计划确定指令,基于与所述公交行车计划确定指令相对应的公交指标参数,得到公交车总数量范围;其中,所述公交指标参数包括单班类型公交车的发车次数、双班类型公交车的发车次数以及公交发车时刻表,且所述单班类型公交车为在公交运用时段内被一个司机所使用的公交车,所述双班类型公交车为在所述公交运营时段内被两个司机轮流使用的公交车;
52.利用所述公交车总数量范围和所述公交指标参数,得到与所述公交车总数量范围内的各公交车总数量相对应的双班类型公交车的数量;
53.针对任意一个公交车总数量,根据所述公交车总数量对应的双班类型公交车的数量以及所述公交发车时刻表,将所述公交发车时刻表中各发车时刻与各公交车进行匹配,
得到公交行车计划;
54.所述存储单元,被配置为所述公交行车计划。
55.在一个实施例中,所述处理器,还被配置为:
56.针对任意一个公交行车计划中的任意一辆公交车,若确定所述公交车对应的各发车时刻中存在冲突时刻,则对所述冲突时刻进行调整,得到所述公交车的各第一目标发车时刻;
57.通过各公交车的第一目标发车时刻,得到与所述公交车总数量相对应的中间公交行车计划;
58.利用预设评价函数对各公交车总数量分别对应的各中间公交行车计划进行评价,得到评价值,并基于所述各公交车总数量分别对应的评价值,得到目标公交行车计划。
59.在一个实施例中,所述处理器执行所述利用所述公交车总数量范围和所述公交指标参数,得到与所述公交车总数量范围内的各公交车总数量相对应的双班类型公交车的数量,具体被配置为:
60.针对所述公交车总数量范围内的任意一个公交车总数量,基于所述公交车总数量、双班类型公交车的发车次数、单班类型公交车的发车次数和所述公交发车时刻表中各发车时刻的总数量,得到单班类型公交车的数量;并,
61.利用所述单班类型公交车数量和所述公交车总数量,得到双班类型公交车的数量。
62.在一个实施例中,所述处理器执行所述针对所述公交车总数量范围内的任意一个公交车总数量,基于所述公交车总数量、双班类型公交车的发车次数、单班类型公交车的发车次数和所述公交发车时刻表中各发车时刻的总数量,得到单班类型公交车的数量,具体被配置为:
63.针对所述公交车总数量范围内的任意一个公交车总数量,将所述公交车总数量与所述双班类型公交车的发车次数相乘后,与所述发车时刻的总数量相减,得到第一中间值;并将所述双班类型公交车的发车次数和所述单班类型公交车的发车次数相减,得到第二中间值后,将所述第一中间值和所述第二中间值相除,得到所述单班类型公交车的数量;
64.所述利用所述单班类型公交车数量和所述公交车总数量,得到双班类型公交车的数量,包括:
65.将所述公交车总数量与所述单班车类型公交车的数量相减,得到所述双班车类型公交车的数量。
66.在一个实施例中,所述处理器执行所述针对任意一个公交车总数量,根据所述公交车总数量对应的双班类型公交车的数量以及所述公交发车时刻表,将所述公交发车时刻表中各发车时刻与各公交车进行匹配,得到公交行车计划,具体被配置为:
67.根据所述公交发车时刻表中各发车时刻以及双班类型公交车的发车次数对各发车时刻进行分组,得到各时刻分组;
68.针对任意一个时刻分组,若所述时刻分组中的发车时刻的总数量大于所述公交行车计划确定指令中的双班类型公交车的发车次数,则将所述时刻分组中的各发车时刻从早到晚进行排序,得到所述时刻分组中排序后的各发车时刻;
69.利用各公交车的标识从小到大进行排序,得到排序后的各公交车;
70.针对所述时刻分组中的任意一个发车时刻,将所述排序后的各公交车中排序位置与所述发车时刻的排序位置相同的公交车确定为所述发车时刻对应的公交车。
71.在一个实施例中,所述处理器,还被配置为:
72.若所述时刻分组中的发车时刻的总数量不大于所述公交行车计划确定指令中的双班类型公交车的发车次数,则将所述时刻分组中的各发车时刻从早到晚进行排序,得到所述时刻分组中排序后的各发车时刻;
73.将双班类型公交车的标识从小到大排序,得到排序后的各公交车;
74.针对所述时刻分组中的任意一个发车时刻,将所述排序后的各公交车中排序位置与所述发车时刻的排序位置相同的公交车确定为所述发车时刻对应的公交车。
75.在一个实施例中,所述处理器执行所述根据所述公交发车时刻表中各发车时刻以及双班类型公交车的发车次数对各发车时刻进行分组,得到各时刻分组,具体被配置为:
76.按照从早到晚的顺序,对所述公交发车时刻表中各发车时刻进行遍历,针对任意一个遍历到的第一发车时刻,执行以下步骤:
77.判断所述第一发车时刻是否存在对应的时刻分组;
78.若不存在,则基于与所述第一发车时刻对应的到达时刻,在所述公交发车时刻表中确定出大于所述到达时刻,且与所述到达时刻的差值最小的第二发车时刻;
79.利用所述公交发车时刻表中在所述第一发车时刻和所述第二发车时刻之间的各发车时刻的总数量与双班类型公交车的发车次数进行比对;
80.若确定所述各发车时刻的总数量不大于所述双班类型公交车的发车次数,则将所述第一发车时刻、所述第二发车时刻以及所述公交发车时刻表中所述第一发车时刻与所述第二发车时刻之间的各发车时刻添加到同一时刻分组中,并返回按照从早到晚的顺序,对所述待优化公交车行车计划中的各发车时刻进行遍历的步骤,直至不存在需要进行遍历的发车时刻;
81.若确定所述各发车时刻的总数量大于所述双班类型公交车的发车次数,则将所述公交发车时刻表中位于所述第一发车时刻之后的指定数量的发车时刻和所述第一发车时刻添加到同一时刻分组中,并返回按照从早到晚的顺序,对所述待优化公交车行车计划中的各发车时刻进行遍历的步骤,直至不存在需要进行遍历的发车时刻;其中,所述指定数量为基于所述公交车总数量确定出的。
82.在一个实施例中,所述冲突时刻包括冲突到达时刻和冲突发车时刻;
83.所述处理器执行所述若确定所述公交车对应的各发车时刻中存在冲突时刻,则对所述冲突时刻进行调整,得到所述公交车的各第一目标发车时刻,具体被配置为:
84.在所述公交发车时刻表对应的各发车时刻中确定出发车时刻晚于所述冲突发车时刻,且与所述冲突发车时刻之间的时间差满足指定条件的第一中间发车时刻;并将所述第一中间发车时刻与所述公交车的冲突发车时刻进行调换后,判断所述第一中间发车时刻所对应的公交车在调换时刻后是否存在冲突时刻;若不存在,则将调换后的各发车时刻确定为所述公交车的第一目标发车时刻;若存在,则返回在所述公交发车时刻表对应的各发车时刻中确定出发车时刻晚于所述冲突发车时刻,且与所述冲突发车时刻之间的时间差满足指定条件的第一中间发车时刻的步骤,直至所述第一中间发车时刻所对应的公交车在调换时刻后不存在冲突时刻,则将调换后的各发车时刻确定为所述公交车的第一目标发车时
刻;其中,所述指定条件是基于调换次数确定出的;或,
85.在所述公交发车时刻表对应的各发车时刻中确定出发车时刻早于与所述冲突到达时刻相对应的发车时刻,且与所述冲突到达时刻相对应的发车时刻之间的时间差满足指定条件的第二中间发车时刻,并将所述第二中间发车时刻与所述冲突到达时刻相对应的发车时刻进行调换,判断所述第二中间发车时刻所对应的公交车在调换时刻后是否存在冲突时刻;若不存在,则将调换后的各发车时刻确定为所述公交车的目标发车时刻;若存在,则返回在所述公交发车时刻表对应的各发车时刻中确定出发车时刻早于与所述冲突到达时刻相对应的发车时刻,且与所述冲突到达时刻相对应的发车时刻之间的时间差满足指定条件的第二中间发车时刻的步骤,直至所述第二中间发车时刻所对应的公交车在调换时刻后不存在冲突时刻,则将调换后的各发车时刻确定为所述公交车的目标发车时刻。
86.在一个实施例中,当所述公交发车时刻表中的各发车时刻中不存在满足指定条件的发车时刻,所述处理器,还被配置为:
87.基于所述冲突到达时间、所述冲突发车时间和预设站停时间,得到调整时长;
88.利用所述调整时长对所述初始公交车行车计划中的各发车时刻分别进行调整,得到所述公交车的第一目标发车时刻。
89.在一个实施例中,所述处理器执行所述利用所述调整时长对所述初始公交车行车计划中的各发车时刻分别进行调整,得到所述公交车的第一目标发车时刻,具体被配置为:
90.将所述冲突发车时刻与所述调整时长相加,得到调整后的所述冲突发车时刻;并对所述公交行车计划对应的各发车时刻中除所述冲突发车时刻之外的其他发车时刻分别与对应的目标调整时长相加,得到调整后的各发车时刻,并将所述公交车调整后的各发车时刻确定为所述公交车的第一发车时刻;其中,所述目标调整时长是根据所述调整时长和所述发车时刻的位置的确定出的;或,
91.将所述冲突到达时刻所对应的第二目标发车时刻与所述调整时长相减,得到调整后的所述第二目标发车时刻;并对所述公交行车计划中的各发车时刻中除所述第二目标发车时刻之外的其他发车时刻分别与对应的目标调整时长相减,得到调整后的各发车时刻,并将所述公交车调整后的各发车时刻确定为所述公交车的第一发车时刻;其中,所述目标调整时长是根据所述调整时长和所述发车时刻的位置的确定出的。
92.根据本公开实施例提供的第三方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序用于执行如第一方面所述的方法。
附图说明
93.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
94.图1为根据本公开一个实施例中的适用场景示意图;
95.图2为根据本公开一个实施例的公交车行车计划的确定方法的流程示意图之一;
96.图3为根据本公开一个实施例的目标公交车行车计划的确定方法的流程示意图;
97.图4为根据本公开一个实施例的确定各类型公交车的数量的流程示意图;
98.图5为根据本公开一个实施例的确定公交车行车计划的流程示意图之二;
99.图6为根据本公开一个实施例的确定各时刻分组的流程示意图;
100.图7为根据本公开一个实施例的公交车行车计划的确定装置;
101.图8为根据本公开一个实施例的电子设备的结构示意图。
具体实施方式
102.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
103.本公开实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
104.本公开实施例描述的应用场景是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
105.现有技术中,通常是先按照客流需求和车辆载客数按照时段生成发车时刻表的发车时间,然后根据发车时间的历史路况数据生成车辆到达时间,最后形成包含出发和到达时间的完整发车时刻表。然后人工将发车时刻表与各公交车辆进行匹配,得到公交行车计划。由此,导致公交行车计划的生成效率较低。
106.因此,本公开提供一种公交行车计划的确定方法,通过响应于用户发送的公交行车计划确定指令,基于与所述公交行车计划确定指令相对应的公交指标参数,得到公交车总数量范围,然后确定出各公交车总数量范围内双班类型公交车的数量,然后基于双班类型公交车的数量和公交发车时刻表,得到与各公交车总数量范围内双班类型公交车的初始行车计划。由此,本实施例并不需要人工将发车时刻表与各公交车辆进行匹配,得到公交行车计划,提高了公交行车计划的生成效率。下面,结合附图对本公开的方案详细的进行介绍。
107.如图1所示,一种公交行车计划的确定方法的应用场景,该应用场景中包括多个终端设备110和服务器120,图1中是以三个终端设备110为例,实际上不限制终端设备110的数量。终端设备110可为手机、平板电脑和个人计算机等。服务器120可以通过单个服务器实现,也可以通过多个服务器实现。服务器120可以通过实体服务器实现,也可以通过虚拟服务器实现。
108.在一种可能的应用场景中,服务器120响应于用户发送的公交行车计划确定指令,基于与所述公交行车计划确定指令相对应的公交指标参数,得到公交车总数量范围;其中,所述公交指标参数包括单班类型公交车的发车次数、双班类型公交车的发车次数以及公交发车时刻表,且所述单班类型公交车为在公交运用时段内被一个司机所使用的公交车,所述双班类型公交车为在所述公交运营时段内被两个司机轮流使用的公交车;并利用所述公交车总数量范围和所述公交指标参数,得到与所述公交车总数量范围内的各公交车总数量
相对应的双班类型公交车的数量;然后服务器120针对任意一个公交车总数量,根据所述公交车总数量对应的双班类型公交车的数量以及所述公交发车时刻表,将所述公交发车时刻表中各发车时刻与各公交车进行匹配,得到公交行车计划。最后服务器120将所述公交行车计划发送给终端设备110中进行显示。
109.如图2所示,为本公开的公交行车计划的确定方法的流程示意图,可包括以下步骤:
110.步骤201:响应于用户发送的公交行车计划确定指令,基于与所述公交行车计划确定指令相对应的公交指标参数,得到公交车总数量范围;
111.其中,所述公交车行车计划确定指令中包括公交指标参数,且所述公交指标参数包括双班类型公交车的发车次数、单班车类型公交车的发车次数和公交车发车时刻表。且所述单班类型公交车为在公交运用时段内被一个司机所使用的公交车,所述双班类型公交车为在所述公交运营时段内被两个司机轮流使用的公交车。
112.步骤202:利用所述公交车总数量范围和所述公交指标参数,得到与所述公交车总数量范围内的各公交车总数量相对应的双班类型公交车的数量;
113.步骤203:针对任意一个公交车总数量,根据所述公交车总数量对应的双班类型公交车的数量以及所述公交发车时刻表,将所述公交发车时刻表中各发车时刻与各公交车进行匹配,得到公交行车计划。
114.由此,本实施例并不需要人工将发车时刻表与各公交车辆进行匹配,得到公交行车计划,提高了公交行车计划的生成效率。
115.为了使得最终确定的目标行车计划更加准确,在一个实施例中,如图3所示,为得到目标公交行车计划的流程示意图,可包括以下步骤:
116.步骤301:针对任意一个公交行车计划中的任意一辆公交车,若确定所述公交车对应的各发车时刻中存在冲突时刻,则对所述冲突时刻进行调整,得到所述公交车的各第一目标发车时刻;
117.其中,所述冲突时刻包括冲突到达时刻和冲突发车时刻;
118.在一个实施例中,可通过以下三种方式得到所述公交车的各第一目标发车时刻:
119.方式一:在所述公交发车时刻表对应的各发车时刻中确定出发车时刻晚于所述冲突发车时刻,且与所述冲突发车时刻之间的时间差满足指定条件的第一中间发车时刻;并将所述第一中间发车时刻与所述公交车的冲突发车时刻进行调换后,判断所述第一中间发车时刻所对应的公交车在调换时刻后是否存在冲突时刻;若不存在,则将调换后的各发车时刻确定为所述公交车的第一目标发车时刻;若存在,则返回在所述公交发车时刻表对应的各发车时刻中确定出发车时刻晚于所述冲突发车时刻,且与所述冲突发车时刻之间的时间差满足指定条件的第一中间发车时刻的步骤,直至所述第一中间发车时刻所对应的公交车在调换时刻后不存在冲突时刻,则将调换后的各发车时刻确定为所述公交车的第一目标发车时刻;其中,所述指定条件是基于调换次数确定出的。
120.需要说明的是:若为第一次对调换,则调换次数为1,则指定条件为发车时刻与所述冲突发车时刻之间的时间差最小,当调换次数为2时,则指定条件为发车时刻与所述冲突发车时刻之间的时间差第二小,依次类推,本实施在此不再进行赘述。
121.例如,公交车a对应的各发车时刻分别为:6:00、7:00、8:00、9:00、10:00。且对应的
到达时刻分别为:6:50、8:10、8:55、9:50、11:00。由于7:00对应的到达时间为8:10,则确定发车时刻8:00与上一发车时刻的到达时刻8:10发生冲突,则确定冲突发车时刻为8:00,冲突到达时刻为8:10。
122.若公交发车时刻表为:6:00、6:30、7:00、7:30、8:00、8:30、9:00、9:30、10:00。由于是第一次进行调换时刻,则确定8:30为第一中间发车时刻,则将8:00和8:30进行调换,则调换时刻后的公交车a对应的各发车时刻分别为:6:00、7:00、8:30、9:00、10:00。则确定调换时刻后的公交车a对应的各发车时刻不存在冲突时刻。则公交车的第一目标发车时刻为:6:00、7:00、8:30、9:00、10:00。
123.方式二:在所述公交发车时刻表对应的各发车时刻中确定出发车时刻早于与所述冲突到达时刻相对应的发车时刻,且与所述冲突到达时刻相对应的发车时刻之间的时间差满足指定条件的第二中间发车时刻,并将所述第二中间发车时刻与所述冲突到达时刻相对应的发车时刻进行调换,判断所述第二中间发车时刻所对应的公交车在调换时刻后是否存在冲突时刻;若不存在,则将调换后的各发车时刻确定为所述公交车的目标发车时刻;若存在,则返回在所述公交发车时刻表对应的各发车时刻中确定出发车时刻早于与所述冲突到达时刻相对应的发车时刻,且与所述冲突到达时刻相对应的发车时刻之间的时间差满足指定条件的第二中间发车时刻的步骤,直至所述第二中间发车时刻所对应的公交车在调换时刻后不存在冲突时刻,则将调换后的各发车时刻确定为所述公交车的目标发车时刻。
124.按照前文所述的冲突发车时刻为8:00,冲突到达时刻为8:10为例对本方式进行解释说明,公交发车时刻表为:6:00、6:30、7:00、7:30、8:00、8:30、9:00、9:30、10:00。冲突到达时刻8:10对应的发车时刻为7:00,由于是第一次进行调换时刻,则确定6:30为第一中间发车时刻,则将7:00和6:30进行调换,则调换时刻后的公交车a对应的各发车时刻分别为:6:00、6:30、8:30、9:00、10:00。则确定调换时刻后的公交车a对应的各发车时刻不存在冲突时刻。则公交车的第一目标发车时刻为:6:00、6:30、8:30、9:00、10:00。
125.方式三:当所述公交发车时刻表中的各发车时刻中不存在满足指定条件的发车时刻,则基于所述冲突到达时间、所述冲突发车时间和预设站停时间,得到调整时长;利用所述调整时长对所述初始公交车行车计划中的各发车时刻分别进行调整,得到所述公交车的第一目标发车时刻,并将所述公交车调整后的各发车时刻确定为所述公交车的第一发车时刻。其中,可通过公式(1)确定所述调整时长:
126.t

=|t
发-t

| t
站停
……
(1);
127.其中,t

为所述调整时长,t

为所述冲突发车时间,t

为所述冲突到达时间,t
站停
为所述预设站停时间。
128.在一个实施例中,可通过以下两种方式确定所述公交车的第一目标发车时刻:
129.方式一:将所述冲突发车时刻与所述调整时长相加,得到调整后的所述冲突发车时刻;并对所述公交行车计划对应的各发车时刻中除所述冲突发车时刻之外的其他发车时刻分别与对应的目标调整时长相加,得到调整后的各发车时刻,并将所述公交车调整后的各发车时刻确定为所述公交车的第一发车时刻;其中,所述目标调整时长是根据所述调整时长和所述发车时刻的位置的确定出的。
130.其中,针对任意一个其他发车时刻,将所述调整时长与所述其他发车时刻在所述冲突发车时刻的前面或后面的位置相减,得到所述其他发车时刻的目标调整时长。
131.例如,公交发车时刻表的发车时刻包括:6:00、7:00、8:00和9:00、10:00。若冲突发车时刻为8:00,且调整时长为3,则确定其他发车时刻7:00对应的调整时长为2,其他发车时刻6:00对应的调整时长为1,其他发车时刻9:00对应的调整时长为2,其他发车时刻10:00对应的调整时长为1。
132.则调整后的发车时刻分别为:6:01、7:02、8:03、9:02和10:01。若8:03、9:02和10:01为公交车a对应的发车时刻,则确定公交车a的第一发车时刻为8:03、9:02和10:01。
133.方式二:将所述冲突到达时刻所对应的第二目标发车时刻与所述调整时长相减,得到调整后的所述第二目标发车时刻;并对所述公交行车计划中的各发车时刻中除所述第二目标发车时刻之外的其他发车时刻分别与对应的目标调整时长相减,得到调整后的各发车时刻,并将所述公交车调整后的各发车时刻确定为所述公交车的第一发车时刻;其中,所述目标调整时长是根据所述调整时长和所述发车时刻的位置的确定出的。
134.其中本实施例中的目标发车时刻的确定方式与前文所述的目标发车时刻的确定方式相同,本实施例在此并不进行赘述。
135.若得到调整后的各发车时刻存在冲突时刻,则需要对冲突时刻中的一个时刻进行删除,其中,删除的具体原则为:
136.原则一:若冲突发车时刻和冲突到达时刻对应的发车时刻中有一个时刻不在高峰时段内,则将不在高峰时段内的时刻进行删除。
137.原则二:若冲突发车时刻和冲突到达时刻对应的发车时刻在高峰段内,则将与高峰时间段的中心时刻的时间差大的发车时刻进行删除。
138.原则三:若冲突发车时刻和冲突到达时刻对应的发车时刻均在平峰时间段内,则将与平峰时间段的中心时刻的时间差小的发车时刻先删除。
139.在删除冲突时刻后,则对公交发车时刻表中的各发车时刻进行匀点处理。并在删除冲突时刻的所述车辆所对应的各发车时刻中确定两个发车时刻之间的站停时间大于该两个发车时刻中前一发车时刻的单程时间与预设站停时间的时间和,然后前一发车时刻对应的到达时刻与预设站停时间的时间和作为新时间插入所述两个发车时刻之间,新时间的单程时间为公交发车时刻表中与该新时间的时间差最小发车时刻的单程时间,得到所述新时间的到达时间。
140.若未找到合适的两个发车时刻,则计算该车辆对应的头部发车时刻与公交发车时刻表中首班发车时刻的时间差以及该车辆对应的末班发车时刻与公交发车时刻表中尾部发车时刻的时间差,将时间差较大者对应的车辆的发车时刻之前的位置作为插入位置插入新建时刻。其中,若在该车辆对应的头部发车时刻之前的位置插入新建时刻,则将首班发车时刻对应的到达时间与预设站停时间相加得到新建时刻。若在该车辆对应尾部发车时刻之后插入新建时间,则将尾部发车时刻的到达时刻与预设站停时间相加得到新建时刻。
141.步骤302:通过各公交车的第一目标发车时刻,得到与所述公交车总数量相对应的中间公交行车计划;
142.步骤303:利用预设评价函数对各公交车总数量分别对应的各中间公交行车计划进行评价,得到评价值,并基于所述各公交车总数量分别对应的评价值,得到目标公交行车计划。其中,可通过公式(2)得到所述评价值:
[0143][0144]
其中,v为所述评价值,nm公交车总数量范围中的最大总数量,n

为任一公交车总数量,a1为预设第一权重,mj为驾驶员的最大数量,其中,驾驶员的数量与公交车总数量是相对应的,可通过预先设置的对应关系,确定出与最大总数量对应的驾驶员的最大数量,m

为与所述公交车总数量相对应的驾驶员的数量,a2为预设第二权重,xi为第i个站停时间,为平均站停时间,k为站停时间的总数量,a3为预设第三权重,nn为双班车辆和单班车辆的总数量,a4为预设第四权重,s

为驾车总时长,可通过该公交车总数量对应的目标行车计划确定出,s

为预设上班总时长,s

为预设标准劳动率,a5为预设第五权重,n

预设规定发车次数,n

为实际发车次数,即双班类型公交车的发车次数和单班类型公交车的发车次数的和,a6为预设第六权重,yv第v个车辆间隔,y

为标准间隔,a7为预设第七权重,n

为与所述公交车总数量相对应的冲突时刻的总数量,a8为预设第八权重。
[0145]
为了保证确定出的各类型公交车的数量更加准确,在一个实施例中,如图4所示,为确定双班类型公交车的数量的流程示意图,可包括以下步骤:
[0146]
步骤401:针对所述公交车总数量范围内的任意一个公交车总数量,基于所述公交车总数量、双班类型公交车的发车次数、单班类型公交车的发车次数和所述公交发车时刻表中发车时刻的总数量,得到单班类型公交车的数量;
[0147]
在一个实施例中,可通过以下方式得到单班类型公交车的数量:
[0148]
针对所述公交车总数量范围内的任意一个公交车总数量,将所述公交车总数量与所述双班类型公交车的发车次数相乘后,与所述发车时刻的总数量相减,得到第一中间值;并将所述双班类型公交车的发车次数和所述单班类型公交车的发车次数相减,得到第二中间值后,将所述第一中间值和所述第二中间值相除,得到所述单班类型公交车的数量;其中,可通过公式(3)得到所述单班类型公交车的数量:
[0149]n单
=(n

×s双-s

)/(s
双-s

)
……
(3);
[0150]
其中,n

为所述单班类型公交车的数量,n

为所述公交车总数量,s

为所述双班类型公交车的发车次数,s

为发车时刻的总数量,s

为所述单班类型公交车的发车次数。
[0151]
步骤402:利用所述单班类型公交车数量和所述公交车总数量,得到双班类型公交车的数量。
[0152]
在一个实施例中,将所述公交车总数量与所述单班车类型公交车的数量相减,得到所述双班车类型公交车的数量。其中,可通过公式(4)得到所述双班车类型公交车的数量:
[0153]n双
=n
总-n

……
(4);
[0154]
其中,n

为所述双班车类型公交车的数量,n

为所述公交车总数量,n

为所述单班车类型公交车的数量。
[0155]
在确定出双班车类型公交车的数量和单班车类型公交车的数量之后,如图5所示,为确定初始公交车行车计划的流程示意图,可包括以下步骤:
[0156]
步骤501:根据所述公交发车时刻表中各发车时刻以及双班类型公交车的发车次
数对各发车时刻进行分组,得到各时刻分组;
[0157]
如图6所示,为确定各时刻分组的流程示意图,可包括以下步骤:
[0158]
步骤601:按照从早到晚的顺序,对所述公交发车时刻表中各发车时刻进行遍历,针对任意一个遍历到的第一发车时刻,执行以下步骤:判断所述第一发车时刻是否存在对应的时刻分组;
[0159]
步骤602:若不存在,则基于与所述第一发车时刻对应的到达时刻,在所述公交发车时刻表中确定出大于所述到达时刻,且与所述到达时刻的差值最小的第二发车时刻;
[0160]
步骤603:利用所述公交发车时刻表中在所述第一发车时刻和所述第二发车时刻之间的各发车时刻的总数量与双班类型公交车的发车次数进行比对;
[0161]
步骤604:判断所述各发车时刻的总数量是否大于所述双班类型公交车的发车次数,若否,则执行步骤605,若是,则执行步骤606;
[0162]
步骤605:将所述第一发车时刻、所述第二发车时刻以及所述公交发车时刻表中所述第一发车时刻与所述第二发车时刻之间的各发车时刻添加到同一时刻分组中;
[0163]
步骤606:将所述公交发车时刻表中位于所述第一发车时刻之后的指定数量的发车时刻和所述第一发车时刻添加到同一时刻分组中;其中,所述指定数量为基于所述公交车总数量确定出的;
[0164]
步骤607:判断是否存在需要进行遍历的发车时刻,若是,则返回执行步骤501,若否,则结束。
[0165]
例如,公交时刻表中的各发车时刻包括:6:00、6:40、7:20、8:00、8:40、9:20、10:00、10:40、11:20,且对应的到达时刻为:7:00、7:40、8:20、9:40、10:20、11:00、11:40和12:20。第一次进行遍历,遍历到第一发车时刻6:00,其中6:00对应的到达时刻为7:00。则公交发车时刻表中大于7:00的发车时刻分别为:7:20、8:00、8:40、9:20、10:00、10:40、11:20。但与到达时刻7:00差值最小的发车时刻为7:20,则确定第一发车时刻6:00对应的第二发车时刻为7:20。若双班类型公交车的发车次数为3趟,且第一发车时刻6:00和第二发车时刻7:20之间的发车时刻的总数量为1,则确定第一发车时刻6:00和第二发车时刻7:20之间的发车时刻的总数量小于双班类型公交车的发车次数,则将6:00、6:40和7:20添加到同一时刻分组中。然后继续进行遍历,由于遍历的步骤与前文所述的步骤相同,本实施例在此并不再进行赘述,由此,得到各时刻分组分别为:分组1(6:00、6:40、7:20)、分组2(8:00、8:40)、分组3(9:20、10:00、10:40)、分组4(11:20)。
[0166]
步骤502:针对任意一个时刻分组,判断所述时刻分组中的发车时刻的总数量是否大于所述公交行车计划确定指令中的双班类型公交车的发车次数,若是,则执行步骤503,若否,则执行步骤506;
[0167]
步骤503:将所述时刻分组中的各发车时刻从早到晚进行排序,得到所述时刻分组中排序后的各发车时刻;
[0168]
步骤504:利用各公交车的标识从小到大进行排序,得到排序后的各公交车;
[0169]
其中,本实施例中的各公交车包括双班类型的公交车和单班类型的公交车的总车辆。
[0170]
步骤505:针对所述时刻分组中的任意一个发车时刻,将所述排序后的各公交车中排序位置与所述发车时刻的排序位置相同的公交车确定为所述发车时刻对应的公交车;
[0171]
例如,分组a(8:00、8:50、9:40、10:20、11:00、11:40、12:30),且排序后的各公交车分别为:公交车1、公交车2、公交3、公交车4、公交车5、公交车6、公交车7。则得到分组a对应的子初始行车计划为[公交车1
‑‑
8:00]、[公交车2
‑‑
8:50]、[公交车3
‑‑
9:40]、[公交车4
‑‑
10:20]、[公交车5
‑‑
11:00]、[公交车6
‑‑
11:40]和[公交车7
‑‑
12:30]。
[0172]
步骤506:将所述时刻分组中的各发车时刻从早到晚进行排序,得到所述时刻分组中排序后的各发车时刻;
[0173]
步骤507:将双班类型公交车的标识从小到大排序,得到排序后的各公交车;
[0174]
步骤508:针对所述时刻分组中的任意一个发车时刻,将所述排序后的各公交车中排序位置与所述发车时刻的排序位置相同的公交车确定为所述发车时刻对应的公交车。
[0175]
例如,分组b(8:20、9:10、10:00、10:40、11:10),且排序后的各双班类型公交车分别为:公交车1、公交3、公交车4、公交车5、公交车7。则得到分组b对应的子初始行车计划为[公交车1
‑‑
8:20]、[公交车3
‑‑
9:10]、[公交车4
‑‑
10:00]、[公交车5
‑‑
10:40]和[公交车6
‑‑
11:10]。
[0176]
基于相同的公开构思,本公开如上所述的公交车行车计划的确定方法还可以由一种公交车行车计划的确定装置实现。该公交车行车计划的确定装置的效果与前述方法的效果相似,在此不再赘述。
[0177]
图7为根据本公开一个实施例的公交车行车计划的确定置的结构示意图。
[0178]
如图7所示,本公开的公交车行车计划的确定装置700可以包括公交车总数量范围确定模块710、双班类型公交车的数量确定模块720、第一公交行车计划确定模块730。
[0179]
公交车总数量范围确定模块710,用于响应于用户发送的公交行车计划确定指令,基于与所述公交行车计划确定指令相对应的公交指标参数,得到公交车总数量范围;其中,所述公交指标参数包括单班类型公交车的发车次数、双班类型公交车的发车次数以及公交发车时刻表,且所述单班类型公交车为在公交运用时段内被一个司机所使用的公交车,所述双班类型公交车为在所述公交运营时段内被两个司机轮流使用的公交车;
[0180]
双班类型公交车的数量确定模块720,用于利用所述公交车总数量范围和所述公交指标参数,得到与所述公交车总数量范围内的各公交车总数量相对应的双班类型公交车的数量;
[0181]
第一公交行车计划确定模块730,用于针对任意一个公交车总数量,根据所述公交车总数量对应的双班类型公交车的数量以及所述公交发车时刻表,将所述公交发车时刻表中各发车时刻与各公交车进行匹配,得到公交行车计划。
[0182]
在一个实施例中,所述装置还包括:
[0183]
第一目标发车时刻确定模块740,用于针对任意一个公交行车计划中的任意一辆公交车,若确定所述公交车对应的各发车时刻中存在冲突时刻,则对所述冲突时刻进行调整,得到所述公交车的各第一目标发车时刻;
[0184]
中间公交行车计划确定模块750,用于通过各公交车的第一目标发车时刻,得到与所述公交车总数量相对应的中间公交行车计划;
[0185]
目标公交行车计划确定模块760,用于利用预设评价函数对各公交车总数量分别对应的各中间公交行车计划进行评价,得到评价值,并基于所述各公交车总数量分别对应的评价值,得到目标公交行车计划。
[0186]
在一个实施例中,所述双班类型公交车的数量确定模块720,具体用于:
[0187]
针对所述公交车总数量范围内的任意一个公交车总数量,基于所述公交车总数量、双班类型公交车的发车次数、单班类型公交车的发车次数和所述公交发车时刻表中各发车时刻的总数量,得到单班类型公交车的数量;并,
[0188]
利用所述单班类型公交车数量和所述公交车总数量,得到双班类型公交车的数量。
[0189]
在一个实施例中,所述双班类型公交车的数量确定模块720执行所述针对所述公交车总数量范围内的任意一个公交车总数量,基于所述公交车总数量、双班类型公交车的发车次数、单班类型公交车的发车次数和所述公交发车时刻表中发车时刻的总数量,得到单班类型公交车的数量,具体用于:
[0190]
针对所述公交车总数量范围内的任意一个公交车总数量,将所述公交车总数量与所述双班类型公交车的发车次数相乘后,与所述发车时刻的总数量相减,得到第一中间值;并将所述双班类型公交车的发车次数和所述单班类型公交车的发车次数相减,得到第二中间值后,将所述第一中间值和所述第二中间值相除,得到所述单班类型公交车的数量;
[0191]
所述双班类型公交车的数量确定模块720执行所述利用所述单班类型公交车数量和所述公交车总数量,得到双班类型公交车的数量,具体用于:
[0192]
将所述公交车总数量与所述单班车类型公交车的数量相减,得到所述双班车类型公交车的数量。
[0193]
在一个实施例中,所述第一公交行车计划确定模块730,具体用于:
[0194]
根据所述公交发车时刻表中各发车时刻以及双班类型公交车的发车次数对各发车时刻进行分组,得到各时刻分组;
[0195]
针对任意一个时刻分组,若所述时刻分组中的发车时刻的总数量大于所述公交行车计划确定指令中的双班类型公交车的发车次数,则将所述时刻分组中的各发车时刻从早到晚进行排序,得到所述时刻分组中排序后的各发车时刻;
[0196]
利用各公交车的标识从小到大进行排序,得到排序后的各公交车;
[0197]
针对所述时刻分组中的任意一个发车时刻,将所述排序后的各公交车中排序位置与所述发车时刻的排序位置相同的公交车确定为所述发车时刻对应的公交车。
[0198]
在一个实施例中,所述第一公交行车计划确定模块730,还用于:
[0199]
若所述时刻分组中的发车时刻的总数量不大于所述公交行车计划确定指令中的双班类型公交车的发车次数,则将所述时刻分组中的各发车时刻从早到晚进行排序,得到所述时刻分组中排序后的各发车时刻;
[0200]
将双班类型公交车的标识从小到大排序,得到排序后的各公交车;
[0201]
针对所述时刻分组中的任意一个发车时刻,将所述排序后的各公交车中排序位置与所述发车时刻的排序位置相同的公交车确定为所述发车时刻对应的公交车。
[0202]
在一个实施例中,所述第一公交行车计划确定模块730执行所述根据所述公交发车时刻表中各发车时刻以及双班类型公交车的发车次数对各发车时刻进行分组,得到各时刻分组,具体用于:
[0203]
按照从早到晚的顺序,对所述公交发车时刻表中各发车时刻进行遍历,针对任意一个遍历到的第一发车时刻,执行以下步骤:
[0204]
判断所述第一发车时刻是否存在对应的时刻分组;
[0205]
若不存在,则基于与所述第一发车时刻对应的到达时刻,在所述公交发车时刻表中确定出大于所述到达时刻,且与所述到达时刻的差值最小的第二发车时刻;
[0206]
利用所述公交发车时刻表中在所述第一发车时刻和所述第二发车时刻之间的各发车时刻的总数量与双班类型公交车的发车次数进行比对;
[0207]
若确定所述各发车时刻的总数量不大于所述双班类型公交车的发车次数,则将所述第一发车时刻、所述第二发车时刻以及所述公交发车时刻表中所述第一发车时刻与所述第二发车时刻之间的各发车时刻添加到同一时刻分组中,并返回按照从早到晚的顺序,对所述待优化公交车行车计划中的各发车时刻进行遍历的步骤,直至不存在需要进行遍历的发车时刻;
[0208]
若确定所述各发车时刻的总数量大于所述双班类型公交车的发车次数,则将所述公交发车时刻表中位于所述第一发车时刻之后的指定数量的发车时刻和所述第一发车时刻添加到同一时刻分组中,并返回按照从早到晚的顺序,对所述待优化公交车行车计划中的各发车时刻进行遍历的步骤,直至不存在需要进行遍历的发车时刻;其中,所述指定数量为基于所述公交车总数量确定出的。
[0209]
在一个实施例中,所述冲突时刻包括冲突到达时刻和冲突发车时刻;
[0210]
所述第一目标发车时刻确定模块740,具体用于:
[0211]
在所述公交发车时刻表对应的各发车时刻中确定出发车时刻晚于所述冲突发车时刻,且与所述冲突发车时刻之间的时间差满足指定条件的第一中间发车时刻;并将所述第一中间发车时刻与所述公交车的冲突发车时刻进行调换后,判断所述第一中间发车时刻所对应的公交车在调换时刻后是否存在冲突时刻;若不存在,则将调换后的各发车时刻确定为所述公交车的第一目标发车时刻;若存在,则返回在所述发车时刻表对应的各发车时刻中确定出发车时刻晚于所述冲突发车时刻,且与所述冲突发车时刻之间的时间差满足指定条件的第一中间发车时刻的步骤,直至所述第一中间发车时刻所对应的公交车在调换时刻后不存在冲突时刻,则将调换后的各发车时刻确定为所述公交车的第一目标发车时刻;其中,所述指定条件是基于调换次数确定出的;或,
[0212]
在所述公交发车时刻表对应的各发车时刻中确定出发车时刻早于与所述冲突到达时刻相对应的发车时刻,且与所述冲突到达时刻相对应的发车时刻之间的时间差满足指定条件的第二中间发车时刻,并将所述第二中间发车时刻与所述冲突到达时刻相对应的发车时刻进行调换,判断所述第二中间发车时刻所对应的公交车在调换时刻后是否存在冲突时刻;若不存在,则将调换后的各发车时刻确定为所述公交车的目标发车时刻;若存在,则返回在所述公交发车时刻表对应的各发车时刻中确定出发车时刻早于与所述冲突到达时刻相对应的发车时刻,且与所述冲突到达时刻相对应的发车时刻之间的时间差满足指定条件的第二中间发车时刻的步骤,直至所述第二中间发车时刻所对应的公交车在调换时刻后不存在冲突时刻,则将调换后的各发车时刻确定为所述公交车的目标发车时刻。
[0213]
在一个实施例中,所述第一目标发车时刻确定模块740,还用于:
[0214]
当所述公交发车时刻表中的各发车时刻中不存在满足指定条件的发车时刻,基于所述冲突到达时间、所述冲突发车时间和预设站停时间,得到调整时长;
[0215]
利用所述调整时长对所述初始公交车行车计划中的各发车时刻分别进行调整,得
到所述公交车的第一目标发车时刻。
[0216]
在一个实施例中,所述第一目标发车时刻确定模块740执行所述利用所述调整时长对所述初始公交车行车计划中的各发车时刻分别进行调整,得到所述公交车的第一目标发车时刻,具体用于:
[0217]
将所述冲突发车时刻与所述调整时长相加,得到调整后的所述冲突发车时刻;并对所述公交行车计划对应的各发车时刻中除所述冲突发车时刻之外的其他发车时刻分别与对应的目标调整时长相加,得到调整后的各发车时刻,并将所述公交车调整后的各发车时刻确定为所述公交车的第一发车时刻;其中,所述目标调整时长是根据所述调整时长和所述发车时刻的位置的确定出的;或,
[0218]
将所述冲突到达时刻所对应的第二目标发车时刻与所述调整时长相减,得到调整后的所述第二目标发车时刻;并对所述公交行车计划中的各发车时刻中除所述第二目标发车时刻之外的其他发车时刻分别与对应的目标调整时长相减,得到调整后的各发车时刻,并将所述公交车调整后的各发车时刻确定为所述公交车的第一发车时刻;其中,所述目标调整时长是根据所述调整时长和所述发车时刻的位置的确定出的。
[0219]
在介绍了本公开示例性实施方式的一种公交车行车计划的确定方法及电子设备之后,接下来,介绍根据本公开的另一示例性实施方式的电子设备。
[0220]
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0221]
在一些可能的实施方式中,根据本公开的电子设备可以至少包括至少一个处理器、以及至少一个计算机存储介质。其中,计算机存储介质存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本公开各种示例性实施方式的公交车行车计划的确定方法中的步骤。例如,处理器可以执行如图2中所示的步骤201-203。
[0222]
下面参照图8来描述根据本公开的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0223]
如图8所示,电子设备800以通用电子设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理器801、上述至少一个计算机存储介质802、连接不同系统组件(包括计算机存储介质802和处理器801)的总线803。
[0224]
总线803表示几类总线结构中的一种或多种,包括计算机存储介质总线或者计算机存储介质控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0225]
计算机存储介质802可以包括易失性计算机存储介质形式的可读介质,例如随机存取计算机存储介质(ram)821和/或高速缓存存储介质822,还可以进一步包括只读计算机存储介质(rom)823。
[0226]
计算机存储介质802还可以包括具有一组(至少一个)程序模块824的程序/实用工具825,这样的程序模块824包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0227]
电子设备800也可以与一个或多个外部设备804(例如键盘、指向设备等)通信,还
可与一个或者多个使得用户能与电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口805进行。并且,电子设备800还可以通过网络适配器806与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器806通过总线803与用于电子设备800的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0228]
在一些可能的实施方式中,本公开提供的一种公交车行车计划的确定方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本公开各种示例性实施方式的公交车行车计划的确定方法中的步骤。
[0229]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取计算机存储介质(ram)、只读计算机存储介质(rom)、可擦式可编程只读计算机存储介质(eprom或闪存)、光纤、便携式紧凑盘只读计算机存储介质(cd-rom)、光计算机存储介质件、磁计算机存储介质件、或者上述的任意合适的组合。
[0230]
本公开的实施方式的公交车行车计划的确定的程序产品可以采用便携式紧凑盘只读计算机存储介质(cd-rom)并包括程序代码,并可以在电子设备上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0231]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0232]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0233]
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
[0234]
应当注意,尽管在上文详细描述中提及了装置的若干模块,但是这种划分仅仅是
示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
[0235]
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0236]
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘计算机存储介质、cd-rom、光学计算机存储介质等)上实施的计算机程序产品的形式。
[0237]
本公开是参照根据本公开的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0238]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读计算机存储介质中,使得存储在该计算机可读计算机存储介质中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0239]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0240]
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献