【技术实现步骤摘要】
一种解决旅行商问题的基于相似历史样本的孪生优化方法
[0001]本专利技术涉及组合优化领域,具体涉及一种解决旅行商问题的基于相似历史样本的孪生优化方法。
技术介绍
[0002]旅行商问题(Traveling Salesman Problem,TSP)是组合优化领域的基准问题。物流配送问题、汽车路径规划问题、无人机路径规划问题、机器人路径规划问题、数控机床刀具路径规划问题和雕刻机路径规划问题等实际组合优化问题均为TSP的变体。求解TSP的方法通常也可以求解上述实际组合优化问题,因此设计高效求解TSP的方法对组合优化领域的发展和解决实际组合优化问题有重要意义。
[0003]TSP是NP
‑
Complete问题,其时间复杂度随着问题规模的增加呈指数级增长。目前对于规模较大的TSP,通常采用进化算法(Evolutionary Algorithms,EAs)求解。进化算法具有较高的灵活性,能在可接受的时间内获得高质量的计算结果。但传统EAs在解决问题时,往往默认该问题的先验知识为零。因此当求解规模较大的TSP时,EAs的搜索能力较弱,导致计算时间较长和计算结果质量较低。现实世界中的问题不是孤立存在的,当前遇到的任务可能与在历史的某个时刻完成的任务相似。例如本周日某个交通路口的路径规划和上周日该路口的路径规划。
技术实现思路
[0004]本专利技术的目的是提供一种解决旅行商问题的基于相似历史样本的孪生优化方法,包括以下步骤:
[0005]1)构建历史TSP数据库,包括历史TSP的 ...
【技术保护点】
【技术特征摘要】
1.一种解决旅行商问题的基于相似历史样本的孪生优化方法,其特征在于,包括以下步骤:1)构建历史TSP数据库,包括历史TSP的数据和解决方案。2)构建自编码器,将历史TSP数据库中的所有历史TSP数据依次输入到自编码器中,获得每个历史TSP对应的特征向量,并将所有历史TSP对应的特征向量存入Mivlus向量数据库中;3)将Mivlus向量数据库存储的所有历史TSP的特征向量划分成若干簇,记为历史TSP簇,并记录每个历史TSP簇的聚类中心的特征向量;4)获取目标TSP的数据,将目标TSP的数据输入到自编码器中,获得目标TSP的特征向量;5)计算目标TSP的特征向量与每个历史TSP簇的聚类中心的特征向量的余弦距离,并确定余弦距离小于预设值的簇,记为粗选孪生TSP簇;6)计算粗选孪生TSP簇的所有历史TSP的特征向量与目标TSP的特征向量的余弦距离,确定最小余弦距离;7)根据最小余弦距离构建目标TSP的孪生TSP,确定孪生TSP的数据和解决方案;8)学习孪生TSP和目标TSP的映射矩阵;9)通过映射矩阵将孪生TSP的解决方案映射到目标TSP的搜索空间中,获得进化算法EAs的初始解G
t
;10)对进化算法EAs的初始解进行迭代计算,达到设定的迭代次数后,输出目标TSP的解决方案。2.根据权利要求1所述的一种解决旅行商问题的基于相似历史样本的孪生优化方法,其特征在于,所述所述TSP的数据包括城市坐标点。3.根据权利要求1所述的一种解决旅行商问题的基于相似历史样本的孪生优化方法,其特征在于,所述自编码器包括输入层、隐含层和输出层。4.根据权利要求1所述的一种解决旅行商问题的基于相似历史样本的孪生优化方法,其特征在于,所述通过自编码器获得TSP特征向量的步骤包括:1)将TSP的城市坐标点作为像素点绘制在图像上;2)提取图像的二值矩阵,并输入到自编码器中;3)计算二值矩阵的特征向量,作为TSP的特征向量。5.根据权利要求1所述的一种解决旅行商问题的基于相似历史样本的孪生优化方法,其特征在于,所述将Mivlus向量数据库存储的所有历史TSP的特征向量划分成若干簇的方法包括k
‑
means聚类算法。6.根据权利要求1所述的一种解决旅行商问题的基于相似历史样本的孪生优化方法,其特征在于,所述余弦距离dist(A,B)的计算公式如下所示:式中,A和B分别代表两个不同的TSP;h
A
和h
B
分别代表A和B的特征向量,||h
A
||2代表h
A
的欧式范数,||h
B
||2代表h
B
的欧式范数。
7.根据权利要求1所述的一种解决旅行商问题的基于相似历史样本的孪生优化方法,其特征在于,所述构建目标TSP的孪生TSP包括以下步骤:1)判断最小余弦距离是否小于设定值,若最小余弦距离小于设定值,则进入步骤2);若最小余弦距离大于等于设定值,则跳转至步骤3);2)将与目标TSP余弦距离最小的特征向量对应的TSP作为目标TSP的孪生TSP,从历史TSP数据库中获取孪生TSP的数据和解决方案;3)通过基于图滤波器的快速重采样方法为目标TSP构建孪生TSP,包括以下步骤:3.1)假设目标TSP的城市坐标集合P如下所示:P={p
i
=(x
i
,y
i
)∣i=1,
…
N}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)式中,p
i
为城市i的坐标点,x
i
和y
i
分别表示城市i的坐标点的横纵坐标;N为目标TSP的城市坐标集合P中的城市总数;3.2)对目标TSP的数据进行归一化处理;3.3)使用K最近邻算法获得城市p
i
的邻居集δ
i
,邻居集δ
i
如下所示:δ
i
={δ
i,1
,δ
i,2
…
δ
i,m
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)式中,δ
i,m
为城市p
i
的第m个邻居城市;3.4)计算加权矩阵W;对于目标TSP城市坐标集合P中的任何城市P
i
和城市P
j
,城市P
i
和城市P
j
之间的权重W
i,j
的计算公式如下所示:式中,σ是预定义参数;W
i,j
表示...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。