一种基于ConcurrentDecode强化学习的异构车队分批交付方法技术

技术编号:35108766 阅读:17 留言:0更新日期:2022-10-01 17:21
本发明专利技术提供了一种基于ConcurrentDecode强化学习的异构车队分批交付方法。该方法是一种具有表征HFVRPSD中不同信息的Encoder

【技术实现步骤摘要】
一种基于Concurrent Decode强化学习的异构车队分批交付方法


[0001]本专利技术专利涉及一种车辆路径规划方法,在物流运输领域具有重要的应用前景。

技术介绍

[0002]随着我国经济由高速发展向高质量发展的转变,相对高昂的物流成本已然成为了当前国内经济转型所需要攻克的关键掣肘之一。车辆路径问题(Vehicle Routing Problem,VRP)作为运筹学、计算机科学及图论等多个学科的主要研究方向,不仅是合理规划车辆运输线路的重要依据,更是我国物流业降本增效的重点问题。而从现实物流交付角度出发来看:一方面在一个交付车队中车辆核载量通常存在差异,不同的车队配置会衍生出不同的最优方案;另一方面,考虑到客户需求大于单个车辆交付能力等情况,客户和车辆之间的一对一配对关系与降低总运输成本的目标相悖。因此,提出了一种具有表征异构车队分批交付问题(Heterogeneous Fleet Vehicle Routing Problem with Split Delivery,HFVRPSD)中不同信息的并发解码深度强化学习(Concurrent Decode Deep Reinforcement Learning,CDDRL)方法,来增强传统DRL拟合不同场景的能力,最终学习到的策略不仅在求解时间方面领先于传统的启发式算法与串行方案,而且在求解质量上十分接近最优解,同时能很好地推广到不同的问题规模。
[0003]由于HFVRPSD的解空间过大,传统的方法在求解速度方面较为缓慢,现有深度强化学习的串行解码思路难以准确的表征异构车队的交付过程,并在训练时较为依赖车辆容量的前提设定,存在一定的泛化能力缺陷。本专利技术设计了一种基于Concurrent Decode的深度强化学习方法。首先我们设计了一种具有表征HFVRPSD中不同信息的Encoder

Decoder架构,来增强DRL拟合不同场景的能力,用以自动选择节点。在这种架构中,在解码过程中收纳了不同的额外信息,并且迭代更新用以补充不同状态对于Agent决策的影响。然后,提出了一种并发搜索策略,以车队整体角度并发地为每辆车求得最优回路,这种搜索策略能够更为精确的表征解码过程中图的状态,并且能够使得不同容量的车辆之间能够协同地处理客户节点的需求。最后,我们按照均匀分布对车辆的容量进行了采样,学习到的策略能够为异构车队分割配送问题找到更高质量的解决方案,并且不局限于小数量车型。实验结果表明,该方法的总体解决质量优于大多数传统的启发式算法,并且具有更短的计算时间。

技术实现思路

[0004]深度强化学习在研究路径问题方面虽然已经取得了一些成功,但大多数基于DRL的解决方案只能处理具有相同容量车辆在一个节点的分批配送的典型VRP问题,在处理HFVRPSD中的车

货间的配对和优先关系的能力方面依旧具有很大的提升空间。简而言之,现有DRL模型中的状态转移(掩码)方案可以被调整以表示HFVRPSD中的那些关系,递归地求出每辆车的配送路径,直到所有的节点需求被满足。然而,考虑到以下三个问题,这种解码方案存在不同程度的不足:(1)串行的解码思路仅能够按照固定的车辆顺序求解路径,当车
辆的载重量为异构的时候,这种方案会产生较大的方差,最终严重影响解的质量;(2)与经典的CVRP(带有容量限制的车辆路径问题,Capacitated VRP)不同,HFVRPSD中应该同时考虑各个车辆的位置、容量信息。它们之间的复杂关系可能不能由之前的神经网络所良好的表征,也使得选择下一个节点的决策更加困难;(3)传统DRL对于车辆容量过于敏感,学习到的策略不一定能够有效地泛化到不同的问题实例,进而可能需要重新训练。
[0005]为了解决上述问题,本专利技术设计了一种基于并发解码的深度强化学习方法。本专利技术主要包括六个部分:(1)对HFVRPSD的混合整数规划公式进行问题建模。(2)马尔可夫决策过程建模。(3)构建并发解码方法(4)构建Encoder

Decoder表征框架(5)构建基于策略梯度的强化学习训练框架(6)对模型的有效性进行实验验证。下面分别介绍以上六部分的内容:
[0006]1、对HFVRPSD的混合整数规划公式进行问题建模。根据问题实例进行问题定义,定义HFVRPSD的决策变量和目标函数。
[0007]2、马尔可夫决策过程建模。在HFVRPSD中每辆车服务过多个节点之后回到车场的过程上可以看作是一个决策序列,本专利技术中将这样的路线建设过程建模为马尔可夫决策过程。
[0008]3、构建并发解码方法。我们提出了一种新的深度强化学习方法,该方法的策略网络的使用Encoder

Decoder结构。Encoder预训练一个全局的节点

车辆关系,Decoder结合Encoder的输出和自适应上下文信息迭代的解码,为HFVRPSD构建解决方案。
[0009]4、构建Encoder

Decoder表征框架。首先将输入经过编码器转换成一个图嵌入向量和n个节点嵌入向量。然后通过并发解码器选择最优动作概率的车辆和节点。在解码时我们以当前各车辆位置和容量为基准,对其余节点和其剩余需求进行并发自注意力操作以迭代地解码。解码策略结合适用于HFVRPSD的掩码方案,保证解码的可行性。这种方案能够使策略网络能够更全局地感知和学习车辆与需求之间的配对和优先关系。
[0010]5、构建基于策略梯度的强化学习训练框架。本专利技术中采用自批评策略梯度框架,其中加入了Baseline网络来帮助训练。按照一定的分布规则对车辆的运载能力进行了扰动。采样不仅针对的是节点需求和坐标。在保证车辆容量合理的情况下,我们按照一定的分布规则对车辆的运载能力进行了扰动。学习到的启发式规则避免了对于个别车型的过拟合,一定程度上提高了DRL模型的泛化能力。
[0011]6、对模型的有效性进行实验验证。通过实验证明,本专利技术相对于现有的深度强化学习方法,在相似的计算时间下有着更高质量的解,相比于大多数传统的启发式方法,具有更高的求解质量和更短的计算时间。更重要的是,学到的策略可以很好地推广到具有不同分布和大小的问题。
[0012]本专利技术为实现上述目的所采取的详细实施步骤如下:
[0013]步骤1:对HFVRPSD的混合整数规划公式进行问题建模。我们假定,在一个HFVRPSD中,一组n个需求节点和一个交付中心被表示为一个图G。假设G=(P,K)为该交付任务,其中P={P0,P1,P2,......,P
n
,}表示顶点集,包括交付中心P0={x0,y0}和需求节点P
i
={P
ix
,P
iy

i
|i∈n},(P
ix
,P
iy
)和ρ
i
分别表示节点i的坐标与需求量;弧集A={(P
i
,P
j
)|P
i...

【技术保护点】

【技术特征摘要】
1.一种基于Concurrent Decode强化学习的异构车队分批交付方法,其特征在于包括下述步骤:定义:CDDRL全称为ConcurrentDecode Deep Reinforcement Learning,即并发解码深度强化学习,本发明设计了一种具有表征HFVRPSD中不同信息的Encoder

Decoder架构,来增强DRL拟合不同场景的能力,用以自动选择节点,在这种架构中,在解码过程中收纳了不同的额外信息,并且迭代更新用以补充不同状态对于Agent决策的影响,然后,提出了一种并发搜索策略,以车队整体角度并发地为每辆车求得最优回路,这种搜索策略能够更为精确的表征解码过程中图的状态,并且能够使得不同容量的车辆之间能够协同地处理客户节点的需求;步骤1:对HFVRPSD的混合整数规划公式进行问题建模;我们假定,在一个HFVRPSD中,一组n个需求节点和一个交付中心被表示为一个图G,假设G=(P,K)为该交付任务,其中P={P0,P1,P2,......,P
n
,}表示顶点集,包括交付中心P0={x0,y0}和需求节点P
i
={P
ix
,P
iy

i
|i∈n},(P
ix
,P
iy
)和ρ
i
分别表示节点i的坐标与需求量;弧集A={(P
i
,P
j
)|P
i
,P
j
∈P,i≠j,}为任意两点之间的弧,距离矩阵D=C(i,j)为弧(P
i
,P
j
)的长度,K={k
b
|b=1,2,...,K}表示交付中心配有K辆核载量为k
b
的车,车辆k在客户点i的交付量为w
ki
,定义决策变量如下:,定义决策变量如下:其中,是一个二元变量,表示车辆k的路径是否包含弧(P
i
,P
j
),y
ki
表示节点P
i
是否在车辆k的路径上,据此,HFVRPSD的目标函数可以表示为:步骤2:马尔可夫决策过程建模;在HFVRPSD中每辆车服务过多个节点之后回到车场的过程上可以看作是一个决策序列,因此,我们将这样的路线建设过程建模为马尔可夫决策过程(MarkovDecisionProcess,MDP),由四元组M={S,A,τ,R}表示,S表示状态,A为智能体,τ为状态转移规则,R为奖励函数,MDP的元素,即状态空间、动作空间、转换规则和奖励函数定义如下:步骤2.1:状态;状态S=(S
t
|t=1,2,...,T)表示状态集合,状态S
T
表示在所有节点需求都被满足且所有车辆全部回到交付中心时为最后一个状态,其中由车辆状态和节点状态O
t
组成,表示车辆状态,其中表示车辆k在解码步骤t时的剩余核载量和位置为节点状态,表示节点i在t时刻的剩余需求;步骤2.2:动作;动作A=π(G)={a
t
|t=1,2,...,T

1}表示由策略π在图G下产生的一系列动作集,表示车辆k在t时刻选择了节点i作为交付任务;
步骤2.3:状态转移规则;状态转移规则Γ根据执行的动作将前一状态S
t
转换为下一状态S
t+1
,则其中车辆状态的更新如下:的更新如下:上式表示如果在S
t
时执行了动作则车辆k在S
t+1
时刻的剩余核载量为状态S
t
时的核载量减去选择节点的需求量其他车辆保持不变;同理,式二表示如果在S
t
时执行了动作则车辆k在S
t+1
时刻的位置为节点P
i
,其他车辆位置不变;节点状态更新如下:上式代表如果在状态S
t
时执行了动作则节点i在S
t+1
时的剩余需求为状态S
t
时节点i的剩余需求量减去车辆z的剩余核载量其它节点S
t
时保持一致;此外,HFVRPSD的掩码规则计算如下:SD的掩码规则计算如下:上式表示车辆k在t时刻对于节点j的可访问性,意味着只要当前车辆k还有剩余核载量或者还有需求未被满足时为False,代表可以访问,其余为True;同理,式二表示车辆k在t时刻对于交付中心的可访问性,当且仅当车辆剩余核载量为零或者没有需求需要交付时为False,代表可以回到交付中心,反之亦然;最终掩码规则为:表示最终掩码规则由交付中心掩码与需求节点掩码组合而成;步骤2.4:奖励;奖励:出于强化学习最大化奖励的目标,目标函数的负值被计算为奖励,表示为:目标函数:为了最小化目标函数中的目标,可以将最终回报定义为:最终需要求得最优策略π
*
,即:
步骤3:构建并发解码方法;为了学习到HFVRPSD问题的最优策略,策略网络π
θ
集成了一种加入不同车辆信息的上下文表征框架,由一个全局信息Encoder和并发的解码过程构成,如图2所示;考虑到HFVRPSD的异构特性,策略网络π
θ
首先将问题实例信息输入到Encoder中以获取实例信息的高维线性表征,随后,将这种线性表征输入到Decoder上下文表征模块和节点表征模块,使得策略网络能够准确地表征各个车辆间的共同交付问题,其中上下文表征模块会计算所有车辆的当前状态(包括车辆位置,剩余核载量)表示车辆信息,区别于传统解码程序,每辆车都会计算不同的上下文向量,然后,利用注意力机制计算出每辆车和各个节点的匹配概率,以便从本质上捕获最优先的约束,最后,每次解码从所有车辆和节点之间的匹配概率中选取最合适的配对关系作为步骤t下的动作a
t
;步骤4:构建Encoder

Decoder表征框架;VRP的活动空间是离散的,并随着问题的扩大呈指数增长,其中通常采用由Actor网络和Critic网络组成的基于策略的强化方法来解决此类问题,在每个时间步骤,Actor网络表示策略网络,在给定当前状态的所有动作上生成概率向量,然后相应地选择一个动作,该动作被迭代地重复直到终止条件,Actor网络的奖励是通过对整个过程中每一步的累积奖励进行求和来计算的,Critic网络作为Actor网络的Baseline,计算Baseline报酬只依赖初始状态来减少方差,在收到Actor网络的奖励和Critic网络的Baseline奖励后,...

【专利技术属性】
技术研发人员:田冉冷吉锴高鑫马忠彧刘颜星杨馥宁杨赛赛卢梦康春明赵光路
申请(专利权)人:西北师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1