2017-04-12 125 views
1

我使用模拟annealing.I解决TSP找到更好的邻居有一个问题是:
https://en.wikipedia.org/wiki/Simulated_annealing有效的候选代块它说:在模拟退火

旅行商问题之上,为例如,在低能耗巡回赛中交换连续两座城市预计会对其能量(长度)产生适度影响;而交换两个任意城市的时间长度更可能会增加其长度而不是减少它。因此,连续交换邻居生成器预期比任意交换生成器更好地执行。

所以我随机生成第一个城市,第二个连续第一个,但解决方案变得更糟。
我做错了吗?

回答

2

最初,您需要探索所有的解决方案表面。你可以通过两种方式做到这一点,无论是通过生成有效的随机候选人,还是通过高温。如果你不使用方法一,你必须使用方法二。这意味着提高温度直到基本上所有的动作都被接受。然后你尽可能慢地减少它。 “交换邻近城市”的举动将产生合理的结果。