【技术实现步骤摘要】
一种基于记忆指针网络的CVRP求解方法
[0001]本专利技术涉及一种基于记忆指针网络的CVRP求解方法,属于强化学习、深度学习和组合优化
技术介绍
[0002]CVRP问题是一个在实际生活中非常常见的问题,例如物流配送的效率优化问题、客运车辆的调度问题等等问题都可以建模为CVRP问题。实际生产生活中的CVRP问题规模是极为庞大的,一个配送中心一天需要处理成百上千件快递,该情景就需要挑战在极短的时间内求解超大规模CVRP问题。本专利提出了一种可以在短时间内求解超大规模CVRP问题的方法——记忆指针网络。
[0003]目前就CVRP问题的求解方法主要有:1.启发式算法;2.规划求解器;3.强化学习求解;其中,启发式算法在针对小规模问题有着较为优秀的求解速度。该类启发式算法在在求解CVRP问题方面有较多发展。然而,启发式算法每一步迭代需要计算优化目标函数,另外当问题规模增大时,从初始解到较优解需要经过更多的迭代,因此启发式算法在求解超大规模CVRP问题时常常需要超长的耗时。
[0004]规划求解器求解也 ...
【技术保护点】
【技术特征摘要】
1.一种基于记忆指针网络的CVRP求解方法,其特征在于,包括以下步骤:步骤1:根据实际生产中的CVRP问题并对CVRP问题建模,得到CVRP问题数学模型,一个CVRP问题模型具有两个组成部分:用户和车辆;步骤2:根据步骤1中的CVRP问题数学模型,具体生成多个虚拟的CVRP问题,从而组成CVRP问题数据集;步骤3:对所述步骤2中的数据集进行预处理;步骤4:初始化两个记忆指针网络的权重;步骤5:将所述步骤3中CVRP问题数据集中的用户和车辆输入经过所述步骤4初始化两个的记忆指针网络中,分别计算车辆序列和用户序列,使用策略梯度法训练记忆指针网络,使记忆指针网络学习到优化求解CVRP问题的策略,随着训练的深入,记忆指针网络求解得到的质量将逐步提升,直到进入稳定状态,记忆指针网络的输出为一个车辆序列和一个货物序列;步骤6:采用上述训练后的记忆指针网络求解实际CVRP问题,得到实际CVRP问题所对应的车辆序列和货物序列;步骤7:使用算法将所述步骤6中得到的车辆序列和货物序列转换为CVRP问题的求解结果。2.根据权利要求1所述的基于记忆指针网络的CVRP求解方法,其特征在于:步骤1和步骤3中所述的CVRP问题描述和预处理包括如下内容:CVRP问题数学模型符号约定如下:其中集合N中0号、n+1号节点为配送中心;所述的步骤1中的CVRP问题数学模型包括:定义1:决策变量取值如下:取值如下:定义2:l
i
为i号车辆的最大载重(单位:吨);定义3:i号用户表达为一个四维向量c
i
=[q
i
,x
i
,y
i
,d
0i
]作为记忆指针网络的输入,其中q
i
为i号用户的运输需求量(单位:吨),x
i
、y
i
为用户所出的坐标,d
0i
为i号用户到配送中心的距离;综上,CVRP问题的模型描述如下:
minminminminmin3.根据权利要求1所述的基于记忆指针网络的CVRP求解方法,其特征在于:所述的步骤3中的预处理方法如下:3中的预处理方法如下:其中c
′
i
,l
′
i
为预处理后的用户向量和车辆载重。4.根据权利要求1所述的基于记忆指针网络的CVRP求解方法,其特征在于:所述步骤7的车辆序列和货物序列转换为CVRP问题的求解结果,包括如下内容:设,车辆序列所对应的载重序列为和用户序列所对应的运输需求量序列为序列到规划问题解的映射算法如下:5.一种记忆指针网络的操作方法,其特征在于,所述的记忆指针网络为一种网络结构,
该操作方法包括以下步骤:步骤1:计算附加信息和目标信息向量组中向量两两之间的欧氏距离,作为启发信息矩阵insMat
A
,insMat
T
;步骤2:对输入进行线性变换,映射到高维线性空间;步骤3:使用改进GAT分别对附加和目标信息进行编码,编码使用的邻接矩阵分别为insMat
A
,insMat
T
;步骤3和步骤4为编码器部分如图4所示;如果附加信息或者目标信息需要关注序列情况,则在GAT编码器之前使用LSTM编码器对需要关注序列的信息进行编码;步骤4:拼接经过步骤2得到的附加信息和用户信息,对拼接后的信息使用Transformer结构再次进行编码;步骤5:初始化记忆查询向量;步骤6:将步骤3后得到的编码作为记忆网络的初始记忆,初始化记忆模块;步骤7:将记忆查询向量输入记忆模块,得到记忆模块输出的上下文向量记为q;记忆输出过程描述如下:记忆模块中第i段记忆为一个o行g列的矩阵记为o
i
为第i段的记忆长度,记为记忆长度,g为变换到所对应高维空间的维度即记忆的维度;设记忆共有...
【专利技术属性】
技术研发人员:孙知信,蔡岳,孙哲,赵学健,胡冰,宫婧,汪胡青,徐玉华,
申请(专利权)人:南京邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。