一种基于覆盖旅行商问题求解的路径规划方法

文档序号:29636191发布日期:2022-04-13 17:12阅读:309来源:国知局
一种基于覆盖旅行商问题求解的路径规划方法

1.本发明涉及一种基于覆盖旅行商问题求解的路径规划方法,属于人工智能的强化学习、深度学习和组合优化领域。


背景技术:

2.旅行商问题(traveling salesman problem,tsp)是经典的组合优化问题,在物流运输等诸多现实生活场景中有着广泛的应用.tsp问题的求解目标是在给定的顶点集合中寻找到一条最短回路,并且所有的顶点有且只能被访问一次.然而由于资源等因素的限制,该问题模型不能直接地应用到某些现实生活场景中.例如快递驿站规划问题,存在多个需要进行快递配送的小区居民楼,为每个小区的居民楼设立快递驿站,并由快递员依次访问需要较大的人力、物力成本。一个更好的解决方案是,为邻近的居民楼设立一个驿站,该驿站负责其最近的几个居民楼的快递存储,能够有效地减少快递员的访问路径并节省资源。为了研究该类问题,覆盖旅行商问题(covering salesman problem,csp)模型被提出,csp问题模型中每个顶点存在一个预先设定的覆盖距离,处于该覆盖距离内的顶点可被覆盖,该问题的求解目标是在给定的顶点集合中的子集寻找到一条使所有的顶点被访问或被覆盖的最短回路.当各个顶点预先设定的覆盖距离均为0时,csp问题退化为tsp问题.因此,tsp问题可以看作csp的特例,csp问题同样具有随着顶点数量增加而解空间极具扩张的np难特征,在较短的时间内进行有效求解存在较大困难。
3.由于csp问题约束的复杂性,并不存在求解tsp问题的精确解法。大量文献给出了基于领域知识的启发式算法,即人为设计规则并通过大量迭代计算提高解的质量.如bruce golden等人提出的ls1、ls2算法(golden b,naji-azimi z,raghavan s,et al.the generalized covering salesman problem[j].informs journal on computing,2012,24(4):534-553).ls1算法在可行解的基础上,通过删除部分顶点,并从未访问的顶点中进行重新插入提高解的质量.ls2算法每次删除一个顶点,然后从最近删除的顶点中选取进行插入保证解的可行性,在完整解中的顶点集合上执行2-操作算子调整顶点的排列能够对结果进一步改善.这些启发式求解方法需要大量的领域知识和不断试错,并且难以在可行的时间内求解大规模问题实例.此外,该类方法没有考虑实例间的内在相似性,无法获取到已经求解过的问题所提供的知识,并且求解速度较慢,在许多场合中难以满足实时性要求.近年来,深度神经网络(deep neural network,dnn)去替代人为设计的规则和特征取得了巨大成功,用dnn替代传统启发式算法求解组合优化问题也展现了较大潜力。李凯文等人提出了am-dynamic算法(li k,zhang t,wang r等.deep reinforcement learning for combinatorial optimization:covering salesman problems[j].ieee transactions on cybernetics,2021:1

14.doi:10.1109/tcyb.2021.3103811.),通过dnn来求解csp问题,但该方法使用模型预测起点来构造解,存在不可靠性,并且不能很好的考虑csp问题中相近顶点可以相互覆盖这一约束,因此求解质量与现存的传统的启发式算法相比仍然有着较大差距。
[0004]
综上,现有基于dnn求解csp问题的求解质量仍然有待进一步的提高。


技术实现要素:

[0005]
为了解决现有dnn方法求解csp问题求解质量较低导致所规划得到的路径长度仍然存在进一步缩短的空间的问题,本发明提供了一种基于覆盖旅行商问题求解的路径规划方法,所述方法包括:
[0006]
步骤一:获取所要规划的路径需要覆盖的n个地点的坐标;
[0007]
步骤二:对步骤一获取到的n个地点的坐标进行数据预处理及数据扩充;
[0008]
步骤三:对步骤二预处理及扩充后的坐标数据进行特征编码,并将每个地点的二维坐标特征映射为高纬度的向量表示,得到全局图信息;
[0009]
步骤四:采用多起点的方法从扩充后的坐标数据中选取多个地点作为起点,分别输入到解码器中进行解码,利用全局图信息和当前时刻访问的地点信息来进行预测下一时刻访问的地点,并通过mask策略来对解序列的构造进行约束,直至已访问的地点能够对所有的地点进行覆盖或访问,得到相应的解;在得到的多个解中选取路径最短的解作为初步规划的路径;
[0010]
步骤五:对步骤四得到的初步规划的路径采用局部搜索算法对其中的部分地点进行替换和删除操作进一步优化,优化后的路径作为最终规划的路径。
[0011]
可选的,所述步骤二包括:
[0012]
采用最大最小标准化来对n个地点坐标进行缩放:
[0013][0014][0015]
其中,(a

,b

)表示任一地点xi的二维平面坐标,(a,b)表示缩放后的坐标,i={1,

,n};
[0016]
max(a

),min(a

)分别表示n个地点的二维平面坐标在x轴坐标上的最大最小数值,max(b

),min(b

)表示n个地点的二维平面坐标在y轴坐标上的最大最小数值;
[0017]
对缩放后的坐标进行如下变换以实现数据扩充:
[0018]
f(a,b)=(a,b)
[0019]
f(a,b)=(b,a)
[0020]
f(a,b)=(1-a,b)
[0021]
f(a,b)=(1-b,a)
[0022]
f(a,b)=(a,1-b)
[0023]
f(a,b)=(b,1-a)
[0024]
f(a,b)=(1-a,1-b)
[0025]
f(a,b)=(1-b,1-a)
[0026]
f表示对应的变换函数。
[0027]
可选的,所述步骤三包括:
[0028]
使用标准transformer模型的编码器对输入的地点坐标进行特征编码;
[0029]
通过一个线性投影层将输入的地点坐标特征投射到高维空间:
[0030][0031]
其中,w、b是可学习的参数;
[0032]
得到n个地点的初始嵌入:
[0033][0034]
其中,h
(0)
表示n个地点的初始嵌入的集合,其中的元素分别表示各个地点的初始嵌入;
[0035]
通过l层的注意力层,得到每个地点的顶点嵌入并通过对所有地点的顶点嵌入求平均得到表示代表全局图信息的图嵌入hg:
[0036][0037]
其中,表示第i个地点经过l层的注意力层后得到的顶点嵌入;每层注意力层由多头注意力层和前馈层构成,并通过残差连接和批次归一化确保深层网络训练的稳定性。
[0038]
可选的,所述步骤四包括:
[0039]
在t=1时刻,选取m个地点分别作为起点,m的取值范围在[0-n]之间;
[0040]
然后在t≥2时刻,利用t-1时刻构造的解序列信息,预测t时刻要访问的地点;
[0041]
首先构造上下文嵌入:
[0042][0043]
其中表示所选定的起点的嵌入,表示在t-1时刻选定的地点嵌入;
[0044]
将上下文嵌入作为解码器的输入,用于预测t时刻要访问的顶点;
[0045]
所述解码器中通过注意力机制及softmax运算输出预测每个顶点的概率;针对已经访问过的顶点和已经访问过的顶点可覆盖的顶点,利用mask操作将其被预测将要访问的概率置为0,使其不会再被访问;重复这一过程,直至获取到的解序列已经能够将所有的顶点进行覆盖和访问;得到m个解;
[0046]
通过下式分别求出m个解分别对应的路径的长度length(π),选取路径长度最短的解,作为初步规划的路径;
[0047][0048]
其中,π表示由k个地点所构成的解序列;表示对应的解中所选中的第一个地点,表示对应的解中所选中的第k个地点,k≤n;表示解中的第一个地点与解中第k个地点的距离。
[0049]
可选的,所述步骤四中通过注意力机制及softmax运算输出预测每个顶点的概率,包括:
[0050]
pi=softmax(u
c(i)
)
[0051]
其中
[0052][0053]
其中,c表示用于调整tanh函数输出区间的常数;
[0054]
qc表示对上下文嵌入hc通过可学习的参数进行线性变换:
[0055][0056]
表示对qc向量做转置运算的结果;
[0057]ki
表示利用可学习的参数对顶点i的嵌入进行线性变换:
[0058][0059]dk
表示隐层单元的向量维度,为128。
[0060]
可选的,所述步骤三中使用标准transformer模型的编码器对输入的地点坐标进行特征编码时,删除位置编码,并使用批次归一化替换层归一化。
[0061]
可选的,所述步骤四中在t=1时刻,选取m个地点分别作为起点时,使用超参数select_percent∈(0,1]控制选取的顶点数量m,m=n*select_percent,m个地点为从n个地点中随机选取。
[0062]
本技术还提供一种快递驿站规划方法,所述方法采用上述方法针对给定的n个居民楼,寻找到多个设立快递驿站的居民楼,并对其他未设置驿站的居民楼进行覆盖,同时使得快递员访问所有的快递驿站的路径最短。
[0063]
本发明有益效果是:
[0064]
通过利用深度神经网络自动挖掘实例特征的特点提出了一个新的模型来求解csp问题,解决了传统方法需要过多的领域知识进行求解的缺点,并极大地提高了求解速度。针对现有深度神经网络求解质量低的问题,采用了数据增强的方式扩充样本数量,使用多起点技术多次求解来减少预测误差,并在求解的过程中提出了一种针对csp问题的mask策略来对解的构造进行约束。模型使用强化学习进行训练,摆脱了监督学习依赖高质量的标注数据的缺点。最终结合简单局部搜索算法进行改进,进一步地提高了求解质量。与现有的dnn求解方法相比显著地缩小了最优间隙,与启发式算法相比取得了超过20倍的速度提升,更适合在实时性要求高的场景中使用。
附图说明
[0065]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0066]
图1本发明一个实施例中公开的路径规划方法的整体流程图。
[0067]
图2为本发明一个实施例中公开的路径规划方法am-nm中编码器的结构示意图。
[0068]
图3为本发明一个实施例中公开的路径规划方法am-nm中解码器的结构示意图。
[0069]
图4为本发明一个实施例中公开的路径规划方法am-nm与其他深度学习求解csp问题的方法的训练结果对比图。
具体实施方式
[0070]
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0071]
实施例一:
[0072]
本实施例提供一种基于覆盖旅行商问题求解的路径规划方法,参见图1,所述方法包括:
[0073]
步骤一:获取所要规划的路径需要覆盖的n个地点的坐标;
[0074]
步骤二:对步骤一获取到的n个地点的坐标进行数据预处理及数据扩充;
[0075]
步骤三:对步骤二预处理及扩充后的坐标数据进行特征编码,并将每个地点的二维坐标特征映射为高纬度的向量表示,得到全局图信息;
[0076]
步骤四:采用多起点的方法从扩充后的坐标数据中选取多个地点作为起点,分别输入到解码器中进行解码,利用全局图信息和当前时刻访问的地点信息来进行预测下一时刻访问的地点,并通过mask策略来对解序列的构造进行约束,直至已访问的地点能够对所有的地点进行覆盖或访问,得到相应的解;在得到的多个解中选取路径最短的解作为初步规划的路径;
[0077]
步骤五:对步骤四得到的初步规划的路径采用局部搜索算法对其中的部分地点进行替换和删除操作进一步优化,优化后的路径作为最终规划的路径。
[0078]
实施例二
[0079]
本实施例提供一种基于覆盖旅行商问题求解的路径规划方法,本实施例以针对小区居民楼快递驿站规划问题为例进行说明,所述方法包括:
[0080]
step 1针对小区居民楼快递驿站规划问题定义覆盖旅行商csp问题。
[0081]
csp问题定义在给定二维空间内,g=(v,e)表示一个无向完全图,其中v是包含n个顶点的集合,每个顶点的特征是在[0,1]范围内的二维平面坐标。e是边集合,e
i,j
表示vi、vj两个顶点之间的欧氏距离。每个顶点vi能够对其周围最近的nci个顶点或以其为中心,半径为di内的顶点进行覆盖。csp问题目标是要在顶点集合v中寻找一个排列的子序列π=(π1,π2,

,πk),使顶点集合v中的所有顶点都被访问或覆盖,且构成回路的路径最短,即length(π)最小。
[0082][0083]
其中表示顶点πi的二维平面坐标(a,b),当nci=0或di=0,i={1,

,n}时,csp问题等价于tsp问题。
[0084]
针对小区居民楼快递驿站规划问题,该问题的求解目标则是在给定的n个居民楼中,寻找到多个设立快递驿站的居民楼,并对其他未设置驿站的居民楼进行覆盖,同时使得快递员访问所有的快递驿站的路径最短。
[0085]
居民楼的坐标对应csp问题中的n个顶点,设立快递驿站的居民楼对应csp问题中的最优解中包含的顶点序列,快递员的访问路径则对应csp问题中的所有访问顶点的路径长度。
[0086]
step 2获取训练样本数据,并进行数据预处理及数据增强操作。所述数据包括step 1中所提到的n个顶点的位置坐标。
[0087]
样本数据为n个居民楼的二维平面坐标。对n个不同小区居民楼二维平面坐标,首先进行数据预处理。数据预处理主要采用最大最小标准化来对n个居民楼坐标进行缩放:
[0088][0089][0090]
其中,(a

,b

)表示任一地点xi的二维平面坐标,(a,b)表示缩放后的坐标,i={1,

,n};
[0091]
max(a

),min(a

)分别表示n个地点的二维平面坐标在x轴坐标上的最大最小数值,max(b

),min(b

)表示n个地点的二维平面坐标在y轴坐标上的最大最小数值;
[0092]
对缩放后的坐标进行如下变换以实现数据扩充:
[0093][0094]
通过上述操作,将样本数量扩充为8倍,同时能够为模型提供更多的求解样本,以探索多种可能的解。
[0095]
step 3对step 2中得到的预处理后的数据进行特征提取操作。将每个顶点的二维坐标特征根据设计好的编码器映射为高纬度的向量表示,并得到全局图信息。
[0096]
使用标准transformer模型的编码器对输入的居民楼坐标进行特征编码。针对csp问题具有的输入顺序无关性,删除了位置编码,并使用批次归一化替换层归一化。
[0097]
首先通过一个线性投影层将输入居民楼坐标特征投射到高维空间:
[0098][0099]
其中xi表示经过步骤step 2预处理后的居民楼坐标(a,b),w、b是可学习的参数,n是顶点数量,得到n个顶点的初始嵌入
[0100][0101]
然后通过l层的注意力层,每层注意力层由多头注意力层和前馈层构成,并通过残差连接和批次归一化确保深层网络训练的稳定性:
[0102][0103]h′
(l)
=bn
(l)
(mha
(l)
(q,k,v)+h
(l-1)
)
[0104]h(l)
=bn
(l)
(h

(l)
+ff
(l)
(h

(l)
))
[0105]
其中l∈{1,2,

,l},得到每个居民楼的顶点嵌入并通
过对所有居民楼的顶点嵌入求平均得到表示代表全局图信息的图嵌入hg:
[0106][0107]
step 4采用多起点的方法选取多个起点分别输入到解码器中进行解码,利用全局图信息和当前时刻访问的顶点信息来进行预测下一时刻访问的顶点,并通过mask策略来对解序列的构造进行约束,直至已访问的顶点能够对所有的顶点进行覆盖或访问。在多个解中选取路径最短的解作为模型输出csp问题的解。
[0108]
在t=1时刻,为解码器选择初始居民楼顶点。本发明选取多个顶点作为起点解决模型预测单一起点的不可靠性。具体地,通过一个超参数select_percent∈(0,1]控制选取的顶点数量m,m=n*select_percent,然后从n个顶点中随机地选取m个顶点均作为起点执行后续的求解过程,最终结果取多个解的路径长度最小值。默认情况下,select_percent设为1,即m=n,将所有的顶点各自作为起点进行解的构造,通过牺牲小部分时间,能够获取到更高质量的解。
[0109]
选定起点之后,在t(t≥2)时刻,对起点的嵌入、当前路径的尾顶点的嵌入和图嵌入进行拼接得到上下文嵌入(context embedding):
[0110][0111]
其中表示所选定的起点的嵌入,表示在t-1时刻选定的地点嵌入。
[0112]
利用上下文嵌入与其他顶点做多头注意力计算,对不符合条件的顶点做mask,即将预测该顶点的数值设为-∞,使得经过softmax运算后该顶点被选择的概率为0,得到上下文向量。用该向量同所有顶点的嵌入做一次注意力计算,同样对不符合条件的顶点做mask,并采用tanh函数和截断值c调整数值区间:
[0113][0114][0115]
将结果通过softmax层得到当前时刻顶点的预测概率:
[0116]
pi=p
θ

t
=i|π
1:t-1
,s)=softmax(u
c(i)
)
[0117]
使用贪婪解码(greedy decode)选择概率最大的顶点加入到解序列中:
[0118][0119]
重复这一过程,直至获取到的解序列已经能够将所有的顶点进行覆盖和访问。
[0120]
在上述构造解过程中,每个时刻t进行节点预测时需要对不满足条件的节点进行mask。本发明提出一种新的mask策略,即对已经访问过的节点和其所能覆盖的节点均进行mask,使其接下来被访问的概率为0。该mask策略是对模型构造解的过程进行了约束,通过贪心策略来尽量多地较少待预测顶点数目,特别在面对大规模实例时,每进行顶点的选择时都能够显著地缩小预测空间.
[0121]
最终针对一个样本,将得到m个解。其中每个解包含了设立快递驿站的居民楼序号,分别通过length计算公式,求出各自的长度,选取路径长度最短的解,作为模型的输出
size)为64,每轮训练样本数量为80000。编码器、解码器中的隐层单元维度为128,全连接层维度为512。tanh函数的截断值c在csp-50,csp-100上设置为10,对于csp-20设置为5。训练总共训练100轮,每轮结束后在包含10000个csp实例的验证集上评估当前模型。
[0134]
本技术所提出的方法在随机生成的1000个csp实例上进行测试,基于学习的模型均采用贪婪解码构造解。本技术给出了在1000个实例上的快递员访问驿站的平均路径长度length、最优间隙以及求解单个实例的时间。最优间隙(optimality gap)的计算方法如下。
[0135][0136]
其中快递员访问驿站的平均路径长度、最优间隙以及求解单个实例的时间,值越小,表示所提出的方法具有更强的求解能力。
[0137]
本技术对所提出的方法和其他基于学习的基准的训练过程进行了对比。附图4是现有方法am-dynamic,am及本技术提出的方法am-nm在csp-100实例上的学习曲线。其中am-dy-32w是指am-dynamic每轮使用32万个训练样本,am-mask指的是对am采用本技术所提出的mask策略。
[0138]
由附图4可以观察到,在批次大小为64,每轮8万的训练样本数量条件下,am-dynamic、am的学习曲线震荡较为剧烈,而本技术提出的方法am-nm的学习曲线十分平稳,同时收敛的最终结果也要优于二者。这一方面是由于针对csp问题所提出的mask策略能够使网络更快速地收敛到局部最优,另一方面是所采用的多起点策略相比于通过模型预测起点更适合csp问题的求解。此外,在给予更多的训练样本后,am-dynamic的学习曲线趋于平稳,但是其最终的收敛结果仍然与本技术提出的方法am-nm存在一定差距,这表明本技术提出的方法有着更高的样本效率。同时,本技术提出的方法am-nm的训练时间(4h1min)也是am-dynamic的训练时间的(12h30min)三分之一。此外,在对am使用了本技术提出的mask策略,即am-mask曲线,可以观察到,am的收敛情况得到了显著改善,这表明了本技术提出的mask策略的有效性。
[0139]
表1在顶点数分别为20、50、100的1000个随机生成的csp实例上的结果
[0140][0141]
表1给出了本技术提出的方法所提出的方法(am-nm)同其他现有方法分别在csp20、csp50、csp100上的1000个测试实例的实验结果,由传统的启发式算法(ls1、ls2)、模型贪婪解码+简单的局部搜索(am-dynamic(ls)和am-nm(ls))两部分构成。本实施例也给出了通过局部搜索对模型结果改善的实例个数,局部搜索改善的实例个数越少,表明模型所构造的解的质量越高。这种混合的求解方法,通过牺牲一部分时间来对模型所构造的解进行精炼。可以观察到本技术提出的方法随着居民楼数量的增加,无论是求解质量还是改善个数am-nm(ls)都优于am-dynamic(ls)。特别地,am-nm(ls)的求解速度相对于传统的启发
式算法有着最高超过40倍的提升,更适合实时性要求高的场景中使用。
[0142]
表2在顶点数分别为200、300的1000个随机生成的csp实例上的结果
[0143][0144][0145]
表2给出了使用训练在csp100上的模型,在csp200、csp300实例上的测试结果。当面对同训练数据不同规模的数据时,基于学习的方法性能都严重下降。这是由于大规模的csp实例,解码过程中待选择的顶点数目庞大,模型很难进行准确的预测,但是本技术提出的方法对比其他的基于学习的方法依然取得了更好的结果。在加入简单局部搜索后,能够进一步的缩小了与启发式算法的最优间隙,并在求解速度上有着30多倍的提升。
[0146]
为了进一步探索提出方法在面对不同的训练样本数据时的泛化性。本实施例在同训练数据覆盖数量不一致的测试样本上也进行了实验。具体地,设置测试样本中,每个设立快递驿站的居民楼能够覆盖其最近的居民楼数量nc为11、15。这与训练样本的数目是不同的,能够更加好的反应所提出方法对于不同分布样本的求解能力。
[0147]
表3在1000个nc=11、15的fixed nc csp实例上的测试结果
[0148][0149]
表3中的结果同样表明在面对不同规模及不同覆盖数量的样本时模型的求解性能会有所下降。与精心设计的启发式方法相比,本技术提出的方法am-nm(ls)能够在较小的最优间隙上,大幅缩短求解时间。可以观察到,am-nm(ls),在最优解长度较短的实例上表现较差,其中nc=11,csp50的最优间隙达到了11.77%,但是在csp100,csp200上取得了较低的最优间隙,说明本技术提出的方法更适合求解最优解长度较长的csp问题。此外,在csp-200实例上,本技术提出的方法am-nm(ls)取得的结果超越了ls2。与am-dynamic(ls)相比,在求
解时间上相差不大,但是本技术提出的方法的求解质量更高,即解所对应的路径长度更短。同样与传统的启发式算法相比,本技术提出的方法求解时间取得了超过20倍的提升。
[0150]
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
[0151]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1