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

一种基于SCDDRL的异构车队车辆路径规划方法

2022-10-13 03:09:15 来源:中国专利 TAG:

一种基于scddrl的异构车队车辆路径规划方法
技术领域
1.本发明专利涉及一种车辆路径规划方法,在物流运输领域具有重要的应用前景。


背景技术:

2.近年来,我国的物流行业发展迅猛,但增长过快的物流费用会违背企业获得最大化利润的初衷。车辆路径问题(vehicle routing problem,vrp)是物流管理研究中的一项重要内容,如何有效地调度车辆,合理地安排行车路经,以最低成本将货物准时送达客户,实现物流配送系统高效低成本的运作,是多年来困扰学术界和产业界的难题。从现实物流交付角度出发来看:一方面在一个交付车队中车辆核载量通常存在差异,不同的车队配置会衍生出不同的最优方案;另一方面,考虑到客户需求大于单个车辆交付能力等情况,客户和车辆之间的一对一配对关系与降低总运输成本的目标相悖。因此,提出了一种具有表征异构车队车辆路径问题(heterogeneous fleet vehicle routing problem,hfvrp)中不同信息的族群并发解码深度强化学习(swarm concurrent decode deep reinforcement learning,scddrl)方法,来增强传统drl拟合不同场景的能力,最终学习到的策略不仅在不同hfvrp规模下取得优秀的求解时间和求解质量,同时实证证明了异构车队前提有益于车辆空载率及车队总运输距离的降低,而且能很好地推广到不同的问题规模。
3.由于hfvrp的解空间过大,传统的方法在求解速度方面较为缓慢,现有深度强化学习的串行解码思路难以准确的表征异构车队的交付过程,并在训练时较为依赖车辆容量的前提设定,存在一定的泛化能力缺陷。本发明设计了一种基于swarm concurrent decode的深度强化学习方法。首先我们设计了一种具有表征hfvrp中不同信息的encoder-decoder架构,来增强drl拟合不同场景的能力,用以自动选择节点。在这种架构中,在解码过程中收纳了不同的额外信息,并且迭代更新用以补充不同状态对于agent决策的影响。然后,提出了一种族群并发搜索策略来进一步学习启发式规则。scddrl在并发解码(concurrent decode,cd)和策略梯度的基础上,一方面解码过程通过融合适应问题设定的节点剩余需求量,进一步强化了策略网络的表征能力;另一方面,利用种群思想从环境中采样不同的解决方案以确保求解方案的多样性,并通过最大化个体间参数的kl散度来正则化训练过程。最后,我们按照均匀分布对车辆的容量进行了采样,学习到的策略能够为异构车队线路规划问题找到更高质量的解决方案。实验结果表明,所提出的scddrl表征-训练框架在不同问题规模的设定下得出了十分具有竞争力的解决方案,并且在方案示例中实证了增加异构车队条件相对于原始vrp能够进一步减小最大运输长度。


技术实现要素:

4.深度强化学习在研究路径问题方面虽然已经取得了一些成功,但大多数基于drl的解决方案只能处理具有相同容量车辆在一个节点的分批配送的典型vrp问题,在处理hfvrp中的车-货间的配对和优先关系的能力方面依旧具有很大的提升空间。简而言之,现有drl模型中的状态转移(掩码)方案可以被调整以表示hfvrp中的那些关系,递归地求出每
辆车的配送路径,直到所有的节点需求被满足。然而,考虑到以下三个问题,这种解码方案存在不同程度的不足:(1)串行的解码思路仅能够按照固定的车辆顺序求解路径,当车辆的载重量为异构的时候,这种方案会产生较大的方差,最终严重影响解的质量;(2)与经典的cvrp(带有容量限制的车辆路径问题,capacitatedvrp)不同,hfvrp中应该同时考虑各个车辆的位置、容量信息。它们之间的复杂关系可能不能由之前的神经网络所良好的表征,也使得选择下一个节点的决策更加困难;(3)传统drl对于车辆容量过于敏感,学习到的策略不一定能够有效地泛化到不同的问题实例,进而可能需要重新训练。
5.为了解决上述问题,本发明设计了一种基于族群并发解码的深度强化学习方法。本发明主要包括六个部分:(1)对hfvrp的混合整数规划公式进行问题建模。(2)马尔可夫决策过程建模。(3)构建并发解码方法(4)构建encoder-decoder表征框架(5)构建基于种群策略梯度的强化学习训练框架(6)对模型的有效性进行实验验证。下面分别介绍以上六部分的内容:
6.1、对hfvrp的混合整数规划公式进行问题建模。根据问题实例进行问题定义,定义hfvrp的决策变量和目标函数。
7.2、马尔可夫决策过程建模。在hfvrp中每辆车服务过多个节点之后回到车场的过程上可以看作是一个决策序列,本发明中将这样的路线建设过程建模为马尔可夫决策过程。
8.3、构建并发解码方法。本发明中该方法的策略网络使用encoder-decoder结构,encoder预训练一个全局的节点-车辆关系,decoder结合encoder的输出和自适应上下文信息迭代的解码,为hfvrp构建解决方案。
9.4、构建encoder-decoder表征框架。首先将输入经过编码器转换成一个图嵌入向量和n个节点嵌入向量。然后通过并发解码器选择最优动作概率的车辆和节点。在解码时我们以当前各车辆位置和容量为基准,对其余节点和其剩余需求进行并发自注意力操作以迭代地解码。解码策略结合适用于hfvrp的掩码方案,保证解码的可行性。这种方案能够使策略网络能够更全局地感知和学习车辆与需求之间的配对和优先关系。
10.5、构建基于种群策略梯度的强化学习训练框架。为应对hfvrp中解空间所增加的一个线性维度(即每辆车对于其路径中的某个节点的交付量),本发明设计了一种基于种群的解决方案,相对于并发解码深度强化学习(concurrent decode deep reinforcement learning,cddrl),其中添加了自适应节点嵌入和种群策略梯度训练方法,同时,有多个策略网络共同针对实例进行学习,并使用最大化kl散度的方法保持种群的活跃性,避免陷入局部最优。
11.6、对模型的有效性进行实验验证。通过实验证明,本发明相对于现有的深度强化学习方法,所提出的scddrl表征-训练框架在不同规模条件下得出了十分具有竞争力的解决方案,并且在方案示例中实证了增加异构车队条件相对于原始vrp能够进一步减小最大运输长度,进而减少车辆空载率。更重要的是,学到的策略可以很好地推广到具有不同分布和大小的问题。
12.本发明为实现上述目的所采取的详细实施步骤如下:
13.步骤1:对hfvrp的混合整数规划公式进行问题建模。我们假定,在一个hfvrp中,一组n个需求节点和一个交付中心被表示为一个图g。假设g=(p,k)为该交付任务,其中p=
{p0,p1,p2,......,pn,}表示顶点集,包括交付中心p0={x0,y0}和需求节点pi={p
ix
,p
iy
,ρi|i∈n},(p
ix
,p
iy
)和ρi分别表示节点i的坐标与需求量;弧集a={(pi,pj)|pi,pj∈p,i≠j,}为任意两点之间的弧。距离矩阵d=c(i,j)为弧(pi,pj)的长度。k={kb|b=1,2,...,k}表示交付中心配有k辆核载量为kb的车。车辆k在客户点i的交付量为w
ki
。定义决策变量如下:
[0014][0015][0016]
其中,是一个二元变量,表示车辆k的路径是否包含弧(pi,pj),y
ki
表示节点pi是否在车辆k的路径上。据此,hfvrp的目标函数可以表示为:
[0017][0018]
步骤2:马尔可夫决策过程建模。在hfvrp中每辆车服务过多个节点之后回到车场的过程上可以看作是一个决策序列,因此,我们将这样的路线建设过程建模为马尔可夫决策过程(markov decision process,mdp),由四元组m={s,a,τ,r}表示,s表示状态,a为智能体,τ为状态转移规则,r为奖励函数。mdp的元素,即状态空间、动作空间、转换规则和奖励函数定义如下:
[0019]
步骤2.1:构建状态空间集。状态s=(s
t
|t=1,2,...,t)表示状态集合,状态s
t
表示在所有节点需求都被满足且所有车辆全部回到交付中心时为最后一个状态。其中由车辆状态和节点状态o
t
组成,表示车辆状态,其中表示车辆k在解码步骤t时的剩余核载量和位置和位置为节点状态,表示节点i在t时刻的剩余需求。
[0020]
步骤2.2:构建动作空间集。动作a=π(g)={a
t
|t=1,2,...,t-1}表示由策略π在图g下产生的一系列动作集,表示车辆k在t时刻选择了节点i作为交付任务。
[0021]
步骤2.3:构建状态转移规则。状态转移规则γ根据执行的动作将前一状态s
t
转换为下一状态s
t 1
,则其中车辆状态的更新如下:
[0022][0023][0024]
式(4)表示如果在s
t
时执行了动作则车辆k在s
t 1
时刻的剩余核载量为状态s
t
时的核载量减去选择节点的需求量其他车辆保持不变。同理,式(5)表示如果在s
t
时执行了动作则车辆k在s
t 1
时刻的位置为节点pi,其他车辆位置不变。
[0025]
节点状态更新如下:
[0026][0027]
式(6)代表如果在状态s
t
时执行了动作则节点i在s
t 1
时的剩余需求为状态s
t
时节点i的剩余需求量减去车辆z的剩余核载量其它节点s
t
时保持一致。
[0028]
此外,hfvrp的掩码规则计算如下:
[0029][0030][0031]
式(7)表示车辆k在t时刻对于节点j的可访问性,意味着只要当前车辆k还有剩余核载量或者还有需求未被满足时为false,代表可以访问,其余为true。同理,式(8)表示车辆k在t时刻对于交付中心的可访问性,当且仅当车辆剩余核载量为零或者没有需求需要交付时为false,代表可以回到交付中心,反之亦然。
[0032]
最终掩码规则为:
[0033][0034]
表示最终掩码规则由交付中心掩码与需求节点掩码组合而成。
[0035]
步骤2.4:构建奖励函数。
[0036]
奖励:出于强化学习最大化奖励的目标,目标函数的负值被计算为奖励,表示为:
[0037][0038]
目标函数:为了最小化目标函数中的目标,可以将最终回报定义为:
[0039][0040]
最终需要求得最优策略π
*
,即:
[0041][0042]
步骤3:构建并发解码方法。为了学习到hfvrp问题的最优策略,策略网络π
θ
集成了一种加入不同车辆信息的上下文表征框架,由一个全局信息encoder和并发的解码过程构成,如图2所示。
[0043]
考虑到hfvrp的异构特性,策略网络π
θ
首先将问题实例信息输入到encoder中以获取实例信息的高维线性表征,随后,将这种线性表征输入到decoder上下文表征模块和节点表征模块,使得策略网络能够准确地表征各个车辆间的共同交付问题。其中上下文表征模块会计算所有车辆的当前状态(包括车辆位置,剩余核载量)表示车辆信息,区别于传统解码程序,每辆车都会计算不同的上下文向量。然后,利用注意力机制计算出每辆车和各个节点的匹配概率,以便从本质上捕获最优先的约束。最后,每次解码从所有车辆和节点之间的匹配概率中选取最合适的配对关系作为步骤t下的动作a
t

[0044]
步骤4:构建encoder-decoder表征框架。vrp的活动空间是离散的,并随着问题的扩大呈指数增长,其中通常采用由actor网络和critic网络组成的基于策略的强化方法来解决此类问题。在每个时间步骤,actor网络表示策略网络,在给定当前状态的所有动作上生成概率向量,然后相应地选择一个动作,该动作被迭代地重复直到终止条件。actor网络的奖励是通过对整个过程中每一步的累积奖励进行求和来计算的。critic网络作为actor网络的baseline,计算baseline报酬只依赖初始状态来减少方差。在收到actor网络的奖励和critic网络的baseline奖励后,采用策略梯度方法相应地更新两个网络的参数,其中actor网络被训练为寻找更高质量的解。
[0045]
为了学习策略p
θ
,设计了一个策略网络,它集成了一种新的上下文表征方法和节点状态表征方法。如图3所示,考虑到hfvrp的特性,这种上下文表征方法并发地链接了所有车辆的当前状态(包括车辆位置,剩余容量),节点状态表征将节点中车辆的数量和节点剩余容量作为输入信息映射到了一个n维欧式空间中,使得网络能够准确地表征各个车辆间地协同配送问题。
[0046]
为了寻找hfvrp的最优策略π
*
,scddrl使用多个策略网络来共同搜索最优解空间:
[0047][0048]
在式(13)中,λ
θ
表示策略网络集合,表示第λ个策略网络,单个策略网络代表一个单独编解码框架。策略网络间使用相同的编解码框架,如图4所示,单个策略网络编解码框架基本和并发解码框架相同,主要区别在于节点嵌入。
[0049]
步骤4.1:将输入经过编码器转换成图嵌入向量和节点嵌入向量。对于一个hfvrp问题实例输入,策略网络首先将交付中心和需求节点的坐标(p
ix
,p
iy
|i∈n)、需求节点的需求量ρi,(i∈n)以及车辆最大核载量kj(j∈k)分别嵌入为128维的向量,表示如下:
[0050]
hc
(λ)i
=w
(λ)co
concat(p
ix
,p
iy
),hd
(λ)i
=w
(λ)ρ
ρi,hv
(λ)j
=w
(λ)ve
kjꢀꢀꢀ
(14)
[0051]
其中hc
(λ)i
,hd
(λ)i
,hv
(λ)j
分别表示节点i坐标和需求ρi以及车辆j的第λ个策略网络原始特征高维映射。w
(λ)co
,w
(λ)ρ
,w
(λ)ve
为可训练的参数,则:
[0052][0053]
在式(15)中,表示第λ个网络的i节点的初始特征嵌入为该节点的坐标、需求和车辆总核载量的高维映射拼接,同时,当i=0时,表示交付中心,没有交付需求,因此分别计算。随后,增强后的节点嵌入进入编码器,经过3个自注意力层,每个自注意力层包含一个注意力模块和一个前馈传播模块,由此可以得到注意力模块和前馈传播模块的计算方法分别为:
[0054][0055][0056]
其中,h
(λ)

在第一次输入的时候为其余均为上一个编码器子层ff模块的输出bn表示批量归一化,并且使用了跳跃连接,表示前一个子层的输出。注意力
模块mha的输出由m(m=8,dk=16)个头分别计算自注意力并最终拼接在一起计算得出,w
(λ)q
、w
(λ)k
和w
(λ)v
是可训练的参数并独立于不同编码器子层的mha之间。计算方法如下:
[0057][0058][0059]
在线性前馈传播层,有一个隐藏的子层,维度为512,并且使用relu激活函数,表示方法如下:
[0060][0061]
其中,层索引η表示各编码器子层之间不共享参数,w
(λ)f1
,w
(λ)f2
,b
(λ)f1
,b
(λ)f2
表示可训练的参数。
[0062]
编码器经过三个自注意力子层后,最终输出一个图嵌入向量和n个节点嵌入向量其中图嵌入向量为所有节点嵌入的均值,表示全局信息特征,计算方法如下:
[0063][0064]
步骤4.2:通过并发解码器选择最优动作概率的车辆和节点。解码按顺序进行,在解码时间步t时,解码器根据编码器的嵌入结果输出动作π
t
。在解码过程中,使用本发明设计的特殊的上下文机制来表示解码上下文,并且在并发解码的基础上,增加了动态信息的节点嵌入,以计算动态的key向量和value向量。同时,query向量则来自于车辆状态,如下式所示:
[0065][0066]
其中w
(λ)qd
,w
(λ)kd
,w
(λ)vd
为可训练的参数,为策略网络节点i的节点嵌入,同时表示其在时间步骤t时车辆k的上下文表征,计算方法如下:
[0067][0068]
在式(23)中,和分别表示车辆k在步骤t最后访问的一个节点的节点嵌入和当前车辆核载量,表示全局信息图嵌入,为可训练的参数。需要注意的是当解码步骤t=0时,各车辆的位置编码均使用交付中心节点嵌入表示。不同于并发解码,scddrl算法中解码节点嵌入增加了额外的信息,即:
[0069][0070]
其中和为可训练的参数,上式表示,在策略网络中,解码节点嵌入表示由全局信息该节点的节点嵌入以及解码步骤t时刻节点i的剩余核载量各自经过一个线性层最后拼接计算得出。
[0071]
在此基础上,如图5所示,解码器λ首先计算一个注意力子层以得到中并发增强后的车辆i在解码步骤t状态的向量化表征即:
[0072][0073]
随后,在策略网络中车辆i在解码步骤t下选择节点j的概率为:
[0074][0075]
则策略网络的解码器中车辆i和节点j的相容度概率可以表示为:
[0076][0077]
其中表示车辆k在状态t下与节点j的相容度,即:
[0078][0079]
如上式(28)所示,如果节点j符合掩码规则,使用双曲正切函数将单头注意力层输出的值修正到κ([-κ,κ],κ=10)范围中,如果不符合则为负无穷。
[0080]
每个策略网络针对相同的实例重复进行这个解码过程,并在最后分别出计算其各自的策略π
λ
(g)和回报r(π
λ
|g)。
[0081]
步骤5:构建基于种群策略梯度的强化学习训练框架。cddrl的训练采用自批评策略梯度框架,其中加入了baseline网络来帮助训练。在自批评策略梯度中,策略网络的策略π由参数θ确定的概率分布p(θ|g)采样得到,baseline网络使用由参数确定的概率分布以贪婪形式得到策略π
bl
。如下所示:
[0082]
π=sample(p(θ|g))
ꢀꢀꢀꢀꢀꢀ
(29)
[0083][0084]
在上式中,θ和分别表示策略网络和baseline网络的参数。策略网络π
θ
通过生成节点选择动作的概率向量,并根据概率进行解码,从而更好地探索动作空间。baseline网络通过greedy解码方法选择概率最大的节点来计算给定初始状态的奖励以消除方差。
[0085]
在cddrl的策略梯度框架基础上,scddrl扩大了其中策略网络的采样规模,以应对hfvrp中增加的线性维度。如图6所示,在种群策略网络中,每个策略最终会求得一个解序列π(t)与似然概率策略损失由似然概率和解码序列得到的奖励共同计算,最终全局损失由各策略网络似然概率之间kl散度与策略损失共同计算,则定义:
[0086][0087]
在式(31)中,表示未集散损失,r(π
λ
|g)表示第λ个策略网络输出的路径长
度,r(π
bl
|g)表示baseline网络输出的路径长度。不同于cddrl的是,scddrl在训练的每个回合使用表现最好的策略网络来更新策略网络的参数,即:
[0088][0089]
则全局损失表示为:
[0090][0091]
式(33)表示全局损失由未集散全局损失减去每个策略网络之间的kl散度之和(即dkl)表示,γm,γ∈[0,1]是折扣因子,表示kl散度随回合数m逐渐减小,dkl表示了各个策略网络所得出的似然概率值之间的差异,dkl越大证明差异性越大,损失值越小,目标函数值越大。折扣因子γm确保了种群策略网络集在保证种群多样化的前提下可以使得种群总是朝着最优的策略去迭代。dkl的计算方法如下:
[0092][0093]
则目标函数可以定义为:
[0094][0095]
式(35)表示最终scddrl的目标为最小化整个策略网络种群的损失函数。最终,最优策略网络为训练完成后种群中适应度最高的参数网络,即:
[0096][0097]
本发明设计的scddrl训练算法,其baseline网络在每回合结束时使用最优适应度策略网络赋值,个体网络使用解码器得出的似然概率采样求得最终路径,baseline网络利用最大似然估计greedy求取最终路径。获得所有策略网络的回报r(π)和baseline网络的奖励r(π
bs
)后,计算出集散全局损失与种群策略网络kl散度的累加和dkl以更新种群网络参数。最后,以强化学习回合数不断地重复这个过程最终取得最优策略网络。
[0098]
本发明提出了一种基于scddrl的异构车队车辆路径规划方法,该方法使用深度强化学习技术,利用种群学习的概念来解决hfvrp解空间中衍生的一个线性维度,种群中包含多个策略网络,通过最大化个体间kl散度的累加和来保证种群多样性和表征的充分性。同时,节点嵌入信息中增加了节点车辆和节点剩余需求,以精确的刻画需求节点的动态信息,进一步增强了策略网络对于异构车队的敏感性。最后,我们按照均匀分布对车辆的容量进行了采样,学习到的策略能够为异构车队线路规划问题找到更高质量的解决方案。实验结果表明,训练后的网络不仅在不同hfvrp规模下取得优秀的求解时间和求解质量,同时实证证明了异构车队前提有益于车辆空载率及车队总运输距离的降低。同时,能很好地推广到不同的问题规模。
附图说明
[0099]
图1是本发明中异构车队车辆路径问题示意图
[0100]
图2是本发明中并发解码框架示意图
[0101]
图3是本发明中策略网络结构示意图
[0102]
图4是本发明中单步解码示意图
[0103]
图5是本发明中包含节点嵌入的并发注意力示意图
[0104]
图6是本发明中种群策略梯度训练过程示意图
[0105]
图7是本发明中3辆车20节点的训练拟合曲线图
[0106]
图8是本发明中3辆车50节点的训练拟合曲线图
具体实施方式
[0107]
下面结合附图和实施例对本发明进一步说明。
[0108]
本发明针对异构车队车辆路径规划问题建立了具有马尔可夫的深度强化学习仿真环境,设计了一种族群并发自适应神经网络结构,该方法集成了深度强化学习和attention机制来学习路径构建最优策略。
[0109]
步骤1:设在一个hfvrp中,我们选用的问题规模有50个需求节点和1个交付中心,并且交付中心配有5辆车。选取样例的5辆车的核载量分别为1.75、0.89、1.30、1.08、1.75,50个需求节点的需求量为0.17、0.17、0.10、0.20、0.13、0.08、0.05、0.03、0.13、0.17、0.23、0.05、0.20、0.08、0.08、0.08、0.23、0.20、0.15、0.08、0.03、0.03、0.03、0.05、0.23、0.15、0.05、0.08、0.15、0.03、0.08、0.13、0.13、0.10、0.15、0.20、0.17、0.23、0.08、0.17、0.03、0.20、0.23、0.20、0.08、0.20、0.20、0.03、0.15、0.10。本发明中定义的决策变量如下:
[0110][0111][0112]
据此,在满足约束的条件下,hfvrp的目标函数为:
[0113][0114]
步骤2:在本发明中我们将hfvrp中的路线建设过程建模为马尔可夫决策过程(mdp),由四元组m={s,a,τ,r}表示,s表示状态,a为智能体,τ为状态转移规则,r为奖励函数。
[0115]
(1)设此时选择解码的车辆为第1个车的第3个节点,那么下一时刻的车辆剩余核载量为此时车辆的剩余核载量减去此时第3个节点的需求,其他车辆的剩余核载量保持不变。同理,如果此时选择了第1辆车的第3个节点,那么下一时刻这辆车的位置为当前节点3,其他车辆的位置保持不变。车辆状态的更新为:
[0116][0117][0118]
(2)如果此时选择了第3个节点,那么节点3在下一时刻的剩余需求为此时节点3的剩余需求量减去第1个车辆的剩余核载量,其他节点的剩余需求保持一致。节点状态更新
为:
[0119][0120]
(3)如果此时解码的第1辆车还有剩余核载量或者还有需求节点未被满足时,代表可以继续访问其他节点,为false,反之为true。同理,此时当且仅当第1辆车的剩余核载量为0或者没有需求需要交付时,代表车辆1可以回到交付中心,为false,反之为true。hfvrp的掩码规则计算为:
[0121][0122][0123]
(4)最终掩码规则为交付中心的掩码和需求节点的掩码组合,公式如下:
[0124][0125]
步骤3:为了学习到hfvrp问题的最优策略,策略网络π
θ
集成了一种加入不同车辆信息的上下文表征框架,由一个全局信息encoder和并发的解码过程构成,如图2所示。一个问题实例输入进encoder中,经过多层encoding得到一个其实例中元素的高维映射,我们将这部分称为静态信息st。每解一步码,实例中的需求、车辆位置都会发生改变,根据这部分改变后的信息生成的高维映射,我们称为动态信息dt。decoder每次得出一个动作,直到所有节点的需求都被满足。
[0126]
步骤4:本发明中设计了一个族群策略网络,来学习策略p
θ
。它集成了一种新的上下文表征方法和节点状态表征方法。根据掩码规则求每辆车与节点的概率,如果掩码值为负无穷,代表不可访问,为true,如果不掩码则值在(-10,10)之间,代表可访问,为false。如图3所示,decoder将每辆车的剩余容量、位置和图嵌入作为上下文向量合并进query向量,并将节点的剩余需求、车辆情况和图嵌入作为节点嵌入并经过一次线性变换成为key向量和value向量,依次来选择当前状态下车辆-节点(货物)间的配送概率。
[0127]
本发明中的单步编解码过程如图4所示,编解码框架encoder最终会输出一个图嵌入(graph embedding)向量和n个节点嵌入(node embedding)。其中图嵌入为所有节点嵌入的均值。假设我们有3个节点2辆车,在给定当前状态的情况下,通过encoder处理节点和车辆的特征,计算节点嵌入和图形嵌入。在decoder中,首先对每辆车的当前位置和剩余容量做特征提取、增维后作为context,然后对于各个节点进行特征提取。通过一个多头注意力层和一个单头注意力层后,再经过一个masked softmax层抽取车辆和节点间的最优动作概率(例如),在本例中选择了最大的概率车辆2和节点2,并将更新的状态传递到s
t 1
。并发解码器重复进行,直到所有的节点需求均被满足且车辆回到车场时结束。
[0128]
步骤5:本发明中scddrl模型的训练采用自批评策略梯度框架,其中加入了baseline网络来帮助训练。在生成步骤1的实例后,首先策略网络求一次,然后baseline网络再求一次。在策略网络中,第1辆车的路径为0、39、36、22、38、47、17、43、40、0,第2辆车
的路径为0、1、28、21、26、42、9、0,第3辆车的路径为0、11、45、30、48、32、33、10、50、5、20、24、41、29、0,第4辆车的路径为0、19、2、8、37、27、34、49、35、0,第5辆车的路径为0、46、16、12、31、7、44、3、14、15、6、13、23、18、25、0。最优路径长度为9.71。在baseline网络中,第1辆车的路径为0、24、25、18、13、23、6、15、14、44、7、3、31、12、36、22、0,第2辆车的路径为0、43、29、4、0,第3辆车的路径为0、49、27、37、2、19、16、46、38、0,第4辆车的路径为0、9、35、34、39、47、17、40、0,第5辆车的路径为0、28、1、42、21、26、41、11、45、30、48、32、33、10、50、5、20、8、0最优路径长度为9.46。由此可见,baseline网络的最优路径长度要优于策略网络的长度。
[0129]
在scddrl仿真实验中,种群大小z=3,设车场和客户节点的位置坐标是随机生成的,实验运行了20个回合,在每个回合中处理2500批次,每个批次有512个实例,评估批处理大小为1000,使用adam优化器以恒定学习率(0.0001)训练网络。同时,路径最大解码长度t随实例规模变化(例如有三辆车需要交付二十个节点的需求,则t==3
×
20=60),显著性指标α=0.05,为适配不同的规模,在车队配置分别为3辆和5辆车的基础上,训练了20、50、100个节点的hfvrp问题。在训练中,所有的实例都是随机生成的,生成的实例均按照均匀分布随机采样,其中客户节点坐和交付中心坐标在单位面积[0,1]
×
[0,1]中采样。
[0130]
在验证中,以gurobi、ga、sa以及ac算法为求解基准,分别验证了scddrl模型在不同规模实例上的表现,选取了四个基准方案中各方面表现最好的ac算法和greedy策略的验证样例及分析,通过消融实验验证了所提出方法的有效性。最终结果表明scddrl模型在不同规模条件下得出了十分具有竞争力的解决方案,并且在方案示例中实证了增加异构车队条件相对于原始vrp能够进一步减小最大运输长度,进而减少车辆空载率。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献