- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于贪心环路的减量迭代TSP优化新算法
基于贪心环路的减量迭代 TSP 优化新算法
李洪波 1,马文军 1,陈军 2
1.鲁东大学管理学院,山东烟台(264025)
2.鲁东大学数学与信息学院,山东烟台(264025 )
E-mail:fast_run_man@126.com
摘 要:借用 Kruskal 最小生成树算法的思想,按照最短边优先的次序,首先依次生成 TSP
问题环路中的各条边,构造出贪心环路初始解。然后,通过点减量迭代的方式对贪心环路进
行第一次优化。接着,采用单边减量迭代的方式进行第二次优化。最后,采用多边减量迭代
的方式进行第三次优化。为便于操作,将每个点的状态描述成六元组类型,将边描述成三元
组类型,将 TSPLIB 中的坐标数据和邻接矩阵数据改造成由三元组数据元素组成的上三角邻
接矩阵。通过对称 TSPLIB 中 12 种实例和 CHN144 总计 13 种实例数据进行检测,能把目前
已知最好的解中 eil101、eil76 和 brazil58 进一步削减优化,将 eil101 由 629 下降到 620,将
eil76 由 538 下降到 533,将 brazil58 由 25395 下降到 18456,并给出了相应解的环路路径解
sum sum sum
序列。减量迭代 TSP 优化算法的时间复杂度为 O( max(( )n ,n ) )。
? i, j + ? e + ? k 2 3
? ? ? n
i, j e k
关键词:TSP 贪心环路,减量迭代,点减量,单边减量,多边减量
1. 引言
TSP问题是指给定一个城市集合和城市间的距离,从城市集合中的任一城市出发,经过所
有其他城市一次恰好一次又回到出发点的最短回路, 即给定图G= (V , E ,W ) , 其中V 为
顶点集合, |V|= n, E为边集合,W 为边权函数, 求集合{V1, V2, …, Vn}的一个排列P,
使
n?1
∑
i=1 W (v , v ) + W (v , v )
P( i) P( i+ 1) P( n) P(1) 最小。 该问题是一个经典的组合优化问题, 在VL S I 芯片设计和车辆选路等许多领域有广
泛的应用。
TSP 问题是经典的N P-Hard 问题[1 ] ,在多项式时间内找不到一个算法能保证得到最优
解。因此,人们采用近似算法找近似解, 以在多项式时间内能结束。 TSP 问题的近似算法
分为两类[ 2 ]: 环路构造算法和环路改进算法。前者从某个初始解开始, 通过某种增广策略
逐步求解, 直到得到一个合法环路解为止,这类算法包括最近邻算法、贪心算法、Clarke2 W
[ 3 ] 和Ch ristof ides 算法[ 4 ] 等。环路改进算法则在给定初始的合法解后使用某种策
righ t 算法
略来改进初始解。这些策略包括局部有哪些信誉好的足球投注网站、模拟退火[ 5 ]、遗传算法[ 6]等, 其中最简单有效
的方法为局部有哪些信誉好的足球投注网站, 如2-O PT [7 ] , 3-O PT [ 8 ] ,L K[ 9]和循环L K[ 10 ]等. 通常这两类算法
被分开使用, 用环路构造算法来构造初始解,而用环路改进算法改进这个初始解。
本文首先借用Kruskal构造最小生成树的思想构造贪心TSP问题环路初始解,然后,提出
减量迭代新算法,即初始环路被分别用点减量迭代算法、边减量迭代算法和多边减量迭代算
法三种减量迭代新算法优化,在用均匀TSPLIB的部分实例检测后,得到了一些更好的结果。
2. 数据表示和预处理
2.1 上三角三元组邻接矩阵和边的描述
为在 O(1)的时间内找到任意两点间的距离,也为了按边长进行排序后的邻接矩阵不丢
- 1 -
失邻接关系信息,不用行号和列号来对应邻接点信息,将对称 TSPLIB 中的邻接矩阵数据和
坐标数据统一转化成三元组邻接矩阵。
定义 1 设 G=V, E ,W 为无向网,其中 V={ a1, a2, …, an },|V|= n, E 为
边集合,W 为边权函数,W(ai,aj)返回 ai 和 aj 两点间的距离。定义一个三元组邻接矩阵 M,
其中各元素 mi,j 为
m , = (a 1 ,a , L 1 , ) (L 1 , =W(a 1 ,ai ))
i j n? ? j i n? ? j i n? ? j i n? ? j
邻接矩阵的数据元素描述为
(a ,a , L )
? ? ? ? ,其中 an-1-j 和 ai 互为邻接点,而 Ln-1-j
,i
n 1 j i n 1 j,i
为两点间 an-1-j 和 ai 两点间的距离。因为邻接矩阵对称,进一步压缩成上三角三元组邻接矩
阵,如图 1 所示。
0 1 …… n-2
0 (an-1, a0, L n-1,0) (an-2, a0, L n-2,0)
文档评论(0)