CN107624190A - 用于加速路线搜索的系统和方法 - Google Patents

用于加速路线搜索的系统和方法 Download PDF

Info

Publication number
CN107624190A
CN107624190A CN201580079757.7A CN201580079757A CN107624190A CN 107624190 A CN107624190 A CN 107624190A CN 201580079757 A CN201580079757 A CN 201580079757A CN 107624190 A CN107624190 A CN 107624190A
Authority
CN
China
Prior art keywords
node
group
shortest path
subgroup
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580079757.7A
Other languages
English (en)
Other versions
CN107624190B (zh
Inventor
大卫·迪洛伦佐
托马索·比安孔奇尼
亚历山德罗·洛里
彼得·米切尔
法比奥·舍恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Frank Matic Ireland Co Ltd
Fleetmatics Development Ltd
Original Assignee
Frank Matic Ireland Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Frank Matic Ireland Co Ltd filed Critical Frank Matic Ireland Co Ltd
Publication of CN107624190A publication Critical patent/CN107624190A/zh
Application granted granted Critical
Publication of CN107624190B publication Critical patent/CN107624190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Navigation (AREA)

Abstract

一种用于找到一定数量的预定节点之间的所有对的最短行进路径的近似的方法,包括:将原始道路网络的节点聚类成多个子组,使得每个子组中的节点数量不大于第一预定阈值,并且子组的任两个节点之间的最大距离不大于第二预定阈值;将同一子组中的所有对的组内最短路径的信息添加到新创建的更高级道路网络;将所述多个子组的组间最短路径的信息添加到同一道路网络;以及搜索同一道路网络以获得最短行进路径。在返回的路径不精确的情况下,路径表示原始地图中的一条路径,即使不一定是最佳的一条。

Description

用于加速路线搜索的系统和方法
技术领域
本申请总体上涉及用于加速给定集合中的任两个节点之间的最短路径的搜索的系统和方法。具体地,该系统和方法可以搜索对于车辆在初始坐标集合中的任何起始位置和目的地位置之间的最短行进路线。
背景技术
当车队用于交付货物或提供服务时,为每一辆车寻找最佳路线具有许多实际益处,包括减少在途时间、燃料消耗和车辆排放。为了确定这样的最佳路线,路由算法首先必须为服务的每一对客户计算从一点行进到另一点所需的时间。对于任何实际应用,必须解决大量最短路径问题。最短路径问题的成功解决方案依赖于至少两个基础:一个是用于表示地理信息的数据,以及另一个是搜索算法。
诸如道路网络的电子地图的地理信息通常由数据提供商免费或收费地运营。这样的地理信息使用表示沿着道路网络的兴趣点的节点和权重以及距离。兴趣点可以是地标、路口、商业地点等。一般来说,这样的数据库中所包括的节点的数量取决于数据库所覆盖的区域的大小。对于小城镇,节点的数量可为几百个。对于地区,节点的数量可为几百万。对于大陆,节点的数量可为几亿。
在地理信息可用之后,Dijkstra算法是用于从电子地图寻找最短路径的经典算法。以下网页提供了示出该算法如何以实际方式工作的示例:http://optlab-server.sce.carleton.ca/POAnimations2007/Dij kstrasAlgo.html。通常,Dijkstra算法将有时被称为图形的网络上的节点分为两组:“已解决”组和“未解决”组。该算法实施了迭代过程,在此期间每次迭代将网络中的一个节点从未解决组移动到已解决组。一开始,已解决组仅具有起始节点。未解决组具有剩余节点。然后,Dijkstra算法从起始节点开始并访问未解决组中与已解决组中的节点相邻的所有节点,以搜索距起始节点的最短距离。在第一次迭代之后,该算法将该额外节点识别为“已解决”节点并将其添加到已解决组。第二次迭代将访问与“已解决”组中的节点相邻的其余未解决节点,并将一个额外节点识别为另一“已解决”节点。这样的迭代继续,直到目的地节点被包括在“已解决”组中。
尽管Dijkstra算法可以为最短路径问题找到准确的解决方案,但对于实际应用,它具有某些缺陷。对于诸如表示地区或大陆地图的大型图形,Dijkstra过程可为计算密集型,因为必须在大型地图图形上为要服务的每一个客户反复地调用这种算法。在运输应用中,解决最短路径问题所花费的时间是评估路由系统的性能的重要因素。使用基于预设调度来计算许多驾驶员路线的自动化软件的管理员希望预期在几分钟内从服务器返回搜索结果。在没有修改的情况下基于Dijkstra算法的路由算法将无法满足这样的需求。
已使用各种方法来加速Dijkstra算法。Peter Sanders等人的的题为“Engineering Fast Route Planning Algorithm”(WEA2007,LNCS 4525,第23-35页,2007年)的文章提供了对用于加速Dijkstra算法的不同方法的一般介绍。常用的加速方法的缺点在于它们依赖于图形的附加信息来优先搜索算法。例如,在车辆路由应用中,一些加速算法使用速度曲线、公路层级和交通量来加快搜索过程。但是,这种类型的加速技术对计算资源提出了更高的要求,因为在搜索算法运行时需要对附加数据进行缓冲和处理。此外,使用基于Dijkstra的算法的Dijkstra需要原始地图数据可用。然而,由于商业和技术原因,该数据常常不可用。相反,使用外部服务通过执行合适的查询来计算距离。这样的外部服务本身将保存原始地图数据,但对路由服务将不可用。
发明内容
因此,期望具有一种减少用于搜索最短路线的时间量的系统和方法。优选的是,这样的系统和方法将需要来自地理信息数据库的较少量的数据,以便节省计算资源并提高计算效率。
本申请公开了一种通过分解节点集合并且依赖于仅对有限的节点集合的精确距离(最短路径)计算来近似所有对的距离矩阵的系统和方法。结果基于对节点的分层分解,通过其首先识别节点所接近的聚类。在每个聚类内,使用任何当前可用的算法来计算精确距离。一些聚类间路线也被精确地计算,而大多数其它路线被近似。在计算的矩阵的精度与获得它的计算工作量之间达到平衡。
许多传统技术旨在基于知道底层图形来找到精确的所有对的距离矩阵。如果不提供对网络的附加底层属性的直接访问,则使得传统方法不可能在路径计算中利用典型捷径,例如用于类似Dijkstra的方法的许多加速技术所基于的那些。本申请能够应对用户无法直接访问图形的底层属性而仅可查询路径服务器以获得两个节点之间的距离或者节点集合的所有对的距离矩阵的情形。通过使用用于最短路径的小维度查询的集合而不是单个大集合,该方法使得加速并节省了对所有对的最短路径服务器的查询。该方法还支持并行运行小维度查询,从而显著缩减了完成所有查询所需的总时间。本申请能够获得速度与精度之间的平衡,使得以高概率精确地计算在实际路由情况下最可能使用的路线,而对具有大距离的对获得近似。
本申请的实施方式涉及一种用于近似原始道路网络的节点集合之间的所有对的最短行进路径的方法。该方法包括:将节点集合聚类成多个子组,使得每个子组中的节点的数量不大于第一预定阈值,并且同一子组中的任何两个节点之间的最大距离不大于第二预定阈值;添加属于同一子组的所有对的组内最短路径信息;添加所有子组对的组间最短路径信息;以及搜索原始道路网络和添加的信息以获得最短行进路径。
根据实施方式,最大距离表示欧几里得距离。
根据另一实施方式,聚类步骤使用节点的坐标来计算欧几里得距离并且不使用公路层级或速度曲线的信息来进行节点集合的聚类。
根据另一实施方式,组内最短路径表示同一子组中的所有对的最短路径。
根据另一实施方式,该方法还基于两个子组之间的最近欧几里德距离来识别边界节点。
根据另一实施方式,组间最短路径表示边界节点的所有对的最短路径。
根据另一实施方式,同一子组中的所有对的组内最短路径以及子组的所有对的组间最短路径由第三方计算服务器来计算。
根据另一实施方式,该方法还创建包括从节点集合选择的预定数量的节点的简化图形。
根据另一实施方式,在简化图形上使用Dijkstra算法来找到简化图形的任两个节点之间的路径。
根据另一实施方式,聚类步骤被周期性地实现或者由一组预定事件触发。
根据另一方面,本申请涉及一种存储可执行程序的非暂时性记录介质,所述可执行程序在被执行时使得处理器实现如本公开所阐述的用于近似原始道路网络的节点集合之间的所有对的最短行进路径的方法。
附图说明
附图被提供以示出本公开的实施方式,并且与详细描述一起用于说明本申请所阐述的实施例的原理,附图中。
图1示出根据本申请的实施例的路由系统。
图2示出根据本申请的实施例的计算装置的一般结构。
图3示出根据本申请的实施例的道路网络的示例。
图4示出根据本申请的实施例的聚类方法。
图5A示出根据本申请的实施例的节点组的集合。
图5B示出根据本申请的实施例的组内最短路径。
图5C示出根据本申请的实施例的边界节点组中的节点之间的最短路径。
图5D示出根据本申请的实施例的示例性图形G。
图6示出根据本申请的实施例的找到起始节点与目的地节点之间的最短路径的方法。
具体实施方式
本领域普通技术人员将理解,以上简要描述和以下详细描述是本申请所阐述的主题的示例性(即,说明性)和解释性,而并不旨在限制它们或者限制在各种实现方式中本申请可实现的优点。另外,将理解,前面的总结和随后的详细描述是本申请所阐述的一些实施例的代表,既不代表也不包括本申请所阐述的范围内的所有主题和实施例。
图1示出根据本申请的实施例的路由系统。路由系统100向多个车辆104提供路由服务。路由系统100可被向订阅路由服务的多个实体提供路由服务的一个公司所有。例如,路由服务器110可以是由向其它公司提供车队相关服务的公司操作和管理的多个路由服务器之一。在另一示例中,在几个城镇中拥有随叫随到的车队104的管道公司可能期望使用第三方提供的路由服务来改善其车辆的调度和管理。本地汽车服务公司也可能期望相同的服务。由于成本和缺乏专业知识,管道公司和汽车公司二者都不想拥有他们自己的路由系统。根据实施例,路由系统100被用于生成穿过多个点的合适路线。根据实施例,合适路线表示多个点之间的最短路径集合或最低成本路径。术语“最短路径”或“最低成本路径”不限于最短距离,而是还包括最少时间、最少燃料消耗量、最少排放量或其组合的概念。根据实施例,路由系统100被用于为管理车队的多个客户生成合适路线。客户可基于其车队调度来提交多个路由请求。
如图1所示,路由系统100包括通信网络102、GIS数据库106、服务管理子系统108、路由服务器110、联合数据库112以及第三方计算服务器114。当车辆104需要路由服务时,车辆104经由通信网络102向服务管理子系统108发送请求。服务管理子系统108管理车辆104与系统100的其它组件之间的通信。在从服务管理子系统108向路由服务器110发送请求信息之后,由路由服务器110识别期望的路线,并且所期望的路线被发送回车辆104。路由服务器110还可使用存储在联合数据库112中的信息,并且还可使用第三方计算服务器114来加速搜索期望路线的过程。根据实施例,路由系统100可以向车辆提供路由服务。根据实施例,路由系统100可以向车队管理者提供路由服务,车队管理者基于计划的交付或客户位置来分批提交路线搜索请求。
通信网络102应该被广义地解释为包括可以利用互联网连接、LAN/WAN连接、电话连接、无线连接、短消息系统(SMS)、卫星连接等在装置之间创建的多种类型的网络中的任一个或更多个。根据实施例,通信网络102至少包括蜂窝网络122、卫星网络124以及诸如互联网的计算机网络126。计算机网络126可以包括各种配置和协议,包括互联网、万维网、内联网、虚拟专用网络、广域网、本地网络、使用一个或更多个公司专有的通信协议的专用网络、以太网、WiFi和HTTP、云和基于云的服务、以及上述的各种组合。可以通过能够向诸如调制解调器(例如,拨号、线缆或光纤)和无线接口的其它计算机发送数据以及从其发送数据的任何装置来促进这种通信。
多个车辆104可以属于相同的实体或者可以属于不同的实体。多个车辆104可以是诸如乘用车、公共汽车、火车或卡车的任何移动车辆。根据实施例,车辆104包括用于与用户通信的用户接口单元116、用于与外部装置发送和接收信息的无线通信单元118以及用于与导航卫星124通信以接收和发送GPS数据的卫星收发器单元120。用户接口单元116能够在电子屏幕上显示地图和路线,并且还使用语音来辅助导航。无线通信单元118能够向蜂窝通信网络122发送数据以及从其接收数据。根据实施例,无线通信单元118还能够实现诸如蓝牙的短距离无线通信协议。根据实施例,允许驾驶员通过多种方法输入行进的起点和终点。驾驶员可以使用地址和坐标来指定位置。驾驶员也可以使用触摸屏通过在屏幕上轻敲来输入位置。驾驶员还可以使用调度来输入期望的行进点。卫星单元120可以自动地确定当前位置并且使当前位置信息对驾驶员可用。
GIS数据库106以电子格式提供包括地图数据的基础和专题空间数据的综合集合。通常,电子地图描绘了已知的道路网络,并识别沿着道路网络的地理位置处的兴趣点。诸如路线交叉点、地标和识别的路点的兴趣点通常被称为节点,并且在计算机中通过所选择的地理坐标系统的坐标位置来识别。此外,GIS数据库106能够集成来自其它数据库的数据,例如可以提供道路网络的运行信息的交通信息数据库,包括速度曲线、紧急维修、公路层级和关闭信息。GIS数据库106可以向用户免费地或收费地提供数据。当GIS数据库106收取服务费用时,使用该服务的用户将偏好于使用较少的数据和服务以降低花费。根据本申请的实施例,路由服务器110可能不需要GIS数据库116中记录的完整信息集合。根据实施例,当路由服务器110对点集合进行聚类时,路由服务器110可能仅需要这些点的坐标,而不需要这些点之间的链接信息。
服务管理子系统108表示车辆104与系统的其它组件之间的接口。服务管理系统108接收来自车辆104的请求,并将这些请求发送到指定的子系统。服务管理系统108还能够向车辆104发送诸如路线信息或交通警示的信息。
路由服务器110实现多种搜索算法以为所有车辆找到例如最短路径的合适的路线。路由服务器110将在其自己的处理单元上运行路由算法。路由服务器110可以分割搜索任务并请求第三方计算服务器114并行地计算行进距离和时间,这有时被称为分散搜索。本申请的目的在于减少路由服务器110响应路线搜索请求的响应时间。
联合数据库112存储路由请求和搜索结果的历史。例如,联合数据库112可以维护每个车辆的路由历史的日志。联合数据库112可以维护每个驾驶员的路由历史的日志。联合数据库112还可以维护订阅路由系统的每个实体的路由历史的日志。当路由系统110需要从多个候选中选择一条路线时,可以将存储在联合数据库中的路由历史提供给路由系统110以基于其路由历史根据实体或驾驶员的偏好来选择路线。
图2示出根据实施例的服务管理子系统108、路由服务器110和第三方计算服务器114的一般结构。示例性结构200包括CPU 202、ROM 204、RAM 206、总线208、输入/输出接口210、输入单元212、输出单元214、存储单元216、通信单元218和驱动器220。CPU 202、ROM204和RAM 206经由总线208彼此互连,并且输入/输出接口210也连接到总线208。除了总线208之外,输入单元212、输出单元214、存储单元216、通信单元218和驱动器220还连接到输入/输出接口210。
CPU 202根据存储在ROM 204中的程序或者根据从存储单元216经由输入/输出接口210和总线208加载到RAM 206中的程序来执行各种类型的处理。ROM204中已经存储有待由CPU 202执行的程序。RAM 206按需存储待由CPU 202执行的程序以及CPU 202执行各种类型的处理所需的数据。CPU 202可以包括诸如ASIC、FPGA、GPU等的多个处理器。程序可以包括待由处理器直接地(例如,机器码)或间接地(例如,脚本)执行的任何指令集。在这方面,术语“指令”、“步骤”和“程序”在本文中可互换使用。指令可按照目标代码格式存储以由处理器直接处理,或者可按照任何其它计算机语言存储,计算机语言包括脚本或根据需要解释或预先编译的独立源代码模块的集合。下面更详细地说明指令的功能、方法和例程。
输入单元212包括键盘、鼠标、麦克风、触摸屏等。当输入单元212由用户操作时,输入单元212经由输入/输出接口210和总线208将基于该操作的输入信号供应给CPU 202。输出单元214包括诸如LCD的显示器或者触摸屏或扬声器等。存储单元216包括硬盘、闪速存储器等,并且存储由CPU 202执行的程序、经由网络发送到终端200的数据等。
通信单元218包括调制解调器、终端适配器以及其它通信接口,并且经由图1的网络执行通信过程。
有时可移除的非暂时性存储介质222可以由磁盘、光盘、磁光盘、闪存或EEPROM、SDSC(标准容量)卡(SD卡)或半导体存储器形成。介质222被按需加载到驱动器220中。驱动器220读取记录在介质222上的数据或者将预定数据记录在可移动介质222上。
装置200可以使用诸如Microsoft WindowsWindows或VistaTMMac的操作系统。代替操作系统或除了操作系统以外,可存储其它程序。将理解,计算机系统也可以在所提及的那些以外的平台和操作系统上实现。任何操作系统或其它程序或者任一个的任何部分可以使用一种或更多种编程语言来编写,例如C、C++、C#、VisualPerl、Ruby、Python或可能使用面向对象的设计和/或编码技术的其它编程语言。
可以根据指令来检索、存储或修改数据。例如,尽管系统和方法不受任何特定数据结构限制,数据可以存储在计算机寄存器中,作为具有多个不同字段和记录的表、XML文档、平面文件等存储在关系数据库中。也可以按照任何计算机可读格式来格式化数据,例如但不限于二进制值、ASCII或Unicode。文本数据也可能被压缩、加密或两者兼而有之。仅作为另一示例,图像数据可以作为由像素组成的位图存储,该位图按照压缩或未压缩或者无损或有损格式(例如,JPEG)、基于向量的格式(例如,SVG)或用于绘制图形的计算机指令来存储。此外,数据可以包括足以识别相关信息的任何信息,例如数字、描述性文本、专有代码、指针、对存储在其它存储器(包括其它网络位置)中的数据的引用、或者由函数用来计算相关数据的信息。
根据本申请的实施例,本申请所公开的路由算法和过程可被实现为硬件、软件或两者。当算法和过程被实现为诸如可执行程序的软件时,算法和过程被存储在介质222中。如图2所示的一般结构需要被专门地配置以处理本申请所公开的算法和过程。例如,程序需要被安装在装置200中并被注册在操作系统中。因此,包括在程序中的那些单独指令将示例性结构从通用计算机传送到特殊设计的装置,以执行如本申请所公开的算法和过程。
图3示出了根据本申请的实施例的道路网络的示例。也被称为图形的道路网络300具有经由多个链路连接的多个节点。每条线表示最短路径,并且也表示所连接的节点之间的进入方向和离开方向上的距离。每个节点表示驾驶员需要访问或服务其的特定位置,类似例如客户。术语“客户”不限于人或组织——客户可以是地图上需要对其进行访问的一般点。如图3所示,节点1连接到节点3。节点2连接到节点4。节点3连接到节点4、5和15,依此类推。与每条链路关联的数值称为链路权重,其表明链路两端的两个节点之间的成本。作为示例,成本可以表示距离、燃料消耗、通行费、排放或行进时间。尽管图3所示的节点以数字来标记,该标记是为了处理方便。可以使用任何其它合适的标记方法。
图3总共示出了17个节点,其可能仅表示一个小的客户集合。对于实际应用,这样的数量可能高达10000或更高。基于这样大的图形的搜索算法在计算速度、计算时间和存储器存储方面需要大量的资源。根据本申请的实施例,可以首先将大的客户集合聚类成由节点组表示的多个小的子集,然后可将期望的距离值的计算分割为多个子搜索,包括组内部的搜索(组内搜索)和组之间的搜索(组间搜索)。如图3所示,诸如节点14、13、8和9的一些节点彼此紧密相邻并且可被指派给一个组。这些节点可被认为位于大都市区域中。诸如节点1或节点2的一些节点不与许多其它节点连接。它们中的每一个可被认为在单个组中,其代表一个孤立的客户。
图4示出根据本申请的实施例的路由系统所实现的聚类方法。该聚类方法优选在路由系统开始实际路由计算之前作为预处理步骤来实现,使得实际响应时间减少。该聚类过程可以周期性地实现(例如,每月或每季)。该聚类过程可由事件触发,例如当公布新的GIS数据集合时、当主要道路建设完成时、当通告主要道路封闭时、或者当发生重大事故时。根据另一实施例,在接收到路由请求的时候处理该聚类方法。
在步骤402,路由系统110从GIS数据库检索多个点的信息。所述多个点可以是大都市地图、地区地图、国家地图或大陆地图的全部节点。根据实施例,多个点的信息表示存储在GIS数据库中的可用信息的子集。所检索到的这些点的信息用于将它们聚类成子组,子组可以仅包括节点v1至vn的坐标。在步骤402所检索到的信息中不包括较高级别的地理信息,例如行进距离、公路层级和速度曲线。根据实施例,所检索到的信息可以仅包括一组点的坐标。可以基于所述坐标来计算距离信息。根据另一实施例,所检索到的信息可以包括多个节点的坐标和距离数据二者。对所检索到的信息中的数据量的这种降低的要求使处理更有效并且使用更少的计算资源。为了实现聚类方法,可以可选地使用诸如公路层级的其它信息,但不要求如此。
在步骤404,路由系统110确定图形是否需要被聚类。如果客户位置的数量较少,则路由系统110确定节点不需要被聚类并且结束聚类方法。根据实施例,使用输入节点的数量作为确定图形是否需要被聚类的基础。根据实施例,如果节点数量大于100000、或大于10000、或大于1000、或大于100、或大于50,则图形需要被聚类。
在步骤406,图形被聚类成多个组。可以根据各种算法来实现该聚类步骤。根据实施例,图形可以被分割为多个网格,每个网格表示节点组。根据实施例,图形的分割至少需要满足以下两个标准:
1.每个组中的节点数量不大于预定上限E,其中E表示正整数;以及
2.同一组中的任两个节点之间的成本——例如,欧几里得距离,不大于预定上限M,其中M表示正实数。该标准将组中的例如为距离的最大成本限制为不大于期望的值。
E与M之间的选择表示算法执行速度与精度之间的折中。较高的E值和较低的M值导致距离更精确,但计算成本更高。较低的E值和较高的M值导致距离不太精确,但计算更高效。
可以基于路由服务器和第三方计算服务器的计算能力来确定E与M的选择。可以通过对系统预期接收到的数据进行采样,然后利用变化的E和M值执行算法,来执行用于选择E和M的合适值的测试。对于每一组E和M值,记录计算时间和达到的精度二者。根据实施例,将通过本申请所阐述的算法获得的计算时间和达到精度与通过查询第三方计算服务器114而获得的计算时间和达到精度进行比较。基于比较结果,可以根据系统的用户愿意等待的程度以及需要何种精度来选择折中。例如,下表总结了对于E和M的选择范围,依据通过所提出的算法获得的估计的行进时间与通过第三方计算服务器114返回的行进时间之间的差异所测量的中位数计算时间和精度。
E M(米) 中位数时间误差(分钟) 总计算时间(分钟)
50 5000 0.13 87
50 10000 0.20 94
50 30000 0.21 103
200 5000 0.70 58
200 10000 1.08 41
200 30000 1.22 34
根据实施例,判定1分钟左右的误差是可接受的。因此,E和M的对应值为E=200,M=10000,这表示对于计算而言可取的值。E=200和M=30000未被选择,这是因为所承诺的时间误差太大。
使用诸如k-means方法的聚类过程将点集合分割为k个聚类。根据实施例,组的初始数量被预定为k=2。根据另一实施例,组的初始数量被设定为节点的总数除以E。在聚类过程之后,对于每一个聚类,检查上述两个条件:其包含数量不超过E的节点,并且聚类中的任两个点之间的最大欧几里得距离小于M。如果聚类违反任一条件,则该聚类随后被分割,直到两个条件都被满足。
在步骤408,实施对组内成本的计算,其中计算聚类中的所有节点对之间的精确成本。根据实施例,组内成本表示同一组中的所有对之间的最短路径。该计算过程如图1所示由第三方计算服务器实施。任何合适的算法可用于计算组内最短路径,例如Floyd-Warshall算法或重复的Dijkstra过程。
在步骤410,计算组间成本。首先,对于每一对聚类(A,B),搜索和识别根据欧几里得距离(a,b)的最近的一对点,其中点“a”属于聚类A,点“b”属于聚类B。在识别出所有组的所有最近的对之后,将这些最近的对指派给一个节点组,其被称为“边界节点组”。然后,计算边界节点组中的所有点之间的所有对的最小成本。该计算由第三方计算服务器实施。根据实施例,该边界节点组表示所有边界节点的近似。由于边界节点组是找到两组之间的最近的对的结果,所以最近的对可能不包括两组之间的所有自然或通常意义上的边界节点。因此,边界节点组中的所有对之间的最短路径可能不总是精确的最短路径,从而使得最短路径在严格意义上说是近似的。因此,一般来说,所计算的最短路径表示近似,因为并不是所有的路径都将被精确地计算。在一个示例中,在一对节点之间可能存在精确的非近似最短路径,该最短路径表示该一对节点之间的直接链路并且不包括集合中的任何其它节点。如果这两个节点在通过本系统生成的图形中不被直接链接,则本系统和算法所生成的路径将必须经过一些其它节点,因此与实际最短路径不同。那么,在这种情况下,计算表示近似,而不是精确的最短路径。
在步骤412,构建具有添加信息的图形G。根据一个实施例,图形G包括所有原始节点。根据另一实施例,图形G仅包括从原始节点中选择的节点子集。例如,节点子集可以包括表示客户位置或频繁访问的地点的节点。根据实施例,当且仅当在两个节点i和j之间已计算了精确距离时,图形G在这两个节点之间还包括弧(arc)或标签。G中的两个节点之间的每条弧表示最短路径。该图形G足够小以被保存在存储器中。
图5A示出了由根据本申请的实施例的聚类过程得到的三个聚类。图形500具有九个节点,其被聚类成三组:组A、组B和组C。节点51、52和53属于组A。节点56、57、58和59属于组B。节点55和54属于组C。该聚类方法允许组具有不同的大小和不同数量的节点,只要一个组内的最大距离以及一个组内的节点的最大数量低于上限M和E即可。
在这九个节点当中,五个节点52、53、55、56和59被识别为属于边界节点组的节点。例如,节点52和55表示组A与组C之间最近的对。节点55和56表示组C与组B之间最近的对。节点59和53表示组A与组B之间最近的对。从通常意义上讲,节点51、54、58和57位于组A、B和C的最外边界处,并且常规地将被认为是边界节点。但是根据本申请,节点51、54、57和58不属于边界节点组,因为它们不与任何其它节点形成最近的对。
图5B示出了由根据本申请的实施例的聚类过程得到的所有对的组内最短路径。如图5B所示,对于组A、B和C分别计算组内最短路径。当无需区分路径的方向时,组A在三个节点之间具有三条最短路径。当需要随距离识别路径的方向时,由于每个链路具有两个方向的事实,所以组具有六条最短路径。类似地,当无需区分方向时,组B在四个节点之间具有六条最短路径,组C在两个节点之间具有一条最短路径。
图5C示出了由根据本申请的实施例的聚类过程得到的边界节点组中的所有对的最短路径。如图5B所示,已对于边界节点组中的所有节点对计算了最短路径,这在本申请中将被称为组间最短路径。注意,节点52和53之间的最短路径既是组内最短路径也是组间最短路径。
图5D示出了根据本申请的实施例的图形G的示例。图形G包括诸如组A、B和C的聚类信息、边界节点组的信息、最短组内路径和组间最短路径。粗箭头被计算为边界节点组(包括节点52、53、55、56和59)中的节点当中的聚类间最近的对之间的距离。虚线箭头表示在同一聚类内但是还连接边界节点组的两个节点的弧。例如,节点53与节点52之间的弧在组A内。同时,该弧还连接属于边界节点组的两个节点53和52。细箭头表示组内最短路径。所有弧都是双向的。任两点之间的距离被计算为这样的图形G内的最短路径。根据实施例,关于聚类、边界节点组以及它们之间的最短路径的信息以标志和数值存储在查找表中,使得后续过程可以参考该查找表以获得所述信息。
图6示出了根据本申请的实施例的寻找最短路径的方法。在步骤602,路由系统110在执行路由算法的同时需要知道给定源节点与另一目的地节点之间的距离。起始位置被表示为图形G上的节点,而目的地位置由另一节点表示。在步骤604,路由系统110从查找表检索图形G,并确定起始节点和目的地节点属于哪个组。例如,如果使用图5所示的图形作为示例,则起始码和目的地节点可以是节点57和59,这意味着它们属于同一组C,那么路由系统110可以简单地使用预先计算的查找表来识别起始节点与结束节点之间的最短路径,并且不需要大量的计算。但是,如果起始节点可以是属于组A的节点51,而目的地节点可以是属于组B的节点57,这意味着源码和目标节点属于不同的组,则路由系统在图形G上使用Dijkstra算法来确定节点51和57之间的最短路径。在图形G上使用Dijkstra是非常快速的过程,因为G中的节点数量可等于客户数量,这与包括所有地理特征的地图图形相比是非常小的数字。
如本文所用的短语“实施例”未必表示同一实施方式,尽管可以这样表示。另外,冠词的含义包括复数引用;因此,例如,“实施例”不限于单个实施例,而是指一个或更多个实施例。如本文所用,术语“或”是包含性的“或”运算符,并且等同于术语“和/或”,除非上下文另有明确规定。术语“基于”不是排他性的,而是允许基于未描述的附加因素,除非上下文另有明确规定。要注意的是,在本公开中,特别是在权利要求和/或段落中,诸如“包括”等的术语可以具有在美国专利法中归因于它的含义;例如,它们可以意指“包含”等。
尽管已结合上述特定实施方式描述了本发明,但显然,许多替代、修改和变化对于本领域普通技术人员而言将是显而易见的。因此,如上所述的本发明的优选实施例旨在为例示性的而非限制性的。在不脱离如所附权利要求书限定的本发明的精神和范围的情况下,可以进行各种改变。

Claims (21)

1.一种用于近似原始道路网络的节点集合之间的所有对的最短行进路径的方法,包括:
将所述节点集合聚类成多个子组中,使得每个子组中的节点数量不大于第一预定阈值,并且同一子组中的任两个节点之间的最大距离不大于第二预定阈值;
添加属于同一子组的所有对的组内最短路径的信息;
添加子组之间的所有对的组间最短路径的信息;以及
搜索所述原始道路网络和所添加的信息以获得最短行进路径。
2.根据权利要求1所述的方法,其中,所述最大距离表示欧几里得距离。
3.根据权利要求2所述的方法,其中,所述聚类步骤使用节点的坐标来计算所述欧几里得距离。
4.根据权利要求3所述的方法,其中,所述聚类步骤不使用公路层级或速度曲线的信息来对所述节点集合进行聚类。
5.根据权利要求1所述的方法,其中,所述组内最短路径表示所述同一子组中的所有对的最短路径。
6.根据权利要求1所述的方法,还包括:
基于两个子组之间的最近欧几里得距离来识别边界节点。
7.根据权利要求1所述的方法,其中,所述组间最短路径表示边界节点的所有对的最短路径。
8.根据权利要求1所述的方法,其中,所述同一子组中的所有对的组内最短路径和子组的所有对的组间最短路径由第三方计算服务器来计算。
9.根据权利要求1所述的方法,还包括:
创建包括从所述节点集合中选择的预定数量的节点的简化图形。
10.根据权利要求9所述的方法,其中,在所述简化图形上使用Dijkstra算法以找到所述简化图形的任两个节点之间的路径。
11.根据权利要求1所述的方法,其中,所述聚类步骤被周期性地实施。
12.根据权利要求1所述的方法,其中,所述聚类步骤由一组预定事件触发。
13.一种存储可执行程序的非暂时性记录介质,所述可执行程序在被执行时使得处理器实施用于近似原始道路网络的节点集合之间的所有对的最短行进路径的方法,所述方法包括:
将所述节点集合聚类成多个子组中,使得每个子组中的节点数量不大于第一预定阈值,并且同一子组中的任两个节点之间的最大距离不大于第二预定阈值;
添加属于同一子组的所有对的组内最短路径的信息;
添加子组之间的所有对的组间最短路径的信息;以及
搜索所述原始道路网络和所添加的信息以获得最短行进路径。
14.根据权利要求13所述的非暂时性记录介质,其中,所述最大距离表示欧几里得距离。
15.根据权利要求14所述的非暂时性记录介质,其中,所述聚类步骤使用节点的坐标来计算所述欧几里得距离。
16.根据权利要求15所述的非暂时性记录介质,其中,所述聚类步骤不使用公路层级或速度曲线的信息来对所述节点集合进行聚类。
17.根据权利要求13所述的非暂时性记录介质,还包括:
基于两个子组之间的最近欧几里得距离来识别边界节点。
18.根据权利要求13所述的非暂时性记录介质,其中,所述同一子组中的所有对的组内最短路径和子组的所有对的组间最短路径由第三方计算服务器来计算。
19.根据权利要求13所述的非暂时性记录介质,还包括:
创建包括从所述节点集合中选择的预定数量的节点的简化图形。
20.根据权利要求13所述的非暂时性记录介质,其中,所述聚类步骤被周期性地实施。
21.根据权利要求13所述的非暂时性记录介质,其中,所述聚类步骤由一组预定事件触发。
CN201580079757.7A 2015-05-19 2015-05-19 用于加速路线搜索的系统和方法 Active CN107624190B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/060961 WO2016184501A1 (en) 2015-05-19 2015-05-19 System and method for accelerating route search

Publications (2)

Publication Number Publication Date
CN107624190A true CN107624190A (zh) 2018-01-23
CN107624190B CN107624190B (zh) 2020-12-08

Family

ID=53267335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580079757.7A Active CN107624190B (zh) 2015-05-19 2015-05-19 用于加速路线搜索的系统和方法

Country Status (5)

Country Link
US (1) US10119826B2 (zh)
EP (1) EP3298555A1 (zh)
CN (1) CN107624190B (zh)
HK (1) HK1243534A1 (zh)
WO (1) WO2016184501A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110285819A (zh) * 2018-03-19 2019-09-27 北京京东尚科信息技术有限公司 确定最短路径的方法和装置
CN113379342A (zh) * 2021-04-28 2021-09-10 杭州中港科技有限公司 基于最短路径算法优化物联网服务管理系统
CN114419357A (zh) * 2022-03-10 2022-04-29 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机及可读存储介质

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10438137B2 (en) 2014-10-06 2019-10-08 Massachusetts Institute Of Technology System for real-time optimal matching of ride sharing requests
US10248925B2 (en) * 2016-12-06 2019-04-02 Walmart Apollo, Llc Systems and methods for compressing shortest path matrices for delivery route optimization
JP6517845B2 (ja) * 2017-01-17 2019-05-22 株式会社荏原製作所 スケジューラ、基板処理装置、及び基板搬送方法
US10140286B2 (en) * 2017-02-22 2018-11-27 Google Llc Optimized graph traversal
US10789558B2 (en) * 2017-05-31 2020-09-29 Astrazeneca Pharmaceuticals Lp Non-linear systems and methods for destination selection
CN110659850A (zh) * 2018-06-29 2020-01-07 微软技术许可有限责任公司 用于货物调配的规划
US11500936B2 (en) * 2018-08-07 2022-11-15 Walmart Apollo, Llc System and method for structure and attribute based graph partitioning
US11604073B1 (en) 2018-09-24 2023-03-14 Apple Inc. Route guidance system
CN110197305B (zh) * 2019-05-31 2023-11-17 国家电网有限公司 一种基于最短路径算法的继电保护数据模型搜索优化方法及系统
CN110598921A (zh) * 2019-08-30 2019-12-20 泰华智慧产业集团股份有限公司 基于最短路径算法的建筑项目辅助选址方法及系统
US11868951B2 (en) * 2019-10-03 2024-01-09 Walmart Apollo, Llc Clustering regulated VRPTW solver for large scale batch optimization of last mile delivery
CN113126607B (zh) * 2019-12-31 2024-03-29 深圳市优必选科技股份有限公司 一种机器人及其运动控制方法和装置
CN111428925B (zh) * 2020-03-20 2022-07-19 北京百度网讯科技有限公司 用于确定配送路径的方法和装置
CN111780762B (zh) * 2020-06-30 2022-04-22 杭州海康机器人技术有限公司 巡检路径生成方法、装置和存储介质
CN111665868B (zh) * 2020-07-21 2023-06-13 陕西欧卡电子智能科技有限公司 基于虚拟航道的无人船返航方法、装置、设备及存储介质
CN112418676B (zh) * 2020-11-24 2024-05-14 北京骑胜科技有限公司 一种车辆投放的方法、装置、可读存储介质和电子设备
US11922530B2 (en) 2020-11-24 2024-03-05 Verizon Connect Development Limited Systems and methods for utilizing models to determine real time estimated times of arrival for scheduled appointments
CN113065073B (zh) * 2021-03-16 2024-06-11 东南大学 一种城市的有效路径集搜索方法
US20230067108A1 (en) * 2021-08-25 2023-03-02 Kyndryl, Inc. Computer analysis of routing data enabled for autonomous operation and control
CN115727863A (zh) * 2021-09-01 2023-03-03 上海擎感智能科技有限公司 一种车辆的充电路径规划方法及装置
CN114422885B (zh) * 2022-01-20 2023-07-04 中国联合网络通信集团有限公司 基于拓扑路由的路由搜索方法、装置、设备及介质
US20230236025A1 (en) * 2022-01-25 2023-07-27 Verizon Patent And Licensing Inc. Systems and methods for optimal path determination using contraction hierarchies with multi-link constraints

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102483333A (zh) * 2009-07-09 2012-05-30 通腾科技股份有限公司 使用具有路线搜索加速数据的地图数据的导航装置
CN103047990A (zh) * 2012-12-24 2013-04-17 北京交通发展研究中心 基于骨干路网分层的多路径选择方法
CN103198366A (zh) * 2013-04-09 2013-07-10 北京理工大学 一种考虑目标节点时效性的多目标路径规划方法
US20140129139A1 (en) * 2012-11-07 2014-05-08 Intertrust Technologies Corporation Vehicle charging path optimization systems and methods
CN104266656A (zh) * 2014-09-03 2015-01-07 清华大学 用于道路网的最短路径搜索方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08278889A (ja) * 1995-04-05 1996-10-22 Fujitsu Ltd 並列計算機を用いた巡回セールスマン問題解法処理システム
JPH08286920A (ja) * 1995-04-13 1996-11-01 Fujitsu Ltd 巡回セールスマン問題処理装置
US5978730A (en) * 1997-02-20 1999-11-02 Sony Corporation Caching for pathfinding computation
US6038509A (en) * 1998-01-22 2000-03-14 Etak, Inc. System for recalculating a path
US6016485A (en) * 1998-02-13 2000-01-18 Etak, Inc. System for pathfinding
JP2001216286A (ja) * 2000-02-03 2001-08-10 Sony Corp 情報処理方法および情報処理装置
CA2726103A1 (en) * 2008-06-24 2009-12-30 Tele Atlas North America Inc. Methods and systems for dynamically adaptive road network hierarchy and routing
US8121749B1 (en) 2008-09-25 2012-02-21 Honeywell International Inc. System for integrating dynamically observed and static information for route planning in a graph based planner
US8150620B2 (en) * 2009-04-14 2012-04-03 Alpine Electronics, Inc. Route search method and apparatus for navigation system utilizing map data of XML format
US8566030B1 (en) * 2011-05-03 2013-10-22 University Of Southern California Efficient K-nearest neighbor search in time-dependent spatial networks
JP5599830B2 (ja) * 2012-02-03 2014-10-01 クラリオン株式会社 経路案内システム、経路案内サーバ装置およびナビゲーション端末装置
FI20135946L (fi) * 2013-09-23 2015-03-24 Procomp Solutions Oy Rinnakkainen ratkaisun muodostaminen

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102483333A (zh) * 2009-07-09 2012-05-30 通腾科技股份有限公司 使用具有路线搜索加速数据的地图数据的导航装置
US20140129139A1 (en) * 2012-11-07 2014-05-08 Intertrust Technologies Corporation Vehicle charging path optimization systems and methods
CN103047990A (zh) * 2012-12-24 2013-04-17 北京交通发展研究中心 基于骨干路网分层的多路径选择方法
CN103198366A (zh) * 2013-04-09 2013-07-10 北京理工大学 一种考虑目标节点时效性的多目标路径规划方法
CN104266656A (zh) * 2014-09-03 2015-01-07 清华大学 用于道路网的最短路径搜索方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110285819A (zh) * 2018-03-19 2019-09-27 北京京东尚科信息技术有限公司 确定最短路径的方法和装置
CN110285819B (zh) * 2018-03-19 2023-01-31 北京京东乾石科技有限公司 确定最短路径的方法和装置
CN113379342A (zh) * 2021-04-28 2021-09-10 杭州中港科技有限公司 基于最短路径算法优化物联网服务管理系统
CN113379342B (zh) * 2021-04-28 2023-07-25 杭州中港科技有限公司 基于最短路径算法优化物联网服务管理系统
CN114419357A (zh) * 2022-03-10 2022-04-29 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机及可读存储介质

Also Published As

Publication number Publication date
US10119826B2 (en) 2018-11-06
US20170336219A1 (en) 2017-11-23
HK1243534A1 (zh) 2018-07-13
CN107624190B (zh) 2020-12-08
EP3298555A1 (en) 2018-03-28
WO2016184501A1 (en) 2016-11-24

Similar Documents

Publication Publication Date Title
CN107624190A (zh) 用于加速路线搜索的系统和方法
Ma et al. T-share: A large-scale dynamic taxi ridesharing service
US8886453B2 (en) System and method for efficient routing on a network in the presence of multiple-edge restrictions and other constraints
CN104683405B (zh) 在车联网中集群服务器分发地图匹配任务的方法和装置
AU2018307710A1 (en) Dynamically determining origin and destination locations for a network system
CN111428931B (zh) 物流配送线路规划方法、装置、设备及存储介质
US20130204524A1 (en) System for classifying streets for vehicle navigation
JP2020060563A (ja) 複数車両ルート計画方法、及び複数車両ルート計画システム
US11348453B2 (en) Method and apparatus for dynamic speed aggregation of probe data for high-occupancy vehicle lanes
US11430335B2 (en) Method and apparatus for providing large scale vehicle routing
US11644333B2 (en) Apparatus, method, and computer program product for generating map data of categorized links
CN112200336A (zh) 一种车辆行驶路径规划的方法和装置
US10535256B1 (en) Method and apparatus for traffic-aware stochastic routing and navigation
Duan et al. Comprehending and analyzing multiday trip-chaining patterns of freight vehicles using a multiscale method with prolonged trajectory data
CN117333093A (zh) 配送订单的处理方法、装置、设备及存储介质
EP3965043A1 (en) Automated autonomous vehicle recommendations based on personalized transition tolerance
Elalouf Efficient routing of emergency vehicles under uncertain urban traffic conditions
US11796322B2 (en) Apparatus, method, and computer program product for updating link information on a client device
CN112949939A (zh) 基于随机森林模型的出租车载客热点预测方法
CN114065991A (zh) 物流资源优化方法、装置、系统及计算机可读存储介质
CN117744907B (zh) 一种货源路线规划方法、装置、电子设备以及存储介质
US20240087448A1 (en) Method and apparatus for spatial aggregation for location-based services
US11580850B2 (en) Method, apparatus and computer program product for determining lane status confidence indicators using probe data
Wu Incremental routing algorithms for dynamic transportation networks
US20240085205A1 (en) Method and apparatus for machine learning-based prediction of an estimated time of arrival

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1243534

Country of ref document: HK

CB02 Change of applicant information

Address after: Ai Erlandubailin

Applicant after: Verizon Internet Ireland Limited

Address before: Ai Erlandubailin

Applicant before: Frank Matic Ireland Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant