LNS算法求解tsp问题

大规模邻域搜索(Large NeighborhoodSearch 简称LNS)算法,LNS实质上是通过交替使用destroy和repair两个方法逐步改善初始解。本文使用贪婪法和随机法构造初始解,用LNS算法解决TSP问题。

破坏算子(destroy)
破坏解的方法主要有随机移除、最差移除、相似移除等。其中,随机移除删除当前解决方案中的任意节点;最差移除删除当前解决方案中距离较长的路段。先破坏再修复,这一步得到破坏后的解和移除的节点列表。

修复算子(repair)
修复解的方法主要有随机插入、贪婪插入等。其中,随机插入将移除的节点逐个插入到破坏后解的任意位置;贪婪插入将移除的节点插到距离成本最小,即插入后总路径最短的位置中。

1、贪婪法构造初始解

2、随机法构造初始解

在上述实验中我发现:

1、有时候用贪婪法构造初始解容易陷入局部最优,随机法更容易达到最优路径

2、如果在破坏解时,选择多个节点进行移除操作算法收敛更快,并且也可以达到最优

欢迎大家交流!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值