一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自适应物流调度方法与系统与流程

2022-02-19 23:52:12 来源:中国专利 TAG:


1.本发明涉及一种自适应物流调度方法与系统。


背景技术:

2.现有的城市快递调度方法可以分为两种类型:一种是在包裹出现时立即分配;另一种是通过滑动窗口积累一批包裹,然后进行批量分配。首先,排队处理策略易于实现,但通常会产生较差的匹配结果。尽管后者可以在一定程度上提高结果的质量,但是手动调整批大小对于解决实时情况并不有效,还可能难以指定合理的批次大小。此外,平台收入的优化也是商业平台的重要考虑之一。但是,现有的技术手段主要着眼于提高收件效率而不是增加平台收益,无法同时考虑收件效率和平台收益。


技术实现要素:

3.有鉴于此,本发明提供一种自适应物流调度方法与系统。
4.本发明采用以下技术方案:
5.本发明的有益效果为:根据各时间步的与快递相关的组合特征向量自适应地划分滑动窗口,能够准确得到滑动窗口的大小,相较于手动调整批大小的方式,能够获得更为准确的匹配结果,提升后续快递调度的准确性,提升收件效率,而且,根据确定得到的收件请求最大任务数量阈值以及预设的规则,将滑动窗口内的收件请求任务打包成任务组,并按照贪婪策略,为各快递员分配对应的任务组,就可以针对滑动窗口内的快递员和收件请求任务进行高质量匹配,为平台获取更高整体收益。因此,本发明提供的自适应物流调度方法不但可以提升收件效率,还可以提升平台收益。
附图说明
6.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍:
7.图1是本技术实施例提供的自适应物流调度方法的整体流程图;
8.图2是快递员背包空余容量特征值示意图;
9.图3是位置分布特征值示意图;
10.图4是时间特征值示意图;
11.图5是利用深度强化学习的方法来自适应的划分滑动窗口的流程示意图;
12.图6是本技术实施例提供的自适应物流调度系统的整体架构示意图。
具体实施方式
13.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电
路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
14.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
15.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
16.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0017]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0018]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0019]
为了说明本技术所述的技术方案,下面通过具体实施方式来进行说明。
[0020]
本实施例中,可以将快递平台建模为智能体,用以智能执行自适应物流调度方法。
[0021]
参见图1,是本技术实施例提供的自适应物流调度方法的流程图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0022]
步骤1:获取各时间步的与快递相关的组合特征向量:
[0023]
时间步表示时间段,时间步的长度由实际需要进行设置,相应地,一天划分得到的时间步的个数根据实际情况进行设置。每一个时间步均对应有组合特征向量,组合特征向量为与快递相关的特征向量。组合特征向量的特征来源为快递员状态信息(比如:当前位置、数量、背包容量、返回站点时间)和收件请求任务状态信息(比如收件请求位置、数量、过期时间)。
[0024]
本实施例中,组合特征向量包括快递员数量特征值收件请求任务数量特征值快递员背包空余容量特征值位置分布特征值和时间特征值应当理解,组合特征向量中的各特征值均为对应时间步的特征值。本实施例中,组合特征向量的具体形式为h为第h个时间步,每划分一个滑动窗口,h会归为0。
[0025]
为在时间步h内,所有活跃有效的快递员数量,活跃有效的快递员可以理解为处于正常工作过程中的快递员,该特征值可以统计得到。用来评估当前滑动窗口中的快递员数量特征。
[0026]
为在时间步h内,所有的收件请求任务的数量。本实施例中,收件请求任务也特指活跃有效的收件请求任务,此处活跃有效的收件请求任务可以理解为正常进行的收件请求任务,该特征值可以统计得到。用来评估当前滑动窗口中的收件请求任务数量特征。
[0027]
快递员背包空余容量特征值的计算公式如下:
[0028][0029]
其中,c为快递员集合(即时间步h内的所有活跃有效的快递员的集合),k
c
为快递员c的背包总容量,c∈c,|γ|
c
为快递员c背包中待派件包裹的数量,|λ|
c
为快递员c背包中所收取包裹的数量。本实施例中,快递员背包为用来放置快递的物体,比如背包或者快递车。用来评估当前滑动窗口中的快递员背包空余容量特征。
[0030]
图2为快递员背包空余容量特征值的特征示意图,在s201中,可以看到每个快递员的背包是充足的,因此可以继续等待更多的收件请求任务,此时不适合划分滑动窗口;在s202中,快递员的背包空余容量可以容纳更多的收件请求任务,此时更加适合于划分滑动窗口,从而立即匹配。
[0031]
位置分布特征值的计算公式如下:
[0032][0033]
其中,λ为收件请求任务集合(即时间步h内的所有活跃有效的收件请求任务的集合),d
m
(l
λ
,d
c
)为l
λ
和d
c
的马氏距离,l
λ
为收件请求任务λ的位置,λ∈λ,d
c
为快递员的位置分布,即时间步h内的快递员的位置分布。用来评估当前滑动窗口中的快递员和收件请求任务空间分布特征。
[0034]
图3为位置分布特征值特征示意图,在s301中快递员和收件请求任务分布较为分散,此时的匹配效果可能很差,相比之下,s302中的快递员和收件请求任务分布很紧凑,更加适合于划分滑动窗口。
[0035]
时间特征值的计算公式如下:
[0036][0037]
其中,τ为当前时间,t
c
为快递员c返回站点的截止时间,t
λ
为收件请求任务λ的过期截止时间。的计算公式的含义是:在{t
c

τ}和{t
λ

τ}两个集合中寻找最小值x,例如,当前有两个快递员,t
c
分别是8,9,还有三个请求任务,t
λ
分别为6,8,12,若当前时间τ为5,那么{t
c

τ}集合为{3,4},{t
λ

τ}集合为{1,3,7},此时x为1。
[0038]
用来评估快递员和请求任务时间分布特征。越小,则说明快递员或收件请求任务的截止时间快到了,此时适合划分滑动窗口。图4为时间特征值特征示意图,在s401中,快递员和收件请求任务的截止时间都还很充裕,可以继续等待,以期匹配到更好的快递员或收件请求任务,此时不适合划分滑动窗口;然而在s402中,快递员和收件请求任务的截止时间都快来临,此时应尽快划分滑动窗口,以及时进行匹配。
[0039]
步骤2:基于所述组合特征向量,自适应地划分滑动窗口:
[0040]
根据组合特征向量自适应地划分滑动窗口,滑动窗口具体为时间窗口。本实施例中,采用深度强化学习网络自适应地划分滑动窗口。即利用马尔可夫决策过程(markov decision process,mdp)对滑动窗口决策过程进行建模,并采用深度强化学习的方法,根据
多个组合特征向量自适应地确定滑动窗口的大小。
[0041]
深度强化学习网络中,动作空间a=[h
min
,h
max
],其中h
min
,h
max
∈n是划分滑动窗口的最小和最大时间步。滑动窗口是由一组连续的时间步组成,也就是常说的一个batch,其中包含了在这个滑动窗口(也就是这段时间内)出现的新收件请求任务和上一个滑动窗口遗留下来的收件请求任务,以及在这个滑动窗口有效(比如有充足的背包容量和充足的时间)的快递员。
[0042]
深度强化学习网络的奖励函数具体为:奖励是激励朝正确方向学习的关键,本实施例使用e(m)表示在一个匹配过程中所有快递员所产生的奖励之和,即e(m)=∑
c∈c,λ∈λ
r(c,λ)。其中r(c,λ)为单个快递员完成单个收件请求任务所获得的奖励。
[0043]
应当理解,深度强化学习网络可以由多个时间步对应的组合特征向量训练得到。
[0044]
将当前时间步的组合特征向量输入至深度强化学习网络中,输出对应的动作值a
h
和奖励值r
h
,以此进行滑动窗口划分。
[0045]
动作值a
h
为h
min
和h
max
间的一个离散值(即第几个时间步),代表在这个时间步划分最为合适,若a
h
=h,那么就在时间步h进行划分时间窗,奖励值r
h
为在这个滑动窗口匹配所产生的总收益。否则,不在时间步h进行划分,r
h
=0。
[0046]
如图5所示,基于drl的自适应滑动窗口划分方案包含两个模块:学习和规划。对于规划,在时间步h中,首先通过状态特征向量对当前环境进行编码。然后,将s
h
输入目标网络进行决策,即在[h
min
,h
max
]中选择一个动作a
h
。注意,如果与动作值a
h
对应的时间步与当前时间步一致,则划分滑动窗口以执行后续的tbm匹配算法;否则,将继续等待下一个决策。最后,将此次决策经验存储在replay memory(经验池)中。对于学习,首先从replay memory中随机抽取一批经验来更新q

network q,然后,将目标网络与q

network q的参数同步。
[0047]
应当理解,划分得到的滑动窗口的个数由实际情况进行确定。
[0048]
本实施例中,步骤1和2对应图6中的s101,步骤3

5对应图6中的s102,步骤3

5构成时间感知批量匹配(time

aware batch matching,tbm)算法,根据划分得到的滑动窗口进行匹配,具体为:tbm算法的输入为一个滑动窗口内的所有收件请求任务和快递员,输出为当前滑动窗口的一个可行的分配方案。
[0049]
步骤3:基于划分得到的滑动窗口,确定与所述滑动窗口对应的收件请求最大任务数量阈值:
[0050]
由于各个滑动窗口对应的数据处理过程相同,以下以任意一个滑动窗口为例进行说明。基于划分得到的滑动窗口,确定与该滑动窗口对应的收件请求最大任务数量阈值m。收件请求最大任务数量阈值m表示一个任务组中的收件请求任务的最大数量,收件请求最大任务数量阈值m由实际需要进行设定,本实施例中,收件请求最大任务数量阈值m可理解为打包操作中一个任务包的最大尺寸,可以按照经验丰富的快递员的经验来确定此阈值,此阈值一般不会超过一个快递员的背包的最大容量,因为在现实场景中,可组成任务组的任务数普遍都比较小,而且限制任务组最大尺寸可以大幅降低算法时间复杂度,甚至会很小,因为较多的收件请求任务时空分布太复杂,一般很难打成一个任务包。
[0051]
步骤4:基于所述收件请求最大任务数量阈值,将所述滑动窗口内的收件请求任务
按照预设规则打包成任务组,得到至少两个任务组:
[0052]
任务打包的规则由实际需要进行设置,本实施例中,预设规则包括时间约束条件和距离约束条件。相应地,将滑动窗口内满足时间约束条件和距离约束条件的收件请求任务打包为一个任务组。其中,时间约束条件为同一个任务组内的各收件请求任务按序完成都不过期,是否过期的具体判断条件由实际需要进行设置,比如从收件请求任务生成时刻开始计算,超过2个小时判定为过期。距离约束条件为同一个任务组内的各收件请求任务相互之间距离都不超过预设的距离阈值,距离阈值由实际需要进行设置。而且,各任务组内的收件请求任务的数量小于收件请求最大任务数量阈值m。
[0053]
上述任务打包操作意为将一组出现时间和距离都相近的收件请求任务组合成一个任务组,其内部会形成一条可行的收件路径,保证所有任务都能在过期之前被快递员收取,如一个小区内在9点至9点30出现的收件请求任务便可打包成一个任务组,即看成一个任务进行接下来的分配操作,此举可以大幅节省分配时间。
[0054]
应当理解,通过任务打包之后可以生成至少两个任务组,任务组的具体数量由实际分组情况进行确定。
[0055]
步骤5:按照贪婪策略,为各快递员分配对应的任务组:
[0056]
本实施例中,依次为每个快递员计算处理各任务组所获取的收益,并将获取收益最大的任务组分配给该快递员。具体地:可以对所有的快递员制定一个先后顺序,按照先后顺序依次对每一个快递员进行分配操作,分配操作具体为:对于某一个快递员而言,为该快递员计算处理各任务组所获取的收益,找到其中最大的获取收益,将获取收益最大的任务组分配给该快递员,然后对下一个快递员进行分配操作,应当理解,该次分配出去的任务组不再参与后续的运算,为该快递员计算处理余下的各任务组所获取的收益,找到其中最大的获取收益,将获取收益最大的任务组分配给该快递员,然后再对下一个快递员进行分配操作,应当理解,该次分配出去的任务组不再参与后续的运算,为该快递员计算处理余下的各任务组所获取的收益,找到其中最大的获取收益,将获取收益最大的任务组分配给该快递员,以此类推,直至所有任务组被分配完毕或快递员都不能接受任务组,完成任务组和快递员之间的匹配。最后输出匹配结果,以供快递平台调度快递员。
[0057]
应当理解,在此滑动窗口未被分配的任务组可以分解成单个收件请求任务,进入下一滑动窗口中,继续执行上述步骤3

5的操作进行分配。
[0058]
本实施例中,步骤5之后,自适应物流调度方法还包括如下步骤:
[0059]
步骤6:对于已成功匹配成对的快递员和任务组,通知快递员去请求地点执行收件操作,同时通知发出收件请求任务的顾客被派遣的快递员:
[0060]
本实施例中,步骤6对应图6中的s103。对于已成功匹配成对的快递员和任务组,快递平台可以通知对应的快递员去请求地点执行收件操作,同时通知发出收件请求任务的顾客被派遣的快递员的相关信息,比如快递员姓名和电话等。
[0061]
本实施例中,步骤5之后,自适应物流调度方法还包括如下步骤:
[0062]
步骤7:对于未被成功匹配的快递员和任务组,将未被成功匹配的快递员和任务组回流到快递员流和任务流中,等待下次匹配。
[0063]
本实施例中,步骤7对应图6中的s104。对于未被成功匹配的快递员和任务组,将未被成功匹配的快递员和任务组回流到快递员流和任务流中,等待下次匹配。
[0064]
应当理解,步骤6和步骤7之间没有严格的先后顺序。
[0065]
本实施例还提供一种自适应物流调度系统,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的自适应物流调度方法的步骤。
[0066]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献