CN101184974B - 用于择路和调度的系统和方法 - Google Patents
用于择路和调度的系统和方法 Download PDFInfo
- Publication number
- CN101184974B CN101184974B CN2006800158697A CN200680015869A CN101184974B CN 101184974 B CN101184974 B CN 101184974B CN 2006800158697 A CN2006800158697 A CN 2006800158697A CN 200680015869 A CN200680015869 A CN 200680015869A CN 101184974 B CN101184974 B CN 101184974B
- Authority
- CN
- China
- Prior art keywords
- friends
- list
- grid
- delivery location
- delivery
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 239000011159 matrix material Substances 0.000 claims description 70
- 230000011218 segmentation Effects 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000012797 qualification Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 9
- 238000000926 separation method Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 29
- 230000007423 decrease Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 238000005303 weighing Methods 0.000 description 3
- 241000193935 Araneus diadematus Species 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Navigation (AREA)
- Warehouses Or Storage Devices (AREA)
Abstract
本发明涉及用于择路和调度的系统和方法。本发明提供了一种用于以经济且有效的方式对时间和距离信息进行计算和存储的系统、方法和计算机程序产品。在开发用于按及时且有效的方式从多个位置递送和查找物品的可横穿网络时可以使用该时间和距离信息。
Description
背景技术
当在大量递送位置之间对递送车辆进行择路时,当前的择路和调度系统通常利用存储的时间和距离数据,结合择路和调度算法,来生成路线。计算递送区内各位置之间的最短路径的处理通常花费高并且耗费时间,该任务随着递送面积的扩大而变得极度困难。实际上,在大量递送位置之间或者广大的陆地面积上进行最短路径计算通常超过某些计算机的处理和存储能力。对于不具备进行这种计算的能力的那些计算机,该处理仍是耗费时间的处理。因此,需要按更经济且有效的格式计算并存储时间和距离数据的改进物流系统。
发明内容
本发明的实施方式提供了一种用于以经济且有效的方式计算并存储时间和距离信息的系统、方法和计算机程序产品。
本发明的一个方面提供了一种计算装置,其至少具有存储器、处理器和显示装置,该计算机装置用于计算并存储两个或更多个递送位置之间的最短路径信息,其中,所述计算装置包括:第一可执行部分,该第一可执行部分包括可以在所述处理器上执行的网格分割模块,其中,所述网格分割模块将总递送区划分成限定数量的网格的倍数,并且所述两个或更多个递送位置位于所述限定数量的网格中的至少一个内;第二可执行部分,该第二可执行部分包括可以在所述处理器上执行的初始朋友选择模块,其中,选择所述限定数量的网格中的一个,并且针对所述选择的网格内的各特定递送位置生成朋友列表,所述朋友列表由最有可能出现在与所述特定递送位置相同的路线上的一组递送位置组成;以及第三可执行部分,该第三可执行部分包括可以在所述处理器上执行的超级矩阵生成模块,其中,所述超级矩阵生成模块针对选择的网格生成由节点和弧组成的可横穿网络,计算从所述选择的网格内的各递送位置到所述可横穿网络内的每一个节点的时间/距离数据,并布局如下的超级矩阵:该超级矩阵包含从选择的网格内的各特定递送位置到该位置的朋友列表中的各递送位置以及任何范围内仓库的时间/距离数据。
本发明的另一方面提供了一种用于将物品递送到两个或更多个递送位置的设备,该设备包括:递送车辆,该递送车辆能够运输所述两个或更多个递送位置中的每一个处的用于递送的一个或更多个物品,其中,在仓库处获得所述用于递送的一个或更多个物品;计算装置,该计算装置至少具有存储器、处理器和显示装置,该计算装置用于计算并存储所述两个或更多个递送位置之间的最短路径信息,所述计算装置包括:第一可执行部分,该第一可执行部分包括可以在所述处理器上执行的网格分割模块,其中,所述网格分割模块将总递送区划分成限定数量的网格的倍数,并且所述两个或更多个递送位置位于所述限定数量的网格中的至少一个内;第二可执行部分,该第二可执行部分包括可以在所述处理器上执行的初始朋友选择模块,其中,选择所述限定数量的网格中的一个,并且针对所述选择的网格内的各特定递送位置生成朋友列表,所述朋友列表由最有可能出现在与所述特定递送位置相同的路线上的一组递送位置组成;以及第三可执行部分,该第三可执行部分包括可以在所述处理器上执行的超级矩阵生成模块,其中,所述超级矩阵生成模块针对选择的网格生成由节点和弧组成的可横穿网络,计算从所述选择的网格内的各递送位置到所述可横穿网络内的每一个节点的时间/距离数据,并布局如下的超级矩阵:该超级矩阵包含从选择的网格内的各特定递送位置到该位置的朋友列表中的各递送位置以及任何范围内仓库的时间/距离数据,其中,所述递送车辆利用所述最短路径信息来确定用于获得所述两个或更多个递送位置中的每一个处的所述用于递送的一个或更多个物品并且将所述两个或更多个递送位置中的每一个处的所述用于递送的一个或更多个物品运输到各递送位置的路线。
本发明的还一方面提供了一种用于计算并存储两个或更多个潜在递送位置之间的最短路径信息的方法,该方法包括以下步骤:(1)将递送区分割成一个或更多个分离的地理区域的倍数,其中,所述地理区域中的每一个包括第一组一个或更多个潜在递送位置;(2)选择第一地理区域;(3)针对所述第一组一个或更多个潜在递送位置中的每一个生成朋友列表;(4)生成可横穿网络,其中,所述可横穿网络包括一组节点和弧,并且还包括一组两个或更多个节点,所述一组两个或更多个节点至少包括地理上位于所述第一地理区域内的潜在递送位置以及在步骤(3)生成的所述朋友列表中的任一个内包括的所有潜在递送位置;(5)计算从地理上位于所述第一地理区域内的潜在递送位置中的每一个到所述可横穿网络内包含的每一个节点的最短路径信息;以及(6)选择特定最短路径信息并存储该特定最短路径信息以供择路和调度系统将来查找。
本发明的另一方面提供了一种用于计算并存储两个或更多个潜在递送位置之间的最短路径信息的方法,其中,所述方法包括以下步骤:(1)针对地理上位于一地理区域内的各潜在递送位置生成唯一的一组潜在递送位置;(2)生成唯一地与所述地理区域相关联的可横穿网络,其中,所述可横穿网络包括一组节点和弧,并且还包括一组两个或更多个节点,所述一组两个或更多个节点至少包括地理上位于所述地理区域内的潜在递送位置、以及在步骤(1)生成的所述唯一一组潜在递送位置内包括的所有潜在递送位置;(3)计算从地理上位于所述地理区域内的潜在递送位置中的每一个到所述可横穿网络内包含的每一个节点的最短路径信息;以及(4)选择特定最短路径信息并存储所选择的特定最短路径信息以供择路和调度系统将来查找。
本文将更充分地描述本发明的这些和其他方面。
附图说明
已经在总体上这样描述了本发明,下面将参照附图,这些附图不必按比例绘制,在附图中:
图1例示了根据本发明一个实施方式的超级矩阵计算机系统的示意图;
图2是例示根据本发明一个实施方式的超级矩阵计算机系统执行的各步骤的流程图;
图3是例示根据本发明一个实施方式的四网格分割模块执行的各步骤的流程图;
图4是例示根据本发明一个实施方式的初始朋友选择模块执行的各步骤的流程图;
图5是例示根据本发明一个实施方式的地理平衡模块执行的各步骤的流程图;
图6是例示根据本发明一个实施方式的超级矩阵生成模块执行的各步骤的流程图;
图7是例示根据本发明一个实施方式的用于计算从各个范围内仓库到所有网格内、范围内位置的时间/距离的超级矩阵生成模块执行的附加步骤的流程图;
图8(A)是例示根据本发明一个实施方式的其中使用XY/毕达哥拉斯定理计算来生成时间和距离的下降处理模块执行的各步骤的流程图;
图8(B)是例示根据本发明一个实施方式的其中通过生成“小型可横穿网络(mini-travnet)”来编辑时间和距离的下降处理模块执行的各步骤的流程图;
图9是根据本发明一个实施方式的位于示例性递送区内并且利用超级矩阵计算机系统的可视显示屏来显示的各唯一递送位置的图示;
图10例示了已绘制50个位置之后的图9的示例性递送区;
图11例示了已处理501个位置之后的图9的示例性递送区;
图12例示了已绘制1000个位置之后的图9的示例性递送区;
图13例示了图12中示出的示例性递送区的局部放大图;
图14例示了图9的各递送位置的完整的四网格分解;
图15例示了在已处理所有各种位置之后的最高密度位置网格的四网格分解;
图16例示了一种确定处理递送位置的顺序的方法;
图17以图形方式例示了特定起始位置的朋友列表内包括的位置;
图18是在假设最大朋友参数被设置为2500的情况下地理平衡模块执行的步骤的图示;
图19是起始位置朋友列表的图示,包括通过地理平衡添加的位置;
图20以图形方式例示了根据本发明一个实施方式的可横穿网络;
图21例示了根据包含十个位置的假设递送区生成的示例性超级矩阵;
图22以图形方式例示了其中从包含位置A、B和C的网格中排除一个位置(位置Z)的可横穿网络;以及
图23以图形方式例示了在图22的位置C与Z之间生成的“小型可横穿网络”。
具体实施方式
下面将参照附图来描述本发明,附图中示出了本发明的一些而不是所有实施方式。实际上,本发明可以以许多不同的形式实现,而不应被解释为限于这里阐述的实施方式。然而,提供这些实施方式以使得本公开满足适用的法律要求。相似的标号通篇表示相似的元件。
本领域技术人员应理解,本发明可以实现为方法、数据处理系统或计算机程序产品。因此,本发明可以采取以下形式:完全硬件实施方式、完全软件实施方式、或者组合硬件方面和软件方面的实施方式。此外,本发明可以采取计算机可读存储介质上的计算机程序产品的形式,该计算机可读存储介质具有包含在存储介质中的计算机可读程序指令(例如,计算机软件)。更具体地说,本发明可以采取网络实现的计算机软件的形式。可以利用任何适当的计算机可读存储介质,包括硬盘、CD-ROM、光存储装置或磁存储装置。
下面将参照根据本发明实施方式的方法、装置(即,系统)和计算机程序产品的框图和流程图来描述本发明。应理解的是,框图和流程图的各框以及框图和流程图中的框的组合分别可以由计算机程序指令来实现。这些计算机程序指令可以加载到通用计算机、专用计算机或其他可编程数据处理装置上以产生机器,使得在计算机或其他可编程数据处理装置上执行的指令产生用于实现流程图框中指定的功能的装置。
这些计算机程序指令也可以存储在计算机可读存储器中,该计算机可读存储器可以指示计算机或其他可编程数据处理装置按特定方式工作,使得存储在该计算机可读存储器中的指令产生包括用于实现流程图框中指定的功能的计算机可读指令的制品。该计算机程序指令还可以加载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程装置上进行一系列操作步骤,以产生计算机实现的处理,以使得在计算机或其他可编程装置上执行的指令提供用于实现流程图框中指定的功能的步骤。
因此,框图和流程图的框支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合、以及用于执行指定功能的程序指令。还应理解的是,框图和流程图的各框以及框图和流程图中的框的组合可以利用执行指定功能或步骤的基于专用硬件的计算机系统或者专用硬件和计算机指令的组合来实现。
系统结构
图1例示了根据本发明一个实施方式的超级矩阵计算机系统10的示意图。从该图可以理解,在该实施方式中,超级矩阵计算机系统10包括通过系统接口或总线90与超级矩阵计算机系统10内的其他元件进行通信的处理器65。超级矩阵计算机系统10中还包括用于接收并显示数据的显示装置/输入装置70。该显示装置/输入装置70例如可以是触摸屏监视器、键盘或本领域技术人员所知的任何其他装置。超级矩阵计算机系统10还包括存储器11,存储器11优选地包括只读存储器(ROM)14和随机存取存储器(RAM)12。服务器的ROM 14用于存储基本输入/输出系统85(BIOS),基本输入/输出系统85包含有助于在超级矩阵计算机系统10内的元件之间传送信息的基本例程。
另外,超级矩阵计算机系统10至少包括一个存储装置13(例如,硬盘驱动器、软盘驱动器、CD Rom驱动器或光盘驱动器),用于在诸如硬盘、可移动磁盘或CD-ROM盘的各种计算机可读介质上存储信息。本领域普通技术人员应理解,这些存储装置中的每一个都通过适当的接口连接到系统总线90。存储装置及其关联的计算机可读介质为诸如个人计算机的计算机提供非易失性存储器。重要的是,应注意到,上述计算机可读介质可以由本领域中所知的任何其他类型的计算机可读介质来替代。这种介质例如包括盒式磁带、闪存卡、数字视频盘和伯努里式磁盘。
大量程序模块可以通过各种存储装置来存储,并且存储在RAM 12内。这种程序模块包括操作系统60、择路和调度模块800、四网格分割模块100、初始朋友选择模块200、地理平衡模块300、超级矩阵生成模块500以及下降处理模块700。择路和调度模块800、四网格分割模块100、初始朋友选择模块200、地理平衡模块300、超级矩阵生成模块500以及下降处理模块700在处理器65和操作系统60的协助下,分别控制超级矩阵计算机系统10的操作的特定方面,如下面更详细地描述的。
超级矩阵计算机系统10内还设置有网络接口75,用于与计算机网络80的其他元件进行接口和通信。此外,可以对一个或更多个部件进行组合,并且超级矩阵计算机系统10中可以包括执行这里描述的功能的附加部件。
超级矩阵计算机系统的示例性流程
图2描绘了根据本发明一个实施方式的超级矩阵计算机系统10的示例性流程。从该图可以理解,系统在步骤15通过执行四网格分割模块100而开始。如下面更详细地描述的,根据本发明一个实施方式的四网格分割模块100的总体功能是将整个递送区划分成较小且更易于管理的网格。接下来,系统进行到步骤20,并选择要处理的第一网格(由四网格分割模块100生成)。在选择一网格之后,超级矩阵计算机系统10在步骤25执行初始朋友选择模块200,然后在步骤30执行地理平衡模块300。在本发明的各种实施方式中,执行初始朋友选择模块200和地理平衡模块300导致生成针对所选网格内的各位置的单独的朋友列表。如本申请中所使用的,术语“朋友列表”用于限定最有可能出现在与特定位置相同的路线上的位置的组。
接下来,系统进行到步骤50,在步骤50,其执行超级矩阵生成模块500。总体上说,在本发明的某些实施方式中,超级矩阵生成模块500针对所选网格生成可横穿网络,计算从各网格内位置到可横穿网络内的每一个节点的时间/距离数据,并布局包含从各网格内位置到该位置的朋友以及范围内仓库的时间/距离数据的超级矩阵,所述范围内仓库是要被递送到递送位置的物品的存放处。
接下来,系统前进到步骤60,在步骤60,确定是否剩有任何未经处理的网格。如果是这样,则系统前进到步骤70,在步骤70,选择要处理的下一网格。如果不是这样,则系统前进到结束处理的步骤S55。
对各种系统模块的详细讨论
下面将更详细地描述图2中所示的各种模块。
四网格分割模块
图3描绘了根据本发明一个实施方式的四网格分割模块100。如可以从该图理解的,该系统在用户(例如,择路和调度技术员)限定指定递送区内的一组唯一的递送位置的步骤105开始。例如,对于特定日,用户可以负责一个或更多个递送车辆到100个唯一的递送位置(例如,家庭、公寓或商店)的择路和调度。在该情况下,用户在步骤105限定包括这100个唯一位置的唯一递送位置组。
在完成步骤105之后,系统进行到生成第一网格的步骤110,所述第一网格包含全部指定的唯一递送位置。系统生成初始网格,使得该初始网格的地理边界包围递送区内的所有递送位置的范围。在另一实施方式中,系统通过向用户(例如,通过计算机显示屏)呈现地图而使得用户可以限定第一网格的边界,并且使得用户可以选择或限定网格所包围的地理区域。例如,如果全部的唯一递送位置都位于加利福尼亚州中,则用户可以潜在地将第一网格设置成包括加利福尼亚和周围的州的部分。
接下来,在步骤120,系统选择要处理的第一位置。在步骤130,然后系统将所选位置添加到在地理上包含所选位置的网格。在本发明的一个实施方式中,将该位置添加(“绘制”)到网格需要与该位置的纬度和经度坐标有关的位置专有数据。例如,对于位于35°纬度和119°经度的第一位置,系统输入35/119。在一个实施方式中,在输入纬度/经度数据之后,系统显示(例如,通过计算机显示屏)所选位置的图示。例如,可以由橙色的点或诸如“+.”的某些其他符号来表示所选位置。
在系统在步骤130绘制第一位置之后,系统(在步骤150)确定向其添加了位置的网格是否超过预定“每网格最大位置数量”参数。该“每网格最大位置数量”参数是系统内预先限定的。在一个实施方式中,“每网格最大位置数量”参数是可配置的并且由用户来限定。在其他实施方式中,系统包括每网格最大位置数量参数的默认值。例如,本发明的一个实施方式中的默认的每网格最大位置数量参数是500。
在步骤150,如果系统确定在任何特定网格内超过了“每网格最大位置数量”参数,则系统进行到步骤170,在步骤170,将被识别为具有过多位置的网格分割成四个尺寸相等的网格。例如,在本发明的网格大致上为正方形的实施方式中,将该网格分割成四个尺寸相等的同样大致上为正方形的网格。应理解的是,将具有过多位置的网格分割成四个尺寸相等的网格是根据本发明的一个实施方式,而在其他实施方式中,可以将网格分割成其他数量(例如,两个)的尺寸相等的网格。例如,在本发明的网格大致上为正方形的实施方式中,将该网格分割成四个尺寸相等的同样大致上为正方形的网格。
在步骤170中分割了具有过多位置的网格之后,系统进行到步骤160,并确定唯一递送位置的组中是否剩有任何未绘制的递送位置。
再回到参照步骤150,如果系统确定网格都没有包括过多数量的位置,则系统直接进行到步骤160。在步骤160,如果系统确定没有剩余未绘制的递送位置,则系统进行到步骤180,在步骤180,完成四网格分割模块100。然而,如果剩有附加的未绘制递送位置,则系统进行到步骤140,在步骤140,前进到处理下一递送位置。
如图3所示,在该实施方式中,系统执行连续循环,在该连续循环中,系统在绘制每一个递送位置之后确定是否存在任何需要分割的任何特定网格。系统重复步骤130、150、160和/或170,直到在步骤105限定的组中的每一个递送位置都经处理为止。
为了例示的目的,图9至图15以图形方式例示了本发明各种实施方式中四网格分割模块100执行的步骤。更具体地说,图9至图15例示了以下假想示例,在该假想示例中,系统要对递送车辆到21937个唯一递送位置的预定组内的各种位置进行择路和调度。图9示出了21937个唯一递送位置的图示。在该实施方式中,大多数递送位置位于加利福尼亚州中。然而,也有零星位于华盛顿州、爱达荷州、弗吉尼亚州和德克萨斯州中的位置。在该示例中,“每网格最大位置数量”参数被设置为500。
图10例示了已绘制50个位置之后的递送区。(因为图9示出了整个递送区,所以难以分辨21937个单独的递送位置中的每一个。)如该图所示,在单个网格77中包括整个递送区。图11例示了已绘制501个位置之后的递送区。因为每网格最大位置数量被设置为500,所以在初始网格内绘制第501个位置之后,该网格被分割成四个尺寸相等的网格。
图12和图13例示了在已绘制1000个位置之后的递送区。在该示例中,在洛杉矶区域中发现密度最高的位置网格(参见图13)。图14示出了对于21937个递送位置的完整四网格分解。最后,图15例示了在已处理了全部21937个位置之后各种密度最高的位置网格的四网格分解。
图16例示了一种确定处理递送位置的顺序的方法。在该实施方式中,根据位置的纬度坐标和经度坐标对这些位置进行处理(例如,在步骤120和140选择并在步骤130绘制)。在该示例中,首先处理纬度值最小的位置的组。通过对位置的纬度坐标取绝对值来确定纬度值。在该实施方式中,任何纬度值相同的位置组按它们各自的经度值从最小到最大的顺序进行处理。因此,要处理的第一位置是具有最小纬度坐标和最小经度坐标的组合的位置。图16示出了包括5个递送位置的具体示例。因为位置1和2的纬度值最小,所以首先处理它们。在位置1与2之间,因为位置1的经度值最小,所以首先处理位置1。根据上述规则按一次一个的方式处理所有五个位置,直到该组内的所有位置均被绘制为止。
初始朋友选择模块
在四网格分割模块100已将整个递送区划分成较小且更易于管理的网格之后,超级矩阵计算机系统10的下一目标是编辑各唯一递送位置的单独的朋友列表。简要回顾图2,系统在逐网格的基础上,通过在步骤20选择第一网格然后选择接连的网格(步骤70)来进行该处理,直到每一个网格都经处理为止。
图4描绘了根据本发明一个实施方式的初始朋友选择模块200。初始朋友选择模块200在步骤205开始,在步骤205,选择要为其生成初始朋友列表的第一网格内起始位置。一旦在步骤205选择了起始位置,系统就进行到步骤215,在步骤215,系统生成在所选起始位置的预定“最大朋友半径”内的所有递送位置的列表。在一个实施方式中,最大朋友半径是可配置的参数。在步骤218,向最大朋友半径内的各位置分配象限标识符,该象限标识符例如可以指示邻近位置地理上相对于起始位置的大体方向。在一个实施方式中,将包围所选起始位置的区域划分成四个分离的且相等的象限。如图13所示,下面将更详细地描述,由水平和垂直穿过所选起始位置的两条交叉的线形成四个象限。返回图4,在步骤220,系统按从最邻近所选起始位置的位置到最远离所选起始位置的位置的方式对在步骤215编辑的列表进行排序。
在步骤220对列表进行了排序之后,系统进行到步骤225,在步骤225,选择最近位置以作为添加到朋友列表的候选。一旦选择了候选邻近位置,系统就进行到步骤255,在步骤255,确定将候选邻近位置添加到起始位置的朋友列表是否会超过“最大朋友数量”参数。如同上述最大朋友半径参数一样,本发明的一个实施方式包括可配置的“最大朋友数量”参数。在步骤255,如果在添加候选邻近位置的情况下不超过最大朋友数量,则系统进行到步骤270,在步骤270,其将邻近位置添加到起始位置的朋友列表。
在添加邻近位置之后,系统进行到步骤227,在步骤227,使用邻近位置的象限标识符来使与邻近位置的象限相对应的计数器递增。在包围起始位置的区域被划分成四个象限的实施方式中,使用四个不同的计数器来跟踪朋友数量。(在步骤255,可以对单独的计数器的计数进行合计,以确定是否超过最大朋友数量。例如,在一个实施方式中,在处理在步骤225选择的第一候选时,计数器合计零个邻居。假设最大朋友数量参数被设置为大于零的数,第一候选绝对不会超过最大数量。)接下来,在步骤227,使与所添加位置的象限相关联的计数器递增。
接下来,系统前进到步骤230,在步骤230,确定在步骤220编辑的排序列表中是否剩有任何位置。如果是这样,则系统进行到步骤245,在步骤245,在经排序的列表上选择下一最近的位置作为添加到起始位置的朋友列表的候选。然后系统重复步骤255、270和277,直到(1)已超过最大朋友数量参数或者(2)已处理了来自在步骤215编辑的列表的所有位置为止。
在步骤255,如果系统确定在添加候选邻近位置的情况下将超过最大朋友数量参数,则系统前进到步骤260,在步骤260,将该邻近位置从朋友列表排除。然后系统进行到步骤265,并且将所选网格内起始位置的最大仓库半径内的所有仓库添加到朋友列表。接下来,在步骤235,系统完成初始朋友列表。当在步骤235完成了初始朋友列表时,系统进行到步骤280,在步骤280,确定所选网格内是否剩有任何网格内位置。如果是这样,则系统进行到步骤285,选择要处理的新的网格内位置。然后系统前进到步骤215,继续如上所述的步骤,直到已处理所有网格内位置为止。
图17以图形方式例示了特定起始位置的朋友列表内包括的位置。在该假想示例中,“+”1700表示将针对其计算朋友列表的起始位置。限制在圈1702内的区域表示在执行初始朋友选择模块200之后包括在起始位置的朋友列表内的位置,并且包括在执行地理平衡模块(下面更详细地讨论)之后添加到起始位置的朋友列表的位置。圈1702外部的点表示不包括在起始位置的朋友列表内的递送位置。
地理平衡模块
在通过初始朋友选择模块200生成针对个网格内位置的初始朋友列表之后,系统的下一目标是避免使过载了朋友的朋友列表位于人口稠密区中。例如,如果所选起始位置位于城市的边缘或郊区,则初始朋友列表上的大多数位置可能位于起始位置的同一总体方向上(例如,朝向城市)。换言之,在乡村或稀疏人口区中的位置可以被包括在所选起始位置的朋友列表内之前,可能超过了最大朋友数量参数。
再次参照图2,通过执行地理平衡模块300,系统试图将来自包围起始位置的所有区域的位置包括在朋友列表内。如图5所示,地理平衡模块300在步骤305开始,选择第一网格内位置。接下来,在步骤310,系统从在初始朋友选择模块200的步骤215编辑的列表中选择第一邻近位置。在一个实施方式中,步骤310的选择基于在初始朋友选择模块200的步骤220对邻近位置进行排序的顺序(例如,最近到最远)。一旦选择了一邻近位置,系统就进行到步骤315,在步骤315,确定所选的邻近位置地理上所处的象限。在一个实施方式中,系统使用在初始朋友选择模块200的步骤218分配的象限标识符来确定所选邻近位置的象限位置。
接下来,在步骤320,系统确定包含所选邻近位置的象限是否包含了多于或等于最大朋友数量参数的四分之一。例如,如果最大朋友数量参数被设置为400个朋友,则系统确定所选象限是否包含100(400/4)个或更多个朋友。在一个实施方式中,使用在初始朋友选择模块200中用于对最大朋友数量参数保持跟踪的计数器来确定各象限包含的朋友是否多于或等于(最大朋友数量参数)/4,或者恰恰是“最大/4”。如果所选象限包含的朋友多于或等于最大/4,则系统进行到步骤340,在步骤340,从朋友列表排除该邻近位置。
接下来,在步骤345,系统确定在初始朋友选择模块200的步骤215和220编辑并排序的列表是否包含任何附加位置。如果是这样,则系统进行到步骤350,在步骤350,选择要处理的下一最近的邻近位置,并重复上述步骤。
在步骤320,如果系统确定包含所选邻近位置的象限具有少于最大/4个朋友,则系统进行到步骤325,在步骤325,将该邻近位置添加到起始位置的朋友列表。在将邻近位置添加到朋友列表之后,系统前进到步骤330,在步骤330,使与所添加邻近位置地理上所处的象限相对应的计数器递增。在包围起始位置的区域被划分成四个分离的象限的实施方式中,系统将利用四个不同的计数器对各象限内的朋友数量进行跟踪(或计数)。例如,在一个实施方式中,当在步骤325将地理上位于象限二的邻近位置添加到朋友列表时,与象限二相对应的计数器递增1。
在步骤330之后,系统进行到步骤333,在步骤333,确定在初始朋友选择模块200的步骤215和220编辑并排序的列表是否包含附加位置。并且在步骤333,系统确定是否有任何象限仍需要地理平衡。在步骤333,如果系统确定了(1)没有象限需要地理平衡或者(2)所选初始位置的最大半径内的位置的列表已经穷尽,则系统进行到步骤355,在步骤355,完成所选网格内位置的朋友列表。否则,系统进行到步骤335,在步骤335,选择要处理的、最大半径内的下一最近的邻近位置。一旦系统完成了在步骤335选择的网格内位置的朋友列表,系统就前进到步骤360,在步骤360,确定是否剩有任何未经处理的网格内位置。如果是这样,则系统进行到步骤370,在步骤370,选择要处理的新的网格内位置。一旦已处理所有网格内位置,系统就前进到完成处理的步骤375。
如上所述,图18是在假设最大朋友参数被设置为2500的情况下地理平衡模块300执行的步骤的图示。垂直线与水平线交叉处的点1800表示在步骤301或步骤370选择的网格内位置。在该示例中,两条交叉线生成四个尺寸相等的象限。数字1500、700、200和100表示地理上位于各象限内并且位于内圈1802所包围的区域内的(朋友列表中的)位置的数量。这样,东北象限包含100个位置,东南象限包含700个位置,西南象限包含1500个位置,西北象限包含200个位置。
如图18所示,包含1500个朋友和700个朋友的象限主导朋友列表。事实上,总共2500个朋友中的2200个位于仅仅这两个象限中。在一个实施方式中,地理平衡模块300试图通过扩大图18的西北象限和东北象限内的弧1804、1806、并添加邻近的位置直到各象限至少包括最大朋友参数的四分之一为止或者直到最大半径内的邻近位置的列表被用尽为止(任何一个首先成立即可),来平衡这两个象限。在该示例中,将添加位于西北象限和东北象限内的邻近位置,直到各象限至少包括625个朋友为止。假设在西北象限和东北象限中的每一个中发现625个位置之前没有超过最大区域限制(即,最大半径),最终,地理平衡将把朋友列表从2500个位置扩大到3450个位置,西南象限中有1500个朋友,东南象限中有700个位置,西北象限中有625个位置,东北象限中有625个位置。
图19是起始位置的朋友列表的图示,包括通过地理平衡添加的位置。在该假想示例中,“+”1900表示要针对其计算朋友列表的起始位置。第一有界区域1902内示出的位置表示利用最大朋友数量参数或最大半径确定的朋友的组。应理解的是,最大朋友参数和最大半径都是可配置的参数,并且在图19的假想示例中,最大朋友参数被设置为2500,最大半径为250英里。第二有界区域1904内示出的位置表示使用地理平衡模块获得的朋友的组。在图19中,第二有界区域1904表示添加到以“加号”(起始位置)为中心形成的坐标系统的左上象限和右上象限的位置。没有在左下象限和右下象限添加位置,这是因为在朋友列表(初始朋友选择)中表示出这些象限已经满了。如果没有地理平衡,则起始位置1900的超级矩阵有可能仅包括到与起始位置1900邻近的高度密集区域的时间和距离,而不包括第二有界区域1904内的较稀疏的边远位置。
超级矩阵生成模块
再次参照图2,在执行地理平衡模块300之后,超级矩阵计算机系统10执行超级矩阵生成模块500。如图6所示,超级矩阵生成模块500在步骤505开始,生成根据(1)所有的网格内位置、(2)任何网格内位置的所有朋友、和(3)任何范围内仓库而导出的可横穿网络。在各种实施方式中,“可横穿网络”是一组弧和节点。更具体地说,在该实施方式中,节点的组包括一组“可横穿网络位置”,该“可横穿网络位置”包含所有的网格内位置、网格内位置的所有朋友、和任何网格内位置的最大半径内的所有仓库。可横穿网络的弧包括连接以上列出的可横穿网络位置的所有“必需”的街道段。另外,节点的组还包括连接可横穿网络位置的交叉的街道段。弧的组包括地方公路、二级公路和州际/一级公路的组合。
在一个实施方式中,通过用于连接可横穿网络位置的地方公路的量的减少来减少街道段(可以由一个或更多个弧来表示)的总数。通过主要使用二级公路或州际/一级公路连接可横穿位置来实现地方公路的减少。在该实施方式中,地方公路仅用于将可横穿网络位置连接到二级公路或州际公路的程度。通过减少可横穿网络包括的地方公路(和总街道段)的数量,减少了弧和节点的总数。因为进行最短路径计算所需的处理时间主要基于弧和节点的数量,所以减少街道段的数量最终减少计算可横穿网络位置之间的最短路径所需的时间。可以根据可以从多种第三方资源得到的现有地图数据导出可横穿网络。
图20以图形方式例示了根据本发明一个实施方式的其中一网格包含三个网格内位置(位置A2002、位置B 2004和位置C 2006)的可横穿网络。各网格内位置是其他两个网格内位置以及位置D 2008的朋友。在该假想示例中,最大朋友数量被设置成三。因此,位置A 2002的朋友列表包括B 2004、C 2006和D 2008;位置B的2004朋友列表包括A 2002、C 2006和D 2008;位置C的2006朋友列表包括位置A 2002、B 2004和D 2008。最后,仓库12010在A2002、B 2004和C2006的最大仓库半径内。在该示例的情况下,可横穿网络位置包括A 2002、B 2004、和C 2006(网格内位置),以及D 2008(网格内位置的朋友)和仓库1 2010(网格内位置的最大半径内的仓库)。
使用这些可横穿网络位置,导出可横穿网络(使用本领域中所知的地图数据),该可横穿网络包括:围绕各可横穿网络位置的地方公路的连接的弧/节点,围绕二级公路的弧/节点,以及最后,与州际公路和一级公路相对应的弧/节点。
返回图6,一旦已生成所选网格的可横穿网络,系统就前进到步骤510,在步骤510,选择要处理的第一网格内位置。接下来,在步骤515,系统计算从所选网格内位置到可横穿网络内的每一个节点的最短时间和距离。如上所述,在各种实施方式中,可横穿网络节点不仅包括网格内位置、朋友和仓库,而且包括连接网格内位置、朋友和仓库的街道十字路口。用于计算最短时间和距离的算法在本领域内是公知的。
一旦已计算出从所选网格内位置到每一节点的时间和距离,系统就进行到步骤520,在步骤520,选择性地挑选某些时间和距离。挑选出的时间和距离包括从所选网格内位置到该位置的朋友的时间/距离。接下来,在步骤525,将在步骤520挑选的时间和距离布局为超级矩阵的一行。图21中示出了超级矩阵的一个实施方式,下面将更详细地描述。
一旦将从所选网格内位置到该位置的朋友的时间和距离布局到超级矩阵的一行中,系统就前进到步骤530,在步骤530,确定是否剩有任何网格内位置未经处理。如果是这样,则系统选择要处理的下一网格内位置(在步骤545)。如图21所示,各网格内位置对应于超级矩阵的特定行。连续地添加表示各网格内位置的行,直到已处理所有网格内位置为止。一旦已处理所有网格内位置,系统就前进到步骤570,在步骤570,结束该处理。
图7例示了超级矩阵生成模块500进行的附加步骤。除了计算网格内位置与包括在朋友列表内的位置之间的时间和距离数据之外,在各种实施方式中,超级矩阵生成模块500还被设计成处理从位于网格的可横穿网络内的每一个仓库到所有其他网格内、范围内位置和范围内仓库的最短路径时间和距离。与图6中描述的处理非常相似的是,系统在选择第一范围内仓库的步骤550开始。接下来,在步骤555,系统计算从所选仓库到可横穿网络内的每一个节点的最短路径计算(使用公知的最短路径算法)。在步骤555之后,系统进行到步骤560,在步骤560选择的与从所选仓库到所有网格内、范围内位置和范围内仓库的时间和距离相对应的数据在步骤565布局在超级矩阵中。如图21所示,各所选仓库由超级矩阵内的一行表示。在步骤575,系统确定是否剩有任何未经处理的仓库(在可横穿网络内)。如果是这样,则系统选择下一仓库(在步骤580)并重复步骤555、560和565。一旦已处理网格的可横穿网络内的所有仓库,系统就前进到完成该处理的步骤585。
如上所述,图21例示了样本超级矩阵。如图21所示的超级矩阵是根据九个位置和一个位置/仓库的组而导出的。在该假设中,最大朋友数量参数被设置为四。然而,作为地理平衡的结果,许多位置具有多于四个朋友(例如,位置3、5、6、7、8和9)。如图21所例示的,行#1包含从位置#1到四个不同的位置的时间和距离。如图21所示,各列表示不同的位置。在该实施方式中,使用纬度(以百万分之一度)和经度(以百万分之一度)坐标来标识位置。跟在纬度和经度坐标之后的是时间和距离数据。在该实施方式中,以秒示出时间并以100英里示出距离。因此,现参照图21的行1,从位置1到地理上位于30180600、-81551600的位置的时间/距离是303秒(时间)和300英里(距离)。如行4中所例示的,位置4也是仓库,因此具有对于各范围内位置的时间/距离数据。在该假设中,因为全部九个位置都在该仓库的范围内,所以行4具有到全部九个位置的时间/距离数据。
如图21中所例示的,在各种实施方式中,超级矩阵不包含从各位置到每一个其他位置的时间和距离。作为替代的是,在这种实施方式中,超级矩阵仅包含从各网格内位置到该位置的朋友(包括所有的范围内仓库)的时间和距离数据。
下降处理模块
在一些实例中,在择路和调度算法800内进行的算法可能需要不包括在彼此的朋友列表内的两个位置之间的时间和距离数据。结果,超级矩阵将不包含时间和距离数据。当发生这种情况时,系统可以通过执行下降处理模块700来计算时间和距离数据。
图8(A)和图8(B)描绘了根据本发明不同实施方式的两个不同的下降处理模块700。现参照图8(A),下降处理模块700在步骤705开始,在步骤705,系统从择路/调度模块800接收请求位置A与B之间的时间和/或距离数据的调用。在步骤710,系统确定超级矩阵是否包含从A到B的时间/距离数据。如果是这样,则系统前进到步骤715,在步骤715,向择路/调度模块800提供包含在超级矩阵中的数据。然而,如果超级矩阵不包含从A到B的时间/距离数据,则系统进行到步骤720,在步骤720,使用XY距离计算(例如,使用毕达哥拉斯定理)来计算从A到B的时间和距离。一旦在步骤720确定了时间/距离数据,系统就将该数据发送给择路/调度模块800,并且进行到结束该处理的步骤735。
在图8(B)中所描绘的实施方式中,下降处理模块700通过进行图8(A)中所示的相同的基本步骤而开始。例如,在步骤705,系统从择路/调度模块800接收请求位置A与B之间的时间和/或距离数据的调用。在步骤710,系统确定超级矩阵是否包含从A到B的时间/距离数据。如果是这样,则系统前进到步骤715,在步骤715,向择路/调度模块800提供包含在超级矩阵中的数据。然而,如果超级矩阵不包含从A到B的时间/距离数据,则系统进行到步骤725,在步骤725,生成连接位置A和B的“小型可横穿网络”。在生成小型可横穿网络之后,系统进行A与B之间的最短路径时间和距离计算。在步骤740,存储时间和距离数据(例如将其高速缓存)以供将来查找。
图22和图23例示了使用图8(B)的下降处理模块700来计算从一个位置到另一位置的时间和距离的场景。该场景假设在四网格分割模块100中,位置A、B和C位于图22中例示的一个网格中。另外,最大朋友数量参数被设置为二。在执行初始朋友选择模块200和地理平衡模块300之后,位置A、B和C仅包括彼此作为朋友。例如,位置A的朋友是B和C,位置B的朋友是A和C,位置C的朋友是A和B。该假设不包括仓库。在生成针对该特定网格的可横穿网络时,该可横穿网络仅包括连接位置A、B和C的街道网络。因此,超级矩阵将不包括从A、B或C到位置Z的时间和距离数据。
假设稍后在已生成超级矩阵之后,用户生成由位置A、B和C组成的路线。对于该路线,无论顺序如何,超级矩阵都可以提供街道网络时间和距离,这是因为超级矩阵包含任意两个位置之间的时间/距离。现假设路线顺序是A-B-C,并且用户然后确定其想要把车站Z至于车站C之后,使路线成为A-B-C-Z。然而,现在的情况是超级矩阵不提供C与Z之间的时间和距离。当发生这种情况时,下降处理模块700通过首先生成图23中所例示的连接C和Z的“小型可横穿网络”来提供实时时间/距离计算。根据该“小型可横穿网络”,系统计算C与Z之间的最短路径时间和距离。(然后对该时间和距离进行高速缓存,使得在系统在同一择路会话过程中再次需要C与Z之间的时间/距离时不必重新生成“小型可横穿网络”和重新计算时间/距离)。
结论
本发明所属领域的技术人员受益于以上描述和相关联的附图中所提出的教导,将容易想到这里阐述的本发明的许多变型例和其他实施方式是本领域技术人员。因此,应理解,本发明不限于所公开的特定实施方式,而旨在将变型例和其他实施方式包括在所附权利要求书的范围内。尽管这里使用了特定术语,但是它们仅用于一般性和描述性的含义,而并不用于限制的目的。
Claims (8)
1.一种计算装置,其至少具有存储器、处理器和显示装置,该计算装置用于计算并存储两个或更多个递送位置之间的最短路径信息,其中,所述计算装置包括:
第一可执行部分,该第一可执行部分包括可以在所述处理器上执行的网格分割模块,其中,所述网格分割模块将总递送区划分成限定数量的网格的倍数,并且所述两个或更多个递送位置位于所述限定数量的网格中的至少一个内;
第二可执行部分,该第二可执行部分包括可以在所述处理器上执行的初始朋友选择模块,其中,选择所述限定数量的网格中的一个,并且针对所述选择的网格内的各特定递送位置生成朋友列表,所述朋友列表由最有可能出现在与所述特定递送位置相同的路线上的一组递送位置组成;
第三可执行部分,该第三可执行部分包括可以在所述处理器上执行的地理平衡模块,其中,所述地理平衡模块通过以下操作来平衡各特定递送位置的朋友列表:选择特定递送位置;从所述特定递送位置的朋友列表中选择邻近位置;确定所选邻近位置地理上所处的象限;确定包含所选邻近位置的象限是否包含了多于或等于包括在该特定递送位置的朋友列表中的最大朋友数量除以所述限定数量的网格的商的递送位置;如果包含所选邻近位置的象限包含了多于或等于包括在该特定递送位置的朋友列表中的最大朋友数量除以所述限定数量的网格的商的递送位置,则从所述特定递送位置的朋友列表排除该所选邻近位置;如果包含所选邻近位置的象限未包含多于或等于包括在该特定递送位置的朋友列表中的最大朋友数量除以所述限定数量的网格的商的递送位置,则将该所选邻近位置添加到所述特定递送位置的朋友列表;以及
第四可执行部分,该第四可执行部分包括可以在所述处理器上执行的超级矩阵生成模块,其中,所述超级矩阵生成模块针对选择的网格生成由节点和弧组成的可横穿网络,计算从所述选择的网格内的各递送位置到所述可横穿网络内的每一个节点的时间/距离数据,并布局如下的超级矩阵:该超级矩阵包含从选择的网格内的各特定递送位置到该位置的朋友列表中的各递送位置以及任何范围内仓库的时间/距离数据。
2.根据权利要求1所述的计算装置,其中,所述最大朋友数量为2500,而所述限定数量的网格为4。
3.一种用于将物品递送到两个或更多个递送位置的设备,该设备包括:
递送车辆,该递送车辆能够运输所述两个或更多个递送位置中的每一个处的用于递送的一个或更多个物品,其中,在仓库处获得所述用于递送的一个或更多个物品;
计算装置,该计算装置至少具有存储器、处理器和显示装置,该计算装置用于计算并存储所述两个或更多个递送位置之间的最短路径信息,所述计算装置包括:
第一可执行部分,该第一可执行部分包括可以在所述处理器上执行的网格分割模块,其中,所述网格分割模块将总递送区划分成限定数量的网格的倍数,并且所述两个或更多个递送位置位于所述限定数量的网格中的至少一个内;
第二可执行部分,该第二可执行部分包括可以在所述处理器上执行的初始朋友选择模块,其中,选择所述限定数量的网格中的一个,并且针对所述选择的网格内的各特定递送位置生成朋友列表,所述朋友列表由最有可能出现在与所述特定递送位置相同的路线上的一组递送位置组成;
第三可执行部分,该第三可执行部分包括可以在所述处理器上执行的地理平衡模块,其中,所述地理平衡模块通过以下操作来平衡各特定递送位置的朋友列表:选择特定递送位置;从所述特定递送位置的朋友列表中选择邻近位置;确定所选邻近位置地理上所处的象限;确定包含所选邻近位置的象限是否包含了多于或等于包括在该特定递送位置的朋友列表中的最大朋友数量除以所述限定数量的网格的商的递送位置;如果包含所选邻近位置的象限包含了多于或等于包括在该特定递送位置的朋友列表中的最大朋友数量除以所述限定数量的网格的商的递送位置,则从所述特定递送位置的朋友列表排除该所选邻近位置;如果包含所选邻近位置的象限未包含多于或等于包括在该特定递送位置的朋友列表中的最大朋友数量除以所述限定数量的网格的商的递送位置,则将该所选邻近位置添加到所述特定递送位置的朋友列表;以及
第四可执行部分,该第三可执行部分包括可以在所述处理器上执行的超级矩阵生成模块,其中,所述超级矩阵生成模块针对选择的网格生成由节点和弧组成的可横穿网络,计算从所述选择的网格内的各递送位置到所述可横穿网络内的每一个节点的时间/距离数据,并布局如下的超级矩阵:该超级矩阵包含从选择的网格内的各特定递送位置到该位置的朋友列表中的各递送位置以及任何范围内仓库的时间/距离数据,
其中,所述递送车辆利用所述最短路径信息来确定用于获得所述两个或更多个递送位置中的每一个处的所述用于递送的一个或更多个物品并且将所述两个或更多个递送位置中的每一个处的所述用于递送的一个或更多个物品运输到各递送位置的路线。
4.根据权利要求3所述的设备,其中,所述最大朋友数量为2500,而所述限定数量的网格为4。
5.一种用于计算并存储两个或更多个潜在递送位置之间的最短路径信息的方法,该方法包括以下步骤:
(1)将递送区分割成一个或更多个分离的地理区域的倍数,其中,所述地理区域中的每一个包括第一组一个或更多个潜在递送位置;
(2)选择第一地理区域;
(3)针对所述第一组一个或更多个潜在递送位置中的每一个生成朋友列表;
(4)通过以下操作来平衡各潜在递送位置的朋友列表:选择潜在递送位置;从所述潜在递送位置的朋友列表中选择邻近位置;确定所选邻近位置地理上所处的象限;确定包含所选邻近位置的象限是否包含了多于或等于包括在该潜在递送位置的朋友列表中的最大朋友数量除以限定数量的所述一个或更多个分离的地理区域的商的递送位置;如果包含所选邻近位置的象限包含了多于或等于包括在该潜在递送位置的朋友列表中的最大朋友数量除以限定数量的所述一个或更多个分离的地理区域的商的递送位置,则从所述潜在递送位置的朋友列表排除该所选邻近位置;如果包含所选邻近位置的象限未包含多于或等于包括在该潜在递送位置的朋友列表中的最大朋友数量除以限定数量的所述一个或更多个分离的地理区域的商的递送位置,则将该所选邻近位置添加到所述潜在递送位置的朋友列表;
(5)生成可横穿网络,其中,所述可横穿网络包括一组节点和弧,并且还包括一组两个或更多个节点,所述一组两个或更多个节点至少包括地理上位于所述第一地理区域内的潜在递送位置以及在步骤(3)生成的所述朋友列表中的任一个内包括的所有潜在递送位置;
(6)计算从地理上位于所述第一地理区域内的潜在递送位置中的每一个到所述可横穿网络内包含的每一个节点的最短路径信息;以及
(7)选择特定最短路径信息并存储该特定最短路径信息以供择路和调度系统将来查找。
6.根据权利要求5所述的方法,其中,所述可横穿网络包括至少一个与仓库相对应的节点。
7.根据权利要求5所述的方法,其中,所述最大朋友数量为2500,而所述一个或更多个分离的地理区域为4。
8.根据权利要求5所述的方法,其中,生成可横穿网络的步骤包括以下步骤:生成包括至少一个与仓库相对应的节点的可横穿网络。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67942805P | 2005-05-09 | 2005-05-09 | |
US60/679,428 | 2005-05-09 | ||
PCT/US2006/017813 WO2006122070A2 (en) | 2005-05-09 | 2006-05-09 | Systems and methods for routing and scheduling |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101184974A CN101184974A (zh) | 2008-05-21 |
CN101184974B true CN101184974B (zh) | 2012-06-27 |
Family
ID=37397218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800158697A Active CN101184974B (zh) | 2005-05-09 | 2006-05-09 | 用于择路和调度的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9135575B2 (zh) |
EP (1) | EP1882156A4 (zh) |
JP (1) | JP2008543695A (zh) |
CN (1) | CN101184974B (zh) |
CA (1) | CA2605879C (zh) |
MX (1) | MX2007014112A (zh) |
WO (1) | WO2006122070A2 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050021223A1 (en) | 2003-04-15 | 2005-01-27 | United Parcel Service Of America, Inc. | Rush hour modeling for routing and scheduling |
EP1882156A4 (en) | 2005-05-09 | 2012-04-04 | United Parcel Service Inc | SYSTEMS AND METHODS FOR ROUTING AND SHARING |
US8843573B2 (en) * | 2011-05-20 | 2014-09-23 | Facebook, Inc. | Lightweight messaging with location between users of a social networking system |
US8887096B2 (en) * | 2011-10-27 | 2014-11-11 | Disney Enterprises, Inc. | Friends lists with dynamic ordering and dynamic avatar appearance |
US10467580B1 (en) | 2013-08-12 | 2019-11-05 | United Parcel Service Of America, Inc. | Methods, apparatuses and computer program products for generating logistics zones |
US10753751B2 (en) | 2014-09-19 | 2020-08-25 | Arris Enterprises Llc | Systems and methods for street level routing |
US11775937B2 (en) | 2015-10-08 | 2023-10-03 | Arris Enterprises Llc | Dynamic capacity ranges for workforce routing |
CN106127416A (zh) * | 2016-07-06 | 2016-11-16 | 太仓诚泽网络科技有限公司 | 一种基于app的配送员用于维护客户的方法 |
CN108960694B (zh) * | 2017-05-19 | 2022-04-12 | 北京京东振世信息技术有限公司 | 配送区域确定方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5272638A (en) * | 1991-05-31 | 1993-12-21 | Texas Instruments Incorporated | Systems and methods for planning the scheduling travel routes |
US5963948A (en) * | 1996-11-15 | 1999-10-05 | Shilcrat; Esther Dina | Method for generating a path in an arbitrary physical structure |
CN1335930A (zh) * | 1999-01-06 | 2002-02-13 | 因弗革迅公司 | 移动导航系统 |
CN1497242A (zh) * | 2002-10-07 | 2004-05-19 | ��ʽ�����װ | 对自动行驶道路优先的汽车导航系统 |
US6748318B1 (en) * | 1993-05-18 | 2004-06-08 | Arrivalstar, Inc. | Advanced notification systems and methods utilizing a computer network |
Family Cites Families (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2945852A1 (de) * | 1979-11-13 | 1981-05-21 | Siemens AG, 1000 Berlin und 8000 München | Verfahren zur verkehrserfassung in einem leit- und informationssystem fuer den individualverkehr |
US5168451A (en) * | 1987-10-21 | 1992-12-01 | Bolger John G | User responsive transit system |
JPH01117997A (ja) | 1987-10-30 | 1989-05-10 | Matsushita Seiko Co Ltd | 扇風機の昇降装置 |
US5274560A (en) * | 1990-12-03 | 1993-12-28 | Audio Navigation Systems, Inc. | Sensor free vehicle navigation system utilizing a voice input/output interface for routing a driver from his source point to his destination point |
US5265006A (en) * | 1990-12-14 | 1993-11-23 | Andersen Consulting | Demand scheduled partial carrier load planning system for the transportation industry |
USRE38724E1 (en) * | 1991-02-01 | 2005-04-12 | Peterson Thomas D | Method and apparatus for providing shortest elapsed time route and tracking information to users |
JP2618130B2 (ja) | 1991-10-07 | 1997-06-11 | 株式会社テック | 予約商品管理装置 |
US5310997A (en) * | 1992-09-10 | 1994-05-10 | Tandy Corporation | Automated order and delivery system |
US5758313A (en) * | 1992-10-16 | 1998-05-26 | Mobile Information Systems, Inc. | Method and apparatus for tracking vehicle location |
US5774867A (en) * | 1993-03-25 | 1998-06-30 | International Business Machines Corporation | Meeting conflict resolution for electronic calendars |
JP2964851B2 (ja) * | 1993-09-20 | 1999-10-18 | トヨタ自動車株式会社 | 部品配達便の運行計画立案方法とそのための装置及び部品配達便管理方法 |
US5809479A (en) * | 1994-07-21 | 1998-09-15 | Micron Technology, Inc. | On-time delivery, tracking and reporting |
JPH08106493A (ja) | 1994-10-07 | 1996-04-23 | Hitachi Ltd | 配送計画方法およびそのシステム |
JPH08123767A (ja) | 1994-10-24 | 1996-05-17 | Toshiba Corp | メールシステムを利用したスケジュール調整方式 |
US5541848A (en) * | 1994-12-15 | 1996-07-30 | Atlantic Richfield Company | Genetic method of scheduling the delivery of non-uniform inventory |
US5615121A (en) * | 1995-01-31 | 1997-03-25 | U S West Technologies, Inc. | System and method for scheduling service providers to perform customer service requests |
US5893073A (en) * | 1995-02-27 | 1999-04-06 | Sun Microsystems, Inc. | Method and apparatus for representing recurring events |
US5692125A (en) * | 1995-05-09 | 1997-11-25 | International Business Machines Corporation | System and method for scheduling linked events with fixed and dynamic conditions |
US5922040A (en) * | 1995-05-17 | 1999-07-13 | Mobile Information System, Inc. | Method and apparatus for fleet management |
US5616899A (en) * | 1995-06-05 | 1997-04-01 | Recigno Laboratories, Inc. | System for managing cases in dental laboratory |
US6192346B1 (en) * | 1995-06-08 | 2001-02-20 | Iex Corporation | Vacations and holiday scheduling method and system having a bidding object which enables employees to bid and prevent from bidding if higher priority employees have not bid |
JPH09147041A (ja) | 1995-11-28 | 1997-06-06 | Hitachi Ltd | 在庫引当の管理方法 |
JPH09198436A (ja) | 1996-01-17 | 1997-07-31 | Fujitsu Ltd | 曜日別時間帯別予約取得システム |
US5920846A (en) * | 1996-02-27 | 1999-07-06 | Southwestern Bell Telephone Co. | Method and system for processing a service request relating to installation, maintenance or repair of telecommunications services provided to a customer premises |
US5771484A (en) * | 1996-02-28 | 1998-06-23 | Sun Microsystems, Inc. | Automated positive control traffic system for weather |
US6010239A (en) * | 1996-03-07 | 2000-01-04 | Hardgrave; William David | Automatic item-driven system for deposit and pick-up |
GB9606194D0 (en) * | 1996-03-23 | 1996-05-29 | Int Computers Ltd | Appointment booking and scheduling system |
JP3534528B2 (ja) * | 1996-04-11 | 2004-06-07 | シャープ株式会社 | スケジュール管理装置 |
JPH10162065A (ja) | 1996-11-28 | 1998-06-19 | Hitachi Ltd | 配送管理システム |
JPH10181815A (ja) | 1996-12-20 | 1998-07-07 | Toshiba Corp | 貨物引き渡し制御装置 |
US6047260A (en) * | 1997-06-05 | 2000-04-04 | Attention Control Systems, Inc. | Intelligent planning and calendaring system with cueing feature and floating tasks |
DE19724919A1 (de) * | 1997-06-12 | 1999-01-07 | Adolph Michael Dr | Verfahren zum Erzeugen, Verschmelzen und Aktualisieren von in einem Zielführungssystem nutzbaren Daten |
US6035278A (en) * | 1997-07-08 | 2000-03-07 | Netscape Communications Corporation | Method and system for schedule and task management |
US6073110A (en) * | 1997-07-22 | 2000-06-06 | Siemens Building Technologies, Inc. | Activity based equipment scheduling method and system |
DE69808633T2 (de) * | 1997-07-25 | 2003-06-12 | British Telecomm | Ablaufsteuerung für ein softwaresystem |
DE19737256B4 (de) * | 1997-08-27 | 2005-02-24 | Robert Bosch Gmbh | Fahrzeugleit- und Zielführungssystem |
US5970466A (en) * | 1997-10-06 | 1999-10-19 | Impromed, Inc. | Graphical computer system and method for appointment scheduling |
WO1999046701A1 (en) | 1998-03-09 | 1999-09-16 | Amazon.Com, Inc. | Method and system for automatically filling forms in an integrated network based transaction environment |
US6167379A (en) * | 1998-03-24 | 2000-12-26 | Siemens Information And Communication Networks, Inc. | System for user to accept or decline updating a calendar remotely with a proposed schedule update that may have schedule confliction |
US6493427B1 (en) * | 1998-06-16 | 2002-12-10 | Telemanager Technologies, Inc. | Remote prescription refill system |
US6064976A (en) * | 1998-06-17 | 2000-05-16 | Intel Corporation | Scheduling system |
US6101480A (en) * | 1998-06-19 | 2000-08-08 | International Business Machines | Electronic calendar with group scheduling and automated scheduling techniques for coordinating conflicting schedules |
JP2000020386A (ja) | 1998-06-30 | 2000-01-21 | Hitachi Ltd | 情報システム |
KR20000019726A (ko) * | 1998-09-15 | 2000-04-15 | 이흥수 | 교통 정보를 제공하는 방법 및 교통 정보 단말기 |
BR9914488A (pt) * | 1998-11-05 | 2001-10-16 | Int Truck & Engine Corp | Sistema de comunicação de veìculo terrestre e processo para prover informação e coordenar atividades do veìculo |
US6150961A (en) * | 1998-11-24 | 2000-11-21 | International Business Machines Corporation | Automated traffic mapping |
IL131700A0 (en) * | 1999-03-08 | 2001-03-19 | Mintz Yosef | Method and system for mapping traffic congestion |
US6820203B1 (en) | 1999-04-07 | 2004-11-16 | Sony Corporation | Security unit for use in memory card |
US7177825B1 (en) | 1999-05-11 | 2007-02-13 | Borders Louis H | Integrated system for ordering, fulfillment, and delivery of consumer products using a data network |
EP1145090B1 (en) * | 1999-07-02 | 2003-04-02 | Pri Automation, Inc. | Dynamic traffic based routing algorithm |
DE19944075C2 (de) * | 1999-09-14 | 2002-01-31 | Daimler Chrysler Ag | Verfahren zur Verkehrszustandsüberwachung für ein Verkehrsnetz mit effektiven Engstellen |
US6317058B1 (en) * | 1999-09-15 | 2001-11-13 | Jerome H. Lemelson | Intelligent traffic control and warning system and method |
US6611755B1 (en) * | 1999-12-19 | 2003-08-26 | Trimble Navigation Ltd. | Vehicle tracking, communication and fleet management system |
US7251612B1 (en) * | 2000-01-10 | 2007-07-31 | Parker John E | Method and system for scheduling distribution routes and timeslots |
WO2001069488A1 (en) | 2000-03-10 | 2001-09-20 | Jones Charles P | Vehicle scheduling system |
US6615130B2 (en) * | 2000-03-17 | 2003-09-02 | Makor Issues And Rights Ltd. | Real time vehicle guidance and traffic forecasting system |
AU2001251037A1 (en) | 2000-03-28 | 2001-10-08 | Stamps.Com, Inc. | Apparatus, systems and methods for online, multi-parcel, multi-carrier, multi-service parcel returns shipping management |
US20020077929A1 (en) * | 2000-05-05 | 2002-06-20 | Knorr Yolanda Denise | Event driven shopping method utilizing electronic e-commerce order pending |
US7139721B2 (en) * | 2000-05-10 | 2006-11-21 | Borders Louis H | Scheduling delivery of products via the internet |
US6871184B1 (en) * | 2000-06-05 | 2005-03-22 | Barnet L. Liberman | Method of delivering groceries purchased over the internet |
US6240362B1 (en) * | 2000-07-10 | 2001-05-29 | Iap Intermodal, Llc | Method to schedule a vehicle in real-time to transport freight and passengers |
US7925524B2 (en) * | 2000-07-14 | 2011-04-12 | United Parcel Service Of America, Inc. | Method and system of delivering items using overlapping delivery windows |
US6317686B1 (en) * | 2000-07-21 | 2001-11-13 | Bin Ran | Method of providing travel time |
WO2002019046A1 (en) | 2000-08-31 | 2002-03-07 | Cosite.Com, Inc. | Centralized system and method for optimally routing and tracking articles |
US20020095345A1 (en) * | 2000-09-22 | 2002-07-18 | Edward Panelli | Standing order system and method |
US7222081B1 (en) | 2000-10-05 | 2007-05-22 | Fujitsu Limited | System and method for continuous delivery schedule including automated customer notification |
EP1221666A1 (en) | 2001-01-05 | 2002-07-10 | BRITISH TELECOMMUNICATIONS public limited company | Method of evaluating behaviour |
US6695145B2 (en) * | 2001-02-21 | 2004-02-24 | Frederic Veau | Unique sequencing and sorting system for garments in the uniform rental business |
US6615133B2 (en) * | 2001-02-27 | 2003-09-02 | International Business Machines Corporation | Apparatus, system, method and computer program product for determining an optimum route based on historical information |
US6701299B2 (en) * | 2001-03-16 | 2004-03-02 | United Parcel Service Of America, Inc. | Real-time delivery feasibility analysis systems and methods |
US6496774B1 (en) * | 2001-05-24 | 2002-12-17 | Prc Inc. | Automatic vehicle routing and recommendation system |
US6985871B2 (en) | 2001-08-10 | 2006-01-10 | United Parcel Service Of America, Inc. | Systems and methods for scheduling reoccurring deliveries and pickups |
US6741926B1 (en) * | 2001-12-06 | 2004-05-25 | Bellsouth Intellectual Property Corporation | Method and system for reporting automotive traffic conditions in response to user-specific requests |
EP1478904A2 (en) * | 2002-01-23 | 2004-11-24 | M-Spatial Limited | Schematic generation |
JP4255007B2 (ja) * | 2003-04-11 | 2009-04-15 | 株式会社ザナヴィ・インフォマティクス | ナビゲーション装置、およびその旅行時間算出方法 |
US20050021223A1 (en) * | 2003-04-15 | 2005-01-27 | United Parcel Service Of America, Inc. | Rush hour modeling for routing and scheduling |
US8086546B2 (en) * | 2004-12-17 | 2011-12-27 | Amazon Technologies, Inc. | Method and system for anticipatory package shipping |
EP1882156A4 (en) | 2005-05-09 | 2012-04-04 | United Parcel Service Inc | SYSTEMS AND METHODS FOR ROUTING AND SHARING |
US20080077464A1 (en) * | 2006-09-22 | 2008-03-27 | Sap Ag | Vehicle scheduling and routing with trailers |
-
2006
- 2006-05-09 EP EP06770107A patent/EP1882156A4/en not_active Ceased
- 2006-05-09 JP JP2008511250A patent/JP2008543695A/ja not_active Withdrawn
- 2006-05-09 CA CA2605879A patent/CA2605879C/en active Active
- 2006-05-09 MX MX2007014112A patent/MX2007014112A/es not_active Application Discontinuation
- 2006-05-09 CN CN2006800158697A patent/CN101184974B/zh active Active
- 2006-05-09 WO PCT/US2006/017813 patent/WO2006122070A2/en active Application Filing
- 2006-05-09 US US11/382,405 patent/US9135575B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5272638A (en) * | 1991-05-31 | 1993-12-21 | Texas Instruments Incorporated | Systems and methods for planning the scheduling travel routes |
US6748318B1 (en) * | 1993-05-18 | 2004-06-08 | Arrivalstar, Inc. | Advanced notification systems and methods utilizing a computer network |
US5963948A (en) * | 1996-11-15 | 1999-10-05 | Shilcrat; Esther Dina | Method for generating a path in an arbitrary physical structure |
CN1335930A (zh) * | 1999-01-06 | 2002-02-13 | 因弗革迅公司 | 移动导航系统 |
CN1497242A (zh) * | 2002-10-07 | 2004-05-19 | ��ʽ�����װ | 对自动行驶道路优先的汽车导航系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2008543695A (ja) | 2008-12-04 |
US20060262967A1 (en) | 2006-11-23 |
WO2006122070A2 (en) | 2006-11-16 |
CA2605879A1 (en) | 2006-11-16 |
CA2605879C (en) | 2012-07-17 |
EP1882156A2 (en) | 2008-01-30 |
WO2006122070A3 (en) | 2007-06-21 |
MX2007014112A (es) | 2008-04-17 |
WO2006122070A8 (en) | 2007-12-27 |
CN101184974A (zh) | 2008-05-21 |
EP1882156A4 (en) | 2012-04-04 |
US9135575B2 (en) | 2015-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101184974B (zh) | 用于择路和调度的系统和方法 | |
US20210314737A1 (en) | Method and Apparatus for Dynamic Geo-Fencing | |
Taniguchi et al. | Optimal size and location planning of public logistics terminals | |
CN103020790B (zh) | 一种预分拣订单的方法和装置 | |
Kang et al. | Development of a genetic algorithm for the school bus routing problem | |
CN108665117B (zh) | 一种室内空间最短路径的计算方法、装置、终端设备以及存储介质 | |
CN111339230B (zh) | 一种车辆信息显示方法、装置、电子设备和存储介质 | |
CN113408992A (zh) | 一种物料信息提示方法、装置、电子设备及存储介质 | |
CN104636457B (zh) | 一种位置搜索认知的方法及装置 | |
CN116720642A (zh) | 车辆与无人机协同配送的路径优化方法和系统 | |
Rahmaniani et al. | A study on maximum covering transportation network design with facility location under uncertainty | |
CN113077181A (zh) | 一种停车站点设置方法、装置、介质及电子设备 | |
JP6472589B1 (ja) | 地図データ処理装置 | |
Cheref et al. | A new robust approach for a production scheduling and delivery routing problem | |
Bergqvist et al. | Evaluating locations for intermodal transport terminals | |
KR102374342B1 (ko) | 음식물쓰레기 관리 지원 장치 및 방법 | |
Lin et al. | Applying an immune ant colony system algorithm to solve an integrated flexible bay facility layout problem with input/output points design | |
JP2021022016A (ja) | 出荷作業支援システム、その方法、及びコンピュータプログラム | |
Jin et al. | A simulation framework for the rebalancing and maintenance of bicycle-sharing systems | |
CN109241215A (zh) | 对象搜索方法、装置、设备及计算机可读存储介质 | |
JP2011096261A (ja) | 配送所属決定装置、決定方法、及び、プログラム | |
Gu et al. | GIS-FLSolution: A spatial analysis platform for static and transportation facility location allocation problem | |
CN111160831A (zh) | 密集仓储的任务生成方法、装置和电子设备 | |
Khojasteh-Ghamari et al. | Order picking problem in a multi-aisle automated warehouse served by a single storage/retrieval machine | |
CN116227898B (zh) | 车辆调度方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: ROADNET TECHNOLOGY CO. Free format text: FORMER OWNER: UNITED PARCEL SERVICE OF AMERICA, INC. Effective date: 20120419 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20120419 Address after: Maryland, United States Applicant after: United Parcel Service Inc. Address before: Georgia, USA Applicant before: United Parcel Service of America Inc. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |