一种物流装置和方法转让专利

申请号 : CN202010872817.3

文献号 : CN112446529A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤姆·罗伯特·乔治·汤普森安吉拉·费斯勒菲尔·丹纳露丝·蒂丝莉加博尔·巴克勒-库格勒艾哈迈德·加西姆

申请人 : 福特全球技术公司

摘要 :

一种物流装置,该物流装置包括存储器和处理器,处理器用于执行图形用户界面GUI,GUI显示在显示器上并与用户输入装置相连,其中:物流装置能够访问作为母代理和递送代理的代理的递送整体计划安排,每个物品都表示为记录,其中每个母代理具有分配给它的用于沿路线到达中心位置的第一运输阶段的记录的母集群,并且每个母集群中的记录根据收件人位置进一步聚类为一个或多个子集群以用于第二运输阶段,每个子集群被分配给从母代理的中心位置沿路线操作并在收件人位置处递送的递送代理;递送整体计划安排包括每个代理的单独的计划安排,单独的计划安排带有事件和事件的地点以及时间;以及其中GUI将控制显示器显示单独的计划安排。

权利要求 :

1.一种用于协助将物品递送给位于不同收件人位置的收件人的用于用户的物流装置,所述物流装置包括存储器和处理器,所述处理器用于执行图形用户界面GUI,所述GUI显示在显示器上并与用户输入装置相连,其中:所述物流装置能够访问作为母代理和递送代理的代理的递送整体计划安排,每个所述物品都表示为记录,其中每个所述母代理具有分配给它的用于沿路线到达中心位置的第一运输阶段的记录的母集群,并且每个所述母集群中的所述记录根据所述收件人位置进一步聚类为一个或多个子集群以用于第二运输阶段,每个所述子集群被分配给从所述母代理的所述中心位置沿路线操作并在所述收件人位置处递送的递送代理;

所述递送整体计划安排包括每个所述代理的单独的计划安排,所述单独的计划安排带有事件和所述事件的地点以及时间,其中所述事件包括所述代理沿着路线行驶的行驶事件和代理正在执行任何下列停车动作的停车事件:递送物品、在代理之间转移物品和等待;以及其中所述GUI将控制所述显示器以显示下列形式的单独的计划安排:计划安排视图,在所述计划安排视图中显示包括计划安排事件的时间的指示的事件时间序列;以及地图视图,所述地图视图以地图叠加所述停车事件位置和所述行驶事件路线的形式;

其中

当通过所述用户输入装置在所述计划安排视图中进行事件的用户选择和/或当通过所述用户输入装置在所述地图视图中进行事件的用户选择时,所述GUI将控制显示装置以显示包括所述事件的详细信息的事件视图。

2.根据权利要求1所述的物流装置,其中所述GUI将提供一组一个或多个页面,每个所述页面都有用来查看另外的信息和/或向其他用户发送消息的一个或多个可选按钮,并且其中所述消息在另一个物流装置的显示器上显示为弹出窗口。

3.根据前述任一权利要求所述的物流装置,其中所述计划安排包括作为另一停车动作的拾取事件。

4.根据权利要求1、2或3所述的物流装置,其中

所述物流装置由所述母代理或所述递送代理操作,并且其中:

所述计划安排视图呈现为显示在所述显示装置上的单独计划安排页面,并且所述GUI将接受通过点击作为地图页面的所述地图视图的可选地图按钮来接受选择;并且其中所述单独计划安排页面和/或所述地图页面上的所述事件表现为事件按钮以打开作为事件页面的事件视图。

5.根据权利要求4所述的物流装置,其中所述单独计划安排页面包括作为查看事件和相邻事件的时间序列,以及包括标记的完整递送期间的计划安排的抽象表示,所述抽象表示允许所述用户通过将所述标记拖动到事件而在所述完整递送期间来移动所述时间序列。

6.根据权利要求4或5所述的物流装置,其中

所述事件页面包括可点击到所述地图页面的可选按钮和/或用于启动事件的可选按钮。

7.根据权利要求6所述的物流装置,其中递送事件页面的所述可选按钮点击到带有用户输入区域的数据页面,以便所述递送代理在完成递送时输入通知,所述用户输入区域供所述收件人输入签名,并且优选地,其中当所述递送代理在第一次递送的预定时间内通知第二次递送时,所述GUI可操作用于显示下列消息,所述消息询问所述递送代理两次停车动作是否是同一递送的一部分,如果所述代理确认,则将收件人签名从所述第一次递送复制到所述第二次递送。

8.根据权利要求4-7中任一项所述的物流装置,其中所述地图页面包括显示选定事件的卡,其中所述卡是表示计划安排的一串卡的一部分,其中所述GUI可由所述代理操作查看下一张卡以查看相邻事件。

9.根据权利要求8所述的物流装置,其中在所述地图页面上,参与选定事件的团队成员显示在所述显示器上,优选作为所述卡的一部分。

10.根据权利要求1、2或3所述的物流装置,其中所述物流装置由管理者操作,并且其中:所述计划安排视图和所述地图视图作为显示在所述显示装置上的单个概览页面一起呈现,并且所述GUI接受所述管理者的输入以作为可移动的弹出窗口打开所述事件视图,而不改变所述页面。

11.根据权利要求10所述的物流装置,其中

所述概览页面上的所述计划安排视图显示单独的代理的时间轴并且特定代理时间轴之间的视觉连接表示涉及这些特定代理的转移。

12.根据权利要求10或11所述的物流装置,其中所述地图视图中的转移位置可移动到不同的位置,例如使用拖放,并且网络界面可操作将不同的位置发送给所述代理的所述物流装置,并且优选地其中显示附近先前成功的转移位置,以帮助所述管理者选择不同的位置。

13.根据权利要求10-12中任一项所述的物流装置,其中

在所述计划安排视图上的递送选择使待递送的选定物品的路线突出显示在所述地图上,并且在所述地图视图上的递送选择使待递送的选定物品的路线突出显示在所述地图上,和/或其中在所述计划安排视图上的转移事件的选择使所述转移所涉及的所有代理的位置以及路线突出显示并且在所述地图视图上的转移事件的选择使所述转移所涉及的所有代理的位置以及路线突出显示。

14.一套物流装置,其包括两个或更多个根据权利要求4-9中任一项所述的用于代理的物流装置以及可选地根据权利要求10-13中任一项所述的用于管理者的物流装置。

15.一种协助将物品递送给位于不同收件人位置的收件人的计算机实现的方法,所述方法利用包括存储器和处理器的物流装置,所述处理器用于执行图形用户界面GUI,所述图形用户界面GUI显示在显示器上并与用户输入装置相连,所述方法包括:访问作为母代理和递送代理的代理的递送整体计划安排,其中每个所述物品都表示为记录,其中每个所述母代理具有分配给它的用于沿路线到达中心位置的第一运输阶段的记录的母集群,并且每个所述母集群中的所述记录根据所述收件人位置进一步聚类为一个或多个子集群以用于第二运输阶段,每个所述子集群被分配给从所述母代理的所述中心位置沿路线操作并在所述收件人位置处递送的递送代理;

访问包含在所述递送整体计划安排中的单独的计划安排,为每个所述代理提供带有事件和所述事件的地点以及时间的单独的计划安排,其中所述事件包括所述代理沿着路线行驶的行驶事件和所述代理正在执行任何下列停车动作的停车事件:递送物品、在代理之间转移物品和等待;以及所述GUI控制所述显示器显示:计划安排视图,在所述计划安排视图中显示包括计划安排事件的时间的指示的事件时间序列;以及地图视图,所述地图视图以地图叠加所述停车事件位置和所述行驶事件路线的形式;

其中

所述用户输入装置接受所述计划安排视图中的事件的用户选择和/或所述用户输入装置接受所述地图视图中的事件的用户选择,并且所述GUI控制显示装置显示包括所述事件的详细信息的事件视图。

说明书 :

一种物流装置和方法

技术领域

[0001] 本发明涉及一种具有图形用户界面(GUI)的计算机实施的物流装置和方法,该设备和方法用于协助将物品(诸如使用互联网购买的邮包/包裹之类的实体商品)递送给收件人(例如顾客或消费者)。该设备和方法在增强将商品递送给企业或个人方面具有广泛的适用性,特别是在城市场景中。

背景技术

[0002] 现有技术的商品递送使用诸如厢式货车的传统机动车辆。各个厢式货车驾驶员在限定的地理递送区域中被分配要递送的包裹。他或她在仓库(配送中心)处将包裹装进厢式货车。为了便于取出,驾驶员将包裹装载到厢式货车中并装到厢式货车的简单装载平台上。厢式货车驾驶员通常具有到达且通过他或他每天遵循递送的递送区域的优选路线,从而在每个顾客递送位置处停下厢式货车并且卸载邮包(或包裹)。到达递送区域的路线可以径直的,但在递送区域(在递送之前所谓的“最后一英里”)和递送过程内的行程是费时且效率低的。通常,驾驶员会导航到下一个递送位置、将厢式货车停放在附近的某个地方、在该位置在厢式货车后部装载平台上卸下包裹、将该包裹递送给顾客、并且然后再走回到厢式货车的停放位置。
[0003] 该递送过程在低交通状况下并且在充足的停车机会的情况下可以是高效的,但是一旦送货车辆进入高交通量和/或停车位可用性低的区域,递送速率就会大大降低。最终阶段的这种延迟使得整个递送过程效率低下且昂贵。这对于时间敏感递送(例如食品递送)特别令人厌烦。此外,送货车辆导致当地污染水平和街头拥挤的水平增加。
[0004] 当今的消费者倾向于通过互联网购买商品,以便在优选位置(例如在办公室或在家)递送。因此,全球商品运输的数量剧烈地增加,因为它取代了在零售店的直接购买。同时,消费者从根本上期望更短的递送时间以及低或零递送成本。在直接来自供应商以及来自不同供应商提供的食物和饮料选择的第三方递送代理机构的食物和饮料递送的方面也有剧烈的增加。这些因素的这种结合给我们城市中的传统递送和运输系统(例如道路网络)施加了压力。特别是城市厢式货车旅程和路缘使用量正在不断地增加。
[0005] 此外,在不依赖驾驶员知识的任何自动化过程中,都需要有效地指导交付过程。

发明内容

[0006] 本发明的实施例目的在于减轻消费者需求对城市运输系统的影响,并且提供一种将物品递送给收件人的更可持续的方法,同时为用户提供有关技术递送系统和GUI输入功能的GUI递送说明,以使GUI适应需求。
[0007] 根据一个方面,提供一种用于协助将物品递送给位于不同收件人位置的收件人的用于用户的物流装置,该物流装置包括存储器和处理器,处理器用于执行图形用户界面GUI,GUI显示在显示器上并与用户输入装置相连,其中:
[0008] 物流装置能够访问作为母代理和递送代理的代理的递送整体计划安排,每个物品都表示为记录,其中每个母代理具有分配给它的用于沿路线到达中心位置的第一运输阶段的记录的母集群,并且每个母集群中的记录根据收件人位置进一步聚类为一个或多个子集群以用于第二运输阶段,每个子集群被分配给从母代理的中心位置沿路线操作并在收件人位置处递送的递送代理;
[0009] 递送整体计划安排包括每个代理的单独的计划安排,单独的计划安排带有事件和事件的地点以及时间,其中事件包括代理沿着路线行驶的行驶事件和代理正在执行任何下列停车动作的停车事件:递送物品、在代理之间转移物品和等待;以及其中GUI将控制显示器以显示下列形式的单独的计划安排:
[0010] 被显示的包括计划安排事件的时间的指示的事件时间序列的计划安排视图;以及[0011] 以地图叠加停车事件位置和行驶事件路线的形式的地图视图;其中
[0012] 当通过用户输入装置在计划安排视图中进行事件用户选择和/或当通过用户输入装置在地图视图中进行事件用户选择时,GUI将控制显示装置以显示包括事件的详细信息的事件视图。
[0013] 然后根据提供给每个母代理和递送代理的单独的计划安排信息递送这些物品。
[0014] 发明者发现,一种新的递送模式可以在软件中实现,这不仅大大减少了递送厢式货车在建造的城市地区的道路使用,而且还通过使用递送过程中使用的代理的单独计划安排来减少延迟以改善递送时间。此外,新的模式非常适合于技术进步,如无人机和自主驾驶(自动)车辆等自动代理的递送。可以为非自动化(人)代理提供GUI。
[0015] 新范式可以使用“中心和辐射(hub and spoke)”方法,其中母代理将物品带到中心位置并且然后子代理各自将物品的子集从中心位置带到收件人位置。以此方式,母代理可以停在方便的中心位置(例如,其对于所有收件人位置都是近似中心的),并且子代理可以从中心接收其子集以用于本地递送。之后递送代理可以在相同或不同的中心位置再次遇见母代理,以接收可能来自同一子集群的另外的载物,如下所述。第二中心位置可以特定于单个递送代理,或者由两个或多个递送代理共享。如下面更详细地解释的,可以预先确定由每个递送代理递送的物品和递送的次序。
[0016] 供选择地(并且在相同预定的递送次序的情况下),范式可以使用“通道”方法,其中递送厢式货车将装载的包裹/隔间投放在安全的地方(例如储物柜或有人值守的位置或诸如报刊店、包裹店或用于快递员提取的其他本地商店之类的场所)。在这种情况下,安全地方的位置被预先确定。
[0017] 母代理可以是带有驾驶员的厢式送货车或卡车、货车或摩托车,或其他初始运输工具,如船舶、飞机或任何其他类型的车辆,如自动驾驶车辆、无人机或输送机(在这种情况下不需要GUI)。如果有多个母集群,则可以使用不同的初始运输工具(但每个母集群只使用一个)。
[0018] 递送代理(在子集群中)可以包括多个本地运输工具,最好比初始运输工具更少受到城市交通的影响,如无人机、机器人(不需要GUI)或具有用户的轮式用户车辆,如电动自行车、自行车、滑板车或动力或无动力推车或手推车,这些车辆比厢式货车小,可用于不适合于传统(通常是四轮)递送车辆的步行区/人行道/路径,传统递送车辆的大小可以从小型车辆到大型货车。不同的本地运输工具可用于不同的子集群。
[0019] 该方法为每个母代理和递送代理创建一个单独的计划安排,其中单独的计划安排包含事件和事件的时间。这允许代理在代理移动设备(或物流装置)上由GUI单独指示,以增强灵活性和易用性,类似的GUI也可以用于车队管理者。
[0020] 具体而言,GUI包括具有事件时间序列的计划安排视图,其包括计划安排事件的时间指示。这是最小的信息,附加信息可以包括事件的类型:代理沿着路线(通向事件)行驶的行驶事件和代理正在执行任何下列停车动作的停车事件:递送物品、在代理之间转移物品和等待
[0021] GUI还包括地图视图,其形式为地图叠加停车事件位置和行驶事件路线。可以显示单个代理的路线,例如,用于递送代理使用GUI,或者当递送代理要与另一代理相遇(例如用于转移)时,可以显示两个或更多个路线。用于母代理的GUI可以显示母代理的路线以及在母代理中运输的子集群的所有递送代理的路线。用于中央管理功能的GUI可以显示所有路线,或与用户输入相关的路线选择,例如事件的选择。
[0022] 无论是在计划安排视图中还是在地图视图中的用户输入都控制显示装置来显示包括事件的详细信息的事件视图。这种简单的机制不仅在不同的视图中是一致的,而且一旦事件在更广泛的时间序列(计划安排视图)和/或空间序列(地图视图)的背景中显示,就会迅速地揭示潜在的信息。
[0023] GUI可以提供一组一个或多个页面,每个页面都有用来查看另外的信息的一个或多个可选按钮(显示器上由用户选择以创建动作的区域)。可选按钮可以选择用于向其他用户发送消息。在这种情况下,消息在另一个物流装置的显示器上显示为弹出窗口。例如,母代理可以向整个团队(包括递送代理和任何管理者)发送消息,说明存在交通延迟或其他可能影响递送的实时情况。递送代理可以发送相同类型的消息。
[0024] GUI可以包括不同事件的图标形式的指示。递送图标可以包括向下的箭头。拾取图标(稍后将更详细地解释)可以包括向上的箭头。转移图标可以包括水平双向箭头或指向彼此的两个水平垂直偏移箭头。等待图标可能包括钟面。可以根据它们是否已经完成、下一个要完成的操作或将来的进一步停车而不同地突出显示GUI(或针对不同团队成员的一组GUI)中的图标和其他颜色,例如使用颜色或阴影。
[0025] 如果转移位置被更改(如后面所解释的),这可以导致自动弹出窗口提醒参与转移的代理更改的位置。
[0026] 物流装置可以是计算设备,如终端、笔记本电脑、苹果掌上电脑(iPad)或其他平板电脑/触摸屏电脑、手机或个人数字助理(PDA)。用户可以是递送过程的母代理或递送代理或管理者,也可以设在配送中心。
[0027] 地图还可以覆盖母代理和递送代理(或至少是递送代理的GUI代理)的实时位置。这允许对递送过程进行很好的概览。例如,可以在中央仓库提供屏幕,显示所有团队的位置。可以为母代理或递送代理提供更简单的屏幕,并只显示该代理的路线。有利的是,代理可以在更简单的屏幕和视图之间调换,包括其他代理。
[0028] 计划安排可以包括作为另一停车动作的拾取事件。也就是说,该系统可以运行为包括收集(拾取物品)和递送,稍后将更详细地解释。
[0029] 在一个实施例中,物流装置由母代理或递送代理操作。在这种情况下,物流装置很可能是平板电脑或手机。显示器和用户输入装置可以由GUI控制的触摸屏一起构成。
[0030] 计划安排视图呈现为显示在显示装置上的单独计划安排页面。GUI将接受通过点击作为地图页面的地图视图的可选地图按钮来接受选择。单独计划安排页面和/或地图页面上的事件表现为事件按钮以打开作为事件页面的事件视图。这种简单的页面结构对代理来说是易于使用和直观的。它可以由一个欢迎页面呈现,代理单击该页面首先在单个计划安排页面上登录,该页面是为该代理设置的。
[0031] 单独计划安排页面包括作为查看事件或当前事件以及相邻事件的时间序列,以及完整递送期间的计划安排的抽象表示。查看的事件和相邻事件各自可以包括图标、文本信息(如时间、指令和潜在的地址)。抽象表示可以包括表示事件并按颜色划分的未标记的部分(较细的)线。例如,这条线可以沿着与观看事件和相邻事件的(较粗的)线相同的方向延伸穿过显示器。它还可以包括标记,这种抽象表示允许用户在完整的递送周期内通过将标记拖动到事件来在时间序列周围移动。因此,如果时间序列不完整,并且没有显示递送期间(例如日或班)的所有信息,则抽象表示可以用于导航。它可以使用与为时间序列中的不同类型的事件和GUI中的其他地方设置的颜色方案相同的颜色。可以提供将视图带回到当前事件的可选按钮。
[0032] 事件页面和/或单个计划安排页面可以包括可点击到地图页面的可选按钮,例如带有文本“查看地图”或“在地图上显示”。事件页面可以包括启动事件的可选按钮。例如,母代理转移的事件页面可以显示“立即开始”按钮,该按钮允许母代理指示转移的完成。递送的事件页面可以显示“立即开始”按钮,该按钮允许递送代理在数据页面上输入递送数据(或拾取数据)。递送代理或母代理的前往页面可以显示“立即开始”按钮,该按钮切换到导航指令的页面。此导航页面可以保留用于前往事件的卡。
[0033] 因此,GUI还可以提供带有用户输入区域的数据页面,用户输入区域便于在停车动作(如递送或拾取)完成时递送代理输入通知和/或供收件人输入签名。
[0034] 此外,如果在第一次递送停车动作的预定时间内(例如两分钟)输入了第二次递送停车动作(由上述递送代理通知),GUI可以显示消息(例如在数据页面上的弹出窗口或可选按钮),询问递送代理这两个停车动作是否是同一递送的一部分。如果代理输入确认,收件人的任何签名都可以从第一次递送复制到第二次递送以确定接收。这是处理多个包裹递送(例如到门厅接待员)的快速和有效的方式,并允许临时添加另外的物品。
[0035] GUI,尤其是数据页面,也可以允许在反馈区域中输入来自收件人的递送点信息和反馈。物流装置也可以自动收集递送点信息。
[0036] 地图页面可以包括地图一侧的卡(或横幅),其显示选定的事件。卡可以包括文本信息、图标和潜在的时间和/或距离信息。此卡可以是表示计划安排的卡的字符串(时间序列)的一部分,并且代理可以操作GUI以查看下一张卡以查看相邻事件。例如,代理可以在触摸屏上“刷卡”或使用鼠标到以前或以后的事件,然后在地图上突出显示。地图页面可以包括可选按钮,以返回到当前事件(实时)。
[0037] 参加选定事件的团队成员可以显示在显示器上,最好作为卡的一部分,例如每个团队成员一张照片。
[0038] 每个代理类型可以有一个GUI类型,递送代理在手机上使用较小格式的GUI,母代理使用平板电脑。
[0039] 在一些实施例中,物流装置是由管理者操作的,管理者很可能可以访问更大的屏幕。在这种情况下,计划安排视图和地图视图可以作为显示装置上显示的单个概览页面一起显示。GUI可以接受用户(管理者)输入,将事件视图作为可移动的弹出窗口打开(并且不改变页面)。同时呈现计划安排视图和地图视图,并可选地添加事件视图,不仅允许伴随递送进度的两个视图,而且还可以增强功能,如下所述。
[0040] 概览页面上的计划安排视图可以显示单个代理的时间轴。特定代理时间轴之间的视觉连接可以表明涉及这些特定代理的转移。例如,显示器上的垂直颜色条可以在母代理将隔间转移到递送代理时将母代理和递送代理的两个水平单独的计划安排连接。或者,颜色条可以是水平的,单独的计划安排可以是竖直的。
[0041] 有益的是,地图视图中的转移位置可以移动到不同的位置,例如使用拖放。这允许例如响应于存在交通阻塞的消息而灵活地重新定位转移。管理者设备的网络界面(在设备可移动的情况下是收发器)可以将不同的位置发送到代理的物流装置。这些信息可以选择性地发送给参与转移的代理。可以计算新的路线和/或新的时间,并将其发送给所涉及的代理。在当前事件的位置更改时,可以触发警报以警告代理不同的位置。
[0042] 为了协助管理者,可以(在地图上)显示附近先前成功的转移位置,以协助管理者选择不同的位置。
[0043] 在计划安排视图上的递送选择可以使选定的递送物品的路线突出显示在地图上,在地图视图上的递送选择可以以同样的方式使选定的递送物品的路线突出显示在地图上。这允许管理者使用两种可互换的方式突出显示递送的路线,包括母代理和递送代理两者。
[0044] 在计划安排视图上的转移事件的选择可以使转移所涉及的所有代理位置和路线突出显示,在地图视图上的转移事件的选择可以以同样的方式使转移所涉及的所有代理位置和路线突出显示。同样地,还可以向管理者提供可供选择的方式以在地图上更密切地查看转移。
[0045] 在所有实施例中,如果有实时更新,GUI可以显示更新的计划(在所有不同的GUI视图中)。当递送代理距离母代理与递送代理相遇的位置预定的时间时,GUI还可以通知母代理(例如,在当时显示的任何页面上弹出消息),由此母代理可以了解递送代理的进度。由于这种更新,母代理可以决定修改其航线以偏离计划的递送路线(例如,在递送代理迟到的情况下,递送另一物品而不是直接进入转移位置)。
[0046] 可以提供系统来执行协助递送方法。例如,一组物流装置可以包括两个或更多个如上所述的用于代理的物流装置以及可选地如上所述的用于管理者的物流装置。如果需要,可以提供服务器,以进行聚类和计划安排的计算和存储。计算和存储可以托管在互联网上。
[0047] 另一方面提供了一种协助向位于不同收件人位置的收件人递送物品的计算机实现的方法,该方法使用包含存储器和处理器的物流装置,处理器用于执行图形用户界面GUI,图形用户界面GUI显示在显示器上并与用户输入装置相连,该方法包括:
[0048] 访问作为母代理和递送代理的代理的递送整体计划安排,其中每个物品都表示为记录,其中每个母代理具有分配给它的用于沿路线到达中心位置的第一运输阶段的记录的母集群,并且每个母集群中的记录根据收件人位置进一步聚类为一个或多个子集群以用于第二运输阶段,每个子集群被分配给从母代理的中心位置沿路线操作并在收件人位置处递送的递送代理;
[0049] 访问包含在递送整体计划安排中的单独的计划安排,为每个代理提供带有事件和事件的地点以及时间的单独的计划安排,其中事件包括代理沿着路线行驶的行驶事件和代理正在执行任何下列停车动作的停车事件:递送物品、在代理之间转移物品和等待;以及GUI控制显示器显示:
[0050] 被显示的包括计划安排事件的时间的指示的事件时间序列的计划安排视图;以及[0051] 以地图叠加停车事件位置和行驶事件路线的形式的地图视图;其中
[0052] 用户输入装置接受计划安排视图中的事件用户选择和/或用户输入装置接受地图视图中的事件用户选择,并且GUI控制显示装置显示包括事件的详细信息的事件视图。
[0053] 根据本发明的又一方面,提供了一种计算机程序,当加载到至少一台计算机上时,该计算机程序配置为使至少一台计算机实施根据上述方法限定的任何一个或其任何组合的方法步骤。程序可以在本地或云上执行。
[0054] 计算机系统可以包含由代理使用的移动设备形式的物流装置(例如,包括上述GUI功能),移动设备可以是诸如智能电话、平板电脑或掌上电脑(PDA)。每个移动设备至少包括处理器、存储器和用于接收指令并且将数据传递回物流装置的发送器/接收器。可以为管理者提供利用网络界面的位于固定终端的网络应用程序并且为代理提供移动设备上的移动应用程序(在苹果手机iPhone或平板电脑IPAD上的IOS应用程序或在其他智能手机上的Android应用程序,或在任何首选类型的数字助手上的适当操作系统)。
[0055] 根据本发明优选实施例的方法可以包括装置(或计算机系统)或计算机程序方面的任何组合。根据另外的实施例的方法或计算机程序可以描述为计算机实现,因为它们需要处理和存储能力。
[0056] 根据优选实施例的装置被描述为被配置或布置为或者简单地“用于”执行某些功能。该配置或布置可以通过使用硬件或中间件或任何其他合适的系统来进行。在优选的实施例中,配置或布置是通过软件进行。
[0057] 因此,根据一方面,提供一种程序,该程序在其被装载到至少一个计算机上时将该计算机配置为成为根据前述装置定义或其任何组合中任一项所述的物流装置。
[0058] 通常,计算机可以包含被列为被配置或布置为提供所定义的功能的元件。例如,中心计算机可以包括存储器、处理装置和网络接口、以及另外的输入装置和显示器。
[0059] 本发明可以以数字电子电路或以计算机硬件、固件、软件或它们的组合来实施。本发明可以被实施为计算机程序或计算机程序产品,即,在非暂时性信息载体中(例如,在机器可读存储装置中)或者在传播信号中有形地体现以用于通过一个或多个硬件模块执行或控制一个或多个硬件模块的操作的计算机程序。
[0060] 计算机程序可以是以独立程序、计算机程序部分或多于一个的计算机程序的形式,并且可以以任何形式的编程语言(包括已编译或解释的语言)编写,并且它可以以任何形式进行部署,包括独立程序或模块、部件、子例程或适合在数据处理环境中使用的其他单元。计算机程序可以被部署为在一个站点处的一个模块上或多个模块上执行,或者分布在多个站点上并且通过通信网络互连的一个或多个模块执行。
[0061] 本发明的方法步骤可以通过一个或多个可编程处理器来执行,这些处理器执行计算机程序以通过对输入数据进行操作并且生成输出来执行本发明的功能。本发明的装置可以被实施为编程硬件或被实施为专用逻辑电路,包括例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
[0062] 适合于执行计算机程序的处理器包括例如通用和专用微处理器以及任何种类的数字计算机中的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器,该处理器耦接到用于存储指令(例如GUI指令)和数据的一个或多个存储装置。
[0063] 本发明根据特定实施例进行描述。其他实施例在如下权利要求的范围内。例如,本发明的步骤可以以不同的次序执行并且仍然获得所需结果。多个测试脚本版本可以作为单元被编辑和调用,而无需使用面向对象的编程技术;例如,脚本对象的元素可以在结构化数据库或文件系统中被组织,并且描述为由脚本对象执行的操作可以由测试控制程序执行。
[0064] 已经使用术语“处理器”、“输入装置”等描述了本发明的元件。本领域技术人员应当理解的是,这样的功能术语及其等同形式可以指的是空间上分离但组合以服务所定义的功能的系统部分。同样地,系统的相同物理部分可以提供其中两个或多个定义的功能。例如,可以适当地使用相同的存储器和/或处理器来实施单独定义的装置。
[0065] 根据本发明的另一方面,提供一种用于协助将物品递送给位于不同收件人位置的收件人的用于用户的物流装置,物流装置包括存储器和处理器,处理器用于执行图形用户界面GUI,GUI显示在显示器上并与用户输入装置相连,其中:
[0066] 物流装置能够访问作为母代理和递送代理的代理的用于收件人的物品的递送整体计划安排,每个物品都表示为记录,其中每个母代理具有分配给它的用于沿路线到达中心位置的第一运输阶段的记录的母集群,并且每个母集群中的记录根据收件人位置进一步聚类为一个或多个子集群以用于第二运输阶段,每个子集群被分配给从母代理的中心位置沿路线操作并在收件人位置处递送的递送代理,中心位置根据母集群中的记录的收件人的位置定位;
[0067] 递送整体计划安排包括每个代理的单独的计划安排,单独的计划安排带有事件和事件的地点以及时间,其中事件包括代理沿着路线行驶的行驶事件和代理正在执行任何下列停车动作的停车事件:递送物品、在代理之间转移物品和等待;以及其中GUI将控制显示器以显示下列形式的单独的计划安排:
[0068] 计划安排视图,在计划安排视图中显示包括计划安排事件的时间的指示的事件时间序列;以及
[0069] 地图视图,地图视图以地图叠加停车事件位置和行驶事件路线的形式;其中[0070] 当通过用户输入装置在计划安排视图中进行事件的用户选择和/或当通过用户输入装置在地图视图中进行事件的用户选择时,GUI将控制显示装置以显示包括事件的详细信息的事件视图。
[0071] 根据本发明的又一方面,提供一种协助将物品递送给位于不同收件人位置的收件人的计算机实现的方法,方法利用包括存储器和处理器的物流装置,处理器用于执行图形用户界面GUI,图形用户界面GUI显示在显示器上并与用户输入装置相连,方法包括:
[0072] 访问作为母代理和递送代理的代理的用于收件人的物品的递送整体计划安排,其中每个物品都表示为记录,其中每个母代理具有分配给它的用于沿路线到达中心位置的第一运输阶段的记录的母集群,并且每个母集群中的记录根据收件人位置进一步聚类为一个或多个子集群以用于第二运输阶段,每个子集群被分配给从母代理的中心位置沿路线操作并在收件人位置处递送的递送代理,中心位置根据母集群中的记录的收件人的位置定位;
[0073] 访问包含在递送整体计划安排中的单独的计划安排,为每个代理提供带有事件和事件的地点以及时间的单独的计划安排,其中事件包括代理沿着路线行驶的行驶事件和代理正在执行任何下列停车动作的停车事件:递送物品、在代理之间转移物品和等待;以及GUI控制显示器显示:
[0074] 计划安排视图,在计划安排视图中显示包括计划安排事件的时间的指示的事件时间序列;以及
[0075] 地图视图,地图视图以地图叠加停车事件位置和行驶事件路线的形式;其中[0076] 用户输入装置接受计划安排视图中的事件的用户选择和/或用户输入装置接受地图视图中的事件的用户选择,并且GUI控制显示装置显示包括事件的详细信息的事件视图。

附图说明

[0077] 现在将纯粹地通过示例的方式参照附图描述本发明的优选特征,其中:
[0078] 图1a是物流装置的示意图,该物流装置用于协助将物品递送给位于不同收件人位置的收件人;
[0079] 图1b是一般实施例中用于安排将物品递送给位于不同收件人位置处的收件人的计算机实施的物流方法的流程图;
[0080] 图2是根据一个示例的计划安排生成方法的高度概览流程图;
[0081] 图3是根据一个平衡的子聚类示例的向子集群分配物品的高度概览流程图;
[0082] 图4是根据一个示例的描述为每个子集群分配初始物品的流程图;
[0083] 图5是根据一个示例的描述将所有剩余物品分配给子集群的流程图;
[0084] 图6是根据一个示例的描述将物品分配到隔间中以及确定行程之间必要的重装载位置的流程图;
[0085] 图7(包含图7a和图7b)是根据一个示例的描述针对其他递送代理的重装载调整母代理计划安排的流程图;
[0086] 图8是根据一个示例的描述为用户创建事件的流程图;
[0087] 图9是根据一个示例的描述针对每个用户在每个站点上设置起点和终点车辆的流程图;
[0088] 图10(包含图10a和图10b以及图10c)是根据一个示例的描述计算在计划安排中的所有事件的预期持续时间的流程图;
[0089] 图11是根据一个示例的数字物品清单的示例;
[0090] 图12是根据一个示例的生成的递送/物流计划安排的示例;
[0091] 图13是根据一个示例的基于网络的GUI的代表性屏幕截图,其中多个用户的计划安排在地图上突出显示各个事件;
[0092] 图14是根据一个示例的基于移动电话的GUI的代表性屏幕截图,其中单个用户的事件被地图显示;
[0093] 图15描述了车队管理者的网络界面的心理模型;
[0094] 图16示出了车队管理者控制面板或概览页面;
[0095] 图17示出了带有选择的递送事件和下面各种可选事件视图的控制面板;
[0096] 图18示出了车队管理者可用的地图层;
[0097] 图19是地图视图,其示出了转移事件的重新定位;
[0098] 图20描述了厢式货车驾驶员(母代理)的移动设备界面的心理模型;
[0099] 图21描述了厢式货车驾驶员的一系列屏幕;
[0100] 图22描述了骑行者或步行者(递送代理)的移动设备界面的心理模型;
[0101] 图23描述了递送代理屏幕;
[0102] 图24示出了另一递送代理屏幕;
[0103] 图25是根据一个示例的高度概览流程软件系统示意图;以及
[0104] 图26是用于实施发明示例的合适硬件的示意图。

具体实施方式

[0105] 实施例包括将物品/记录聚类到母集群和子集群以及系统内的计划安排。因此,下面给出了可行的聚类和计划安排方法的概述。
[0106] 聚类
[0107] 在必要的情况下,将物品聚类为母集群和子集群以便转移给递送代理,子集群接收在隔间中。一个实施例可以包括使用记录根据其(在必要情况下为母集群和)子集群和递送次序标记物品,允许将物品按照递送次序转移到隔间(每个子集群一个隔间)中到达相应的母代理中。
[0108] 每个隔间可以接收完整的子集群,或者该集群在其对于一个隔间来说太大的情况下可以被分成两个(或多个)隔间,并且然后第二隔间将在后期阶段从母代理被递送代理接收。在这种场景下,本领域的读者应当理解的是,例如,可以使用混合方法学,其中第一中心投放点以及随后的源于母代理的通道投放点,反之亦然。
[0109] 物品在配送中心被记录以提供每个物品的记录(例如,通过扫描每个物品上的代码、或者通过接收数字清单、甚至通过将一组扫描与数字清单匹配)。该记录至少包括物品标识和收件人位置。该记录然后通过软件如下处理。
[0110] 根据收件人的位置将记录聚类成一个或多个母集群。如果存在单个母代理,则所有物品都有单个母集群。对于第一运输阶段,该(或每个)母集群被分配给(不同的)母代理。
[0111] 根据母集群中的记录的收件人位置为每个母集群定位中心位置。中心位置可以在收件人位置的地理分布中是中心的(或近似中心的),或者可以位于最接近地理分布的中心的收件人位置处,在这种情况下,一个递送代理已经在第一收件人位置处。
[0112] 供选择地,中心位置可以基于在连续时间段(例如,覆盖一周的天数)内针对特定区域从母集群形成的累积母集群中的记录的收件人位置。例如,母集群可以通过邮政编码来确定,并且在每个连续日形成的“相同”母集群可以特定于一个或多个邮政编码。在这种情况下,中心位置可以在邮政编码的累积母集群内是中心的,或近似中心的。
[0113] 当中心位置是近似中心的时,它可以通过寻找距中心位置半径以内并且满足一个或多个标准的位置来从中心位置得出。例如,该方法可以选择在停车位数据库中存在的(或优选的),或者在预定次数的场合之前已经用作中心的,或者使用一些其他标准的在半径内的中心位置。
[0114] 然后通过根据收件人位置将每个母集群中的记录聚类来为第二运输阶段形成一个或多个子集群。本质上,每个子集群包含物品的记录,这些记录可以被组合在一起作为本地地理群。
[0115] 实施例为每个子集群使用隔间,该隔间可以是实物包(包含一捆物品)或其他容器。这些隔间要从母代理被递送到递送代理(例如,通过将所有包(每个子集群一个)装载到厢式送货车的装载表面上)。对于每个子集群,子集群中的记录被分配给所选择的递送代理的隔间,该所选择的递送代理从母代理的中心位置操作并且在收件人位置处递送物品。
[0116] 该软件可以计算所选择的递送代理的子集群递送路线,并且因此也计算子集群递送路线中的物品的递送次序。该递送次序的益处在于,它允许使用记录根据物品的子集群和递送次序来对物品进行标记,并且按照递送次序将物品转移到各个隔间中并且转移到相应的母代理中。标记可以是手动的,其中用户以原稿形式将子集群和递送次序信息转移到物品上并且然后装载到隔间中也是手动的。
[0117] 供选择地,标记可以是对记录本身的简单变化。如果物品被追踪并且通过自动系统也潜在地装载到隔间中,则视觉检测系统可以扫描物品上的任何代码(例如条形码)并且识别相应的记录,从而可以允许物品以正确的次序被包装到正确的隔间中,这潜在地通过在屏幕上向用户显示子集群和递送次序信息,或者通过使用次序传送系统或机器人以正确的次序将物品自动地包装到正确的隔间中。自动计算递送次序(除了提供子集群之外)并且按此次序转移到隔间中对于递送代理来说具有很大益处,避免了骑行者或步行者浪费时间寻找正确包裹并且允许无人机或机器人或其他自动递送代理直接从隔间中弹出下一个物品。
[0118] 如果存在多于一个的母集群,则物品也可以按照与上述相同的方式使用记录根据它们的母集群来标记。
[0119] 最后,通过母代理和递送代理的组合实现递送,基于它们的各自计划安排(无论是由控制该代理的人类用户还是通过自动车辆读取)来进行,例如通过将母代理导航到中心位置(或提供母代理到中心位置的导航的指令)、将隔间转移到一个或多个递送代理并且通过将每个递送代理按照递送次序从中心位置导航到收件人位置。在递送旅程的任一个或两个分支中,导航可以例如在由无人机或输送机系统或自动驾驶车辆使用时是全自动的,或者它可以在作为指南提供给人类用户时是半自动的。在报告完成递送之前,递送代理可以从收件人获得签名或其他输入。
[0120] 本领域读者应当理解的是,每个物品有一个记录,并且集群可以说是具有物品或物品的记录,因为记录仅仅是物品的方便信息表示(例如,每个以数据电子表格的一行的形式)。为了简单起见,在信息处理的情况下剩余描述同义地使用术语物品和记录。
[0121] 有利地是,可以由母代理选择一个或多个物品用于递送,并且相应的记录不被分配给子集群。母代理可以无需使用其他递送代理参加某些递送,这将导致改进的时间效率并且通过适应不同场景而增加方法的灵活性,如下面更详细地说明。
[0122] 可以使用任何技术来形成母集群,该技术根据收件人位置的地理分布对记录进行组合以形成位置靠近在一起的集群。合适的空间聚类技术的一个示例是带有噪声的应用程序的基于密度的空间聚类,DBSCAN。这样的技术可以用于将具有更密集的收件人位置的记录组合在一起,并且将具有单独收件人位置的任何记录标记为离群值,该离群值被分配给母代理以进行递送。在这样的场景中,一个或多个离群值将不会进一步分布到子集群中。这不仅在子代理正在递送时为母代理提供占有,而且还通过递送离中心位置太远的物品来避免“过度拉伸”本地运输工具。
[0123] 此外,可以对母集群进行过滤(在子集群形成之前),以将不适合在隔间内行驶的物品识别为“特殊(uglies)”物品。例如,这样的物品可能是易碎的、太大的、外形笨拙的、太重的或需要其他特殊处理。这些物品的记录可以被标记为特殊件,其表示该物品(“特殊件”)将被分配给母代理以进行递送,并且因此不被分配给子集群。
[0124] 一旦已经创建子集群便可以使用其他过滤技术。在此过滤步骤中,子集群被过滤以去除比最大递送代理距离更远离中心位置的物品的记录。
[0125] 另外,该方法可以包括接受用于分配由母代理递送的其中一个或多个物品的用户请求。例如,如果递送位置具有禁止递送代理步行进入场所的安全程序,则用户可以请求由厢式货车递送物品。作为另一个示例,如果待递送的物品需要安装(例如,国内应用程序)并且只有厢式货车驾驶员有资格执行安装,则用户可以请求母代理递送。
[0126] 因此,通过一个、两个或几个步骤,可以改进对子集群和母集群的初始分配,从而允许递送计划安排和在该时间段内(对于不易腐烂的物品通常为一天;对于时间敏感的物品(例如食品递送)可能以分钟为单位测量)对特定物品和位置使用资源的最佳匹配。
[0127] 子集群可以使用将母集群组合以将物品的记录划分为多个集群的任何合适算法。数量“k”的子集群被形成。从空间上讲,每个集群都包括中心位置,并且将一个位置中的密积位置组合在一起,而不同的子集群覆盖不同的地点。
[0128] 可以根据可用的递送代理的数量简单地确定变量k,以使每个递送代理具有一个子集群。在一种更灵活的方法中,可以根据母集群中的物品(或物品的记录)的数量、可用的递送代理的数量以及已经分配给母代理的物品(记录)的数量来确定k,其中k是递送代理的数量,除非递送代理待递送的物品比递送代理少。在后者的情况下,可以将k设置为等于递送代理待递送的物品的数量(每个子集群一个物品)。
[0129] 在一个示例中,子集群使用k-中心点算法(k-medoids)技术,形成k个具有收件人位置的记录的子集群,其中每个集群中的收件人位置之间的平均距离最小。
[0130] 在形成子集群的另一种方法中,通过依次向k个记录分配最接近的收件人位置、向k个子集群中的每个分配一个记录并且然后剩余物品被分配给集群来在每个集群中提供初始记录。
[0131] 优选地,通过为每个子集群计算与剩余记录的收件人位置有关的距离测量、得出哪些集群低于阈值距离并且因此有资格接收该物品、并且分配剩余记录(物品)到合格集群来逐个分配剩余物品。距离测量可以基于到目前为止的递送代理必须行驶以递送集群中的所有物品(包括“新”剩余记录)的总距离或到剩余记录的收件人位置的距离(例如,来自最近增加的递送位置)。同样地,阈值距离可以基于总距离或剩余记录的到收件人位置的距离。
[0132] 一旦已经找到合格子集群(或者如果对合格集群没有限制),该方法可以进一步包括从每个子集群的集群权重计算所有(合格)子集群的散布度量;在增加剩余记录的情况下为每个合格子集群计算所有集群的相同散布度量;以及将剩余记录分配给当增加剩余记录时提供散布度量的最小变化的合格集群。
[0133] 可以基于在子集群中行驶的距离和/或在子集群中的记录(递送)的数量来确定集群权重。
[0134] 一旦已经形成子集群和任何母代理集群,该软件优选使用旅行商问题TSP算法计算每个子集群和任何母代理集群的最佳递送路线。
[0135] 可以使用任何合适的方法学来创建递送路线。为了易于实施,每个子集群递送路线的第一点可以是中心位置或重装载位置,其中递送代理从母代理接收物品。
[0136] 计划安排
[0137] 一旦为一个或多个递送代理/子集群创建递送路线并且为母代理集群创建到达中心且潜在地继续到达其他位置(例如,对于母代理递送且为递送代理重装载新隔间)的递送路线,该软件使用路线创建具有事件和时间的计划安排。可以使用任何合适的方法来创建计划安排。通常,总计划安排被分成每个代理的单独计划安排,这些计划安排在代理合作时链接。
[0138] 作为第一步,该方法可以包含为每个母代理和递送代理路径或路线(这些术语同义地使用)设置站点的估计到达时间。这些时间不一定包括递送本身的任何时间宽限,但是有助于例如通过仅考虑行驶时间的测量(在站点之间)而不考虑站点处的时间来生成计划安排。这种简化允许快速计算如下文进一步所述的重装载计划安排。
[0139] 在一种场景中,递送代理从母代理接收另外的载物(新隔间的重装载)并且然后继续递送路径。时间估计可以包括用于递送代理的递送站点和重装载站点(母代理将新隔间递送到递送代理的任何转移站点),但是省略母代理的转移站点,从而母代理转移站点可以依赖于递送代理站点创建。相反地,对于母代理可以包括转移站点并且对于递送代理可以省略转移站点以便以后包含。
[0140] 在前者情况下,递送代理路线中的站点包括递送代理从母代理接收新隔间的重装载的任何递送代理转移站点,并且该方法进一步包含随后针对新隔间的每次重装载将相应的站点增加到母代理路径中。该站点可以是等待站点事件,如下文更详细地解释。
[0141] 为了找出将这种站点增加到母代理的路线中的最佳时间,该方法可以计算递送代理被估计到达转移站点的时间以及母代理被估计到达其已经被分配的任何递送站点或到达转移站点的时间。该方法然后可以比较可能的母代理站点和递送代理转移站点的时间,以在合适位置将位置站点增加到母代理计划安排中(作为转移站点或等待站点)。
[0142] 更具体地,该方法可以按照递送次序考虑母代理递送路线上的站点,并且找到下一个站点的时间、在路线被更改为直接转到转移位置的情况下当母代理将到达转移站点时的时间以及递送代理被估计到达转移站点的时间。可能的母代理到达时间与递送代理转移时间进行比较。选择最接近递送代理转移时间的母代理到达时间。如果这是在路线被更改为直接转到转移位置的情况下当母代理将到达转移站点时的时间,则转移位置被增加到该位置处的母代理路径中并且剩余路径被重新计算。
[0143] 否则(如果更接近递送代理转移时间的母代理到达时间只是路线中的下一个站点),则该方法将保持路线和下一个站点不变并且继续评估从该站点开始的路线(再次计算随后的站点和可能到达转移站点中的哪个更接近递送代理转移时间)。
[0144] 该有利程序允许创建包括在路线中的合适位置处的重装载位置(在母代理路径上其他递送位置的距离的方面以及在递送代理的重装载时间要求的方面)的母代理路线,并且避免母代理等待时间。
[0145] 如果存在多于一个的重装载位置(例如,每个递送代理一个),则该方法可以同时考虑包括在厢式货车(母代理)路线中的所有重装载位置,并且从考虑中去除在它们已增加到厢式货车路线时的重装载位置。
[0146] 另外,可以具有将通知发送给母代理的功能,该通知实时地告知他们针对重装载事件的递送代理的即将到达的可能时间(在递送正在进行时)。例如,可以将通知发送给厢式货车驾驶员以通知他们计划安排的步行递送代理到达重装载位置的时间是预定时间(例如15分钟路程)。该通知的时间可以基于重装载之前的计划安排事件的总和和/或基于递送代理的当前实时进度。
[0147] 通知的原因如下。有时,母代理(厢式货车驾驶员)可能不遵循为他们生成的确切路线。这可能会导致快递员(递送代理)感到困惑和等待时间更长,并且一旦他们完成了他们当前的隔间,他们可能会打电话并要求包交换(新隔间),并且必须等待驾驶员多达30分钟以用他们的方式工作回到他们那里做包交换。为了减轻这种情况,当搬运工距包交换15分钟路程时,系统可以向驾驶员发送通知(例如GUI弹出窗口)以警告驾驶员。15分钟或其他时间可以基于来自当前位置和交换之前事件的总和,因此,它可以是,例如,15分钟步行(前往),或者是1个递送(2分钟)加步行到新位置(3分钟),加递送(2分钟)并且然后7分钟步行到转移位置。
[0148] 返回到计划安排设置,计划安排可以包括提取事件以及递送事件。提取事件可以是为了收集在递送代理的路线上的稍后站点处待递送的物品。在这种情况下,与要求(首次)提取和(然后)递送的物品相同的物品将出现在生成的计划安排中。供选择地,提取事件可以涉及将物品退回给供应商(例如,退回不需要的衣物)。在这种情况下,物品将通过递送代理退回给母代理以退回到配送仓库。在这两个示例中,该方法都可以考虑在计划安排生成期间在物品收集时递送代理的隔间中可用的空间。例如,提取可以在阈值数量的投放之后(例如,在所有投放之后或在没有相同物品提取的所有投放之后)被计划安排。如果递送代理的计划安排中的第一个事件是提取,该软件确保该代理的隔间中有可用空间以在计划安排期间实现提取。
[0149] 在时间估计和调整用于递送代理重装载的厢式货车路径之后,计算完整的计划安排。使用事件创建计划安排。事件包括行驶事件(其中母代理或递送代理正在行驶到下一个位置)和停车事件(这些事件可以包括递送、提取、在代理之间转移和等待)。停车事件可以针对每个代理(所有母代理和递送代理)从递送路线信息创建,并且被增加到行驶事件中,行驶时间已经可以从路线中获得。
[0150] 可以针对每个事件生成持续时间。通常,可以设置或计算特定类型事件的持续时间。可以使用地图算法来计算行驶事件持续时间。停车事件可以被给予设定持续时间。
[0151] 在更复杂的实施方式中,使用记录中的信息或历史信息可以允许对停车事件和/或前往(行驶)事件进行更准确的时间估计,或者甚至可以对路线和/或收件人位置进行更准确的计算。例如,软件可以解析地址并且使用收件人位置来设置或调整物品的标准递送或提取。在一个实例中,地址中包含术语“公寓”或“房间”或其他等效术语可以用于标记较长的递送时间,因为公寓通常位于较大的建筑物内,并且因此比住宅更难访问。较高楼层的指示可以另外或供选择地用于增加递送时间。
[0152] 历史递送信息也可以用于设置或调整停车事件的时间估计。在这种情况下,调整算法可以查询停车分类数据库以识别递送到相同地址所花费的时间的一个或多个实例,并且在计划安排中使用所花费的时间(或者如果有多于一个的实例,则使用平均时间或最长时间)。
[0153] 这样的停车分类数据库可以另外或供选择地存储递送代理已经登记递送的实际位置(例如,使用在登记递送时从移动设备上传的GPS数据)。该实际位置可以应用于相同的地址,以用于将来的导航指令和/或递送路线。在此,益处是实际递送可以处于不一定从地址可识别的特定位置,例如某个入口或大厅。
[0154] 等待事件的持续时间可以通过比较在转移中涉及的代理(通常为2个代理)的到达时间并且为首先到达的代理增加等待来计算,该等待始于其到达的时间直至第二到达的代理到达的时间。为了易于实施,可以在涉及另一个代理的每个事件之前或之后针对每个代理增加等待事件,并且可以将该值设置为零,以等待计算哪个代理需要等待以及等待多长时间。在一个实施例中,针对其中一个代理(例如,接收物品的代理)增加转移事件并且针对另一代理增加至少相同长度的相应等待事件,以在转移结束时结束。这尚未涵盖具有转移事件的代理需要等待的可能性,并且因此也针对具有转移事件的代理增加等待事件。
[0155] 可以使用迭代过程来确定等待事件的长度,其中依次计算针对代理计划安排的时间、以(尽可能)完成每个代理计划安排为目的、并且然后传递到下一个代理计划安排。两个单独计划安排中的事件被链接(作为相关事件)以在两个代理之间进行转移。当第一代理计划安排的时间被计算时,如果与相关事件有关的另一代理的计划安排尚未完成直至转移,则可能无法确定等待的长度。在那种情况下,该过程将依次继续一个或多个其他代理计划安排(直到每个完成或在另一个等待中“卡住”),并且最终转至第一代理。在那个阶段,另一个代理的计划安排可能已完成直至转移。如果在预定次数的尝试完成所有计划安排之后,计划安排未完成,则可能产生错误。
[0156] 可以实时地更新等待事件(在代理处于活动中时),以考虑偏离计划安排的实际时间(例如延迟或快速运行的代理),并且调整未按时运行的代理的计划安排和/或其动作依赖于未按时运行的另一个代理的代理的计划安排。例如,考虑厢式货车驾驶递送代理被计划安排在特定位置等待10分钟以便另一个递送代理到达的情况:如果厢式货车驾驶递送代理遇到交通堵塞并且因此被延迟5分钟,则等待事件可以会被更新以表明厢式货车驾驶递送代理现在仅需要等待5分钟。
[0157] 如果递送代理可以在母代理内行驶,则该方法的计划安排部分可以包括针对每个用户计算当前车辆。同样地,当然,需要存在母代理以提供转移。因此,针对每个代理和每个停车动作,该方法可以计算哪个车辆是停车动作所需的当前车辆,并且使代理与当前车辆相关联(链接),以使计划安排无法在停车事件的持续时间内将两者分开。
[0158] 一旦针对每个用户已经计算事件(包括子代理和母代理的所有递送和提取事件)的时间,则这构成母集群的完整总体计划安排(其针对每个代理分为一个单独计划安排)。
[0159] 在更复杂的实施例中,可以实时地更新计划安排中的时间以反映代理的进度(但不改变递送次序)。例如,如果递送代理迟到,则不仅更新递送代理计划安排,而且在母代理要求稍后与递送代理相遇(例如,将新的隔间转移给递送代理或接收由递送代理提取的物品)的情况下,则也会更新母代理计划安排。
[0160] 物流方法可以做很多变化。如上所述,在一个示例中,中心位置是母代理可以留下隔间的安全(可以是可锁定的或有人值守的)地方。以这种方式,母代理和递送代理不需要相遇,并且一些计划安排约束被去除。
[0161] 在另一个示例中,子集群包括在相同地址处(或在等效地址处,其指的是同一地方但格式不同)的两个或多个物品。为此,系统可以接受多于一个递送的一个签名。
[0162] 存在可能发生这种情况的下列两种情形:
[0163] a.当地址相同时,软件将确认这是多次投递,并且所有包裹都将包括在相同递送事件中。以这种方式,单个签名可以用于所有物品。
[0164] b.地址略微不匹配,即一个地址中使用的建筑物名称并且另一个地址中仅使用街道地址。在这种情况下,软件不会将这些识别为相同的递送事件,因此将有两个事件要完成。
[0165] 为了帮助解决场景b-该软件可以允许用户重新使用签名。一旦已经获得单个签名,计时器就会启动。如果在时间窗口内(其默认设置为2分钟但可以例如根据用户偏好进行更新)进行任何递送,则为快递员提供在其他包裹/递送件的签名上进行复制的机会。在此的逻辑是,大型建筑物的接待人员不愿意对10个单独的包裹签名,而相反地对所有包裹仅签名一次。这样节省接待员的时间,并且也节省多次投递时的快递员的时间。
[0166] 因此,该方法可以进一步包含接受来自递送代理的递送的通知和来自收件人的确认签名,其中如果在距通知的预定的时间内输入另外的递送通知,则递送代理在选项中被呈现以将签名复制到另外的通知。
[0167] 下面的实际实施例是一种简单的实施方式,其使用在工业园区地点的仓库外操作的驾驶员(母代理)的厢式送货车进行递送,并且递送到市内位置,其中采用手推车或手推自行车的步行者和骑行者(递送代理)用于高密度递送。一次为每个步行者/骑行者分配一个子集群。为了简单起见,仅考虑单个厢式货车以及因此的单个母集群,以及单个经销商。在此示例中,递送每天发生,但是相同的方法学适用于时间严格的递送。
[0168] 厢式货车在仓库和中心之间或多个中心之间穿梭。因此,它可能会随步行者的其他集群一起返回。它还可以递送特殊件、离群以及从步行者集群中过滤出来的其他物品。
[0169] 来自经销商的数字清单到达仓库,以便在某天递送物品。数字清单的每行都是一个物品(或包裹)的记录。该行可以称为单向物品。数字清单被装载到软件(通常称为MoDe:Link(模式:链接))中,该软件是基于云的一组算法,该算法用于规划路线、计划安排、客户通信、数据分析和优化。
[0170] 可以将数字清单与给定日期要到达的递送物品进行匹配,以使可以删除未到达的物品的记录。这可以通过对接收到的物品上的条形码进行初始扫描来进行。之前递送中未递送的物品的记录可以被增加,也许也可以通过扫描来增加。
[0171] 初始扫描可以使用便携式设备(例如智能手机)和来自MoDe:Link软件套件的应用程序。该应用程序(或app)可以为清单上的包裹提供绿色横幅以及为未在清单上的包裹提供红色横幅和触觉或音频反馈。在此阶段,可以使用app手动标出特殊件和/或使用清单中的物理信息和/或注释自动标出特殊件,以将特殊件物品分配给厢式货车驾驶员以进行递送。
[0172] 下一步,生成计划安排,如在其他位置更详细地说明。该方法确定将哪个集群分配给哪个用户。该分配可以是随机的、遵循严格的系统或允许手动分配、或者考虑到用户的能力/位置等。例如,某些用户可能有资格作为递送代理但没有资格作为母代理。该计划安排或其相关的各个部分被传送到厢式货车驾驶员和步行者的移动设备上运行的应用程序。
[0173] 可以使用标准方法或通道方法生成计划安排。在标准方法中,厢式送货车在单个中心位置处放下包裹。快递员/步行者与厢式货车相遇,并且从该位置出发送货。在通道方法中,厢式送货车将已装载的包放在安全的地方,例如用于快递员提取的储物柜。这样就省去了与厢式货车相遇的需要并且为计划安排提供了更大的灵活性,但组织起来更为复杂,因为它需要位于市中心的储物柜或有人值守的场所。
[0174] 在下一步中,重新扫描每个包裹,并且该app指示对应于单个包的包(隔间)字母(A-Z)和数字(1表示第一个被包装并且最后递送,2表示第二个被包装等,或反之亦然)。当前,数字和字母是手动书写或打印在包裹上。然而,在自动方法中,可以省略重新扫描和手动标记步骤。包裹按次序被装载到包中。在此值得提及的是,多于一个的包可以被分配给单个步行者。例如,厢式货车可以返回以重装载更多包以进行第二次行程,或者当厢式货车可以搭载空包并将替换包交给步行者时,可以继续行驶到另一个中心位置。
[0175] 特殊件物品已被编号,但未分配给子集群或未给字母-它们被分配给厢式货车驾驶员以用于递送。上述情况也适用于任何离群物品。当步行者正在递送时,在第二个包交给快递员之前,这些厢式货车递送会占用厢式货车和驾驶员。
[0176] 图1a是用于用户的物流装置10的示意图,其形式是计算设备或装置,其协助将物品递送给位于不同收件人位置的收件人。该物流装置包括存储器20和处理器30,其用于执行图形用户界面GUI 40。GUI显示在显示器50上,并连接到用户输入装置60。显示器50和用户输入装置可以以触摸屏一起形成,也可以单独形成,例如以终端屏幕和鼠标或其他指针和键盘。
[0177] 该物流装置可访问递送整体计划安排,递送整体计划安排具有作为母代理和递送代理的代理的单独的计划安排70。一个或多个单独的计划安排或整体计划安排可以存储在存储器20中,也可以通过网络接口(用于固定终端)或通过收发器访问它们。
[0178] 每个物品都表示为记录,每个母代理80都有为其分配以用于第一运输阶段的记录的母集群,第一运输阶段沿着路线到达中心位置。每个母集群中的记录可以根据收件人位置被进一步聚类为一个或多个子集群以用于第二运输阶段,每个子集群被分配给一个递送代理90,该代理90从母代理的中心位置沿着路线操作并在收件人位置递送。
[0179] 整体计划安排包括每个代理的单独的计划安排70,单独的计划安排70带有事件以及事件的地点和时间,其中事件包括代理沿着路线正在行驶的行驶事件和代理正在执行以下停车动作中任一个的停车事件:递送物品、在代理之间转移物品和等待。例如,简单的母代理(厢式货车)计划安排可以包括沿着其路线驾驶到达中心的行驶事件、将隔间转移到递送代理(步行者)的停车事件以及沿着路线的延续驾驶到其自己递送的行驶事件。相应简单的递送代理(步行者)计划安排可以包括从母代理转移隔间的停车事件,和之后的到达递送位置的行驶事件和递送隔间中物品的停车事件的一系列交替。
[0180] GUI控制显示器以显示单独的计划安排和地图视图,单独的计划安排存储在存储器中或以计划安排视图的形式访问,其中计划安排视图显示包括表明计划安排事件的时间的事件的时间序列;地图视图以叠加停车事件位置和行驶事件路线的形式。当然,如果GUI显示来自其他计划安排的信息,则可能需要在本地存储或访问整体计划安排的其他部分或实际上所有的整体计划安排。
[0181] 当计划安排视图中存在经由事件的用户输入装置进行用户选择和/或当地图视图中存在经由事件的用户输入装置进行用户选择时,GUI控制显示装置以显示事件视图,其包括事件的详细信息。
[0182] 图1b是根据使用上述物流装置协助向位于不同收件人地址的收件人递送物品的计算机实现方法的一般实施例的等效流程图。在该方法中,首先在步骤S2中,访问递送的整体计划安排。这个计划安排用于作为母代理和递送代理的代理,每个被递送的物品表示为记录。每个母代理都有分配给它的记录母集群,以用于沿路线到达中心位置的第一运输阶段。每个母集群中的记录根据收件人位置进一步被聚类成一个或多个子集群以用于第二运输阶段。每个子集群被分配给递送代理,该递送代理从母代理的中心位置沿路线操作并在收件人位置递送。
[0183] 在第二步骤S4中,包含在整体计划安排中的单独的计划安排存储在存储器中(或以其他方式访问)。这个单独的计划安排为每个代理提供事件以及事件的地点和时间。事件包括代理沿着路线行驶的行驶事件和代理正在进行任何下列停车动作中的停车事件:递送物品、在代理之间转移物品和等待。
[0184] 在下一步骤S6中,GUI控制显示器以显示计划安排视图和地图视图,在计划安排视图中显示事件的时间序列,其包括计划安排事件的时间的指示;地图视图以叠加停车事件位置和行驶事件路线的形式。计划安排视图和地图视图可以同时提供(同时在显示屏上)或相继提供。
[0185] 最后,在S8中,用户输入装置/GUI接受在计划安排视图中的事件用户选择和/或在地图视图中的事件用户选择,GUI控制显示装置显示包括事件的详细信息的事件视图。随后进行实物递送。
[0186] 图2是根据特定实施例的计划安排生成的流程图。
[0187] 步骤S204验证输入数据集。输入数据集是数字物品清单、可用车辆列表、可用用户列表(通过厢式货车和本地递送进行实物递送的人员)、用户车辆分配、仓库地址和计划安排说明(计划安排的名称)。这些数据集可以预先存储在系统中或输入到系统中,并且因此这个步骤可能不需要手动输入。另外,中心用户可以输入变量(选项)来设置计划安排生成的首选项。例如,用户可以在此阶段指定他们要求使用厢式货车来递送一些物品。
[0188] 此外,例如,用户可以指定他们希望针对在特定日期可用的特定资产集合优化递送-例如,用户可以手动输入可用的车辆和用户并且MoDe:Link系统将通过各种场景运行以找到将创建最便宜或最短的递送计划安排的组合。
[0189] 在GUI的“生成计划安排”标签中,可以存在具有严格分配的选项,该选项是自动选择的(默认设置),并且其中每个人都被分配给特定的角色/车辆。如果此选项被移除,则仓库管理者可以列出他们在特定日期可用的资产总数,例如1辆厢式货车、3辆自行车、10个步行包以及8个人,并且MoDe:Link可以通过场景运行以找到将创建最便宜或最短递送计划安排的组合。
[0190] 步骤S206例如使用如前所述的DBSCAN形成母集群。此聚类过程产生许多聚类的物品集(母集群)和可能的离群值,离群值被确定为与母集群中的其他物品相距甚远以使需要通过母代理单独处理(即不放进子集群,而是由厢式货车递送)。
[0191] 步骤S208过滤每个母集群中的物品。过滤以将每个要递送的物品标记为厢式货车物品、自行车物品、或不可递送的物品。顺便提及,这里和其他地方的术语“自行车”和“自行车物品”分别表示子代理和由递送代理递送的物品,而不仅仅限于自行车或包含在自行车隔间中的物品。递送代理可以是带有手推车或滑板车的步行者,也可以使用步行者和骑行者的混合方式或任何其他本地递送代理。
[0192] 步骤S210确定在任何母集群中是否存在被指定为厢式货车物品的任何物品(由厢式货车递送的那些)。如果否,则过程继续到步骤S216。如果在任何母集群中有厢式货车物品,则在被指定为驾驶该厢式货车的用户被标记为不可用(S214)之前(因为他们将忙于递送厢式货车物品),TSP算法在每个相关的母集群中找到该厢式货车的最佳递送路径(S212)。以此方式,厢式货车驾驶员不被视为能够通过自行车或步行来递送物品的递送代理。
[0193] 步骤S216确定在任何母集群中是否存在自行车物品(即,通过自行车待递送的物品)。如果没有,则这表明仅需要厢式货车驾驶员来执行递送,并且该方法终止(S218)。
[0194] 如果在任何母集群中有自行车物品,则在每个母集群中创建子集群(S220)。这里的逻辑首先确定要创建的子集群的数量(k)。在简单的实施例中,子集群的数量等于快递员的数量(例如自行车快递员的数量加上步行和自行车快递员的数量),或者在没有给厢式货车分配递送的情况下,则等于自行车和步行快递员的数量。
[0195] 使用k的预定值创建物品的子集群。例如,可以使用k-medoid算法创建子集群,该算法将一组数据点(递送位置)划分为k个子集(子集群),该子集使得数据点与数据点子集群的中心之间的距离之和最小化。在k-medoid中,数据点子集群的中心对应于集群中的数据点(与k-均值算法相反,k-均值算法中中心点可以不对应于可访问的位置)。供选择地,可以使用平衡子聚类算法,如后面所解释的。
[0196] 步骤S222将每个子集群分配给负责递送该子集群内的所有物品的单个用户。该分配可以考虑到各个用户的容量,特别是当容量有很大的变化时(例如,一些自行车用户有较大的自行车拖车,一些步行者有较小的步行手推车)。
[0197] 步骤S224“打包”子集群,即,将它们分配给隔间。例如,一个子集群可能需要两个隔间,并且因此需要递送代理的两个行程,其中重装载位置在两个行程之间。确定每个自行车使用者的必要重装载位置(如果有的话)。根据一个实施例的该过程的描述参见图6。
[0198] 步骤S226使用TSP算法来为每个子集群找到要由递送代理执行的最佳行程。一个行程对应于一个隔间,因此递送代理可以具有一个或多个行程(在分配给该递送代理的单个子集群内)。可以使用基于地图软件的简单时间估计来估计每个行程上每个站点处的到达时间(S228)。步骤S226可以在S224之前进行,特别是在集群物品的包装取决于递送的次序的情况下。
[0199] 步骤S230修改厢式货车路径以解决厢式货车在重装载事件期间遇到递送代理的需求。也就是说,在与单个子集群相对应的所有物品都不能装入一个递送代理的一捆物品(一个隔间)中的情况下,递送代理必须与母代理相遇以用存储在厢式货车中的一个物品重装载/替换它们的捆。根据一个实施例的该过程的描述参见图7a和图7b。在另一种处理重装载的方式中,可以是在本地区域中存在预定的安全位置,在该位置母代理可以留下物品捆,然后,递送代理的路线可以在适当的时间在这些位置合并站点。
[0200] 步骤S232创建事件。此事件创建过程将考虑每个用户在物流过程的每个阶段正在操作的车辆,并且为所有用户生成事件。根据一个实施例的该过程的描述参见图8。
[0201] 步骤S234创建完整的计划安排。此计划安排包含所有用户在物品的递送期间要执行的所有事件的详细信息。步骤S236计算这些计划安排的事件中的每个的预期持续时间。根据一个实施例的该过程的描述参见图10a、10b和10c。步骤S238产生用于显示的计划安排的摘要信息。
[0202] 图3是概述使用平衡子聚类创建子集群的高度概览的流程图。平衡子聚类使递送代理之间的物品分布变得均匀,而k-medoids可能不均衡地分配(即,相对于另一个递送代理,一个递送代理可能具有数量高得多的要处理的递送)。最初,步骤S504确定所需的子集群的数量,其可以被认为是先前确定以处理其中递送物品很少的情况的k值的可选改进。然后,步骤S506为每个子集群分配初始点(物品递送位置);在图4中可以看到该过程的一个实施例的示例。然后,步骤S508将所有其他物品分配给子集群。在图5中可以看到该过程的一个实施例的进一步细节。然后,所得到的子集群和通过该物流方法被认为无法递送的任何物品的细节被退回(S510),并且子聚类过程终止(S512)。
[0203] 图4是详细说明分配每个子集群中初始物品的流程图。分配过程通过考虑每个子集群开始(S704)。此时,集群中有k个物品,但是尚未分配特定物品。步骤S706创建包含从子集群中的所有物品递送位置到母/DBSCAN集群的中心点的距离的阵列。此中心点是母集群中物品集的中心,即到所有其他物品的距离之和最低的位置。
[0204] 步骤S708找到包含最接近母集群的中心的位置的阵列的索引。步骤S710将该递送位置推送到第一集群的站点列表,其稍后用于创建事件。然后,步骤S712在定义物品状态的阵列中将该“推送的”递送位置标记为“已分配”,指示该物品已经被考虑、说明并将被递送。然后,步骤S714将从母集群中心到此站点的距离推送到阵列,该阵列包含负责该特定子集群的递送代理将行驶的距离。然后针对其他子集群重复步骤S706至S714。当已经为所有k个子集群分配初始点时(S704,完成),该过程终止(S716)。
[0205] 实际上,步骤S706至S712将物品/位置列表按它们距母集群中心的距离排序,将最靠近中心的物品放在首位。然后,对于每个集群,依次将已排序物品的列表中的下一个最接近物品分配给子集群。在将物品标记为“已分配”之前,物品状态(如存储在物品状态阵列中)可能为空,表示该物品尚未被分配,并且–到目前为止–据认为该物品将可递送。供选择地,该物品可以处于“无法递送”状态,指示没有人能够递送该物品。
[0206] 图5是概述了将所有剩余物品(在分配初始物品之后)分配给子集群的流程图。可选步骤S804找到合格集群,即可以成功包含正在考虑的物品而又不会使递送代理行驶的距离过大的集群。确定合格的子集群(可以分配物品的子集群)可以逐个考虑所有子集群,并确定累积路径距离D,累积路径距离D包括从子集群内最近的现有点(递送位置)到待分配的物品的距离。与当前子集群模式的最大距离Md进行比较,如果D
[0207] 步骤S806考虑每个物品的合格集群的数量。在不超过特定物品的单个合格(有资格)集群的情况下(S806,否),步骤S808询问该物品是否只有一个合格集群。如果答案为否(S808,否),则不存在可以向其分配物品的子集群,并且步骤S810在每个子集群中将该物品标记为“无法递送”。如果答案为是(S808,是),则步骤S812将该物品分配给唯一的合格集群。
[0208] 在可以将物品分配给多个子集群(即,有多个合格集群)的情况下(S806,是),步骤S813计算所有合格集群权重的标准差(每个权重基于例如在每个合格子集群中递送代理路径的总时间和/或距离)。然后,步骤S814开始逻辑以在仍然有要处理的子集群的情况下考虑单个合格子集群(S814,是)。步骤S816创建包含从递送路径中的最后点到每个其他点的距离的阵列。步骤S818找到包含最小距离的阵列的索引。步骤S820加上物品的递送位置计算集群的权重(递送路径的总距离),并且步骤S822利用这新增加求出集群的权重的标准差。步骤S824计算集群权重的这个新的标准差(加上物品)与旧的标准差(在加上物品之前)之间的差。当已经对所有合格子集群执行步骤S818至S824(S814,完成)时,步骤S826确定合格子集群(加上该物品)会导致集群权重标准差的最小变化。然后,步骤S828将该物品分配给该子集群,并且步骤S830在先前描述的物品状态阵列中将该物品标记为“已分配”。
[0209] 实际上,步骤S816至S830计算具有和不具有新物品的合格子集群权重的标准差,并将其增加到引起标准差最小变化的集群中。这针对使集群保持相同的持续时间。对每个物品而言,重复此逻辑。
[0210] 图9是示出了将物品装入到隔间中以及确定行程之间必要的重装载位置的流程图。步骤S1104初始化将循环通过所有母集群的计数器变量(i)。步骤S1106询问当前计数器值(i)是否小于母集群的总数。如果答案为是(指示仍然有要考虑的母集群)(S1106,是),则步骤S1108从当前母集群获得所有子集群,并且步骤S1110初始化将循环通过当前母集群的所有子集群的新计数器变量(k)。
[0211] 步骤S1112询问当前子集群计数器值(k)是否小于母集群内的子集群的总数。如果答案为是(指示仍然有要考虑的子集群)(S1112,是),则步骤S1114加载当前子集群中所有物品的记录。另外,可选步骤S1116加载子集群的操作车辆的隔间的详细信息。然后,步骤S1118将物品的详细信息和隔间尺寸发送到装箱算法,以确定将商品包装在可用容器中的方法(例如,按递送次序或按尺寸,例如在隔间尺寸被提供/不同的情况下)。
[0212] 步骤S1120将包装的隔间(遵循装箱算法)分配给参数“Trips(行程)”。步骤S1122询问“Trips”的长度是否大于1。如果答案为是,则这表示子集群必须包含将要求递送代理在子集群路线中的中间位置重装载的多个较小的细分(行程)。步骤S1124初始化将循环通过当前子集群的所有行程的新的计数器变量(j)。步骤S1126询问当前行程计数器值(j)是否小于子集群内的行程的总数。如果答案为是(表明仍然有要考虑的行程)(S1126,是),则步骤S1128将当前正在考虑的行程的第一站点标记为重装载位置,这意味着厢式货车必须在这个位置处与骑行者/步行者相遇,以便将待递送的物品重装载到隔间中。然后,行程计数器(j)的值增加1(S1130),并且从步骤S1126继续重装载的确定。
[0213] 当所有必需的重装载位置被标记时(S1126,否),或者在不需要子集群的重装载位置的情况下(因为所有物品都可以在一次行程中递送)(S1122,否),步骤S1132将子集群计数器的值(k)增加1,并且装箱程序从步骤S1112继续进行到下一个子集群。当k的当前值与子集群的数量匹配时,表示已处理所有子集群(S1112,否),步骤S1134将母集群计数器(i)的值增加1,并且从步骤S1106继续进行子集群的获取(之后是这些集群的装箱问题)。当i的当前值与母集群的数量匹配时,表示已经处理所有母集群内的所有子集群(S1106,否),步骤S1136终止子集群箱装箱问题和行程重装载标记程序。
[0214] 实际上,图6中呈现的逻辑循环通过所有母集群的所有子集群,并且通过装箱算法传递子集群的物品(可以伴有隔间尺寸的详细信息)。装箱返回需要被执行的行程的详细信息以便递送在子集群内的所有物品。然后,将每个行程的第一件物品标记为重装载位置,表明厢式货车必须在这个位置与递送代理相遇,以便向递送代理重装载更多用于递送的物品。以这种方式,或通过使用另外的计划安排方法,递送代理的站点(包括重装载位置)将沿着路径排列。例如,如下所述,这可以在将这些重装载位置插入厢式货车计划安排中之前进行。
[0215] 图7(分为图7a和图7b)是描述调整用于重装载自行车(或其他递送代理)的厢式货车(母代理)计划安排的一个实施例的流程图。自行车计划安排/重装载是通过将厢式货车在其下一个站点的估计到达时间与厢式货车在每个自行车重装载位置的估计可能到达时间以及自行车在重装载位置的到达时间进行比较来工作。根据此比较,过程可以在厢式货车执行其自己的停车之前将此位置插入到厢式货车的计划安排中。
[0216] 步骤S1204询问是否有剩余的任何更多母集群要处理。如果是,则步骤S1206加载母集群。然后,步骤S1208询问母集群是否具有与其相关联的厢式货车路径。如果答案为否(S1208,否),则步骤S1210找到分配给该厢式货车的子集群,并且步骤S1212加载与该子集群相关联的厢式货车路径。供选择地,在厢式货车已经具有要遵循的路径的情况下(S1208,是),步骤S1212加载该厢式货车路径。
[0217] 步骤S1214加载母集群内的所有子集群的详细信息。步骤S1216询问是否有剩余的任何子集群要考虑。如果答案为否(表示当前子集群内的所有重装载位置均已处理)(S1216,否),则考虑下一个母集群(S1204,是)。供选择地,如果答案为是(S1216,是),则步骤S1218加载当前子集群的记录。步骤S1220确定子集群内作为重装载位置(R)的所有自行车站点。对所有子集群重复该过程。
[0218] 图7a有效地考虑厢式货车路径(如果有的话)和所有自行车重装载位置。
[0219] 在图7b中,步骤S1222询问是否有任何其他重装载位置要考虑。如果是,则步骤S1224为该厢式货车创建可能的下一个站点(其是该厢式货车已经计划去的地方)以及下一个骑行者/步行者的重装载位置。步骤S1226找到厢式货车在每个可能的下一个站点的估计到达时间,并且步骤S1228找到自行车(或任何其他递送代理)在每个重装载位置的估计到达时间。步骤S1230找到每个可能的下一个站点的两个估计到达时间之间的差,并且S1232确定对应于最小到达时间差的站点。然后,步骤S1234询问这是否是自行车/步行者站点。
[0220] 在该示例中,期望小的或负的时间差,以便避免厢式货车通过长时间保持静止(等待空自行车的到来)而浪费任何时间。在具有最小时间差的站点是自行车/步行者重装载站点的情况下(S1234,是),步骤S1238在其自己的计划安排中找到厢式货车需要的额外时间,以将重装载位置包括作为下一个站点。步骤S1240将此重装载站点指定为厢式货车的下一个站点(在厢式货车的路线中)。步骤S1242从可能的下一个站点列表中去除该重装载站点,以确保不再选择重装载位置。步骤S1244为受影响的自行车路径更新自行车的到达时间(在所选择的重装载位置需要先前的自行车路径偏离的情况下)和/或为受影响的厢式货车路径更新厢式货车的到达时间(在所选择的重装载位置需要先前的厢式货车路径偏离的情况下)。
[0221] 如果步骤S1234确定具有最小时间差的站点不是自行车/步行者站点(S1234,否),则步骤S1236将厢式货车站点索引增加值1(即将下一个厢式货车站点考虑在内)。该过程从如上所述的步骤S1224继续,仅现在考虑新的可能厢式货车下一个站点。当识别出合适的重装载位置时(在某种意义上说是合适的,例如,它比厢式货车的列表上的下一个站点更适时接近自行车重装载时间)(S1222)。当所有重装载站点已经被分配重装载位置时,重装载计划安排(针对此特定母群集)过程终止(S1246)。当已经处理来自所有母集群的所有子集群时(S1204,否),整个重装载计划安排过程终止(S1248)。
[0222] 图8是描述其中创建事件的过程的流程图。这里的事件对应于由物流方法的用户执行的活动,并且包括例如“等待”、“前往”、“转移”和“递送”。实际上,图8的逻辑针对首先将没有运动的所有动作分为一系列“站点”和“停车动作”。然后这些站点和停车动作被转换为事件。
[0223] 步骤S1304为每个用户在每个站点设置开始和结束车辆。在图9中可以看到根据一个实施例的该步骤的进一步细节。步骤S1306最初加载单个用户的包括他们的路径的细节。然后,步骤S1308获得在其递送路线或厢式货车路线上分配给用户的第一站点的细节。步骤S1310创建“前往”事件,该事件是要求用户从一个位置移动到停车事件的事件(例如,可能要求骑行者从一个递送位置沿着他们分配的路线移动到另一个位置)。然后,步骤S1312创建用于停车动作的事件(例如,骑行者可能有必要被厢式货车放下,或者厢式货车驾驶员有必要将一整箱物品移交(转移)给步行者)。如果必要的话,步骤S1314在站点处创建最终等待事件。以这样的方式,可以稍后计算等待中花费的实际时间量(其可以被初始化为零)。
[0224] 步骤S1316询问是否有与用户相关联的更多站点要被考虑。如果有(S1316,真),则步骤S1308加载下一个站点并且重复步骤S1310至S1314。如果对于该特定用户没有更多站点(S1316,假),则步骤S1318询问是否有更多用户要考虑。如果有,则步骤S1306加载下一个用户,并且所有该用户的站点如前所述被考虑(步骤S1308至S1316)。当已经为所有用户创建事件时(S1318,假),该过程终止(S1320)。
[0225] 图9是描述了过程的流程图,通过该过程在每个站点为每个用户设置开始和结束车辆(在S1304中)。此过程用于确定人们何时需要等待。例如,如果递送代理在停车开始时正骑着自行车,并且最后在厢式货车结束,则递送代理将需要等待厢式货车到达并且稍后在前往下一个站点之前等待厢式货车完成所有它的事件。
[0226] 步骤S1404考虑下一个用户。然后,步骤S1406将该用户的当前车辆(在流程图中由变量“current_vehicle”表示)设置为他们的开始车辆。然后,步骤S1408加载该用户的下一个站点的详细信息,并且步骤S1410加载与该站点相关联的动作的详细信息。步骤1412询问停车动作的类型是否指示用户将被接载。如果答案为是(S1412,真),则步骤S1414将“current_vehicle”设置为与由助手操作的该车辆匹配。例如,自行车操作者的当前车辆在被厢式货车接载后将变为厢式货车。供选择地,如果答案为否(S1412,假),则步骤S1416询问停车动作的类型是否指示用户正在下车。如果答案为是(S1416,真),则步骤S1418将用户正在使用的当前车辆设置为助手车辆。例如,如果将自行车操作者通过厢式货车运输到他们的子集群的起点,则自行车操作者的当前车辆在被厢式货车放下后将变为自行车。
[0227] 在步骤S1414和S1418之后,步骤S1420询问是否有更多的停车动作供用户考虑。如果答案为是(S1420,真),则通过步骤S1410加载下一个停车动作,并且重复步骤S1412至S1418。如果答案为否(S1420,假),则这表明由“current_vehicle”变量当前指示的车辆是用户最后将要操作的最终车辆(步骤S1422)。
[0228] 步骤S1424询问是否有更多站点供用户考虑。如果答案为是,则通过步骤S1408加载下一个站点,并且重复上述针对站点用于用户的最终车辆的设置(步骤S1410至S1422)。如果答案为否,则通过步骤S1426加载下一个用户,并且重复上述针对所有站点用于用户的开始和最终车辆的设置(步骤S1406至S1424)。当已经考虑所有用户时(S1426,假),步骤S1428终止开始和结束车辆的设置。
[0229] 图10a和图10b是详细说明为计划安排中的所有事件(对于所有用户)分配持续时间的方法的流程图。步骤S1504询问是否还有任何事件要考虑。如果答案为是,则步骤S1506询问所考虑的事件是否是转移事件。如果答案为是,则步骤S1508询问转移是否包括车辆(例如,厢式货车驾驶员可以正在将可折叠的自行车转移给递送代理)。如果答案为否(S1508,否),则步骤S1510不改变事件持续时间的值(此处被初始化为0值)。如果答案为是(S1510,是),则步骤S1512针对每个车辆将事件持续时间变量的值增加30秒的值(例如,2辆自行车的转移将分配60秒)。
[0230] 在S1510和S1512之后,步骤S1514询问转移是否包括任何物品。如果答案为否(例如,转移可能仅是自行车),则步骤S1516不会改变事件持续时间的值。如果答案为是,则步骤S1518将每个物品的事件持续时间变量的值增加10秒的值(例如,步骤S1518将为用户分配100秒以将10个物品初始装入到隔间中,或如果该物品是隔间,则将允许10秒的时间来转移隔间)。然后,预期的转移持续时间是在步骤S1508至S1518之后的所得值。
[0231] 在事件不是转移的情况下(S1506,否),步骤S1520询问事件是否是递送。如果答案为是,则步骤S1522将预期递送持续时间设置为60秒。供选择地,可以基于递送过程的复杂性来计算或调整该值(例如,可以为用户分配额外的时间来攀爬许多的楼梯)。
[0232] 在该事件也不是递送的情况下(S1520,否),步骤S1524询问该事件是否是“提取”(当通过骑行者/步行者提取物品或通过厢式货车提取隔间时)。如果答案为是,则步骤S1526将预期的提取持续时间设置为60秒。该值也可以变化。
[0233] 在该事件也不是“提取”的情况下(S1524,否),步骤S1528询问该事件是否是“前往”事件。如果答案为是,则步骤S1530确定两个位置之间的距离(即,用户离开的位置和用户要去的位置)。在该实施例中,该信息被存储在查找表中。距离(与用户的预期或历史观察到的速度结合)可以用于确定预期的“前往”事件持续时间。
[0234] 在该事件也不是“前往”事件的情况下(S1524,否),图10b中的步骤S1532询问该事件是否是等待事件。如果答案为是(S1532,是),则步骤S1534获得与等待事件有关的所有事件(即,等待事件正在等待的相关事件)。
[0235] 在一个实施例中,以下面的方式确定相关事件:
[0236] 所有相关事件始终附加在“等待”事件上-即它们正是被等待的事物。
[0237] 相关事件在下面的步骤中定义
[0238] 事件创建阶段-
[0239] 提取事件
[0240] 相关事件仅仅是用户提取它们的前往(行驶)事件。
[0241] 下车事件(骑行者/步行者的)
[0242] 相关事件仅仅是在他们下车前所需物品的转移。
[0243] 投放物品事件
[0244] 相关事件用于等待将物品投放给他们的每个用户。
[0245] 获取重装载的位置
[0246] 相关事件是用户必须等待才能重装载的事件-重装载者到重装载位置的行驶事件。
[0247] 重装载位置
[0248] 重装载位置在较早的步骤中确定。作为厢式货车(母代理)递送事件生成的一部分,检查每个重装载位置。必须在此重装载位置等待的所有自行车都被增加到厢式货车的重装载事件的相关事件。
[0249] 再次参照图10b,步骤S1536将计数器变量(“stuckCounter”)初始化为0,并且将迭代器的长度设置为等于schedules.length(计划安排的长度)。
[0250] 总的来说,stuckCounter在其不能确定两次通过后所有事件的等待时间时超过iterators.length(迭代器长度)(即iterators.length*2分配)。持续时间计算通过迭代通过每个计划安排的事件列表(每个代理一个计划安排并且一次一个)来工作。对于与不同计划安排的等待事件相关的每个事件,软件可能尚未计算出相关事件的持续时间,因此不能确定此等待事件的持续时间,直到完成为止(因为这取决于完成“正在等待”的其他所有事件所花费的时间)。因此,卡住的计数器被递增并且逻辑移动到下一个计划安排以尝试解决所有其他计划安排,直到同一点为止。一旦持续时间服务恢复到被“卡住”的计划安排,则应该有足够的信息来确定等待时间。如果不是,则出现问题并且因此产生错误。
[0251] 迭代器长度由持续时间服务传递的计划安排的数量来确定。因此,对于3辆自行车和1辆厢式货车,生成四个迭代器。它是迭代通过计划安排的事件列表的结构。
[0252] 返回到流程图,步骤S1538执行错误检测过程以检查计数器值是否大于迭代器的长度/计划安排的数量的两倍。如果是,则存在错误(S1538,是),并且步骤S1550终止事件持续时间计算过程。
[0253] 如果当前没有错误(S1538,否),则步骤S1540考虑正在处理的计划安排中的当前等待事件以及在S1534中获得的相关事件列表中的任何事件,并且确定两个事件中的哪个最晚结束。
[0254] 步骤S1542询问等待结束时间(等待事件由于结束的时间,或者相等地,相关事件由于开始的时间)是否大于-1(即零或任何正值);负值用作标志以指示尚未计算相关计划安排中的时间。在这种情况下,在S1544中,StuckCounter会增加1,并且该过程继续到下一个代理的计划安排。
[0255] 如果等待事件与错误没有关联(S1542,是),则步骤S1548继续设置事件的开始时间和结束时间,并且步骤S1504加载用于处理的下一个事件(从S1506开始)。
[0256] 在图10c的步骤S1590至S1598中提供了事件持续时间计算的另一种高度概览图。步骤S1590计算“容易”持续时间,其可以被视为具有预设标准值的事件的持续时间。然后,步骤S1592设置“前往”事件,其涉及通过考虑位置之间的距离来计算预期持续时间。步骤S1594解决“等待”事件以及相关联的开始和结束时间。实际上,步骤S1502至S1548的操作可以被视为步骤S1590至S1594的一个实施例。
[0257] 另外,可选步骤S1596可以计算每个车辆和/或用户由于在整个计划安排内行驶而引起的总距离。然后,步骤S1598可以计算递送过程的货币成本的估计;该计算可以利用如其他地方所述的每单位时间成本值。
[0258] 图11中示出了示例性的数字清单。该清单从经销商以逗号分隔值(.csv)电子表格格式到达,并且包括以条形码编号(“标识符”)的形式的物品标识、收件人位置(“customer_address(顾客地址)”)、顾客参考资料(“customer_name(顾客名称)”)、电话号码(“phone_num”)、尺寸(“长度”、“宽度”、“高度”)和重量。也可以增加注释。可以为每个物品分配状态,例如“已到达”(在仓库处)、“已包装”(进入隔间)、“待递送”、“已递送”或“无法递送”(尝试递送之后)。这可以显示在计划安排上,并且在信息处理的下游使用。
[0259] 在MoDe:Link软件中对数字清单进行处理,以按照本文所述将物品聚类,并且提供使用骑行者/步行者和厢式货车驾驶员的递送的计划安排。
[0260] 数字清单与车辆清单、用户清单、用户车辆分配的详细信息、仓库地址、除仓库和递送地址以外的任何其他相关地址(例如,已知适合于方便重装载的重装载位置)和计划安排说明(其可以仅仅是以计划安排名称和日期的形式)一起作为计划安排生成的输入。
[0261] 车辆列表包含可用于执行物品递送的车辆的详细信息。例如,这可以包括:车辆的当前位置;车辆的最大允许行驶距离(即,车辆一次出行允许行驶的预设距离);车辆的最大允许速度(对于我们来说,在如其他地方描述的计划安排计算中);车辆隔间的物理尺寸(待递送的物品在运输过程中存放的隔间);车辆允许运载的最大总重量;以及各个物品的最大数量。另外,车辆列表可以包括每单位时间车辆的运行成本的估计,其可以用于估计递送过程的总成本。例如,可以通过考虑历史递送成本来确定该值。
[0262] 用户车辆分配的详细信息可以包括例如可用的用户与他们被允许操作的车辆之间的映射。
[0263] 生成的计划安排的示例摘录在图12中被示出,如以标准电子表格格式显示。页面的左侧示出了A至J列,并且页面的右侧示出了K至U列。该计划安排可以以任何表格数据格式生成。例如,计划安排可以生成为.csv文件、制表符分隔值文件或空格分隔值文件。阴影最左侧的列包含计划安排中每个条目的唯一行号。阴影的最上面一行包含计划安排的列的字母标识符。这些数字和字母标识符不包含在表格式计划安排中,而是作为电子表格软件的许多示例内的特征(例如,微软公司的Excel)提供。
[0264] 计划安排中的第一条目(行)可以是标头,其提供指示每个列中的值表示什么的变量名称。在图12的计划安排摘录中,包含变量名称的标头被包含在第1行中。出于可读性考虑,仅显示有限数量的计划安排条目。示例条目对应于来自该计划安排内的任意起点的计划安排条目;也就是说,图12的示例不一定对应于计划安排摘录的最开始的条目。注意的是,此处和其他地方的给定示例地址并不对应于实际地址,而是出于提供说明性示例的目的而制造的。
[0265] 标题为“schedule_set_description(计划安排设置说明)”的列(A列)包含计划安排的描述性名称。该值可以由用户确定或自动地生成。这可以对应于已从中生成计划安排的数字清单的名称。尽管图12的计划安排摘录表明在此计划安排的生成中仅使用一个数字清单(MANIFEST 1(清单1)),但在计划安排的生成中可以使用多个数字清单。
[0266] 标题为“user(用户)”的列(B列)包含该条目所引用的用户(递送代理)或车辆的名称。例如,用户A与用户B是不同的个人。在这种情况下,厢式货车1(VAN 1)是车辆(母代理)。此外,车辆可以由具有自己的用户名的个人操作。
[0267] 标题为user_ID(用户标识)的列(C列)包含计划安排的此特定条目中所涉及的用户的唯一标识。计划安排中可以仅包括“user”和“user_ID”值中的一个。以这种方式,可以减小计划安排的大小(在必要的计算存储空间方面)。
[0268] 标题为“schedule_sequence(计划安排顺序)”的列(D列)包含整数值,该整数值表示特定用户的事件的数量。计数器从零值开始,并且随着该用户的每个连续事件而增加值1。例如,计划安排摘录中的第一条目(第68行)是与用户A相关联的第三事件。
[0269] 标题为“event_type(事件类型)”的列(E列)包含条目描述的事件的标题。例如,计划安排摘录的第一条目(第68行)指示将发生“转移(transfer)”事件:这涉及将物品/捆/送货车从一个用户/车辆转移到另一个用户/车辆,并且因此可以涉及一辆车辆(自行车)到另一辆(厢式货车)或从另一辆(厢式货车)的转移,其中第一车辆行驶。作为另一个示例,计划安排摘录的第二条目(第69行)指示将发生“前往(go_to)”事件:这涉及用户/车辆从一个位置到另一个位置的移动。作为又一示例,计划安排摘录的第三条目(第70行)指示将发生“等待(wait)”事件:这涉及在同一位置等待,直到另一个用户/车辆到达以便执行连续事件。作为最后一个示例,计划安排摘录的第十一条目(第78行)指示将发生“递送(delivery)”事件:这涉及将物品递送给收件人(消费者)。其他事件类型可以被包括。例如,“提取(pick_up)”事件可以对应于例如从顾客处收集物品,该物品将被运送回原始供应商(即退回物品)或从经销商运送到厢式货车提取隔间。
[0270] 标题为“start_time(开始时间)”的列(F列)包含条目的事件由于开始的时间。在此,它显示为相对于计划安排的预期开始时间(或相对于计划安排的创建)的累积第二计数器。供选择地,可以使用常规日期和时间标记的任何方式来描绘它。
[0271] 标题为“end_time(结束时间)”的列(G列)包含事件由于完成的时间。同样地,在此这被显示为相对于计划安排的预期开始时间(或相对于计划安排的创建)的累积第二计数器。供选择地,可以使用常规日期和时间标记的任何方式来描绘它。在事件期间没有时间流逝的情况下,该值可以与time_start值相同。例如,“等待”事件的完成时间可以被理解为对应于下一个非等待事件的时间。也就是说,“等待”事件是瞬时事件,除非已通过持续时间服务对其进行了修改,如先前更详细地解释的那样。在所示示例中,已将等待事件增加到每个递送代理的厢式货车的停车事件中。一旦持续时间服务已运行,可以从计划安排中删除零持续时间等待事件,或者可以将其保留以用于实时调整。
[0272] 标题为“duration(持续时间)”的列(H列)包含由事件(条目)消耗的时间。例如,“转移”事件可以被分配值为120,因为预期用户将花费120秒来执行物品/捆/送货车转移。供选择地,可以基于待转移的物品/捆/送货车的重量/尺寸来为“转移”事件分配值。如先前段落所述,至少初始地为“等待”事件分配值零。“前往”事件可以被分配对应于到达目的地所需的预期时间的值;这可以基于该特定用户或地址的历史数据,并且/或者可以使用地图数据(例如,使用地址解析和/或使用AI算法查看图像,并且甚至可以使用辅助数据源(例如房地产代理广告))进行计算。此外,例如,如果目的地不在与建筑物入口相同的高度上,则此值可以考虑需要使用楼梯/电梯。供选择地,如果用户已经在那个目的地(例如,在“等待”事件之后),则可以为“前往”事件分配零值。“递送”事件可以被分配标准值120,因为预期用户将花费120秒来执行递送。供选择地,“递送”事件可以基于那个特定用户/代理/地址的历史递送速度数据来分配值。条目的duration值与相同条目的start_time值结合可以用于计算相同条目的end_time值。因此,为了减小计划安排大小,可以不必在计划安排中包括所有三个时间值。
[0273] 标题为“completion_timestamp(完成时间戳)”的列(I列)包含计划安排中的事件(条目)实际完成的时间。当检测到–通过手动用户输入(例如,在移动设备的GUI上的输入)或通过基于用户位置数据的确定(例如,通过地理围栏)–该事件已完成时,更新此栏。以此方式,其他人可以查看计划安排以建立递送计划安排的状态。此外,这些值可以用于在将来生成的计划安排中提供更准确的事件持续时间估计。
[0274] 标题为“address(地址)”的列(J列)包含事件(单行上条目)发生的地址。例如,在计划安排摘录的第一条目中(第68行),涉及用户A的转移将在地址“333Camden Passage(333卡姆登通道)”处发生。
[0275] 标题为customer_name(顾客名称)的列(K列)包含要向其递送物品的顾客的名称或唯一标识符。仅在条目对应于递送事件或涉及单个物品的转移的转移事件(即,在捆的初始包装中)的情况下提供值。在此计划安排摘录中,顾客名称被提供为一随机串的数字,但可以是提供顾客的全名以实现物品的个性化递送。
[0276] 标题为“customer_address(顾客地址)”的列(L列)包含物品将被递送到的地址。与顾客名称一样,仅在条目对应于递送事件或涉及单个物品的转移的转移事件(例如,在捆的初始包装中)的情况下提供值。
[0277] 标题为from(从…)的列(M列)包含要发生转移的位置/车辆/用户的名称。标题为to(到…)的列(N列)包含要发生转移到的位置/车辆/用户的名称。因此,仅在条目对应于转移事件的情况下提供值。例如,计划安排摘录的第一条目(第68行)指示将从VAN 1转移到用户A。
[0278] 标题为from_bundle(从捆)的列(O列)包含将要从其发生物品递送的捆的名称。仅在条目对应于捆中单个物品的递送事件的情况下提供值。例如,计划安排摘录的第十一条目(第78行)指示递送将要发生,并且待递送的物品被存储在标记为BAG Z(包Z)的捆中。
[0279] 标题为to_bundle(到捆)的列(P列)包含在涉及捆之间的物品的移动的转移事件或涉及捆的初始包装的转移事件中转移的捆的名称。因此,仅在条目对应于转移事件的情况下提供值。
[0280] 标题为bundle(捆)的列(Q列)包含在涉及车辆/用户之间的整个捆的移动的转移事件中正在转移的捆的名称。例如,计划安排摘录的第一条目(第68行)指示捆BAG X(包X)将从VAN 1传输到用户A。
[0281] 标题为vehicle(车辆)的列(R列)包含在涉及车辆从一个车辆向用户或另一个车辆的移动的转移事件中正在被转移的车辆的名称。例如,可以是厢式送货车包含送货自行车的情况,该送货自行车将被转移到用户,该用户–直到现在为止–已经步行或即将开始工作。
[0282] 标题为item_size(物品尺寸)的列(S列)包含条目(事件)指向的物品的物理尺寸和质量。仅在条目表示递送事件或涉及单个物品的转移的转移事件(例如,在捆的初始包装中)的情况下提供值。例如,计划安排摘录的第十一条目(第78行)指示要递送的物品的体积为0.9×1×0.3单位(此处的每个数字对应于以米为单位的长度)和重量为2.9kg。
[0283] 标题为item_identifier(物品标识符)的列(T列)包含包裹/邮包的标识符,例如条形码。
[0284] 标题为item_comments(物品注释)的列(U列)包含与该物品相关的注释。这些注释可以是,例如,顾客供应的交货说明或注明物品的易碎性的注释。
[0285] 图13至图24示出了与本发明实施例一起使用的GUI。实施例的特征可以自由互换。当然,如果其中一个代理是自动化的(例如无人机、机器人或自引导车辆),那么该代理不需要GUI。
[0286] 图13是根据一个实施例的基于网络的GUI的一个屏幕的屏幕截图,示出了多个用户的地图递送计划安排。它可以由管理者在中心控制系统处(例如在PC上)使用,或者可以通过厢式货车母代理或者甚至由递送代理使用。在此示例的顶部是横幅,其包含多个可点击的按钮。1802显示当前计划安排的名称;下拉选项显示可用于加载的计划安排的列表。1804显示当前计划安排的日期;日历按钮使日历集中以使用户能够按日期选择计划安排。
[0287] 选择时,图标1806加载地图屏幕,这将在稍后描述。选择时,图标1808加载用于管理数字物品清单的界面。选择时,图标1810加载用于查看和管理计划安排的界面(屏幕)。选择时,图标1812加载用于生成计划安排的界面。选择时,图标1814加载用于提供与递送有关的详细分析的界面。选择时,图标1816加载用于查看和编辑可用车辆列表的界面。选择时,图标1818加载用于查看和编辑用户列表和用户车辆分配的界面。选择时,图标1820加载用于查看和编辑订单列表(即,各个物品及其递送地址、收件人等的列表)的界面。选择时,图标1822加载用于查看和编辑组织(即,任何仓库地址)的界面。选择时,图标1824加载用于查看GUI当前用户首选项并且提供注销系统的功能的界面。
[0288] 横幅下的大地图屏幕显示了地图递送路线,其指示任何母代理和递送代理的计划安排路线。例如,这些线(叠加在地图的道路)指示计划安排生成过程中由TSP算法针对7个不同的代理确定的路线:6个步行者(其中当前位置由人形图标表示)和1辆厢式货车和驾驶员(其中当前位置由厢式货车图标表示)。实线用于表示任何厢式货车的计划安排路线;虚线用于表示任何骑行者的计划安排路线(注意在此处未显示任何内容);和点线用于表示任何步行者的计划安排路线。不同的颜色可以用于每个代理的路线以提高可读性。
[0289] 每个路线都为相关用户互连可选的事件标记。例如,包含向下箭头的事件标记表示用户已计划安排在此位置执行递送。类似地,侧向双头箭头指示用户已计划安排在此位置执行转移。最后,包含圆圈的事件标记用于指示用户已计划安排在此位置等待。选择事件标记将创建带有事件详细信息的弹出窗口。不同的颜色可以用于指示事件的当前状态。例如,绿色事件标记可以指示事件已完成;蓝色标记可以指示该事件是用户的当前(即下一个要完成的)事件;和灰色标记可以表示该事件尚未完成(即,代理的计划安排中的未来事件)。另外,可以显示表示诸如递送仓库或可行的重装载站之类的重要位置的图标。有利地是,可以通过点击相关图标来调出事件和/或用户的进一步细节。
[0290] 通过与递送代理和/或递送代理持有的任何GPS单元进行通信,可以实时更新代理的当前位置和事件状态。此外,提供仅查看所选择的代理、放大和缩小当前视图、在地图位置之间平移以及修改潜在地图的分层的功能(例如,选择查看卫星图像而不是该区域的图形描述)。
[0291] 图14是以地图形式的基于移动应用程序的GUI的屏幕截图,仅示出了与特定用户(操作移动电话的用户)相关的事件。在此示例的顶部和底部是横幅,其包含多个可点击的按钮。选择时,图标1902会切换当前用户团队所有其他成员的计划安排路线和事件的可见性。选择时,图标1904在地图上突出显示用户的计划安排站点。选择时,图标1906将用户的计划安排站点在地图上隐藏。选择时,图标1908加载提供用户的计划安排的概述的界面。选择时,图标1910指示用户的递送计划安排的进度或者将显示更改为包含事件详细信息的事件页面。选择时,图标1912加载提供对所连接的智能设备或可穿戴设备的功能访问的界面。选择时,图标1914加载用于查看和编辑用户设置的界面。
[0292] 顶部和底部横幅之间是地图屏幕,其包含用户的事件标记,如前所述。还指出了厢式货车和厢式货车驾驶员的当前位置,以及适合重装载递送代理的隔间的车站的当前位置。例如,移动电话的用户的当前位置也可以被示为厢式货车或人或自行车图标。提供放大和缩小当前视图和在地图位置之间平移的功能。此外,可以提供事件标记之间的导航路线。
[0293] 另一个实施例为车队管理者、驾驶员和递送代理提供了一组结合的不同屏幕,如图15至图24所示。在该实施例和先前的实施例中,颜色被一致地用于识别不同类型的事件,例如以紫色显示转移,对于每种类型的代理(厢式货车、自行车者、步行者)以不同的蓝色阴影显示“前往”事件,以绿色表示递送,以灰色表示等待。拾取可以另一个颜色显示,但在这些图中没有描绘。地图元素遵循相同的颜色方案。
[0294] 图15描述了车队管理者的网络界面的心理模型。管理者通过欢迎(WELCOME)屏幕点击控制面板,该控制面板具有地图(MAP)视图和计划安排(SCHEDULE)视图。控制面板允许全局搜索(GLOBAL SEARCH)和在选择事件或物品时弹出背景信息(CONTEXTUAL INFO)。通知(NOTIFICATIONS)和团队沟通(COMMUNICATION)可以从侧面滑进来。
[0295] 可以在一系列的页面中单独访问分析(ANALYTICS)。它们可以包括使用仅基于厢式货车车队的多模态递送的影响的可视化。此外,可以呈现给团队领导委员会以快速跟踪表现以及随着递送发生时现场跟踪当天的递送。递送的具体数据可以可视化,例如显示每个人或在一段时间内按时迟交和失败递送的百分比。它们可以被灵活地过滤。时间分析可以跟踪不同递送阶段所需的时间,并采用灵活的过滤。人员分析可以为每个团队成员提供一页数据和可视化。
[0296] 图16示出了车队管理者控制面板或概览页面,其上部有地图视图,下部有计划安排视图。计划事件是针对每个团队成员陈列在一个时间轴上并且转移事件竖直地连接团队成员。供选择地,事件可以针对整个团队(母代理和递送代理)显示在联合时间轴上。
[0297] 地图跟踪团队成员(通过与他们在团队中的功能和名称相对应的图标显示他们的实时位置)。事件和路线如前面的实施例所示。默认情况下,地图显示所有活动事件和团队成员,以及按颜色区分不同状态(计划、完成、失败)的计划安排递送。然而,选择一个事件或物品将突出显示或只显示相关的完整路线和代理。此外,可以使用屏幕左上角顶部横幅下面的窗口打开和关闭地图图层。
[0298] 顶部横幅允许管理者在概览和分析(未显示)之间切换,并访问全局搜索和通知。团队消息及其发送者在右边显示在顶部横幅下面。来自团队的消息和警报以及关于系统所做的重大更改或更新的通知直接出现在车队管理者屏幕的顶部上。这些都是持久的,需要手动删除或查看。
[0299] 地图视图和计划安排视图之间的分隔符可以竖直拖动以分配空间。
[0300] 图17示出了通过点击地图或计划安排上的事件以及下面的各种可选事件窗口选择事件(在这种情况下是递送)的控制面板。事件窗口显示事件的可用信息,并可以在屏幕周围自由移动,以避免阻塞地图的重要部分。同时,地图突出了递送中的物品从当前时间到递送时刻的计划行程。
[0301] 以同样的方式,可以在计划安排或地图上选择转移,以使事件窗口表面具有可用的信息。在这种情况下,地图突出显示了参与转移的所有团队成员的位置和路线。图17中的窗口底部行显示了不同的窗口布局,其分别用于转移、递送和用于自行车者、厢式货车驾驶员和步行者三种不同类型的前往事件。每个事件包括作为标题的事件类型、开始和结束时间、所涉及的团队成员、地点以及行程事件、持续时间和距离。转移事件还包括隔间和物品的指示。
[0302] 图18示出了车队管理者可用的地图图层。地图上的信息层也可以手动定制。可以显示与事件相关的信息以及实时交通流量覆盖、带有由该领域的团队创建的注释的标志和历史路线(和事件)数据。
[0303] 图19是地图视图,其展示了转移事件的重新定位。用户在地图上点击事件并且保持,它将弹出其位置,该位置可以向周围移动。将显示以前成功使用的位置附近(例如在预定义的半径内)。如果用户在其中任何一个(或另一个位置)上投放转移事件,系统将重新安排所有相关的团队成员和事件。确认后,系统将向受影响的人发出通知。
[0304] 图20描述了厢式货车驾驶员的移动界面的心理模型,可以在平板电脑上。驾驶员通过欢迎屏幕点击递送期间的个人计划安排。驾驶员可以切换到地图屏幕,和切换通过导航和停车信息(这些信息根据需要层叠在导航或地图屏幕的顶部)。个人计划安排允许在选择事件或物品时弹出背景信息。通知和团队沟通可以从顶部滑入。
[0305] 图21描述了一系列屏幕。左上方屏幕是个人计划安排视图,包括顶部横幅,上面有菜单、标题和消息图标的可选按钮以及时间。在顶部横幅下面,以细线形式的水平抽象表示或擦动(scrub)计划安排允许快速浏览一天的事件,使用颜色方案中的颜色来表示每种类型的事件,并且没有任何文本。在擦动计划的任何一侧,示出递送周期的开始和结束。圆形时间标记示出查看的时间/事件,用户可以移动圆形时间标记,竖直条形位置标记示出当前时间/事件。
[0306] 屏幕的主要部分被基于一天中事件的时间序列的计划安排所占用。只有这些事件的一部分是可见的,例如所查看的事件(由抽象的竖直位置标记表示)和到所查看事件的任何一侧的一个或多个事件。这些事件由颜色方案显示为较粗线中的块,包括事件类型、事件预定的时间以及潜在的地址(用于行程或前往事件)或所涉及的团队成员(用于转移)。竖直条示出所查看的事件/位置,并在擦动计划安排上匹配其位置。过去的事件可变暗淡。
[0307] 在块下面,有切换到地图视图的可选按钮。
[0308] 右上角的屏幕和两个中间屏幕显示计划事件的详细信息,通过点击另一个屏幕(例如地图屏幕或计划安排屏幕)中的事件来访问。右上角的屏幕是等待屏幕,显示地址、开始和结束时间、所花费的时间和等待转移的指令以及正在等待递送代理的驾驶员的姓名和照片。
[0309] 左边的中间屏幕描述了带有开始和结束时间、所花费的时间、开始和结束地址(每个地址都有来查看更多细节的可选按钮)的前往事件,以及在屏幕底部,可选按钮可以转到地图视图或现在开始。
[0310] 同样,右边的中间屏幕是转移屏幕,示出了地址、开始和结束时间、所花费的时间和捆以及接收该捆的递送代理的标识。在屏幕的底部,可选按钮可以进入地图视图。
[0311] 左下角的屏幕是地图视图,包括顶部横幅以及时间,顶部横幅具有可选按钮,可以转到计划安排视图或者发送消息。地图覆盖了屏幕的主要部分。相关的团队成员在地图上显示他们的名字和代理类型的表示。在左手侧地图上,四名骑行者正在前往同一转移地点。正在进行的转移在地图上可以由在转移位置周围的参与者的图标表示。
[0312] 驾驶员的个人计划安排使用在地图视图的底部的可刷卡的时间序列表示和颜色方案表示,其可以具有如距离、时间的文本信息,或图片和转移中团队成员的代理类型,以及事件类型的图标。按下“进行”按钮,将启动当前事件的导航。
[0313] 右下角的屏幕是转弯导航屏幕,其中路线和如前所述的事件卡的可视化表示上具有方向。
[0314] 如果当前事件被更改,则驾驶员将收到覆盖当前屏幕的强通知,指示更改,并允许驾驶员通过进行按钮访问新的导航指令。
[0315] 例如,图22描述了用于智能手机的骑行者或步行者(递送代理)移动界面的心理模型。递送代理通过欢迎屏幕点击递送期间的个人计划安排。递送代理可以切换到地图屏幕和切换通过导航,也可以切换到库存屏幕。个人计划安排允许在选择事件或物品时弹出背景信息。通知和团队沟通可以从顶部滑入。
[0316] 图23描述了递送代理屏幕,其具有显示在左边的计划安排屏幕以及显示在右边的四个事件屏幕。
[0317] 在计划安排屏幕中,事件的时间序列和抽象表示的相同组合用于驾驶员,但方向不同。在带有日期、菜单、消息和用于调换到地图视图的图标的顶部固定横幅下面,左侧所示的可滚动屏幕是从屏幕顶部到屏幕底部按横幅(或水平数据条)的时间顺序排列的单个计划安排的高度概览图。最上方瞥见的横幅指示已完成事件。在9:22的下一个事件是从当前位置到转移位置的行驶事件,以装载一捆物品。当前时间被显示为第一事件上方的一行。下一个事件是在9:25从母代理“Otis”转移捆。随后的四个横幅在9:25、9:32、9:38和9:41递送到不同的地址。行驶事件未在此视图中显示。最后,需要等待(仅显示)重新加载。在屏幕的底部,输入栏允许用户返回到当前事件。
[0318] 横幅右侧的竖直时间轴作为一天事件的抽象概述而提供,具有圆形移动按钮形式的快速导航手柄以及指示当前时间/事件的水平线。
[0319] 不同类型的事件可以以如前所述的颜色方案中的不同的颜色描述并且如前所述具有不同的图标。例如,前往事件图标可以具有指向右方的箭头图标,转移事件图标可以具有两个略微竖直偏移并指向彼此的水平箭头,递送事件图标可以具有向下指向一行的箭头,并且等待事件图标可以是简化的钟面。提取事件(未示出)可以具有从水平线向上指的箭头。
[0320] 右侧所示的四个屏幕可以用于通过点击左侧所示的概述屏幕中或地图上的事件而用于不同事件。再次地,他们使用相同的颜色和图标方案。四个屏幕的左上方是用于递送的前往屏幕(如标题横幅所示),该屏幕在上半部分给出了到递送的路线的更多详细信息,具有开始和结束地址,以及下面的时间和距离。两个可选按钮允许用户开始导航指令(“start now(现在开始)”)或在地图上显示路线(“show on map(在地图上显示)”)。
[0321] 四个屏幕的右上方是转移屏幕(如标题横幅所示)。该屏幕在标题下方具有开始和结束时间、和捆和物品编号、然后是地址、然后是要从中转移捆的母代理的标识(包括图片)和在屏幕的底部,用于在地图上显示位置(“show on map”)的可选按钮。
[0322] 四个屏幕的左下方是等待屏幕(如标题横幅所示)。该屏幕再次在标题下方具有开始和结束时间、然后是地址、要到达的母代理的标识(包括图片)和在屏幕的底部,用于在地图上显示位置(“show on map”)的可选按钮。
[0323] 四个屏幕的右下方是递送屏幕(如标题横幅所示)。该屏幕如之前在标题下方具有开始和结束时间、捆和物品编号、然后是递送地址、和在屏幕的底部,用于输入完成递送的“start now”可选按钮和用于在地图上显示位置(“show on map”)的可选按钮。
[0324] 图24示出了两个地图屏幕、转弯导航屏幕和转移位置的更新屏幕。和以前一样,计划安排由可刷卡来表示。
[0325] 左上方的屏幕是地图视图,并且包括屏幕底部的前往事件的卡,标题和颜色显示事件是前往事件以移动到转移位置,以及顶部的返回计划安排视图的可选按钮,或发送消息图标,以及常用的时间和电池荷电。地图覆盖了屏幕的主要部分。在地图上显示相关的团队成员的名字和代理类型的表示。在这种情况下,厢式货车驾驶员正在前往相同的转移。
[0326] 递送代理的个人计划安排以颜色方案在屏幕底部以可刷卡时间序列表示,其可以具有包括距离和时间文本信息。按下前往事件卡的“进行”按钮,将启动当前事件的导航。
[0327] 右上方的屏幕是递送的另一地图屏幕,显示递送地址的距离和时间信息。
[0328] 左下角的屏幕是依次导航屏幕,在路线和事件卡的可视化显示上具有方向,如前所述。
[0329] 如果当前事件发生更改,则代理将收到右下角所示的强通知,覆盖当前屏幕,指示更改,并允许驾驶员通过按进行按钮访问新的导航指令。
[0330] 图25示出了用于MoDe:Link的软件系统架构,以及执行软件所需的模块。在左侧,以具有各种不同功能的网络应用程序(例如,在中心控制处供使用)和移动应用程序的形式示出了用户应用程序。移动应用程序可以利用地图盒子(Mapbox),该Mapbox提供应用程序内逐向导航。可以存在到手推车或车辆上的信号装置的链接,以帮助递送代理(和路人)查看手推车或车辆的去向或任何智能可穿戴技术,例如提供导航指令/信号的智能夹克,例如通过使用夹克主体和/或袖子上的照明和/或触觉装置。
[0331] 客户端应用程序编程接口(API)链接到数据存储,并且通过SQL数据库链接到网站代管和数据存储服务(例如亚马逊网络服务(Amazon Web Services))。也存在带有云授权的自定义用户验证和授权块。计划安排生成连接到客户端API且连接到软件内使用的模块(微服务),这些模块在一起创建计划安排。装箱问题可以在云上使用3D打包程序。递送时间和距离是定制模块并且距离链接到地理编码、地图和路线规划供应商,例如Graphhopper或诺基亚地图(HERE Maps)。聚类模块也是定制的,并且持续时间模块(Durations module)可以被提供以使用清单中的数据来更改递送时间。定制的TSP模块引用Graphhopper或其他路线规划服务。
[0332] 错误日志可以由斯普伦克(Splunk)这样的服务提供,该Splunk在云上为微服务提供系统日志。
[0333] 图26是体现本发明并且可以用于实施在中心控制点处安排递送的实施例的方法的计算装置(例如数据存储服务器)的框图。该计算装置包含处理器993和存储器994。可选地,该计算装置也包括用于与其他计算装置(例如,与本发明实施例的其他计算装置)通信的网络接口997。
[0334] 例如,实施例可以由连接到云并且提供计划安排生成的服务器和客户端API,使用在服务器上或在单独的终端上运行的网络应用程序和连接到云且也使用客户端API的移动设备组成。可选地,该计算装置也包括一个或多个输入机构(例如触摸屏或键盘和鼠标996)以及显示单元(例如一个或多个显示屏或监视器995)。这些部件可通过总线992彼此连接。
[0335] 存储器994可以包括计算机可读介质,该术语可以指的是被配置为携带计算机可执行指令或具有存储在其上的数据结构的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。计算机可执行指令可以包括例如可由通用计算机、专用计算机或专用处理装置(例如,一个或多个处理器)访问并且使通用计算机、专用计算机或专用处理装置(例如,一个或多个处理器)执行的一个或多个功能或操作的指令和数据。因此,术语“计算机可读存储介质”也可以包括能够存储、编码或携带用于由机器执行的指令集并且使机器执行本发明的方法中的任何一个或多个的任何介质。因此,术语“计算机可读存储介质”可以相应地被认为包括但不限于固态存储器、光学介质和磁性介质。通过示例的方式,并且非限制,这样的计算机可读介质可以包括非暂时性计算机可读存储介质,包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)或其他光盘存储设备、磁盘存储设备或其他磁性存储设备、闪存存储器设备(例如,固态存储设备)。
[0336] 处理器993被配置为控制计算装置并且执行处理操作,例如执行存储在存储器中的代码以实施本文和权利要求中所描述的各种不同功能。
[0337] 存储器994存储由处理器993读取和写入的数据(例如记录和计划安排信息)。如本文所指的,处理器可以包括一个或多个通用处理装置,例如微处理器、中心处理单元等等。处理器可以包括复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实施其他指令集的处理器或实施指令集组合的处理器。处理器也可以包括一个或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等等。在一个或多个实施例中,处理器被配置为执行用于执行本文所讨论的操作和步骤的指令。
[0338] 上述的功能可以适当地在处理器994上运行并且使用存储器994。
[0339] 显示单元995可以显示由计算装置存储的数据的表示,并且也可以显示网络或移动应用程序的GUI部件,例如光标和对话框以及允许用户与存储在计算装置上的程序和数据之间的交互的屏,如这里所述。输入机构996可以使用户能够向计算装置输入数据和指令。
[0340] 网络接口(网络I/F)997可以连接到诸如因特网的网络,并且可以通过网络连接到其他这样的计算装置(诸如使用移动应用程序的移动设备)。网络I/F 997可以通过网络控制来自其他装置的数据输入/到其他装置的输出。其他外围装置(例如麦克风、扬声器、打印机、电源单元、风扇、外壳、扫描仪、追踪球等)可以被包括在计算装置中。
[0341] 可以在诸如图26所示的计算装置上执行体现本发明的方法。这种计算装置不需要具有图26所示的每个部件,并且可以由那些组件的子集组成。可以由单个计算装置通过网络与一个或多个数据存储服务器通信来执行体现本发明的方法。计算装置可以是数据存储本身,其存储计划安排信息和对代理的导航以及其他指令。
[0342] 可以通过彼此协作操作的多个计算装置来实施体现本发明的方法。