TSP 问题的 LKH 方法介绍

算法设计中最有名的问题恐怕非TSP(旅行售货商问题)莫属了,又名为Hamilton环游问题。

对此问题感兴趣的可以阅读下面的网站:

http://www.seas.gwu.edu/~simhaweb/champalg/tsp/tsp.html

http://www.akira.ruc.dk/~keld/research/LKH/

 

个人认为,K. Helsgaun 的 LKH (Lin-Kernighan-Helsgaun)方法是目前求解 TSP 问题的最有效方法。令人敬佩的是,为了促进研究,K. Helsgaun 在网站上发布了其算法的完整代码和他自己的研究论文。如果有时间和精力的话,好好的读读他的论文,将会很有收获的。感觉他的论文和在人脸识别中 P.Viola 的论文 "Robust Real-Time Face Detection" 一样的经典和让人兴奋。

K. Helsgaun 在其论文中,揭示了 TSP 最优解的若干特点:

最小生成树上的边出现在最优解中的概率非常高;

一个测试例子(532-city problem)发现,其最优解中有一条边e(from,to), 节点to 是 from 的第22个最近邻接点;

为了较好的度量一条边出现在最优解中的可能性,K. Helsgaun 引入了 1-tree 的概念并由此定义了边的 alpha-measure(测度);

对于上面的 532-city 例子,若使用 alpha-measure 则最优解上的边最多为第14个alpha-nearest。

进一步,K. Helsgaun 考虑了距离矩阵 C=(cij) 的一种变换(每个节点 i 的关联边长增加一个常量pi):

          C=(cij)  =>  D=(dij):     dij= cij + pi + pj

这种变换使得TSP最优解保持不变,但却会改变最小生成树和 1-tree。选取合适的这种变换,alpha-measure 可以表现的更好。例如上面的 532-city 例子,适当变换后其最优解上的边最多为第5个alpha-nearest。这正如矩阵计算中的条件数那样,适当的变换后条件数会好的多。K. Helsgaun 使用 subgradient optimization 方法来选取这种变换,并且在变换的过程中,有可能发现TSP问题的真实最有解。这是因为如果计算得到的最小的 1-tree 正好是个环游(tour)的话,那么这个tour就是最优解。

关于 1-tree 和 alpha-measure(测度)的高效计算也值得注意,展示了图论的灵活应用。

总之,对于研究TSP问题而言,LKH方法非常值得大家关注。

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值