领域搜索算法之经典The Lin-Kernighan algorithm
领域搜索算法是TSP问题中的三大经典搜索算法之一,另外两种分别是回路构造算法和组合算法。
而这篇文章要介绍的The Lin-Kernighan algorithm属于领域搜索算法。顾名思义,就是在已有的可行解的领域范围内进行搜索更好的解。
文章不是科普性的文章,专业性更强,开门见山。
LKH算法是对原有的3-opt算法的改进,速度更快,效率更高。
也是因为学习该算法,纠正了笔者之前对3-opt的错误理解,同时也作为学习笔记分享给大家
下面看算法的伪代码
The Lin-Kernighan algorithm
需要提前说明的是
问题背景是对称的TSP问题,图是无向完全图,距离矩阵是dij对称的
T是初始可行解,T=(t1,t2,t3,…,tn)
xi,表示T中边,yi表示不属于T中的边,i可取1-n
Gi表示,将xi替换成yi所得到的收益,即总花费是否减少

1.生成初始可行解T
2.置i=1,选择t1
3 选择x1为(t1,t2)且x1属于T,是T的边(注意算法中xi都属于T,yi都不属于T,xi是要从T中删除的边,
而yi是要加入T中以形成T‘的边)
这里的==选择==是穷举出所有可能的情况
4.同样选择y1不属于T,且G1>0(G1表示删去x1,加入y1所得到的收益为正,即花销减小了)
如果不满足则跳到12
本文专业探讨领域搜索算法中的The Lin-Kernighan算法,它是TSP问题中针对3-opt算法的改进,提高了搜索效率。通过详细解释算法原理、伪代码和优化约束,作者分享了学习心得,并指出LKH算法的独特之处在于使用不属于当前路径的边进行交换。此外,还提及了算法性能提升的约束条件,如形成闭合回路、收益为正等,以及未来可能的改进方向。
订阅专栏 解锁全文
1337

被折叠的 条评论
为什么被折叠?



