基于数据驱动的群体智能计算的城市车辆路径优化方法与流程

文档序号:23728528发布日期:2021-01-26 18:35阅读:158来源:国知局
基于数据驱动的群体智能计算的城市车辆路径优化方法与流程

[0001]
本发明属于车辆路径优化技术,具体为基于数据驱动的群体智能计算的城市车辆路径优化方法。


背景技术:

[0002]
车辆路径问题(vehicle routing problem,vrp)是一类非常重要的组合优化问题:给定一组车队和一定数量的客户,每个客户有不同数量的货物需求,配送中心向客户提供货物,如何在满足给定约束条件下来组织送货车队的行驶路线使得给定的目标(例如路程、耗时等)最优。vrp问题及其复杂变种在城市中普遍存在,例如邮政投递、外卖服务、设备调度、智能出行等都可以抽象为vrp问题。在现实环境中,客户点往往有特定的服务时间窗,因此带有时间窗约束的vrp问题更符合实际需求。对于城市vrp问题,城市各利益相关方具有不同的利益诉求,形成了各自不同的优化目标,这些目标由于不同的利益考虑,难免相互冲突,形成多目标优化和决策的问题。因此多目标时间窗车辆路径优化问题(multi-objective vehicle routing problem with time window,mo-vrptw)可以很好的建模现实中城市车辆路径优化的情景。多目标优化问题可以形式化描述如下:
[0003]
多目标优化问题可以形式化描述如下:
[0004]
min f(x)=(f1(x),f2(x),

,f
m
(x))
t
[0005]
s.t.x∈x
[0006]
其中,上标t表示对矩阵或向量的转置操作,下文皆同;min表示取最小值;f(x)表示函数映射包括m个单目标函数f1(x),f2(x),

,f
m
(x);s.t.表示subject to的意思;x是满足容量和时间窗约束的解空间。因为m个目标往往相互冲突,对于多目标优化问题,并不存在单一的最优解,寻求一组在多个目标中权衡的解集更有意义。记是两个目标值向量。当且仅当并且称a支配b,记为b<a。对于解x
*
,若则称x
*
为pareto最优解。包含所有pareto最优解的集合称为pareto解集。pareto解集在目标空间中的映射称为pareto前沿。
[0007]
对于mo-vrptw,前人提出了很多基于迭代的智能优化算法。大致分为两类:第一类是多目标演化算法,如nsga-ii,moea/d;第二类是多目标邻域搜索算法,如mogls。多目标演化算法通过同时演化一组解来搜索pareto解集,而多目标邻域搜索算法则通过邻域搜索算子迭代提升解。这些基于迭代的方法具有强大的搜索能力,但存在三个缺点:第一,在求解过程中需要大量的迭代计算,算法时间复杂度高;第二,当求解的问题仅发生数值上的微小改变或遇到相似的新问题时,整个迭代求解过程需要重新演算;第三,算法中的启发式规则往往依赖专家知识进行设计。
[0008]
对于mo-vrptw,还有一类解决方法是基于深度强化学习的优化算法。不同于基于迭代的智能优化算法,基于深度强化学习的优化算法用神经网络模型来提取问题的特征并从数据中自动学习启发式策略,再根据提取到的特征和学到的启发式策略来构造解。li等
人提出基于权重分解的多目标深度强化学习框架,并使用指针网络来提取特征。wu等人则在多目标深度强化学习框架中引入能够更有效提取问题特征的图注意力网络并取得更好的效果。但li与wu等人的方法存在两个问题:第一,神经网络模型在进行构造解的过程中,仅使用当前构造路径的部分信息进行决策。这种不全面的环境信息会使得模型在复杂约束条件下做出次优的决定;第二,使用权重分解的深度强化学习方法获得的解集的多样性不足。


技术实现要素:

[0009]
本发明的目的在于克服现有技术的缺点与不足,提供一种基于数据驱动的群体智能计算的城市车辆路径优化方法,对于mo-vrptw,本发明求得的解集能够更好地收敛到pareto前沿上(即具有良好的收敛性),并且更好地在pareto前沿上分布均匀(即具有良好的多样性)。
[0010]
本发明的基于数据驱动的群体智能计算的城市车辆路径优化方法,包括以下步骤:
[0011]
s1、将城市多目标车辆路径优化问题建模成一个无向图,仓库和客户为图中的结点,结点的属性包括坐标、需求量和服务时间窗;任意两个结点之间通过边相连接,边的属性包括旅行距离、旅行时间;并建立多目标函数,设定两个优化目标:所有车辆的旅行距离总和、最大的单个车辆旅行距离;
[0012]
s2、设定m个均匀分布在[0,1]间的权重向量,使用权重和的方式将多目标优化问题的向量目标分解为m个单目标子问题;
[0013]
s3、针对每个单目标子问题,使用强化学习方法训练一个带有全面环境信息的图注意力模型,直至模型收敛,得到m个神经网络模型;
[0014]
s4、将训练得到的m个神经网络模型作为初始种群,对初始种群进一步训练得到最终的m个模型;
[0015]
s5、用训练好的m个模型对多目标车辆路径优化问题进行求解,获得一组在两个优化目标间权衡的解集;
[0016]
s6、计算解集中每个解对应的车辆旅行距离总和以及最大的单个车辆旅行距离。
[0017]
由以上技术方案可知,本发明使用带有全面环境信息的图注意力网络作为模型提取问题特征,并使用基于权重分解的多目标强化学习算法,针对不同的单目标子问题分别训练一个图注意力网络;然后将强化学习训练得到的模型作为演化学习阶段的初始种群,使用演化学习对模型种群进一步训练;最终通过训练好的模型求得城市多目标车辆路径优化问题的解集,所得到的解集能够在收敛性和多样性上取得更好的效果。与现有技术相比,本发明技术方案的有益效果是:
[0018]
1、本发明使用神经网络模型来提取问题的特征并从数据中自动学习启发式规则。相对于以往基于迭代的智能优化方法,神经网络模型能够做到一次(离线)训练多次(在线)求解;求解过程相对于迭代方法也更为快速高效。
[0019]
2、本发明在图注意力网络中引入关于mo-vrptw的更为全面的环境信息,所得到的图注意力网络模型在构造解的过程中能够基于全面的环境信息做出更合理的决策,得到更优的解。
[0020]
3、本发明引入演化学习,通过对强化学习训练得到的模型进行演化训练,训练好的模型求得的解集有更好的多样性和收敛性。
附图说明
[0021]
图1为本发明的算法流程图;
[0022]
图2为提供给用户决策选择的解集示意图。
具体实施方式
[0023]
下面结合附图和实施例对本发明的技术方案做进一步的详细说明,但本发明的实施方式不限于此。
[0024]
实施例
[0025]
本发明基于数据驱动的群体智能计算的城市车辆路径优化方法的流程如图1所示,在实施的过程中,首先将多目标带时间窗车辆路径优化问题(即mo-vrptw问题)定义成一个无向图g={v,e}。结点集v由n+1个结点组成,包括1个仓库结点和n个客户结点。每个结点v
i
∈v包含三种属性:坐标c
i
、需求量d
i
和服务时间窗t
i
。任意两个结点之间通过边相连接,边的属性包括旅行距离、旅行时间。服务时间窗t
i
由一个二元组[a
i
,b
i
]构成,a
i
和b
i
分别表示最早和最晚车辆到达时间。对每个客户结点进行服务需要消耗服务时间w。对于仓库结点,需求量d
depot
=0,服务时间窗t
depot
=[a0,b0],a0与b0分别表示车辆最早从仓库出发和最晚回到仓库的时间。边集e={e
ij
|i,j∈v},e
ij
定义了两点之间的空间和时间距离。一个包含k辆车的车队对n个客户结点进行服务,每辆车有相同的容量q。车辆从仓库出发,在满足容量和时间窗约束的情况下对客户结点进行服务,最终回到仓库。车辆k服务的客户结点与仓库结点构成一条路径r
k
。mo-vrptw的一个解s由k个路径构成,即解s={r1,r2,

,r
k
}。解s需要满足以下约束:(1)所有结点都被服务且仅服务一次,即u
r∈s
=v并且(2)所有的路径都满足容量约束,即(3)所有的客户结点都在各自的服务时间窗内被服务。
[0026]
优化的目标包括两个,第一个是车辆的旅行距离总和,第二个是最大的单个车辆旅行距离,mo-vrptw问题可以形式化描述如下:
[0027]
min f(s)=(f1(s),(f2(s))
t
[0028][0029]
f2(s)=max(c1,c2,

,c
k
)
[0030]
s.t.s∈s
[0031]
其中,s表示一个解,min表示取最小值,f(s)表示函数映射f1(s)、f2(s)分别表示车辆的旅行距离总和与最大的单个车辆旅行距离的计算函数,s.t.表示subject to的意思,c
k
表示在解s中第k个车辆的旅行距离,s是满足容量和时间窗约束的解空间。
[0032]
可见,需要优化的两个目标是相互冲突的,无法在两个目标上同时取得最优值。因此对于多目标优化问题不存在像单目标问题中的单一最优解。本发明希望找到一组解集,解集中各个解依照不同的偏好权重在两个目标上权衡取舍,最终将解集提供给用户决策选
择,如图2所示。对于图2中的算例可以得到解集s={s1,s2},其中s1={{0,2,1}},s2={{0,1,0},{0,2,0}}。s1对应的目标值为f(s1)=(12,12),s2对应的目标值为f(s2)=(14,8)。可以看到,s1更加侧重于优化车辆旅行距离总和,s2更加侧重于优化最大的单个车辆旅行距离。
[0033]
本发明的城市车辆路径优化方法是一种深度强化学习方法,对于车辆旅行距离总和与最大的单个车辆旅行距离两个目标,首先使用权重和的方式将多目标问题转化为m个单目标子问题,然后针对每个子问题采用强化学习方法训练一个图注意力模型,再对强化学习训练得到的模型使用演化学习进一步训练,最终使用训练得到的模型对多目标问题进行求解。具体包括如下步骤,其中步骤s1-s4构成本发明优化方法的训练部分,步骤s5、s6构成本发明优化方法的应用部分:
[0034]
s1、将城市多目标车辆路径优化问题建模成一个图,仓库和客户为图中的结点,结点的属性包括坐标、需求量和服务时间窗;任意两个结点之间通过边相连接,边的属性包括旅行距离、旅行时间;并建立多目标函数f(s)=(f1(s),f2(s))
t
;设定优化的目标包括两个,第一个是所有车辆的旅行距离总和,第二个是最大的单个车辆旅行距离。
[0035]
s2、对于多目标函数f(s)=(f1(s),f2(s))
t
,设定m个均匀分布在[0,1]间的权重向量λ={λ1,λ2,


m
},使用权重和的方式将多目标优化问题的向量目标分解为m个单目标子问题。
[0036]
步骤s2的具体过程是:将集合{λ1,λ2,


m
}中的m个权重向量分别与多目标函数f(s)=(f1(s),f2(s))
t
做内积操作,得到m个单目标子问题,其中第i个单目标子问题的目标为其中,是权重向量,分别是权重向量λ
i
的两个分量,f1,f2分别对应车辆的旅行距离总和与最大的单个车辆旅行距离两个目标。
[0037]
s3、针对每个单目标子问题,使用深度强化学习方法训练一个带有全面环境信息的图注意力模型。对于第一个单目标子问题的模型,训练从随机初始化的模型参数开始;对于第2到第m个单目标子问题的模型,将前一个训练好的模型参数迁移至当前模型,作为训练的起始点。
[0038]
步骤s3的训练步骤具体包括:
[0039]
s31、图注意力模型包括编码器与解码器,将训练算例中的结点输入到编码器中,编码器提取训练算例中各个结点的特征以及图的结构特征,得到结点的特征向量序列h=(h0,h2,

,h
n
)。
[0040]
具体来说,首先使用线性映射将结点特征x
i
=[c
i
;d
i
;t
i
]映射到高维空间中得到计算公式如下:
[0041][0042]
其中表示初始的特征向量,w与b是可训练的参数,再通过三个自注意力层(self-attention layer,sa)提取特征,即:
[0043]
[0044]
其中h
(0)
表示所有结点初始特征向量的组合序列;sa由两个子网络层组成:多头注意力层(multi-head attention layer,mha)和全连接前馈网络层(node-wise fully connected feed-forward layer,ff)。每一个子网络层含有残差连接和批正则化(batch normalization,bn),计算公式如下:
[0045][0046][0047]
其中h

i
表示mha得到的特征向量,bn
l
表示第l层的批正则化,ff
l
表示第l层的全连接前馈网络,mha
l
表示第l层的多头注意力网络,表示第l层得到的特征向量,h
(l-1)
表示第l-1层得到的特征向量组合序列。多头注意力层mha则由z个单头注意力网络组合而成,计算公式如下:
[0048][0049][0050][0051]
其中w
query
、w
key
、w
value
、w
ihead
分别表示多头注意力网络中不同的可训练参数。h
slice(i)
表示结点特征向量在第i个注意力头上的分量,h
.,slice(i)
表示所有结点特征向量在第i个注意力头上的分量的组合序列,d
key
表示结点特征向量的维度,h
t
表示结点特征向量的转置。
[0052]
全连接前馈网络层ff定义如下:
[0053]
ff(h
i
;w,b)=max(0,wh
i
+b)
[0054]
s32、更新当前的车辆状态,计算得到当前的全面环境信息,将全面环境信息与结点向量序列输入到解码器,由解码器决策选择下一个服务的结点;直到所有客户都被服务,得到关于训练算例的解。
[0055]
其中,解码器决策的过程为:在每一个时刻t∈{1,2,

,t},这里的t表示最大时刻,图注意力模型的解码器基于结点的特征向量序列h=(h0,h1,

,h
n
),以及当前环境向量c
t
做出决策,选择车辆服务的下一个结点v
t
,并将其添加到部分解序列s
t-1
中。解码器通过不断添加结点到部分解直至所有客户结点都被服务,从而构造出关于mo-vrptw的解。
[0056]
对于当前环境向量c
t
,本发明考虑全面的环境信息。首先使用两个多层感知机(multi-layer perceptrons,mlp)g
v
和g
l
分别提取车辆特征和路径特征。车辆特征d
k
包括车辆编号、车辆当前与仓库的距离、车辆当前位置和车辆当前时间。路径特征则由路径中的客户结点组成。最终车辆的特征向量计算公式如下:
[0057][0058]
其中,r
k
表示路径,表示第i个结点的特征向量。
[0059]
全面环境信息包括图结构信息h
graph
、车队信息h
fleet
、当前车辆信息h
cur
、仓库信息h
depot
[0060]
以及各个车辆当前服务的客户信息h
last
,形式化描述如下:
[0061][0062]
于是环境向量c
t
定义如下:
[0063]
c=[h
graph
;h
fleet
;h
cur
;h
depot
;h
last
]
[0064]
对于特征向量序列h,为了更准确地提取问题特征,将车辆的特征向量与结点的特征向量通过神经网络层g
a
相互结合得到新的特征向量序列,计算公式如下:
[0065][0066][0067]
其中,w1、w2、w3分别表示神经网络中可训练的参数,(h
vehicle
)
t
表示当前车辆的特征向量的转置。
[0068]
将当前时刻t的环境向量c
t
与特征向量序列h输入到解码器中,由解码器进行决策。解码器由一个mha和注意力层组成。在解码的过程中,解码器使用mask函数将违反约束的结点的注意力值设置为-∞,从而使得选择该结点的概率为0,确保得到的解满足mo-vrptw的约束。于是选择下一个结点的概率计算公式如下:
[0069]
p
θ
=(v
t
=i|s
t-1
)=π(v
t
=i|h,c
t-1
;θ)=attn(mha(c
t-1
,h),mask(h)),
[0070]
其中s
t-1
表示在t-1时刻的部分解,π表示当前训练的神经网络模型,c
t-1
表示在t-1时刻的环境向量,θ表示神经网络模型中的参数,mask(h)表示将mask函数作用于结点特征向量序列。于是对输入图g得到解s的概率计算公式如下:
[0071][0072]
s33、第i个单目标子问题的目标为权重向量与向量目标函数f(s|g)的内积,即通过权重和的方式将向量目标函数f(s|g)转化为在两个目标上根据权重向量λ
i
进行权衡的标量目标。针对单目标子问题使用基于策略梯度的reinforce算法对神经网络模型的参数θ进行训练,即:
[0073]
[0074]
其中b(g)是用于减小梯度方差的值函数,表示权重向量的转置,f(s|g)表示mo-vrptw中的向量目标函数。在训练过程中,参数θ的梯度可以使用蒙特卡洛采样近似,计算公式如下:
[0075][0076]
其中b是训练批数据的数量。使用上述公式对神经网络模型参数进行训练,直到模型收敛,并使用adam优化方法更新模型参数。
[0077]
在本实施例中,对于第一个单目标子问题的模型,重复步骤s31至步骤s33共40000次;对于从第二个单目标子问题开始的单目标子问题的模型,重复步骤s31至步骤s33共4000次。
[0078]
s4、将强化学习训练得到的m个神经网络模型作为初始种群,对初始种群进一步使用演化学习方法训练得到最终的m个模型。
[0079]
步骤s4的训练包括过程:
[0080]
s41、将强化学习训练得到的m个模型{π1,π2,


m
}作为初始种群,其中m的取值可为100。
[0081]
s42、对种群中的每个模型π
i
进行变异操作,即对模型的参数θ
i
加入扰动,生成一个子代模型π

i
,相应地模型π
i
为子代模型π

i
的父代模型。变异操作的计算公式如下:
[0082][0083][0084][0085]
其中,θ

i
是变异操作后的神经网络模型模型参数,表示从均值为0标准差为1的高斯分布中采样随机扰动x,∈表示在构造解的过程中,各个候选结点的概率关于神经网络模型参数梯度的2范数。
[0086]
s43、在多目标车辆路径优化问题环境中对父代模型和子代模型进行评估,得到各个模型的适应度值。然后将适应度值根据非支配等级和拥挤距离进行排序,选择前m个模型作为下一代种群,即下一父代。
[0087]
s44、不断迭代s42与s43,直到达到设定的迭代次数,例如30次。
[0088]
s5、用训练好的m个模型对多目标车辆路径优化问题(mo-vrptw问题)进行求解,获得一组在两个目标间权衡的解集。
[0089]
s6、计算解集中每个解对应的车辆旅行距离总和以及最大的单个车辆旅行距离,并将结果反馈给用户。
[0090]
本发明通过仿真算例集进行评估。训练集包含随机生成的50万个训练算例,每个算例有50个客户结点。测试集分为两部分,第一部分包含3个子集,每个子集有随机生成的1000个算例,且三个子集分别有n=50、n=80、n=100个客户结点;第二部分是11个公开的
基准算例,每个算例有100个客户结点。使用测试集对训练好的模型集进行测试并记录实验结果。本发明使用三个评价指标进行衡量:
[0091]
1、hv(超体积):表示解集中的个体与参考点在目标空间中所围成的超立方体的体积,用于衡量解集的收敛性与多样性,收敛性体现解集中的各个解在两个目标上最优化的程度,多样性则体现各个解对两个目标侧重的均匀程度。在本实验中参考点设置为(120,10);
[0092]
2、|nds|:表示解集中非支配解的个数,用于衡量解集的多样性;
[0093]
3、times:算法求解测试算例的时间。
[0094]
最终实验结果如下表1、2所示:
[0095]
表1:本发明在3个随机生成的测试集与其他对比方法的平均实验结果
[0096][0097]
表2:本发明在11个公开基准测试算例与其他对比方法的平均实验结果
[0098][0099]
由上述实验结果可知,本发明与基于迭代的方法(nsga-ii,moea/d,mogls)在求解时间上有很大的提升,并且在解集的收敛性和多样性上都要更好。本发明与基于学习的方法(modrl/d-am)比较,在解集的收敛性与多样性上都有提高,特别是多样性有显著提高。因此本发明能够有效克服现有方法的缺陷,在城市多目标车辆路径优化中取得更好的效果。
[0100]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1