路径规划方法、路径规划装置及终端设备与流程

文档序号:21355355发布日期:2020-07-04 04:25阅读:281来源:国知局
路径规划方法、路径规划装置及终端设备与流程

本申请属于路径规划技术领域,尤其涉及路径规划方法、路径规划装置、终端设备及计算机可读存储介质。



背景技术:

需求响应式的公交服务等出行服务可以很好地满足人们个性化的出行需求。而目前,受到计算能力和算法的限制,公交服务等目前应用的路径规划方法以宏观规划和集中式最短路径为主,求解规模比较小,在存在大量需要同时满足的共乘式需求时,难以满足高效低成本的车辆调度要求。



技术实现要素:

本申请实施例提供了路径规划方法、路径规划装置、终端设备及计算机可读存储介质,可以解决在存在大量需求时,目前的需求响应式的公交服务等出行服务难以高效灵活地实现路径规划,从而难以合理地调度车辆的问题。

第一方面,本申请实施例提供了一种路径规划方法,包括:

获取站点信息,其中,所述站点信息包括站点集合中的各个站点对所分别对应的位置信息和需求信息,任一站点对中包含分别指示出行起点和出行终点的两个站点,所述需求信息用于指示用户对相应的站点对的出行需求;

根据所述站点信息,对所述站点集合中的各个站点进行划分,获得至少一个簇,其中,任一簇中分别包括多个站点,任一簇所包含的多个站点中存在一个核心站点,并且任意两个簇之间不存在相同的站点;

根据各个核心站点所对应的站点信息,生成至少一条初始规划路径;

生成各个初始规划路径所分别对应的行驶成本矩阵,其中,所述行驶成本矩阵指示相应的初始规划路径所对应的簇中的各个站点之间的行驶成本;

根据所述行驶成本矩阵,确定车辆调度方式。

第二方面,本申请实施例提供了一种路径规划装置,包括:

获取模块,用于获取站点信息,其中,所述站点信息包括站点集合中的各个站点对所分别对应的位置信息和需求信息,任一站点对中包含分别指示出行起点和出行终点的两个站点,所述需求信息用于指示用户对相应的站点对的出行需求;

划分模块,用于根据所述站点信息,对所述站点集合中的各个站点进行划分,获得至少一个簇,其中,任一簇中分别包括多个站点,任一簇所包含的多个站点中存在一个核心站点,并且任意两个簇之间不存在相同的站点;

路径生成模块,用于根据各个核心站点所对应的站点信息,生成至少一条初始规划路径;

矩阵生成模块,用于生成各个初始规划路径所分别对应的行驶成本矩阵,其中,所述行驶成本矩阵指示相应的初始规划路径所对应的簇中的各个站点之间的行驶成本;

确定模块,用于根据所述行驶成本矩阵,确定车辆调度方式。

第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器、显示器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面所述的路径规划方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的路径规划方法。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中所述的路径规划方法。

本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,通过获取站点信息,可以根据各个站点对,分别反映各个用户的出行需求中的起点与终点之间的配对关系,并获知各个站点的位置等信息,从而可以根据所述站点信息,对所述站点集合中的各个站点进行划分,获得至少一个簇,其中,任一簇中分别包括多个站点,任一簇所包含的多个站点中存在一个核心站点,并且任意两个簇之间不存在相同的站点;此时,可以将用户需求匹配到不同的簇中,从而减小计算量和数据量;此外,可以根据各个核心站点所对应的站点信息,生成至少一条初始规划路径,从而可以将一些超大规模的出行需求信息进行信息提取后再进行初步的路径规划,通过核心站点合理反映了客户的核心需求,并可以根据诸如位置信息、需求信息以及核心站点在对应的站点对中的配对关系等,将客户的核心需求合理分配至不同的初始规划路径中,保证了初始规划路径的合理性;进一步的,可以生成各个初始规划路径所分别对应的行驶成本矩阵,以根据所述行驶成本矩阵,高效地确定车辆调度方式。通过本申请实施例,可以大大提高对一些大规模的出行需求信息的处理效率,并能够高效灵活地根据动态的客户需求进行路径规划并确定车辆调度方式,从而更好地匹配用户需求。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的一种路径规划方法的流程示意图;

图2是本申请一实施例提供的步骤s105的一种流程示意图;

图3是本申请一实施例提供的一种路径规划装置的结构示意图;

图4是本申请一实施例提供的终端设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例提供的路径规划方法可以应用于服务器、台式电脑、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmentedreality,ar)/虚拟现实(virtualreality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本、个人数字助理(personaldigitalassistant,pda)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。

具体地,图1示出了本申请实施例提供的一种路径规划方法的流程图,该路径规划方法可以应用于终端设备。

该路径规划方法可以包括:

步骤s101,获取站点信息,其中,所述站点信息包括站点集合中的各个站点对所分别对应的位置信息和需求信息,任一站点对中包含分别指示出行起点和出行终点的两个站点,所述需求信息用于指示用户对相应的站点对的出行需求。

本申请实施例中,所要调度的车辆的类型可以根据实际需求来确定。相应的,用户的共乘式的出行需求可以是载人的需求,也可以是载货的需求。例如,在一些实施例中,所述车辆可以是公共交通,例如公交,客运等等。并且,所述车辆也可以用于货运。此外,所述车辆也可以是可提供定制出行服务的出租车或者其他车辆,具体的车辆类型在此不做限制。

本申请实施例中,所述站点集合中,可以包括多个站点对。其中,各个站点对可以根据用户所提交的出行需求而得到。任一站点对中包含分别指示出行起点和出行终点的两个站点。其中,所述站点对可以包含所述出行站点到所述出行终点的方向信息。此时,所述站点对可以反映在用户的出行需求所涉及的站点之间的关联配对关系,以便于后续根据站点间的关联配对关系来合理规划路径。

示例性的,所述站点对可以以坐标、向量等形式来表示。当然,所述站点对也可以以其他形式来表示,例如,通过第一标签o来标注一个站点对的两个站点中的出行起点,通过第二标签d来标注对应的出行终点等。在一些实施例中,所述站点可以根据用户提交的出行需求中的具体地点来确定。例如,对于公交车辆,在获取到一个用户提交的上车地点和下车地点之后,并将上车地点以及下车地点分别匹配到最近的公交站点,并根据匹配到的上车公交站点和下车公交站点得到所述站点集合中的一组站点对。

其中,示例性的,所述需求信息可以包括相应的站点对所对应的出行需求的数量以及相应的时间等信息;所述位置信息可以包括对应的站点的经纬度信息、所在道路信息和/或具体地址等。

步骤s102,根据所述站点信息,对所述站点集合中的各个站点进行划分,获得至少一个簇,其中,任一簇中分别包括多个站点,任一簇所包含的多个站点中存在一个核心站点,并且任意两个簇之间不存在相同的站点。

本申请实施例中,通过对所述站点集合中的各个站点进行划分,可以将用户需求分配到各个簇中,以通过簇以及相应的核心站点,反映用户的核心需求,过滤掉一些边缘的需求,从而降低后续生成初始规划路径时的数据量和计算量,同时还可以反映大数据出行请求中的用户的核心出行需求。

示例性的,所述核心站点可以位于所述簇所对应的区域的中心;当然,所述核心站点也可以位于所述簇所对应的区域的其他位置。在一些示例中,所述核心站点可以用于标识对应的簇,即可以通过确定所述核心站点,以及设置所述核心站点所对应的权重或者需求量等等方式,来表征用户对相应的簇的出行需求。

在一些实施例中,所述根据所述站点信息,对所述站点集合中的各个站点进行划分,获得至少一个簇,包括:

若存在任一站点,使得以该站点为中心的目标区域范围内所包含的站点个数大于预设个数,则获得与该站点相对应的一个簇,并将该站点作为对应的簇的核心站点,其中,与该站点相对应的一个簇内包括对应的目标区域范围内的所有站点。

本申请实施例中,若以相应站点为中心的目标区域范围内所包含的站点个数大于预设个数,则可以认为该目标区域范围内的需求较为集中,从而可以将该目标区域范围内的所有站点进行聚类得到一个簇。此时,该目标区域范围的中心处的站点可以作为对应的簇的核心站点。其中,所述目标区域范围的形状可以有多种,一般地,为了计算的方便,所述目标区域范围的形状可以是规则形状,例如圆形、方形等等。

所述预设个数可以根据实际业务量以及业务经验等预先确定。所述目标区域范围的大小可以根据实际应用场景来确定。示例性的,所述目标区域范围所对应的特征长度(例如,若所述目标区域范围为圆形,则所述特征长度为半径,若所述目标区域范围为正方形,则所述特征长度为边长)可以是预先根据经验确定的,也可以通过各个站点的位置信息计算得到的,例如,可以获取各个站点之间的距离,从而通过数据筛选、拟合等方式,确定所述目标区域范围所对应的特征长度。

本申请实施例中,可以根据用户需求的空间相似性,对各个站点进行划分。此时,每个簇内可以至少包括预设个数的存在用户需求的站点。此外,也可能存在一些站点不在任何一个簇中,此时,这些孤立的站点可以被认为是噪声点,可以认为对这些噪声点进行服务需要付出较高的绕路代价,因此,可以通过生成簇,将这些孤立的噪声点排除出后续的路径规划以及车辆调度中,使得后续的车辆调度更能反映大量出行需求中的用户的核心需求,并可以降低数据量,提升后续的数据处理效率。

在一些实施例中,所述在根据所述站点信息,对所述站点集合中的各个站点进行划分,获得至少一个簇之前,还包括:

对于任一站点,根据所述位置信息,在所述站点集合中确定与该站点的距离为第k近的另一站点,并且获取该站点与所述另一站点之间的第一距离,其中,所述k为正整数;

遍历所述站点集合,获得所述站点集合中的每一个站点所分别对应的第一距离;

根据所述站点集合中的每一个站点所分别对应的第一距离确定目标距离;

根据所述目标距离,确定任一站点所对应的目标区域范围。

本申请实施例中,可以根据所述位置信息计算两个站点之间的距离,例如,若所述位置信息中包括对应站点的经纬度信息,则可以通过haversine公式根据所述经纬度来计算所述站点集合中的不同站点之间的距离,从而可以在所述站点集合中,对于任一站点确定与所述站点的距离为第k近的另一站点,并获取所述另一站点与所述站点之间的第一距离。

在获取到所述站点集合中的每一个站点所分别对应的第一距离之后,可以根据各个第一距离,确定所述目标距离。其中,确定所述目标距离的方式可以有多种。例如,取各个第一距离的均值或者中位数作为所述目标距离;此外,也可以对各个第一距离进行拟合,根据拟合后的曲线的变化趋势来确定所述目标距离。

在一些实施例中,所述根据所述站点集合中的每一个站点所分别对应的第一距离确定目标距离,包括:

对各个所述第一距离进行拟合,获得拟合曲线;

将所述拟合曲线上,斜率的变化率大于目标变化率的点所对应的值作为目标距离。

其中,所述斜率的变化率大于目标变化率时,可以认为所述斜率发生了突变,从而可以将发生了斜率突变时所对应的曲线上的点的值作为所述目标距离。此时,所述目标距离可以根据用户的需求站点的变化而动态确定,而不是将所述目标距离设置为固定值,从而可以保证所述区域划分的合理性。

步骤s103,根据各个核心站点所对应的站点信息,生成至少一条初始规划路径。

本申请实施例中,在获得各个簇之后,通过所述核心站点标识相应的簇,并根据各个核心站点所对应的站点信息,生成初始规划路径,此时,该初步规划路径可以是预判的模糊路径,从而为后续的精细化确定车辆调度方式提供基础。

其中,在一些实施例中,在获取到各个簇之后,还可以对各个簇进行聚类,获得多个区域,再在每个区域中分别生成若干条初始规划路径,以将用户需求切分为不同区域的潜在同乘需求,再在各个区域中进行初步路径规划。其中,任意两个区域之间可以不存在相同的簇。具体的,可以根据预设的聚类算法来实现对各个簇的聚类,例如,可以通过诸如dbscan(density-basedspatialclusteringofapplicationswithnoise)等基于密度的聚类算法来对各个簇进行聚类,以获得多个区域,其中,每个区域都可以包含多个簇。具体的聚类算法可以根据实际场景来确定。

生成所述初始规划路径的方式可以有多种,例如,可以基于所述簇的核心站点及其关联站点的站点信息,生成可以反映用户的出行需求的趋势和相似性的所述初始规划路径。例如,可以根据车辆的起点或者终点进行初始化设置,并从该起点或者终点开始,根据各个核心站点之间的距离远近以及各个核心站点所对应的簇的需求量等,不断创建和拓展线路,直到遍历各个核心站点。

在一些实施例中,所述根据各个核心站点所对应的站点信息,生成至少一条初始规划路径,包括:

根据各个核心站点所对应的站点信息,对各个簇进行聚类,获得至少一个区域,其中,每个区域中分别包括多个簇;

对于每一个区域,根据所述区域中所包含的簇所对应的核心站点的站点信息,生成所述区域所对应的至少一条初始规划路径。

本申请实施例中,可以基于所述站点信息中,各个核心站点及其关联站点所反映的用户出行趋势等信息,对所述簇进行聚类,以将用户需求切分为不同区域的潜在同乘需求,再在各个区域中进行初步路径规划。

在一些实施例中,可以在所述簇的个数或者所述站点的个数大于预设个数时,执行根据各个核心站点所对应的站点信息,对各个簇进行聚类,获得至少一个区域的步骤及后续步骤,以在面对大数据量时,更好地切分用户需求,将大数据量的路径规划以及车辆调度等问题合理切割至不同的区域中,从而提高计算的速度和相应的结果的合理性。

在一些实施例中,所述对于每一个区域,根据所述区域中所包含的簇所对应的核心站点的站点信息,生成所述区域所对应的至少一条初始规划路径,包括:

对于每一个区域,确定所述区域中的当前的端点和待访问点集合,其中,所述待访问点集合中的各个待访问点均为所述核心站点,所述端点为所述核心站点、预设起点或者预设终点;

根据所述需求信息,将所述待访问点集合中需求量最大的待访问点作为当前的访问点,并根据所述端点和所述当前的访问点获得当前路径;

若得到的所述当前路径所对应的总需求量不小于预设需求阈值,则将得到的所述当前路径作为一条初始规划路径,更新所述待访问点集合,并返回执行所述根据所述需求信息,将所述待访问点集合中需求量最大的站点作为当前的访问点的操作及后续操作,直到遍历所述区域中的所有核心站点。

本申请实施例中,所述待访问点集合中的各个待访问点所对应的需求量可以标识所述待访问点所对应的簇的用户出行需求。所述需求量的具体获取方式可以有多种。例如,由于所述待访问点集合中的各个待访问点均为核心站点,因此,所述待访问点集合中的各个待访问点所对应的需求量可以是对应的簇中的站点个数;或者,所述待访问点所对应的需求量可以是对应的簇中的各个站点所对应的需求用户的个数之和;此外,在其他一些示例中,所述簇中的站点还可以被赋予权重,此时,所述待访问点所对应的需求量可以是对应的簇中的各个站点所对应的需求用户的个数与相应的站点权重的加权和。

本申请实施例中,所述当前路径所对应的总需求量可以为所述当前路径所包括的站点的需求量的和。若得到的所述当前路径所对应的总需求量不小于预设需求阈值,则可以认为该当前路径中的用户需求较为饱和,从而可以将该当前路径作为一条初始规划路径,并更新所述待访问点集合,以将添加到当前路径中的待访问点从所述待访问点集合中去除,从而进入下一个处理循环中,并重新构建一条新的初始规划路径。其中,在下一个处理循环中,重新确定的当前的端点可以与上一循环中的端点相同,例如,此时,该当前端点可以为固定的预设起点或者预设终点。

而在一些示例中,若得到的所述当前路径所对应的总需求量小于预设需求阈值,则可以考虑再往该当前路径中添加新的站点。例如,可以将所述待访问点集合中需求量第二大的待访问点加入所述当前路径,或者,也可以考虑将当前的访问点周围的其他访问点加入所述当前路径。此外,还可以通过加入所述当前路径所产生的绕路时间等信息,来筛选加入所述当前路径的待访问点。具体的路径拓展方式可以有多种,在此不作限制。

在一些实施例中,所述路径规划方法还包括:

若构建得到的所述当前路径所对应的总需求量小于预设需求阈值,则根据所述待访问点集合中的各个待访问点与所述当前的访问点之间的距离由小到大的顺序,依次确定与所述当前的访问点之间的距离最近的l个待访问点的绕路代价值,并在每一次获取到待访问点的绕路代价值之后,判断获取到的绕路代价值是否满足预设代价条件,其中,所述l为正整数;

若所述获取到的绕路代价值满足预设代价条件,则将所述获取到的绕路代价值所对应的待访问点加入所述当前路径,获得更新后的所述当前路径,直到更新后的所述当前路径的总需求量不小于预设需求阈值,或者,直到所述待访问点集合中,与所述当前的访问点之间的距离最近的l个待访问点的绕路代价值均判断完成;

若与所述当前的访问点之间的距离最近的l个待访问点的绕路代价值均判断完成之后,所得到的更新后的所述当前路径的总需求量小于预设需求阈值,则更新所述待访问点集合,将所述当前的访问点作为更新后的当前的端点,并返回执行所述根据所述需求信息,将所述待访问点集合中需求量最大的站点作为当前的访问点的操作及后续操作。

本申请实施例中,可以通过所述绕路代价值筛选所述当前的访问点周围的其他待访问点,以确定可以加入所述当前路径的待访问点。其中,所述绕路代价值可以指示将相应的待访问点加入所述当前路径之后所产生的绕路时间的长短。所述绕路代价值的具体计算方式可以有多种,例如,可以根据相应的待访问点分别与当前路径中的各个站点之间的行驶时长、当前路径的当前行驶时长等信息来确定。

在一些示例中,所述绕路代价值可以是当前路径的当前行程时间与所述待访问点相对于当前路径的绕路时间的比值。具体的,若当前路径的端点为f,当前路径所对应的当前的访问点为p,与所述当前的访问点之间的距离最近的l个待访问点中的某一待访问点s所对应的绕路时间为ln(s),则所述当前路径的当前行程时间tpt可以为:

tpt=ttt+tfp

其中,所述ttt为所述端点f所对应的初始行程时间,所述tfp为所述端点f到所述当前的访问点p的行程时间;

所述绕路时间ln(s)为:

tdt=tpt+tpln(s)-tfln(s)

其中,所述tpln(s)为所述当前的访问点p与所述待访问点s之间的行程时间,所述tfln(s)为所述端点f与所述待访问点s之间的行程时间。

那么,所述待访问点s所对应的绕路代价值rpln(s)为:

rpln(s)=tdt⁄tpt

此时,若所述绕路代价值rpln(s)小于预设代价值阈值,则可以认为所述绕路代价值满足预设代价条件。

本申请实施例中,若更新后的所述当前路径的总需求量不小于预设需求阈值,则可以将更新后的所述当前路径作为一条初始规划路径,并更新所述待访问点集合,并重新执行根据所述需求信息,将所述待访问点集合中需求量最大的站点作为当前的访问点的步骤及后续步骤。而若与所述当前的访问点之间的距离最近的l个待访问点的绕路代价值均判断完成之后,所得到的更新后的当前路径的总需求量小于预设需求阈值,则更新所述待访问点集合,并将所述当前的访问点作为更新后的当前的端点,以重新执行根据所述需求信息,将所述待访问点集合中需求量最大的站点作为当前的访问点的步骤及后续步骤。此时,可以通过将所述待访问点集合中需求量最大的站点作为当前的访问点的步骤及后续步骤,进一步拓展更新后的所述当前路径,即根据更新后的待访问点集合中的站点的需求量,向更新后的当前路径进一步添加站点。

步骤s104,生成各个初始规划路径所分别对应的行驶成本矩阵,其中,所述行驶成本矩阵指示相应的初始规划路径所对应的簇中的各个站点之间的行驶成本。

本申请实施例中,所述行驶成本可以包括行驶时间成本、行驶距离成本和/或行驶路径成本等等。此时,在通过所述初始规划路径初步规划簇与簇之间的连接方式之后,可以通过所述行驶成本矩阵,精确地表示该初始规划路径方向上,各个站点之间的行驶成本,从而便于在后续根据各个站点之间的行驶成本,精细化确定该初始规划路径上的精确的车辆调度方式。

示例性的,在一些实施例中,生成各个初始规划路径所分别对应的行驶成本矩阵,可以包括:

对于任一初始规划路径,将该初始规划路径所对应的簇中的各个站点投影至路网拓扑结构中,获得该初始规划路径所对应的簇中的各个站点在所述路网拓扑结构中分别对应的投影点;

在所述路网拓扑结构中,通过启发式搜索算法,计算各个投影点之间的最短路径;

根据各个投影点之间的最短路径,分别确定各个投影点之间的行驶成本;

根据各个投影点之间的行驶成本,获得所述初始规划路径所对应的行驶成本矩阵。

其中,所述路网拓扑结构中,可以包括各个道路的位置信息以及交通信息等等,此时,对于任意两个投影点,可以通过启发式搜索算法,确定该两个投影点之间的最短路径,从而确定该两个投影点所对应的站点之间的行驶距离成本以及行驶路径成本等。而在确定该两个投影点之间的最短路径之后,可以根据该最短路径所对应的道路的交通信息,确定该两个投影点所对应的站点之间的行驶时间成本,从而获得该两个投影点所对应的站点之间的行驶成本。

其中,在一些示例中,通过启发式搜索算法计算各个投影点之间的最短路径的方式具体可以包括:

对于任一两个投影点,将该两个投影点中的一个作为初始节点,另一个作为目标节点,在所述路网拓扑结构中,确定一个当前节点n,则将当前节点n加入closelist;

遍历当前节点n的临近节点m,若mcloselist且mopenlist,则计算临近节点m的总代价,将当前节点n设为父节点,并将当前节点n加入openlist,其中,所述总代价为当前节点n至初始节点的代价与当前节点n至目标节点的代价之和;

判断openlist是否为空,若为空,启发式搜索算法结束,否则遍历openlist,将遍历得到的总代价最小的节点作为当前节点n;

判断当前节点n是否为目标节点,若n为目标节点,启发式搜索算法结束;否则返回执行遍历当前节点n的临近节点m的步骤及后续步骤。

本申请实施例中,通过该启发式搜索算法,可以较为高效准确地获得各个投影点之间的最短路径,并可以根据该最短路径,确定各个投影点所对应的站点之间的行驶成本,从而获得较为合理准确的行驶成本矩阵。

步骤s105,根据所述行驶成本矩阵,确定车辆调度方式。

本申请实施例中,根据所述行驶成本矩阵和各个初始规划路径,确定精确的车辆调度方式,可以将初始的大量的用户需求所对应的超大规模的一个车辆调度问题,分割到对各个初始规划路径所分别对应的车辆调度子问题中来进行处理,从而大大提高了对车辆调度问题的处理效率。

其中,所述车辆调度方式可以包括车辆调用时间、车辆行驶路径以及相应停靠站等与调度车辆相关的信息。确定所述车辆调度方式的具体方法可以有多种。例如,可以建立关于目标函数的数学优化模型进行求解,根据求解结果确定所述车辆调度方式。在一些实施例中,可以根据所述行驶成本矩阵,通过求解数学优化模型确定车辆在各簇之间的调度方式。示例性的,可以根据相应的用户订单信息、车辆行驶时间限制等建立约束,并建立关于车辆调度中的诸如车辆行驶时长、用户乘车时长以及车辆等待时长等特定参数的目标函数,并根据所述行驶成本矩阵确定相应目标函数的解。示例性的,可以通过ruin-recreate等启发式算法对相应的目标函数进行求解,以获得较优的车辆调度方式。

在一些实施例中,所述根据所述行驶成本矩阵,确定车辆调度方式,包括:

步骤s201,根据所述行驶成本矩阵,建立关于车辆行驶时长、用户乘车时长、车辆等待时长和未分配出行需求的目标函数;

步骤s202,基于关于预设时间窗、车辆最大载客量和车辆最大绕行时长的约束条件,和所述行驶成本矩阵,求解所述目标函数,获得求解结果;

步骤s203,若所述求解结果满足预设收敛条件,则根据所述求解结果确定所述车辆调度方式。

本申请实施例中,所述车辆行驶时长可以指车辆的实际行驶时长,该车辆行驶时长可以通过相应的行驶成本矩阵来确定。所述用户乘车时长可以根据用户的上车时间和下车时间来确定,所述车辆等待时长可以为车辆到达相应的站点之后,等待用户的时长。

本申请实施例中,所述目标函数的具体形式可以有多种,例如,所述目标函数可以是线性的,其中,可以分别根据车辆行驶时长、用户乘车时长、车辆等待时长和未分配出行需求对车辆调度的正向影响或者负向影响,确定相应的参数符号,构建得到线性函数;此外,所述目标函数也可以是非线性的,例如,可以通过指数或者对数等形式,反映相应参数对所述车辆调度方式的影响程度。具体的,求解所述目标函数的方法也可以有多种,例如,在一些实施例中,可以通过启发式算法对所述目标函数进行求解。

示例性的,在一种具体示例中,可以通过ruin-recreate启发式算法对相应的目标函数进行求解。

例如,在求解循环的一次求解过程中,可以设置该次求解过程所对应的各个簇包括z个站点,并且本次求解过程中,移除n≤[g×z]个站点,g~[0,1],则可以建立关于所述车辆行驶时长tti、用户乘车时长tsi、车辆等待时长twi和未分配出行需求u的目标函数y为:

其中,ω为预设系数,(1+ω|u|)为本次求解过程所对应的簇中的未分配出行需求的集合的总代价值,为本次求解过程所对应的车辆行驶时长tti的总代价值,为本次求解过程所对应的车辆服务时长(tsi+twi)的总代价值。

此时,所述目标函数不仅通过所述车辆行驶时长反映了运营成本,还从用户层面,通过车辆服务时长反映了对用户的服务水平,并且,还通过未分配出行需求的集合的总代价值反映了未提供服务给运营公司所带来的潜在影响,从而可以通过该目标函数,较为准确地评估相应的车辆调度方式的合理性。

在一些实施例中,所述站点信息以及所述未分配出行需求、预设时间窗等可以根据用户的出行订单的更新而定时更新或者实时更新。例如,可以实现出行订单的添加、取消以及订单信息(如用户的上下车站点、用户出行时间、出行路径等)的更新等等,并可以根据相关出行订单的更新而更新相应的站点信息和约束条件,从而更新车辆调度方式。此时,本申请实施例中的路径规划方法可以根据用户需求实现对车辆的动态调度,提高了车辆调度的灵活性。

在一些实施例中,若利用启发式算法求解所述目标函数,获得求解结果的过程中,相应的迭代次数大于预设迭代次数阈值,则可以停止迭代,并根据已获得的求解结果中的最优解确定相应的车辆调度方式。

本申请实施例中,在空间维度上对所述站点进行区域划分并生成初始规划路径之后,可以进一步基于用户需求中的时间维度建立目标函数,从而可以在空间与时间两个维度建立车辆调度问题并求解,以得到较优的车辆调度方式。通过该实施例,可以对大规模的用户出行需求进行合理拆分,从而降低车辆调度问题的单次求解规模,从而可以在保证车辆调度的合理性的同时,可以提高用户需求与车辆的匹配效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的路径规划方法,图3示出了本申请实施例提供的一种路径规划装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图3,该路径规划装置3包括:

获取模块301,用于获取站点信息,其中,所述站点信息包括站点集合中的各个站点对所分别对应的位置信息和需求信息,任一站点对中包含分别指示出行起点和出行终点的两个站点,所述需求信息用于指示用户对相应的站点对的出行需求;

划分模块302,用于根据所述站点信息,对所述站点集合中的各个站点进行划分,获得至少一个簇,其中,任一簇中分别包括多个站点,任一簇所包含的多个站点中存在一个核心站点,并且任意两个簇之间不存在相同的站点;

路径生成模块303,用于根据各个核心站点所对应的站点信息,生成至少一条初始规划路径;

矩阵生成模块304,用于生成各个初始规划路径所分别对应的行驶成本矩阵,其中,所述行驶成本矩阵指示相应的初始规划路径所对应的簇中的各个站点之间的行驶成本;

确定模块305,用于根据所述行驶成本矩阵,确定车辆调度方式。

可选的,所述划分模块302具体用于:

若存在任一站点,使得以该站点为中心的目标区域范围内所包含的站点个数大于预设个数,则获得与该站点相对应的一个簇,并将该站点作为对应的簇的核心站点,其中,与该站点相对应的一个簇内包括对应的目标区域范围内的所有站点。

可选的,所述路径规划装置3还包括:

第一处理模块,用于对于任一站点,根据所述位置信息,在所述站点集合中确定与该站点的距离为第k近的另一站点,并且获取该站点与所述另一站点之间的第一距离,其中,所述k为正整数;

第二处理模块,用于遍历所述站点集合,获得所述站点集合中的每一个站点所分别对应的第一距离;

第三处理模块,用于根据所述站点集合中的每一个站点所分别对应的第一距离确定目标距离;

第四处理模块,用于根据所述目标距离,确定任一站点所对应的目标区域范围。

可选的,所述第三处理模块具体包括:

拟合单元,用于对各个所述第一距离进行拟合,获得拟合曲线;

第一处理单元,用于将所述拟合曲线上,斜率的变化率大于目标变化率的点所对应的值作为目标距离。

可选的,所述路径生成模块303具体包括:

聚类单元,用于根据各个核心站点所对应的站点信息,对各个簇进行聚类,获得至少一个区域,其中,每个区域中分别包括多个簇;

生成单元,用于对于每一个区域,根据所述区域中所包含的簇所对应的核心站点的站点信息,生成所述区域所对应的至少一条初始规划路径。

可选的,所述生成单元具体包括:

确定子单元,用于确定当前的端点和待访问点集合,其中,所述待访问点集合中的各个待访问点均为所述核心站点,所述端点为所述核心站点、预设起点或者预设终点;

第一处理子单元,用于根据所述需求信息,将所述待访问点集合中需求量最大的待访问点作为当前的访问点,并根据所述端点和所述当前的访问点获得当前路径;

第二处理子单元,用于若得到的所述当前路径所对应的总需求量不小于预设需求阈值,则将得到的所述当前路径作为一条初始规划路径,更新所述待访问点集合,并返回执行所述根据所述需求信息,将所述待访问点集合中需求量最大的站点作为当前的访问点的操作及后续操作,直到遍历所述区域中的所有核心站点。

可选的,所述路径规划装置3还包括:

第五处理模块,用于若构建得到的所述当前路径所对应的总需求量小于预设需求阈值,则根据所述待访问点集合中的各个待访问点与所述当前的访问点之间的距离由小到大的顺序,依次确定与所述当前的访问点之间的距离最近的l个待访问点的绕路代价值,并在每一次获取到待访问点的绕路代价值之后,判断获取到的绕路代价值是否满足预设代价条件,其中,所述l为正整数;

第六处理模块,用于若所述获取到的绕路代价值满足预设代价条件,则将所述获取到的绕路代价值所对应的待访问点加入所述当前路径,获得更新后的所述当前路径,直到更新后的所述当前路径的总需求量不小于预设需求阈值,或者,直到所述待访问点集合中,与所述当前的访问点之间的距离最近的l个待访问点的绕路代价值均判断完成;

第七处理模块,用于若与所述当前的访问点之间的距离最近的l个待访问点的绕路代价值均判断完成之后,所得到的更新后的所述当前路径的总需求量小于预设需求阈值,则更新所述待访问点集合,并将所述当前的访问点作为更新后的当前的端点,返回执行所述根据所述需求信息,将所述待访问点集合中需求量最大的站点作为当前的访问点的操作及后续操作。

可选的,所述确定模块305具体包括:

建立单元,用于根据所述行驶成本矩阵,建立关于车辆行驶时长、用户乘车时长、车辆等待时长和未分配出行需求的目标函数;

求解单元,用于基于关于预设时间窗、车辆最大载客量和车辆最大绕行时长的约束条件,和所述行驶成本矩阵,求解所述目标函数,获得求解结果;

第二处理单元,用于若所述求解结果满足预设收敛条件,则根据所述求解结果确定所述车辆调度方式。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块的具体划分形式在此不作限定。各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图4为本申请一实施例提供的终端设备的结构示意图。如图4所示,该实施例的终端设备4包括:至少一个处理器40(图4中仅示出一个)、存储器41以及存储在上述存储器41中并可在上述至少一个处理器40上运行的计算机程序42,上述处理器40执行上述计算机程序42时实现上述任意各个路径规划方法实施例中的步骤。

上述终端设备4可以是服务器、手机、可穿戴设备、增强现实(augmentedreality,ar)/虚拟现实(virtualreality,vr)设备、桌上型计算机、笔记本、台式电脑以及掌上电脑等计算设备。该终端设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端设备4的举例,并不构成对终端设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入设备、输出设备、网络接入设备等。其中,上述输入设备可以包括键盘、触控板、指纹采集传感器、麦克风、摄像头等,输出设备可以包括显示器、扬声器等。

所述处理器40可以是中央处理单元(centralprocessingunit,cpu),该处理器40还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

上述存储器41在一些实施例中可以是上述终端设备4的内部存储单元,例如终端设备4的硬盘或内存。上述存储器41在另一些实施例中也可以是上述终端设备4的外部存储设备,例如上述终端设备4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,上述存储器41还可以既包括上述终端设备4的内部存储单元也包括外部存储设备。上述存储器41用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如上述计算机程序的程序代码等。上述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。

另外,尽管未示出,上述终端设备4还可以包括网络连接模块,如蓝牙模块wi-fi模块、蜂窝网络模块等等,在此不再赘述。

本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质中的一种或多种。例如u盘、移动硬盘、磁碟或者光盘等。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1