一种基于动态路网的行程请求批处理方法
文献发布时间:2023-06-19 09:49:27
技术领域
本发明涉及交通运输领域,具体涉及一种基于动态路网的行程请求批处理方法。
背景技术
随着基于位置服务的应用的兴起,路径规划服务已经成为我们生活中不可或缺的一部分。路径规划和行程推荐在近几年引起了学者们的广泛研究。这些研究的研究目标是基于当前的交通状态为单行程制定最优的路线。值得关注的是,在路径规划服务使用越来越频繁的情况下,大量的用户很有可能会在极短的时间间隔内密集地发布行程请求,特别是在通勤时间等高峰时期,从而形成了持续的行程请求流。在这种新的场景下,实现针对行程请求流的路径规划这一需求变得更加迫切。已经存在的相关研究旨在为行程请求中的单个行程依次制定个人最优路线。然而,在为行程请求流规划路线时,仅仅基于当前的交通状态以个人最优为最终目标规划个人最优的路线,可能会导致交通拥堵。更合理的路线规划应该考虑到之前已经规划的行程会对未来的交通状态产生影响,因为它们会增加路网中各路段的车流量。
对于已经规划好的行程路线,现有的精确优化算法需要对初始路线集合中的每一条线路进行精确优化计算,其优化过程耗时巨大,且若在同一时间所请求的路线数量过大,很容易造成当前时间段的系统拥堵,因此需要通过改变其优化方式来提升整个路线优化过程的效率,避免造成长时间的信息堵塞。
发明内容
为解决上述问题,本发明提出一种基于动态路网的行程请求批处理方法,通过下述技术方案实现:
一种基于动态路网的行程请求批处理方法,包括如下步骤:
S1、获取初始路线集合;
S2、从初始路线集合中逐一选取一条线路作为当前待优化的初始路线,根据当前时刻已发布路线更新路段标签;
S3、根据更新之后的路段标签,重新查找一条从行程起点到行程终点的最短新路线,并执行新路线和初始路线的交换操作;
S4、根据预检查策略检查交换操作的有效性;
S5、重复步骤S2到S4,当对于初始路线集合中任意一条路线均不存在可优化的新路线时,则发布该路线集合。
上述方案的有益效果是,通过考虑正在规划的路线集合可能对未来交通产生的潜在影响,对正在规划的路线集合进行优化,能够避免产生不必要的交通拥堵。利用路段标签,可以量化这种潜在的影响。
进一步的,所述初始路线集合为一个时间周期内到达的行程请求流所指定的初始路线集合,包括全局路网在当前时间之前的同一个时间周期内规划的路线。
进一步的,所述路段标签的更新方法为:将路线集合中除了当前待优化的初始路线以外的其它正在规划的初始路线作为已知的路线规划输入到交通流量信息中,重新预测未来设定时间内的交通状况,并重新分配一条最短新路线给当前行程请求。
上述进一步方案的有益效果是,合理考虑了较短周期内同时发布的行程之间在未来可能对交通造成的潜在影响。
进一步的,所述更新之后的路段标签包括原有的路段标签以及预估的正在规划的初始路线时间信息。
上述进一步方案的有益效果是,对大量行程请求在未来可能对交通造成的潜在影响进行了合理的量化,将预估的正在规划的初始路线时间信息看作对未来交通产生的影响。
进一步的,所述最短新路线的的选择根据跟新之后的路段标签,执行初始路线搜索方法搜索对应的最短新路线。
上述进一步方案的有益效果是,考虑较短周期内同时发布的行程之间在未来可能对交通造成的潜在影响,重新对原来规划的初始路线进行优化,可以避免潜在的交通拥堵。
进一步的,所述初始路线搜索方法为:
S31、获取动态路网数据和行程请求流;
S32、初始化路网中每一个顶点的信息,并创建规划的路线所经过的顶点集合;
S33、设置优先队列并将行程请求流中当前时刻发布的行程请求的起点加入到该队列,从起点开始在优先队列中选择队头顶点进行顶点扩张;
S34、当顶点扩张到行程请求终点时,从终点开始根据各个顶点的前驱顶点记录,反向生成一条路线,返回该路线顶点集合作为初始线路结果。
上述进一步方案的有益效果是,通过使用优先队列,可以降低该方案/算法的时间复杂度,提高运行效率。队头元素是一个顶点对象,该顶点对象的特性是,通过该顶点到达终点具有最小的预计通行时间。通过每次选取队头元素,即该顶点进行扩张,能够启发式地快速完成扩张,快速找到一条合适的初始路线。进一步的,所述预检查策略为,计算任意一条路线改变所有行程总的通行时间降低率上界率,具体表示为:
其中,π为所选取的待优化初始路线,UB(π)为所选取的待优化路线改变所有行程总的通行时间降低率上界率;
Π为行程请求流中已经规划完毕的最优路线组合;
Π
TT(Π,Π
TT({Π,Π
上述进一步方案的有益效果是,通过预检查策略,过滤掉提升空间较小的待优化路线,可以进一步提高算法的运行效率。
进一步的,所述交换策略的有效性通过下述计算公式表示:
其中,Π
上述进一步方案的有益效果是,通过采用一个较小的提升因子∈,可以过滤掉提升空间较小的路线交换操作,仅仅采用对全局通行时间提升空间较大的交换操作。从而,每一次有效交换能够更大幅度地减少全局通行时间,交换次数减少,算法的效率得到了较大提升。
进一步的,所述交换操作的最大操作次数表示为:
其中,TT为当前规划的初始线路组合的总的通行时间,
TT
上述进一步方案的有益效果是,该分析表明该方法可以在有限次交换操作之后结束的,经验上可以逼近最优解,和最优解的差距受提升因子大小的影响。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明基于动态路网的行程请求批处理方法流程示意图。
具体实施方式
在下文中,可在本发明的各种实施例中使用的术语“包括”或“可包括”指示所发明的功能、操作或元件的存在,并且不限制一个或更多个功能、操作或元件的增加。此外,如在本发明的各种实施例中所使用,术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
在本发明的各种实施例中,表述“或”或“A或/和B中的至少一个”包括同时列出的文字的任何组合或所有组合。例如,表述“A或B”或“A或/和B中的至少一个”可包括A、可包括B或可包括A和B二者。
在本发明的各种实施例中使用的表述(诸如“第一”、“第二”等)可修饰在各种实施例中的各种组成元件,不过可不限制相应组成元件。例如,以上表述并不限制所述元件的顺序和/或重要性。以上表述仅用于将一个元件与其它元件区别开的目的。例如,第一用户装置和第二用户装置指示不同用户装置,尽管二者都是用户装置。例如,在不脱离本发明的各种实施例的范围的情况下,第一元件可被称为第二元件,同样地,第二元件也可被称为第一元件。
应注意到:如果描述将一个组成元件“连接”到另一组成元件,则可将第一组成元件直接连接到第二组成元件,并且可在第一组成元件和第二组成元件之间“连接”第三组成元件。相反地,当将一个组成元件“直接连接”到另一组成元件时,可理解为在第一组成元件和第二组成元件之间不存在第三组成元件。
在本发明的各种实施例中使用的术语仅用于描述特定实施例的目的并且并非意在限制本发明的各种实施例。如在此所使用,单数形式意在也包括复数形式,除非上下文清楚地另有指示。除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
一种基于动态路网的行程请求批处理方法,如图1所示,。
S1、获取初始路线集合;
一个初始路线集合Π
S2、从初始路线集合中逐一选取一条线路作为当前待优化的初始路线,根据当前时刻已发布路线更新路段标签;
所述路段标签的更新方法为将初始路线集合中除了当前待优化的初始路线以外的其它正在规划的初始路线作为已知的路线规划输入到交通流量信息中,重新计算未来设定时间内的交通状况,并重新分配一条最短新路线给当前行程请求,具体为表述为:
在每一个优化过程中,从初始路线集合中逐一选择一条路线π∈Π
S3、根据更新之后的路段标签,重新查找一条从行程起点到行程终点的最短新路线,并执行新路线和初始路线的交换操作;
更新之后的路段标签包括原有的路段标签以及预估的正在规划的初始路线时间信息,最短新路线的的选择根据更新之后的路段标签,执行初始路线搜索方法搜索对应的最短新路线。其中初始路线搜索方法具体可描述为:
S21、获取动态路网数据和行程请求流;
S22、初始化路网中每一个顶点的信息,并创建规划的路线所经过的顶点集合;
每个顶点v∈V包含以下记录信息,从起点v
S23、设置优先队列并将行程请求流中当前时刻发布的行程请求的起点加入到该队列,从起点开始在优先队列中选择队头顶点进行顶点扩张,
优先队列PQ内部的顶点对象按照该点的t
从行程请求流中当前时刻发布的行程起点开始向与之相连的邻接顶点进行扩张,选出与之相邻的队头元素,以选出的队头元素为起点继续向与其相连的邻接顶点进行扩张。当扩张之后的顶点为行程终点时,利用所有选择的前驱顶点记录生成一条路线;当选择的顶点不是行程终点,进而计算出从该点到达与之相连的下一个顶点的通行时间;如果通过该点到达下一个顶点,能够减少从起点到达下一个顶点的原本通行时间,那就更新下一个顶点记录的信息。这些顶点信息包含从起点到达该顶点的精确通行时间,需要更新为从起点到达上一个顶点的精确通行时间加上从上一个顶点到达该顶点的通行时间;该顶点的最小时刻,需要更新为到达上一个顶点的最小加上从上一个顶点到达该顶点的通行时间;以及前驱顶点信息,需要对应更新为上一个顶点对象。顶点信息更新完毕,需要对优先队列内的顶点对象进行重新排序。
S24、当顶点扩张到行程请求终点时,从终点开始根据各个顶点的前驱顶点记录,反向生成一条路线,返回该路线顶点集合作为初始线路结果。
S4、根据预检查策略检查交换操作的有效性;
为了能够检查一个交换操作的有效性,必须更新所有路段的路段标签去计算所有行程总的通行时间降低率,这是非常费时的,因此,本方案提出了一个预检查策略进一步提高算法效率,具体来说,定义了一个所有行程总的通行时间降低率上界UB,具体的计算方式为,
其中,π为所选取的待优化初始路线,UB(π)为所选取的待优化路线改变所有行程总的通行时间降低率上界率;
其中,UB(π)为任意一条路线改变所有行程总的通行时间降低率上界率;
Π为行程请求流中已经规划完毕的最优路线组合;
Π
TT(Π,Π
TT({Π,Π
需要说明的是,这里的TT({Π,Π
为了检验交换操作的有效性,如果交换操作能够使所有形程的通行时间之和减少至少1+∈的比例,即是
其中,TT为当前规划的初始线路组合的总的通行时间,TT
S5、重复步骤S2到S4,当对于初始路线集合中任意一条路线均不存在可优化的新路线时,则发布该路线。
当行程请求Q
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种基于动态路网的行程请求批处理方法
- 一种基于路网决策点行程时间索引值的动态转向导航方法