自动化动态最小运力的即时派单方法及装置与流程

文档序号:19221310发布日期:2019-11-26 02:09阅读:460来源:国知局
自动化动态最小运力的即时派单方法及装置与流程

本申请属于仓储物流技术领域,特别涉及一种自动化动态最小运力的即时派单方法及装置。



背景技术:

近些年随着移动互联网的发展,外卖平台、新零售、线上水果生鲜电商等各种便民的商业模式涌现出来,在方便的把菜品、零食、生鲜食材送到消费者家中、工作地点的同时,对即时配送业务的需求也高涨起来。一个高效合理的实时订单派单算法成为必不可少的指挥系统,对降低配送成本、提升配送时效和用户体验起到了关键的作用。

即时配送主要有配送时效要求高,订单空间和时间分布不均匀,运力需求变化大,配送服务粘度低等难点,一天中订单频率随时间、天气和节假日等因素变化非常大,空间上也分布很广,一般始发地半径5公里范围内的区域都可以下单,东北角和西南角两个订单如果由一个人配送,将会对配送效率造成非常大的影响,存在配送员一次送多少个订单难以评估等问题。



技术实现要素:

为了解决上述技术问题至少之一,本申请提供了一种自动化动态最小运力的即时派单方法及装置。提供最小运力优先且尽量不晚点的即时派单算法解决方案,能够高效的协调优化上述问题,降低即时配送的成本、提高配送效率和服务质量。

本申请的第一个方面,自动化动态最小运力的即时派单方法,包括:

将配送区域划分为多个配区,并确定所有配区的重心位置;确定第一个派送订单以及该派送订单所在的起始配区;确定与所述起始配区处于同一集合的其它配区,所述同一集合内的任一配区的重心位置与始发点的连线,与该集合内起始配区的重心位置与始发点的连线之间的夹角位于设定区间内;以及在同一集合内,将满足送达时间及满足运力的订单合并,形成集合单,所述满足送达时间是指预计送达时间早于期望送达时间,所述满足运力是指相对于配送人员及配送工具,能够实现所述集合单内绑定的所有订单。

根据本申请的至少一个实施方式,所述将满足送达时间及满足运力的订单合并,形成集合单包括:

将所述配区之间的距离作为权值,确定最短路径;以及依次遍历所述最短路径上的配区,确定符合要求的订单所在的配区,其中在后配区内的订单的预计送达时间为在前配区内的最后的订单预计送达时间加上所述在前配区与所述在后配区之间的平均运送时间。

根据本申请的至少一个实施方式,依次遍历所述最短路径上的配区包括:

对每一个配区,将所述配区内的订单按期望送达时间排序;以及依次遍历排序后的订单,绑定所述配区内符合要求的订单,其中在后订单的预计送达时间为在前订单预计送达时间与该配区内的平均订单配送时间之和。

根据本申请的至少一个实施方式,所述配区内的平均订单配送时间的计算方式包括:

所述配区的连续送达订单中最后一个订单的送达时间减去第一个订单的送达时间,再除以订单间隔数,所述订单间隔数为订单数减一;以及将历次配送于所述配区的上述数据取平均值,得到平均订单配送时间。

根据本申请的至少一个实施方式,所述形成集合单之后进一步包括:

计算配送员的至少包含配送时效在内的权值;以及将所述集合单派发给权值最高的配送员。

本申请的第二个方面,自动化动态最小运力的即时派单装置,包括:

配区确定模块,用于将配送区域划分为多个配区,并确定所有配区的重心位置;起始配区确定模块,用于确定第一个派送订单以及该派送订单所在的起始配区;配区选取模块,用于确定与所述起始配区处于同一集合的其它配区,所述同一集合内的任一配区的重心位置与始发点的连线,与该集合内起始配区的重心位置与始发点的连线之间的夹角位于设定区间内;以及集合单生成模块,用于在同一集合内,将满足送达时间及满足运力的订单合并,形成集合单,所述满足送达时间是指预计送达时间早于期望送达时间,所述满足运力是指相对于配送人员及配送工具,能够实现所述集合单内绑定的所有订单。

根据本申请的至少一个实施方式,所述集合单生成模块包括:

最短路径确定单元,用于将所述配区之间的距离作为权值,确定最短路径;以及配区遍历单元,用于依次遍历所述最短路径上的配区,确定符合要求的订单所在的配区,其中在后配区内的订单的预计送达时间为在前配区内的最后的订单预计送达时间加上所述在前配区与所述在后配区之间的平均运送时间。

根据本申请的至少一个实施方式,所述配区遍历单元包括:

订单排序单元,用于对每一个配区,将所述配区内的订单按期望送达时间排序;以及订单遍历单元,用于依次遍历排序后的订单,绑定所述配区内符合要求的订单,其中在后订单的预计送达时间为在前订单预计送达时间与该配区内的平均订单配送时间之和。

根据本申请的至少一个实施方式,所述订单遍历单元包括用于计算所述配区内的平均订单配送时间的计算模块,其用于:

所述配区的连续送达订单中最后一个订单的送达时间减去第一个订单的送达时间,再除以订单间隔数,所述订单间隔数为订单数减一;以及将历次配送于所述配区的上述数据取平均值,得到平均订单配送时间。

根据本申请的至少一个实施方式,还包括派送模块,用于将集合单生成模块生成的集合单进行派送,其包括:

配送员权值计算单元,用于计算配送员的至少包含配送时效在内的权值;以及派送单元,用于将所述集合单派发给权值最高的配送员。

本申请通过选取起始配区和合理的周边配区,预测配区内的订单送达时间,绑定合理的订单生成集合单,根据权值选出最优的配送员进行派单,实现了订单的高效派送。

附图说明

图1是本申请自动化动态最小运力的即时派单方法的一优选实施例的流程图。

图2是本申请自动化动态最小运力的即时派单方法的另一优选实施例的流程图。

图3是本申请自动化动态最小运力的即时派单方法的配区选取示意图。

图4是本申请自动化动态最小运力的即时派单方法的配区遍历示意图。

图5是本申请自动化动态最小运力的即时派单装置的框架图。

具体实施方式

为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。下面结合附图对本申请的实施方式进行详细说明。

本申请公开了一种支持自动化动态最小运力优先的高效即时配送派单方法及实现该方法的装置,其核心思想为:

根据配区的分布和配送起始点坐标,实时监测配送中的订单数量和地理位置分布,根据基于大数据计算的多维度的配送时效指标,实时计算当前配送员运力数量需求,根据运力数量需求和订单坐标分布,通过起始点与配区重心点角度递增的方式聚合订单,根据当前配送员的待配送订单数量、自定义配送员权值等信息计算具体的配送员权值,并派发所述集合单,最终实现时效和配送距离高效优化的动态运力的派单方案。

本方案为起始地固定场景下即时派单的通用解决方案,一次性配置好配区、起始点坐标、最低运力和期望送达时间,生产运行过程中无需人工干预,自动实现尽量不晚点前提下的时效和距离优化,同时支持自定义配送员权值计算逻辑,实现配送员差异化配送派单的功能。

根据本申请第一方面,自动化动态最小运力的即时派单方法,如图1所示,主要包括:

步骤s1、将配送区域划分为多个配区,并确定所有配区的重心位置。

配送区域为系统基础数据准备阶段需要录入的信息,进行配区划分后,通过人工录入配区多边形坐标、始发地坐标,建议一个小区或者更小的范围一个配区,主要有以下因素:

不同配区之前没有重叠的区域,只服务配区内的订单,一个配区内的多个订单配送尽量不受路况、红绿灯、天气等其他因素的影响,这样不会对算法时效和运力的预估造成太大的影响,小区是满足上述条件的最大区域范围,更小的范围也可以,但是会对区域管理录入和算法性能造成一定影响,可以根据实际情况和订单密度具体配置。

配区和始发地坐标全部维护完毕后,一次性计算所有配区的重心点坐标、重心点距起始点距离,如图3所示,配送区域的起始点确定后,将其周围配送区域以小区为单位划分为标号为a-h的8个配区,并确定每个配区的重心点坐标a-h。

步骤s2、确定第一个派送订单以及该派送订单所在的起始配区。

例如配区按照重心和起始点顺时针角度的大小排序,选择第一个有订单的配区作为起始配区。如图3所示,设置有虚拟的水平线,按顺时针配区a与起始点的连线与水平线夹角最小,且配区a具有需要派送的订单。

备选实施方式中,也可以按照重心和起始点顺时针角度的大小排序,选择第一个有订单的配区作为起始配区;或者可以以整个配送区域为基准,统计自某一时刻起的第一个派送订单,以该派送订单所在的配区作为起始配区。

步骤s3、确定与所述起始配区处于同一集合的其它配区,所述同一集合内的任一配区的重心位置与始发点的连线,与该集合内起始配区的重心位置与始发点的连线之间的夹角位于设定区间内。

步骤s3是用于确定集合单中所有订单的配区范围,其它配区的选取依据为:选取其他有订单且与起始配区顺时针或者逆时针相对角度在角度范围内的配区。该步骤通过一次配送的最大角度范围来使得配送更加合理,某个配区相对始发地角度与起始配区相对角度的最大值,超过该最大值的配区不会一起配送。

仍以图3为例,假设配区a-e有需要派送的订单,设定区间为正负70°,由图3做配区a-e的重心a-e与起始点o的连线,夹角aob、夹角aoc均小于70°,夹角aod与夹角aoe的角度大于70°,因此,选择配区a、配区b以及配区c作为集合订单的来源。

步骤s4、在同一集合内,将满足送达时间及满足运力的订单合并,形成集合单,所述满足送达时间是指预计送达时间早于期望送达时间,所述满足运力是指相对于配送人员及配送工具,能够实现所述集合单内绑定的所有订单。

需要说明的是,期望送达时间是算法保障尽量不晚点的依据,可以是下单后的固定时长,比如下单后一小时内送达,也可是一个固定的时间点,比如客户预约的固定派送时间,算法会在尽量满足在这个时间范围内提前合适的时间给配送员派单。

订单开始派单的最早时间:比如订单期望收获时间为8:00,最早时间为期望收货时间前30分钟,那么如果计算的预计送货时间在7:30之后,则该订单开始派单,在7:30之前不派单。

在一些可选实施例中,所述将满足送达时间及满足运力的订单合并,形成集合单包括:

将所述配区之间的距离作为权值,确定最短路径;以及依次遍历所述最短路径上的配区,确定符合要求的订单所在的配区,其中在后配区内的订单的预计送达时间为在前配区内的最后的订单预计送达时间加上所述在前配区与所述在后配区之间的平均运送时间。

本实施例中,以配区间距离作为权值计算按最短路径优先的方式遍历选取的配区,推荐使用dijkstra算法遍历,配区不多的情况下全量配区手动排序也可,所有配区遍历完则基于已经绑定的订单和配送顺序生成集合单。该实施例形成的最短路径如图4所示,假设由a、b、h三个配区形成集合单来源,根据起始点分别到a、b、h的距离,ab之间的距离,ah之间的距离以及bh之间的距离作为权值,通过最优路径算法,确定的运送路线如图4所示。

在一些可选实施例中,依次遍历所述最短路径上的配区包括:

对每一个配区,将所述配区内的订单按期望送达时间排序;以及依次遍历排序后的订单,绑定所述配区内符合要求的订单,其中在后订单的预计送达时间为在前订单预计送达时间与该配区内的平均订单配送时间之和。

结合上述两个实施例,本申请给出了一种综合配区及配区订单遍历的方式,如图2所示,共有两层嵌套循环,外层为配区遍历,内层为订单遍历,订单遍历过程中,通过运力及时间两个判断确定是否需要将该订单绑定到集合单中,具体为:

在第一个配区内,按时间由早到晚遍历配区内订单:当前配区内的订单按期望送达时间排序,遍历订单,若当前运力满足,则判断其送达时间是否满足,若仍满足,则将订单进行绑定,否则对该配区内的下一个订单进行运力及配送时间的判断,处理完第一配区后,进行第二个配区的运算,直至将同一集合内的所有配区遍历完。

需要说明的是,验证运力是否满足当前订单:运力验证方式因人而异,不同配送工具、不同配送的商品类型各不相同,可以考虑体积、重量、金额等限制。

另外需要说明的是,在进行配送时间的判断过程中,即判断在后订单是否满足时间要求时,应当充分考虑之前绑定到集合单内的在前订单所占用的配送时间。

在一些可选实施例中,所述配区内的平均订单配送时间的计算方式包括:

所述配区的连续送达订单中最后一个订单的送达时间减去第一个订单的送达时间,再除以订单间隔数,所述订单间隔数为订单数减一;以及将历次配送于所述配区的上述数据取平均值,得到平均订单配送时间。

比如一个配区4个连续送达的订单,第4个订单的送达时间减去第1个送达时间除以3,历史数据取平均值作为本次运算的输入,可以理解的是,可以基于大数据进行配送时效指标的计算,本次进行配送的实际时间也将实时加入到数据库中,校正之前的历史平均数据,形成数据积累,备选实施例中,可以每天计算一次,计算多个维度的平均值,比如每个配送员的平均值和所有配送员平均平均值,每个时间段的平均值和所有时间段的平均值,每个配区的平均值和所有配区的平均值,使用越精细维度的指标计算的时效越准确,粗粒度的指标可以在新人、新配区等大数据质量不够的情况下使用。系统运行前期,没有历史数据依据,可以采用线下人工采集录入的方式,当数据质量满足要求时再开启计算。

举例来说,根据之前计算的配送时效指标:起始点到每个配区的平均运送时间记为a,相同配区内的平均订单配送时间记为b,两个配区之间的平均运送时间记为c。如图4所示,某一个集合单有三个配区的9个订单,依次是配区1、2、3,每个配区内有三个订单,最后一个订单的预计送达时间=a1+2×b1+c12+2×b2+c23+2×b3,

其中a1为起始点到1配区的平均送达时间,2×b1中2是1配区订单数量-1,b1是1配区的评价订单配送时间,c12是1配区和2配区的平均运送时间。验证预计送达时间是否合理,根据之前录入的开始派单时间范围,如果预计送达时间在范围内则绑定该订单。

本实施例中,所有订单和配区遍历完之后,所有被绑定的订单生成集合单,订单绑定的顺序既为集合单内的配送顺序。

在一些可选实施例中,所述形成集合单之后进一步包括:

计算配送员的至少包含配送时效在内的权值;以及

将所述集合单派发给权值最高的配送员。

生成集合单后即可针对所有可用配送员计算相对于该集合单的权值,选择权值最高的配送员派单。

权值要有大比重的时效因素,比如该集合单的预计最后送达时间即将晚点,当前没有配送任务的配送员权值增大。如果所有配送员都有配送中的集合单,那还要计算每个配送员的预计开始配送时间,预计开始配送时间的计算类似预计送达时间的计算方式,最后一个订单的预计送达时间加上起始点到该配区的平均运送时间a,预计开始配送时间最早的权值增大。

备选实施方式中,还可以加入很多自定义的权值,比如配送员绑定配区权值、配送员等级积分权值、新人配送员保护权值、客户投诉配送员负权值等。通过不同维度权值的计算累加,可以实现针对配送员服务质量引导、增加配送员与客户粘性、客户配送员黑白名单等功能。

根据本申请第一方面,自动化动态最小运力的即时派单装置,该装置与上述即时派单方法相对应,如图5所示,主要包括:

配区确定模块,用于将配送区域划分为多个配区,并确定所有配区的重心位置;起始配区确定模块,用于确定第一个派送订单以及该派送订单所在的起始配区;配区选取模块,用于确定与所述起始配区处于同一集合的其它配区,所述同一集合内的任一配区的重心位置与始发点的连线,与该集合内起始配区的重心位置与始发点的连线之间的夹角位于设定区间内;以及集合单生成模块,用于在同一集合内,将满足送达时间及满足运力的订单合并,形成集合单,所述满足送达时间是指预计送达时间早于期望送达时间,所述满足运力是指相对于配送人员及配送工具,能够实现所述集合单内绑定的所有订单。

在一些可选实施例中,所述集合单生成模块包括:

最短路径确定单元,用于将所述配区之间的距离作为权值,确定最短路径;以及配区遍历单元,用于依次遍历所述最短路径上的配区,确定符合要求的订单所在的配区,其中在后配区内的订单的预计送达时间为在前配区内的最后的订单预计送达时间加上所述在前配区与所述在后配区之间的平均运送时间。

在一些可选实施例中,所述配区遍历单元包括:

订单排序单元,用于对每一个配区,将所述配区内的订单按期望送达时间排序;以及订单遍历单元,用于依次遍历排序后的订单,绑定所述配区内符合要求的订单,其中在后订单的预计送达时间为在前订单预计送达时间与该配区内的平均订单配送时间之和。

在一些可选实施例中,所述订单遍历单元包括用于计算所述配区内的平均订单配送时间的计算模块,其用于:

所述配区的连续送达订单中最后一个订单的送达时间减去第一个订单的送达时间,再除以订单间隔数,所述订单间隔数为订单数减一;以及将历次配送于所述配区的上述数据取平均值,得到平均订单配送时间。

在一些可选实施例中,还包括派送模块,用于将集合单生成模块生成的集合单进行派送,其包括:

配送员权值计算单元,用于计算配送员的至少包含配送时效在内的权值;以及派送单元,用于将所述集合单派发给权值最高的配送员。

需要说明的是,基于上述装置实现即时配送方法需要事先输入的数据包括:

1、配区多边形坐标列表、始发地坐标;

2、一次配送的最大角度范围;

3、订单开始派单的最早时间;

4、实时订单的坐标、下单时间、期望送达时间;

5、订单明细重量、体积、金额等,用来计算估算运力可以承载多少订单;

6、实时配送员信息、配送员集合单的派送开始时间、每个订单的已送达时间;

7、用来计算配送员自定义权值的各种业务数据。

本申请为始发地固定的即时配送场景下通用的派单算法,不受订单量多少、订单分布密集度、配送运力多少影响,都可以统一的方式按最低运力优先的方式进行派单。

本申请涉及的方法及装置可以根据优化配置项的方式动态调整,比如订单量小的情况下,调大最大配送角度范围,可以实现一个配送员派送全部配区;订单量大的情况下,调小配区的范围,可以让配送员走更少的路配送同样多的订单。由于订单、集合单、配区等多级数据的整合,很多计算汇集到配区等高维度,计算量大幅减少。

本申请涉及的算法扩展性强,很多环节和流程可以扩展或者简化,并且可以和配送员抢单的模式结合运行。配区内的订单配送没有再考虑路程因素,而是时间优先,一是小区内道路情况复杂,不好估计距离,二是小区内的订单通常距离较近,对配送成本影响不大,而时间对晚点等用户体验影响较大,优先考虑。

配送时效的三种指标的定义主要有以下因素:有的起始地可能距离配区相对较远,这段路程通常速度很快,不同时段收到路况影响较为明显,两个配区之间的路程也是如此,但是起始点与配区、配区与配区之间的距离各不相同,所以这两种指标单独采集。一个配区内的不同订单之间的配送相对来说差异不会很大,一般不受路况、天气等等影响,相对距离也较近,但是配送员需要跟客户沟通,交接验收商品等,两个连续订单的送达时间能够很好的标记这部分时间,一个配区内的平均值或者所有配区一个平均值都可以。时效指标并不是为了计算较为精准的送达时间,而是预估一个集合单在时效因素上可以配送多少个订单,多维度比如时间段、天气或者某个具体的配送员的指标可以较大的提供预估的结果的准确性。

特别地,根据本申请的实施方式,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施方式包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。本申请的计算机存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施方式中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块或单元也可以设置在处理器中,这些模块或单元的名称在某种情况下并不构成对该模块或单元本身的限定。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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