当前位置: 首页 > 专利查询>河南大学专利>正文

一种基于改进均匀设计的旅行商问题求解方法技术

技术编号:36936898 阅读:21 留言:0更新日期:2023-03-22 18:58
本发明专利技术涉及一种基于改进均匀设计的旅行商问题求解方法。其方法包括:步骤1,确定旅行商问题中城市的数量s和城市的x,y的坐标,根据城市位置之间的绝对距离进行排序、编号和求出城市距离矩阵D;步骤2,确定因素水平数n,根据所述因素水平数n生成一个n*m的均匀设计表,m为n的欧拉函数值;步骤3,根据均匀设计表的偏差从所述均匀设计表的m列数据中选取s列数据作为试验水平数;步骤4,将均匀设计表转化为对应的合法路径;步骤5,对得到的所有合法路径通过距离矩阵D寻找最短的路径和距离,筛选出最佳旅行商问题路径。本发明专利技术主要叙述了均匀设计生成符合旅行商要求的路径,然后在可行路径中寻找最短路径,具有针对性。具有针对性。具有针对性。

【技术实现步骤摘要】
一种基于改进均匀设计的旅行商问题求解方法


[0001]本专利技术属于组合优化
,涉及一种基于改进均匀设计的旅行商问题求解方法。

技术介绍

[0002]旅行商问题是指一定N多城市个数求它们之间的直达距离,从而得到每个城市途径一次且闭合的最短路径。旅行商问题是一个经典的组合优化问题,因其可能的搜索路径随着城市数量的增加呈阶乘增长,属于NP完全问题。因此精确求出最优解是不可能的较为实际的方法是尽快地发现其近似最优解。近年来,各种智能优化方法被引入到TSP问题的求解中来,主要通过动态规划、遗传算法和蚁群算法等尽快地求取近似最优解。但是需要较长时间才能发挥正反馈的作用,导致算法初期收敛速度较慢。蚁群算法在求解旅行商问题中会出现陷入局部最优的情况,且难以跳出局部最优。动态规划、遗传算法和蚁群算法等都需要花费较长时间和存储空间。随机抽样下选取的路径,存储空间大大减少,但是结果差强人意。
[0003]均匀设计是由方开泰教授和数学家王元将数论和多元统计结合起来,在1978年共同提出的一种只考虑试验点在试验范围内均匀散布的试验设计方法该试验方法着重于在试验范围内以最少的试验次数来获得最多的信息,因而其试验次数比正交设计明显地减少,当某些因素之间有主效应或者相互效应时,更能体现均匀设计的优势。例如,当某个试验中一共有m个因素,每个因素有n个水平时,如果使用枚举法进行试验,则试验总数为n
m
次。若使用正交设计,则试验总数为n2次。而使用均匀设计的试验总数为n次。由此可见均匀设计可以极大程度上减少试验次数。r/>
技术实现思路

[0004]为解决现有技术中存在的上述问题,本专利技术提供了一种基于改进均匀设计的旅行商问题求解方法,使用起来方便快捷,仅需更换城市或样本数量就能快速得到对不同城市的路径求解。
[0005]本专利技术的目的可以通过采取如下技术方案达到:
[0006]本专利技术提供的基于均匀设计的求解旅行商方法,主要包括以下步骤:
[0007]步骤1,确定旅行商问题中城市的数量s和城市的x,y的坐标值,根据城市位置之间的绝对距离进行排序、编号和计算城市的距离矩阵D;
[0008]步骤2,确定因素水平数n,根据所述因素水平数n生成一个n*m的均匀设计表U
n
(n
m
),m为n的欧拉函数值;
[0009]步骤3,根据逐步排列的方法,从所述均匀设计表的m列数据中选取偏差较小的s列数据作为试验水平数,生成均匀设计表U
n
(n
s
);
[0010]步骤4,采用两次映射令均匀设计表n*s的每一行符合路径要求;
[0011]步骤5,对得到的所有符合要求的路径通过距离矩阵D求出路径和距离,筛选出旅
行商问题的最短距离以及路径。
[0012]进一步地,所述根据城市位置之间的绝对距离排序,根据已知城市的x,y的坐标值,求出各个城市距离原点(0,0)的距离R,依据R值大小进行升序排列,R值最小的城市令其编号为1,创建城市列表C=[1,2,3,...,s

1,s];距离R值的计算公式为:
[0013][0014]其中,x
i
为i城市的横坐标,y
i
为i城市的纵坐标,i=1,

,s。
[0015]进一步地,所述计算城市之间的距离均采用欧式距离公式,城市列表C的基础上,建立距离矩阵D
[0016][0017]其中,|1

1|表示第1个城市到第1个城市的欧式距离。
[0018]进一步地,所述步骤4具体为:
[0019]步骤4.1、均匀设计表U
n
(n
s
)中的元素进行线性映射,表中最大的数字对应未选择城市列表中的最后一个城市,最小的数字对应未选择城市列表中的第一个城市,映射以后的数字通过四舍五入取整,得到一个新矩阵U;
[0020]步骤4.2、旅行商问题中要求每个城市仅途径一次且路线闭合,也就是说矩阵U中每行中不能包含重复的元素,在此基础上引入动态映射;
[0021]步骤4.2.1、构建数组L=[1,2,3,...,s

1,s];
[0022]步骤4.2.2、将矩阵U的第i行中第j列元素带入公式其中,card(L)表示数组L中元素个数,U
ij
表示矩阵U的元素,i为行数,j为列数:
[0023]步骤4.2.3、公式计算出的k值通过四舍五入取整,挑选出数组L的第k位数值作为新的矩阵元素,同时剔除数组L的第k位数值组建新的数组L;
[0024]步骤4.2.4、当数组L为空集时,重复步骤4.2.1~步骤4.2.3,组建成新的矩阵M。
[0025]进一步地,所述步骤5具体为:
[0026]步骤5.1、将矩阵M生成的每条路径首位相应,得到一条闭合路径;
[0027]步骤5.2、利用距离矩阵D,对路线中相邻两个城市编号之间的距离累计相加,得到每条路径的总长度;
[0028]步骤5.3、通过比较每条路径的总长度,得出最佳路径和对应的距离。
[0029]本专利技术的有益效果:
[0030]本专利技术提供的了改进均匀设计求解旅行商问题的方法,采用了均匀设计的理念,并把均匀设计中的均匀表和使用表生成的数据用于城市路线安排,与现有技术中的动态规划方法相比,本专利技术直接生成城市路经,方案简单明了。在本专利技术中通过两次映射得出合法路径,然后在可行路线内寻找佳路径和对应的距离,更具有针对性。
附图说明
[0031]图1为本专利技术实施例提供的基于改进均匀设计的旅行商问题求解方法的流程示意图;
[0032]图2为本实施例中城市坐标分布图;
[0033]图3为本实施例中动态映射MATLAB运行流程图。
具体实施方式
[0034]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述。显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0035]图1为本专利技术实施例提供的基于改进均匀设计的旅行商问题求解方法的流程示意图。如图1所示,该方法包括以下步骤:
[0036]步骤1,确定旅行商问题中城市的数量s和城市的x,y的坐标值,根据城市位置之间的绝对距离进行排序、编号和计算城市的距离矩阵D;
[0037]步骤2,确定因素水平数n,根据所述因素水平数n生成一个n*m的均匀设计表U
n
(n
m
),m为n的欧拉函数值;
[0038]步骤3,根据逐步排列的方法,从所述均匀设计表的m列数据中选取偏差较小的s列数据作为试验水平数,生成均匀设计表U
n
(n
s
);
本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于改进均匀设计的旅行商问题求解方法,其特征在于,所述的方法包括:步骤1,确定旅行商问题中城市的数量s和城市的x,y的坐标值,根据城市位置之间的绝对距离进行排序、编号和计算城市的距离矩阵D;步骤2,确定因素水平数n,根据所述因素水平数n生成一个n*m的均匀设计表U
n
(n
m
),m为n的欧拉函数值;步骤3,根据逐步排列的方法,从所述均匀设计表的m列数据中选取偏差较小的s列数据作为试验水平数,生成均匀设计表U
n
(n
s
);步骤4,采用两次映射令均匀设计表n*s的每一行符合路径要求;步骤5,对得到的所有符合要求的路径通过距离矩阵D求出路径和距离,筛选出旅行商问题的最短距离以及路径。2.根据权利要求1所述的方法,其特征在于,所述根据城市位置之间的绝对距离排序,根据已知城市的x,y的坐标值,求出各个城市距离原点(0,0)的距离R,依据R值大小进行升序排列,R值最小的城市令其编号为1,创建城市列表C=[1,2,3,...,s

1,s];距离R值的计算公式为:其中,x
i
为i城市的横坐标,y
i
为i城市的纵坐标,i=1,

,s。3.根据权利要求1所述的方法,其特征在于,所述计算城市之间的距离均采用欧式距离公式;在城市列表C的基础上,建立城市距离矩阵D。4.根据权利要求1所述的方法,其特征在于,所述均匀设计表的使用表通过逐步排列的方法,从所...

【专利技术属性】
技术研发人员:童海滨朱亚美王云艺沈诗艺
申请(专利权)人:河南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1