一种订单调度方法、装置、存储介质及电子设备与流程

文档序号:29304130发布日期:2022-03-19 12:41阅读:120来源:国知局
一种订单调度方法、装置、存储介质及电子设备与流程

1.本说明书涉及计算机技术领域,尤其涉及一种订单调度方法、装置、存储介质及电子设备。


背景技术:

2.目前,随着电商平台的发展,物流作为连接线上交易与线下交付的纽带,已经成为日常生活中不可或缺的一部分,所选用的订单调度方法,对于物流的配送成本及时效都有着决定性的影响。
3.在现有技术中,通常将新生成的订单分配给距离对应供货方最近的配送运力,以使配送运力在取单过程中花费的成本(包括时间、距离等)最小,达到降低配送成本的目的。
4.但在订单空间分布密集的情况下,各配送运力与供货方的距离相差并不大,选取距离供货方最近的配送运力或许可以实现单独某一个订单的取单成本的最小化,但相比分配给其他配送运力,所节约的取单成本在所有配送运力对所有订单进行配送所需消耗的配送成本中的占比过小,导致仅考虑单独某一个订单的取单成本的订单调度方式往往不能获得全局配送成本最小的分配结果。


技术实现要素:

5.本说明书提供一种订单调度方法及装置,以部分的解决现有技术存在的上述问题。
6.本说明书采用下述技术方案:
7.本说明书提供了一种订单调度方法,包括:
8.获取各待分配订单及配送运力的信息;
9.针对每个待分配订单,根据该待分配订单的信息以及每个配送运力的信息,确定将该待分配订单分别分配给每个配送运力的情况下,每个配送运力的配送成本,作为该待分配订单对应于每个配送运力的配送成本;
10.针对每个待分配订单,根据该待分配订单对应于每个配送运力的配送成本,确定至少两种能够表征该待分配订单派单难度的表征值;
11.针对每个待分配订单,根据该待分配订单的各表征值,确定表征该待分配订单派单难度的综合表征值;
12.根据各待分配订单的综合表征值,确定各待分配订单的排序;
13.根据各待分配订单的排序,为各待分配订单分配配送运力。
14.可选地,确定表征该待分配订单派单难度的综合表征值,具体包括:
15.针对每种表征值,根据各待分配订单的该种表征值,确定该种表征值的第一参数;
16.根据每种表征值的第一参数,确定每种表征值对应的权重;
17.根据该待分配订单的每种表征值,及每种表征值对应的权重,确定该待分配订单派单难度的综合表征值。
18.可选地,确定至少两种能够表征该待分配订单派单难度的表征值,具体包括:
19.根据该待分配订单对应于每个配送运力的配送成本,确定配送该待分配订单的配送成本最低的配送运力,将该配送运力作为该待分配订单的初始配送运力;将该配送运力配送该待分配订单的配送成本,作为该待分配订单的初始配送成本;
20.根据该待分配订单对应于每个配送运力的配送成本,确定该待分配订单的稳定度,所述稳定度用于表征该待分配订单的初始配送运力为该待分配订单的最优配送运力的概率,所述最优配送运力为将每个待分配订单分配给使各待分配订单的配送成本之和最低的配送运力时,该待分配订单对应的配送运力;
21.将该待分配订单的初始配送成本作为该待分配订单的第一表征值,将该待分配订单的稳定度作为该待分配订单的第二表征值。
22.可选地,确定各待分配订单的排序前,所述方法还包括:
23.针对每个待分配订单,根据该待分配订单的信息,确定该待分配订单的压单类型,所述压单类型包括可压单和不可压单;
24.确定各待分配订单的排序,具体包括:
25.根据各待分配订单的综合表征值和各待分配订单的压单类型,确定各待分配订单的排序,其中不可压单类型的待分配订单排在可压单类型的待分配订单前。
26.可选地,为各待分配订单分配配送运力,具体包括:
27.根据各待分配订单的排序,依次将每个待分配订单,分配给配送该待分配订单的配送成本最低的配送运力。
28.可选地,根据各待分配订单的排序,为各待分配订单分配配送运力,具体包括:
29.根据各待分配订单的排序,依次为每个待分配订单与配送该待分配订单的配送成本最低的配送运力建立匹配关系;
30.根据配送运力与待分配订单的各匹配关系,确定待调整订单;
31.以每个待调整订单调整匹配关系后对应的配送运力配送该待调整订单的成本,不大于该待调整订单调整匹配关系之前对应的配送运力配送该待调整订单的成本为约束,调整待调整订单与配送运力之间的各匹配关系;
32.根据调整后的配送运力与待分配订单的各匹配关系,为各待分配订单分配配送运力。
33.可选地,确定待调整订单,具体包括:
34.针对每个配送运力,在与该配送运力存在匹配关系的各待分配订单中,选择最后一个确定的与该待配送运力存在匹配关系的待分配订单,作为待调整订单。
35.可选地,调整待调整订单与配送运力之间的各匹配关系,具体包括:
36.按照各待调整订单在所述排序中的先后顺序,依次针对每个待调整订单,将该待调整订单作为目标订单;
37.针对每个配送运力,根据当前为该配送运力分配的各已分配订单以及当前与该配送运力建立匹配关系的各待分配订单,重新确定该配送运力配送该目标订单的配送成本;
38.根据针对每个配送运力重新确定的配送成本,确定重新确定的配送成本最低的配送运力,作为目标运力;
39.为该目标订单与该目标运力建立匹配关系。
40.可选地,调整待调整订单与配送运力之间的各匹配关系,具体包括:
41.确定禁忌表,并将禁忌表初始化为空集;
42.判断是否满足调整停止条件,若是,则停止调整,否则,针对每个待调整订单,将该待调整订单作为目标订单,若该目标订单存在于禁忌表中,则重新确定目标订单,若该目标订单不存在于禁忌表中,为该目标订单调整匹配关系,并将该目标订单加入禁忌表。
43.可选地,所述调整停止条件具体包括:
44.调整匹配关系的次数达到第一预设阈值;和/或
45.目标订单调整后的匹配关系对应的匹配运力,与调整前的匹配关系对应的匹配运力相同的连续次数达到第二预设阈值。
46.本说明书提供的一种订单调度装置,包括:
47.信息获取模块:获取各待分配订单及配送运力的信息;
48.成本确定模块:针对每个待分配订单,根据该待分配订单的信息以及每个配送运力的信息,确定将该待分配订单分别分配给每个配送运力的情况下,每个配送运力的配送成本,作为该待分配订单对应于每个配送运力的配送成本;
49.表征值确定模块:针对每个待分配订单,根据该待分配订单对应于每个配送运力的配送成本,确定至少两种能够表征该待分配订单派单难度的表征值;
50.综合表征值确定模块:针对每个待分配订单,根据该待分配订单的各表征值,确定表征该待分配订单派单难度的综合表征值;
51.订单排序模块:根据各待分配订单的综合表征值,确定各待分配订单的排序;
52.订单分配模块:根据各待分配订单的排序,为各待分配订单分配配送运力。
53.本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述订单调度方法。
54.本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述订单调度方法。
55.本说明书采用的上述至少一个技术方案能够达到以下有益效果:
56.在本说明书提供的订单调度方法中,引入表征值对待分配订单的派单难度进行度量,并根据派单难度对待分配订单进行排序,根据排序依次将待分配订单分配给配送运力。
57.因此,当本方法先分配派单难度低的待分配订单时,对于派单难度高的待分配订单,通过推迟决策时间的方式增加分配时的已知信息,使得能够在信息相对充足的条件下为派单难度高的待分配订单分配配送运力,从而为派单难度高的订单分配到使全局配送成本更小的分配结果;当本方法先分配派单难度高的待分配订单时,由于派单难度高的订单对全局配送成本的影响更大,因此优先为派单难度高的订单选择合适的配送运力可以获得使全局配送成本更小的分配结果。
58.从而为派单难度高的待分配订单分配到使全局配送成本更小的分配结果。
附图说明
59.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
60.图1为本说明书实施例提供的一种订单调度方法的流程示意图;
61.图2为本说明书实施例提供的一种包括调整匹配关系的订单调度方法的流程示意图;
62.图3为本说明书实施例提供的一种使用禁忌表调整匹配关系的示意图;
63.图4为本说明书实施例提供的一种订单调度装置的示意图;
64.图5为本说明书实施例提供的对应于图1的电子设备示意图。
具体实施方式
65.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
66.以下结合附图,详细说明本说明书各实施例提供的技术方案。
67.图1为本说明书实施例提供的订单调度流程示意图,包括:
68.s100:获取各待分配订单及配送运力的信息。
69.在本说明书实施例中,待分配订单为需要分配给配送运力的订单,可以是在预设时间段内新生成的订单,也可以是在预设时间点前生成的未分配给配送运力的订单,还可以是在预设时间点前生成的已经分配给配送运力,但需要改派给其他配送运力的订单,在实际应用场景中,凡需要分配给配送运力的订单,均可以是待分配订单。
70.针对每个待分配订单,获取该待分配订单的信息,该待分配订单的信息可以包括:订单生成时间、预计送达时间、任务点的位置信息等,所述任务点可以包括该待分配订单的取货点和/或送货点。
71.配送运力为能够将被分配的待分配订单从供货方位置配送至收货方位置的运输单位,可以是运输工具或配送人员。所述能够,既可以指配送运力的能力可以实现配送过程,也可以指配送运力有接收待分配订单并配送订单的意愿。所述配送运力的信息可以包括每个配送运力的运输速度和/或承载能力和/或最大行驶距离等信息,以及每个配送运力已分配的各已分配订单等信息。
72.当运输工具为无需驾驶员的交通工具时,例如无人机、无人驾驶交通工具,所述配送运力可以为运输工具;当运输工具为需要驾驶员的交通工具时,所述配送运力可以为运输工具和/或配送人员,具体到本说明书实施例,当运输工具与配送人员存在预设的对应关系时,所述配送运力可以为运输工具和/或配送人员;当运输工具与配送人员不存在预设的对应关系时,判断运输工具是否为标准运输工具,当运输工具为标准运输工具时(也即各可提供运输服务的运输工具具有相同或相近的运输速度和/或承载能力和/或最大行驶距离,或运输工具可被分为若干类,每一类中各运输工具具有相同或相近的运输速度和/或承载能力和/或最大行驶距离),配送运力可以为运输工具或配送人员;当运输工具为非标准运输工具时(也即各可提供运输服务的运输工具不具有相同或相近的运输速度和/或承载能力和/或最大行驶距离,也不可被分为若干类,每一类中各运输工具具有相同或相近的运输速度和/或承载能力和/或最大行驶距离),配送运力可以为运输工具。
73.s102:针对每个待分配订单,根据该待分配订单的信息以及每个配送运力的信息,
确定将该待分配订单分别分配给每个配送运力的情况下,每个配送运力的配送成本,作为该待分配订单对应于每个配送运力的配送成本。
74.针对每个配送运力,确定该配送运力的原始配送路径,以及,以原始配送路径配送各已分配订单的成本之和,作为原始配送成本,具体的,由于该配送运力各已分配订单的信息包括各订单的任务点信息等,因此在满足预设条件约束的情况下,由于该匹配运力对各已分配订单的任务点排序不同,存在不同的配送路径。
75.所述配送路径可以为任一能够完成已分配订单的配送任务的路径,由于本说明书为待分配订单分配配送运力时,各配送运力的已分配订单及配送各已分配订单的原始配送路径已经确定,因此本说明书实施例针对如何确定原始配送路径不再赘述。
76.针对每个待分配订单,根据该待分配订单的信息,在该待分配订单分别分配给每个配送运力的情况下,针对每个配送运力,将该待分配订单的任务点在满足预设条件的约束下加入到该配送运力已确定订单的任务点的排序中,并根据加入后的任务点排序确定各可行路径,以及该配送运力以各可行路径配送已确定订单及该待分配订单的成本之和,并选取配送各已确定订单及该待分配订单的成本之和最小的可行路径作为该待分配订单的目标路径,可以将该配送运力以目标路径配送已确定订单及该待分配订单的成本之和,作为该待分配订单对应于该配送运力的配送成本;也可以将该配送运力以目标路径配送已确定订单及该待分配订单的成本之和,相比于原始配送成本的增量,作为该待分配订单对应于该配送运力的配送成本。
77.所述确定任务点排序的预设条件,在确定已分配订单的任务点排序时,可以为,针对每个已分配订单,配送运力到达该订单的取货点先于到达该订单的送货点等条件;在将待分配订单的任务点加入到对应配送运力的已确定订单的任务点的排序中时,所述预设条件可以为该配送运力到达该待分配订单的取货点先于到达该待分配订单的送货点等条件,还可以包括,不改变该配送运力原配送路径中已确定订单的任务点排序等条件。
78.所述确定各可行路径,具体的,在满足预设约束的条件下,使得该配送运力能够完成各已确定订单及该待分配订单的配送,即为该配送运力配送各已确定订单及该待分配订单的可行路径。
79.所述配送成本,可由配送运力配送订单所消耗的时长和/或路程和/或订单超时时长等表征,所述订单超时时长为订单实际送达时间与订单预计送达时间的差值。其中,消耗的时长越长,配送成本越高;配送路程越长,配送成本越高;订单超时时长越长,配送成本越高。
80.在本说明书实施例中,针对每个待分配订单,在为该待分配订单确定分配给每个配送运力的情况下的各可行路径时,针对每个配送运力,可以分别独立地将该待分配订单的任务点在满足预设条件的约束下加入到该配送运力已分配订单的任务点的排序中,并根据加入后的任务点排序确定各可行路径,即配送运力的已确定订单仅包括已分配订单;针对每个配送运力,也可以按照预设的待分配订单的初始排序,依次将该待分配订单的任务点在满足预设条件的约束下加入到该配送运力已确定订单的任务点的排序中,并根据加入后的任务点排序确定各可行路径,所述已确定订单包括该配送运力被分配的已分配订单,以及在分配该待分配订单前分配给该配送运力的待分配订单,也即在每次分配待分配订单后,为下一个即将被分配的待分配订单根据所述已确定订单重新针对每个匹配运力,确定
将该待分配订单的任务点在满足预设条件的约束下加入到该配送运力已确定订单的任务点的排序中,并根据加入后的任务点排序确定各可行路径。
81.所述预设的待分配订单的初始排序可以根据各待分配订单的订单生成时间确定。
82.s104:针对每个待分配订单,根据该待分配订单对应于每个配送运力的配送成本,确定至少两种能够表征该待分配订单派单难度的表征值。
83.在实际应用场景中,当需要将多个待分配订单分配给多个配送运力时,通常所追求的理想情况并不是某个订单的配送成本最小,而是全局配送成本最小,也即配送每个待分配订单的配送成本之和最小。
84.由于对于待分配订单的分配有先后,而每个待分配订单的配送成本对全局配送成本(各待分配订单的配送成本之和)的影响程度不同,以及针对每个待分配订单,该待分配订单分配给配送该待分配订单的配送成本最低的配送运力即为使全局配送成本最小的分配方式的置信程度不同,基于使配送每个待分配订单的配送成本之和更小的目的,引入派单难度,对上述影响程度和置信程度进行表征,并根据各待分配订单的派单难度,决定各待分配订单的分配先后。
85.具体的,越先被分配到的订单,分配该订单时已知的信息就越少,该订单被分配给不合适的配送运力的概率就越大,但分配给对于该订单来说配送成本最小的配送运力的概率也越大。不合适的情况可以包括,将该订单分配给不合适的配送运力后,再对后续的其他订单进行分配时,接近使全局配送成本最小的各分配结果的概率剧降,或该订单分配给不合适的运力后,相比于分配给其他相对合适的运力,使全局配送成本增大量较大。
86.所述表征值为能够在某一方面对派单难度进行表征的值。
87.s106:针对每个待分配订单,根据该待分配订单的各表征值,确定表征该待分配订单派单难度的综合表征值。
88.单个表征值能够从某一方面表征派单难度,针对每个待分配订单,根据该待分配订单的各表征值确定出的该待分配订单的综合表征值,能够从多个方面,更全面、更准确地表征该待分配订单的派单难度。
89.s108:根据各待分配订单的综合表征值,确定各待分配订单的排序。
90.综合表征值能够相对准确地表征出待分配订单的派单难度,因此根据各待分配订单的综合表征值确定出的各待分配订单的排序,即以派单难度确定出的各待分配订单的排序。
91.s110:根据各待分配订单的排序,为各待分配订单分配配送运力。
92.根据派单难度为各待分配订单排序,根据所述排序为各待分配订单分配配送运力,即,为派单难度低的待分配订单先分配配送运力,而推迟派单难度高的待分配订单的分配时间,以在信息更充足的情况下为派单难度高的待分配订单分配配送运力,或为派单难度高的待分配订单先分配配送运力,为对全局配送成本影响较大的订单优先分配配送成本较低的配送运力,以实现较低的全局配送成本。更进一步的,所述为各待分配订单分配配送运力,即为根据所述排序依次将各待分配订单发送给对应的配送运力,作为对应配送运力需要执行配送服务的订单。
93.通过上述图1所述的方法可见,本说明书提出了一种订单调度方法,本方法引入表征值,对订单的派单难度进行度量,并根据表征值对各待分配订单排序,根据排序依次为待
分配订单分配配送运力。当先分配派单难度低的待分配订单时,即上述排序为综合表征值从低到高的排序时,由于其被分配给不合适的配送运力也对全局配送成本的影响较小,或有较大把握确定该订单对应的合适的配送运力,而对于派单难度高的待分配订单,通过拖迟其派单时间,增加分配时的已知信息,使得能够在信息相对充足的条件下为其分配配送运力,因此能够得到全局配送成本更低的各待分配订单的分配结果。而当先分配派单难度高的待分配订单时,即上述排序为综合表征值从高到低的排序时,由于其对全局配送成本的影响较大,因此优先将其分配给对于该订单来说配送成本最小的配送运力,使得全局配送成本也较小。基于此,本说明书的订单调度方法,根据派单难度确定待分配订单的分配顺序,能够实现全局配送成本更小的订单分配结果。
94.本说明书以下仅以先分配派单难度低的待分配订单为例进行解释。
95.进一步的,由于派单难度由至少两个表征值进行表征,而对于不同表征值,其表征派单难度的表征程度并不相同,因此,引入权重分别表征各表征值对于派单难度的表征程度,并根据各表征值对应的权重,确定表征各派单难度的综合表征值。
96.各表征值的权重可以用各种主观赋值方法(包括专家调查法、层次分析法、二项系数法、环比评分法、最小平方法等),根据实际需求由各表征值的重视程度确定其对应的权重;也可以采用各种客观赋值方法(包括主成分分析法、熵值法、离差即均方差法、变异系数权重法、多目标规划法等),以各表征值之间的关联程度,或各表征值所提供的信息量大小来确定对应的权重,还可以将主客观相结合对表征值进行赋权。以下本说明书仅以主观赋值方法预设的权重,以及客观赋值方法中的变异系数权重法确定的权重为例,对表征值的权重进行说明。
97.本说明书一个实施例中,各表征值对应的权重以主观赋值方法预设,针对每种表征值,确定该种表征值的第一参数,所述第一参数为该种表征值与该种表征值的预设权重的对应关系,例如,当各种表征值与表征值对应的权重存储在数据库中,第一参数即为该种表征值的索引,根据第一参数确定该种表征值对应的权重。
98.本说明书一个实施例中,各表征值对应的权重以客观赋值方法中的变异系数权重法确定,针对每种表征值,确定各待分配订单的该种表征值的标准差,以及各待分配订单的该种表征值的平均值,以各待分配订单的该种表征值的标准差与各待分配订单的该种表征值的平均值的比,作为该种表征值的变异系数,也即该种表征值的第一参数,根据该种表征值的变异系数与各种表征值变异系数加和的比,确定该种表征值的权重。以变异系数权重法确定出的各种表征值的权重,可以度量每种表征值的离散程度,离散程度越高的表征值即提供信息量越大的表征值,其权重也越高。
99.根据各种表征值及其确定出的对应权重,确定表征各派单难度的综合表征值,具体的,可以将每种表征值以其对应的权重进行加权,再对加权后的各表征值加和,以加权后的各表征值的加和作为表征各待分配订单派单难度的综合表征值。
100.本说明书一个实施例中,针对每个待分配订单,将该待分配订单的初始配送成本作为该待分配订单的第一表征值,将该待分配订单的稳定度作为该待分配订单的第二表征值,所述初始配送成本以及所述待分配订单的稳定度,可以分别从不同的方面表征待分配订单的派单难度。
101.具体的,针对每个待分配订单,所述初始配送成本为,配送该待分配订单的配送成
本最低的配送运力配送该待分配订单的配送成本。该待分配订单对应的初始配送成本越低,相比于对应初始配送成本高的待分配订单,由于其成本本身较小,则对全局配送成本的影响程度也较小;相反的,初始配送成本高的待分配订单,由于其成本本身较大,则对全局配送成本的影响程度也较大。即初始配送成本越小,该待分配订单对全局配送成本的影响也越小,其派单难度也越低。
102.类似的,针对每个待分配订单,所述稳定度具体表征该待分配订单的初始配送运力为该待分配订单的最优配送运力的概率,所述初始配送运力为配送该待分配订单的配送成本最低的配送运力,所述最优配送运力为将每个待分配订单分配给使各待分配订单的配送成本之和最低的配送运力时,该待分配订单对应的配送运力。基于使配送每个待分配订单的配送成本之和更小的目的,该待分配订单的初始配送运力为该待分配订单的最优配送运力的概率越大,则认为将该待分配订单分配给初始配送运力即为使全局配送成本较小的分配方式的置信程度也就越大,可以理解,当有较大的置信程度认为将该待分配订单分配给初始配送运力即为使全局配送成本较小的分配方式时,该待分配订单对应的初始配送运力即为对该待分配订单来说合适的配送运力,因此该待分配订单的稳定度越大,其派单难度也就越小。
103.本说明一个实施例中,采用后悔值表征待分配订单的稳定度,具体的,针对每个待分配订单,根据该待分配订单的初始配送成本以及初始配送运力以外的其他配送运力配送该待分配订单的配送成本,确定该待分配订单的稳定度。可以理解的是,在没有更多信息的情况下,往往倾向于将该带分配订单分配给初始配送运力,而随着更多信息的生成,具体到本实施例中,可以是该待分配订单以外的其他订单被分配给配送运力,可能产生初始配送运力以外的其他运力配送该待分配订单的配送成本更低的情况,此时将该待分配订单分配给初始配送运力可以被视为一次对控制全局配送成本来说损失较大的分配方式,因此,可以在执行订单分配行为之前,根据该待分配订单的初始配送成本以及初始配送运力以外的其他配送运力配送该待分配订单的配送成本确定该待分配订单的后悔值,用以根据机会成本判断分配方式的稳定度。
104.可以理解的是,后悔值需要表征初始配送成本与其他配送运力配送该待分配订单的配送成本的差异,因此可以选取任何能够表征初始配送成本与其他配送运力配送该待分配订单的配送成本的差异程度的方法作为后悔值的确定方法,本说明书不对如何确定后悔值进行限制。
105.仅作为确定后悔值的一种例子,本说明书一个实施例中,针对每个待分配订单,可以将初始配送运力以外的其他配送运力配送该待分配订单的配送成本以及初始配送成本的差值,作为该待分配订单的后悔值,更进一步的,可以将配送该待分配订单的配送成本第二低的配送运力配送该待分配订单的配送成本,与初始配送成本的差值作为该待分配订单的后悔值;也可以将初始配送运力以外的其他配送运力配送该待分配订单的配送成本以及初始配送成本的比,作为该待分配订单的后悔值。
106.在实际应用中,待分配订单的生成时间有先后,当将生成时间存在跨度的订单作为待分配订单时,由于其生成时间不同,和/或对各订单送达时间的要求不同,则对其分配的急缓程度也不同。出于维护用户体验等原因,对于较早生成的待分配订单,相比于较晚生成的待分配订单,其对于将订单分配给配送运力的需求更紧急;同样的,对于送达时间要求
较早的订单,相比于订单要求的送达时间较早的待分配订单,其分配需求也更紧急。因此,引入压单类型,对待分配订单的分配急缓程度进行度量。
107.具体的,针对每个待分配订单,确定该待分配订单的信息,并根据预设的压单条件判断该待分配订单的压单类型,当满足所述压单条件时,判断该待分配订单为可压单,所述压单条件至少包括以下条件中的一种,或者多种的组合:从该待分配订单生成后所经过的时间,小于预设的最大压单时长;以及分配该待分配订单的时间,距离该待分配订单的预计送达时间,大于预设的最小剩余时间。当仅根据所述最大压单时长判断该带分配订单的压单类型时,所述待分配订单的信息可以仅包括该待分配订单的生成时间及预设的最大压单时长;当仅根据所述最小剩余时间判断所述待分配订单的压单类型时,所述待分配订单的信息可以仅包括该待分配订单的预计送达时间及预设的最小剩余时间;当根据所述最大压单时长和所述最小剩余时间判断所述待分配订单的压单类型时,所述待分配订单的信息至少包括该待分配订单的生成时间、预设的最大压单时长、预计送达时间及预设的最小剩余时间。所述根据该待分配订单的最大压单时长和最小剩余时间判断该待分配订单的压单类型时,判断方式可以为,当该待分配订单的最大压单时长和最小剩余时间中任一满足压单条件时判断该待分配订单为可压单;也可以为当该待分配订单的最大压单时长和最小剩余时间均满足压单条件时判断该待分配订单为可压单。
108.类似的,同样基于对待分配订单分配的急缓程度也不同,在为不可压单的待分配订单分配配送运力后,将每个不可压单类型的待分配订单发送给对应的配送运力,作为对应配送运力需要执行配送服务的订单;而对于可压单类型的待分配订单,针对每个待分配订单,采用上述方法确定出将要为该待分配订单分配的配送运力后,可根据该待分配订单的信息,判断该待分配订单是否满足压单条件,若满足,则暂不将该待分配订单分配给相应的配送运力,作为下轮订单调度的待分配订单,若不满足,则为该待分配订单分配配送运力。
109.本说明书一个实施例中,在根据各待分配订单的综合表征值,对各待分配订单的派单难度进行排序后,依次将每个待分配订单,分配给配送该待分配订单的配送成本最低的配送运力。具体的,可以根据各待分配订单的派单难度从低到高的顺序,依次将每个待分配订单,分配给配送该待分配订单的配送成本最低的配送运力。
110.在实际应用中,往往仅根据派单难度依次将每个待分配订单,分配给配送该待分配订单的配送成本最低的配送运力所得到的分配结果,不能满足全局配送成本的控制需求,为了进一步对全局配送成本进行优化,可以在上述订单被分配给配送运力后,并不以其作为最终的分配结果,而是作为一种匹配关系的建立,从而对其中部分已经建立的匹配关系进行调整,以得到全局配送成本更小的分配结果。
111.具体的,如图2所示,在根据各待分配订单的排序,依次为每个待分配订单与配送该待分配订单的配送成本最低的配送运力建立匹配关系后,确定其中部分订单作为待调整订单,为各待调整订单调整其已经建立的匹配关系。基于得到全局配送成本更小的分配结果的优化目标,在为每个待调整订单调整匹配关系时,均以该待调整订单调整匹配关系后对应的配送运力配送该待调整订单的成本,不大于该待调整订单调整匹配关系之前对应的配送运力配送该待调整订单的成本为约束,由此,在为每个待调整订单调整匹配关系后,该待调整订单的配送成本均会降低,从而有较大概率实现全局配送成本更小的分配结果的优
化目标。
112.更进一步的,基于上述目的,可以选择任何能够根据已确定的匹配关系,为待调整订单朝着全局配送成本更小的方向进行匹配关系优化调整的算法进行实现,具体的,本说明书以采用一种局部搜索算法为例,对待调整订单的匹配关系调整进行说明。
113.将各待分配订单已确定的匹配关系作为初始解,采用局部搜索算法,针对每个待调整订单,依次在当次搜索过程中搜索该待调整订单已确定的匹配关系的邻域更优解,也即邻域更优的匹配关系,所述邻域,在本说明书一个实施例中,即为在不改变其他待分配订单的匹配关系的情况下,该待调整订单的各可行解,也就是说,在不改变其他待分配订单的情况下,针对每个待调整订单,依次搜索优于该待调整订单当前匹配关系的其他匹配关系,从而找到该待调整订单的更优的匹配关系,该更优的匹配关系,即为该待调整订单在所述邻域内的局部最优解。采用局部搜索算法依次为每个待调整订单调整局部最优的匹配关系,从而获得对于各待分配订单的全局更优的匹配结果。
114.本说明书一个实施例中,针对每个配送运力,在与该配送运力存在匹配关系的各待分配订单中,选择最后一个确定的与该待配送运力存在匹配关系的待分配订单,作为待调整订单,具体的,在根据派单难度,依次以派单难度从低到高的顺序,将待分配订单分配给配送该待分配订单的配送成本最小的配送运力的情况下,往往较晚分配给配送运力的待分配订单,由于其综合表征值表征出的派单难度较高,其对全局配送成本的影响也较大,因此,每个配送运力最后一个确定的与该待配送运力存在匹配关系的待分配订单,即为该配送运力存在匹配关系的所有待分配订单中,派单难度最大的待分配订单,将其作为待调整订单调整匹配关系,相比于为每个配送运力较早确定匹配关系的待分配订单调整匹配关系,对全局配送成本的影响程度更大,优化幅度也更大。
115.本说明书一个实施例中,为各待调整订单调整匹配关系时,可以根据各待调整订单的综合表征值表征的派单难度,依次为待调整订单调整匹配关系。
116.针对每个待调整订单,将其与为该订单调整匹配关系的时刻,配送该待分配订单的配送成本最小的配送运力建立匹配关系,具体的,将该待调整订单作为目标订单,针对每个配送运力,根据当前为该配送运力分配的各已分配订单以及当前与该配送运力建立匹配关系的各待分配订单,重新确定该配送运力配送该目标订单的配送成本,根据针对每个配送运力重新确定的配送成本,将重新确定的配送成本最低的配送运力,作为目标运力,为该目标订单与该目标运力建立匹配关系,也就是说,在为目标订单调整匹配关系的时刻,由于对每个配送运力根据该时刻已知的分配信息和匹配关系的建立信息重新确定了配送目标订单的配送成本,相比于为目标订单第一次建立匹配关系时,得到了更充分的信息,因此,在为目标订单调整匹配关系时,目标运力即为配送目标订单的成本最小的运力,也即该时刻目标订单的局部最优解。
117.类似的,基于得到全局配送成本更小的分配结果的优化目标,而非为每个待分配订单建立匹配关系的局部配送成本最小,在为各待调整订单调整匹配关系时,可以有意避免陷入为其重复调整匹配关系的局部最优,因此,本说明书一个实施例,利用禁忌表对每个目标订单的寻优次数进行控制,具体的,确定禁忌表,并将禁忌表初始化为空集,判断是否满足调整停止条件,若是,则停止调整,并根据调整后的配送运力与待分配订单的各匹配关系,为各待分配订单分配配送运力,否则,针对每个待调整订单,将该待调整订单作为目标
订单,若该目标订单存在于禁忌表中,则重新确定目标订单,若该目标订单不存在于禁忌表中,为该目标订单调整匹配关系,并将该目标订单加入禁忌表。由于将每个被调整匹配关系的待调整订单,忽略调整结果,均加入禁忌表,因此,对于每个待调整订单,仅能够调整一次匹配关系,无论其对应的匹配运力是否改变,从而避免陷入为其重复调整匹配关系的局部最优。如图3所示,当以单3位目标订单,并对单3的匹配关系进行调整时,将单3加入禁忌表,并将单3的匹配关系由配送运力1调整为配送运力3。
118.具体的,当利用禁忌表对每个目标订单的寻优次数进行控制时,所述调整停止条件可以包括:调整匹配关系的次数达到第一预设阈值;目标订单调整后的匹配关系对应的匹配运力,与调整前的匹配关系对应的匹配运力相同的连续次数达到第二预设阈值。可以理解的,为了限制匹配关系的调整次数,可以预设第一预设阈值,当调整匹配关系的次数达到所述第一预设阈值时,停止调整;而对于第一次根据派单难度依次为各待分配订单建立的匹配关系,当目标订单调整后的匹配关系对应的匹配运力,与调整前的匹配关系对应的匹配运力相同的连续次数达到第二预设阈值时,即认为上述第一次建立的匹配关系满足全局配送成本的控制要求,即停止调整。
119.本说明书一个实施例中,该订单调度方法可以用于各待分配订单的取货点相同的情况下,此时,在匹配运力根据被分配到的已分配订单的任务点的排序确定可行路径时,取货点在前,而仅需确定各送货点的排序;类似的,在为待分配订单分配配送运力时,若该配送运力已经存在被分配的已分配订单和/或先于该待分配订单分配给该配送运力的其他待分配订单,则取货点在前,而仅需在满足预设条件的约束下将该待分配订单的送货点加入到该配送运力已分配订单的送货点的排序中,并根据加入后的送货点确定送货点排序;类似的,在为待调整订单调整匹配关系时,若对应的配送运力,已经存在被分配的已分配订单和/或先于该待调整订单与该匹配运力建立匹配关系的其他待分配订单,则取货点在前,而仅需在满足预设条件的约束下将该待调整订单的送货点加入到该配送运力已分配订单的送货点的排序中,并根据加入后的送货点确定送货点排序。根据上述取货点在前,及各送货点的排序,确定各配送运力配送各订单的可行路径。
120.以上为本说明书实施例提供的订单调度方法,基于同样的思路,本说明书还提供了相应的装置、存储介质和电子设备。
121.图4为本说明书实施例提供的一种订单调度装置的结构示意图,所述装置包括:
122.信息获取模块400,获取各待分配订单及配送运力的信息;
123.成本确定模块402,针对每个待分配订单,根据该待分配订单的信息以及每个配送运力的信息,确定将该待分配订单分别分配给每个配送运力的情况下,每个配送运力的配送成本,作为该待分配订单对应于每个配送运力的配送成本;
124.表征值确定模块404,针对每个待分配订单,根据该待分配订单对应于每个配送运力的配送成本,确定至少两种能够表征该待分配订单派单难度的表征值;
125.综合表征值确定模块406,针对每个待分配订单,根据该待分配订单的各表征值,确定表征该待分配订单派单难度的综合表征值;
126.订单排序模块408,根据各待分配订单的综合表征值,确定各待分配订单的排序;
127.订单分配模块410,根据各待分配订单的排序,为各待分配订单分配配送运力。
128.可选地,所述综合表征值确定模块406具体用于,针对每种表征值,根据各待分配
订单的该种表征值,确定该种表征值的第一参数;根据每种表征值的第一参数,确定每种表征值对应的权重;根据该待分配订单的每种表征值,及每种表征值对应的权重,确定该待分配订单派单难度的综合表征值。
129.可选地,所述表征值确定模块404具体用于,根据该待分配订单对应于每个配送运力的配送成本,确定配送该待分配订单的配送成本最低的配送运力,将该配送运力作为该待分配订单的初始配送运力;将该配送运力配送该待分配订单的配送成本,作为该待分配订单的初始配送成本;根据该待分配订单对应于每个配送运力的配送成本,确定该待分配订单的稳定度,所述稳定度用于表征该待分配订单的初始配送运力为该待分配订单的最优配送运力的概率,所述最优配送运力为将每个待分配订单分配给使各待分配订单的配送成本之和最低的配送运力时,该待分配订单对应的配送运力;将该待分配订单的初始配送成本作为该待分配订单的第一表征值,将该待分配订单的稳定度作为该待分配订单的第二表征值。
130.可选地,所述信息获取模块400具体用于,针对每个待分配订单,根据该待分配订单的信息,确定该待分配订单的压单类型,所述压单类型包括可压单和不可压单;
131.所述订单排序模块408具体用于,根据各待分配订单的综合表征值和各待分配订单的压单类型,确定各待分配订单的排序,其中不可压单类型的待分配订单排在可压单类型的待分配订单前。
132.可选地,所述订单分配模块410具体用于,根据各待分配订单的排序,依次将每个待分配订单,分配给配送该待分配订单的配送成本最低的配送运力。
133.可选地,所述订单分配模块410具体用于,根据各待分配订单的排序,依次为每个待分配订单与配送该待分配订单的配送成本最低的配送运力建立匹配关系;根据配送运力与待分配订单的各匹配关系,确定待调整订单;以每个待调整订单调整匹配关系后对应的配送运力配送该待调整订单的成本,不大于该待调整订单调整匹配关系之前对应的配送运力配送该待调整订单的成本为约束,调整待调整订单与配送运力之间的各匹配关系;根据调整后的配送运力与待分配订单的各匹配关系,为各待分配订单分配配送运力。
134.可选地,所述订单分配模块410具体用于,针对每个配送运力,在与该配送运力存在匹配关系的各待分配订单中,选择最后一个确定的与该待配送运力存在匹配关系的待分配订单,作为待调整订单。
135.可选地,所述订单分配模块410具体用于,按照各待调整订单在所述排序中的先后顺序,依次针对每个待调整订单,将该待调整订单作为目标订单;针对每个配送运力,根据当前为该配送运力分配的各已分配订单以及当前与该配送运力建立匹配关系的各待分配订单,重新确定该配送运力配送该目标订单的配送成本;根据针对每个配送运力重新确定的配送成本,确定重新确定的配送成本最低的配送运力,作为目标运力;为该目标订单与该目标运力建立匹配关系。
136.可选地,所述订单分配模块410具体用于,确定禁忌表,并将禁忌表初始化为空集;判断是否满足调整停止条件,若是,则停止调整,否则,针对每个待调整订单,将该待调整订单作为目标订单,若该目标订单存在于禁忌表中,则重新确定目标订单,若该目标订单不存在于禁忌表中,为该目标订单调整匹配关系,并将该目标订单加入禁忌表。
137.可选地,所述调整停止条件具体包括:调整匹配关系的次数达到第一预设阈值;
和/或目标订单调整后的匹配关系对应的匹配运力,与调整前的匹配关系对应的匹配运力相同的连续次数达到第二预设阈值。
138.本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的订单调度方法。
139.本说明书还提供了图5所示的电子设备的示意结构图。如图5所述,在硬件层面,该无人驾驶设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的订单调度方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
140.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
141.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视
为既可以是实现方法的软件模块又可以是硬件部件内的结构。
142.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
143.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
144.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
145.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
146.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
147.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
148.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
149.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
150.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算
机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
151.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
152.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
153.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
154.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
155.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1