假设,我们有一个圆形列表,表示旅行商问题的一个解。此列表最初为空。
如果允许用户一个接一个地进入城市,它可以用什么启发式方法将这些坐标插入到已经存在的旅游中?
一个例子使用最近邻启发式:它在巡更中已存在的最近坐标之后插入新坐标。
还有什么其他选项(如果可能的话是伪代码)。
最佳答案
你当然可以概括一下你提到的观点:
定义k'th_path(v) = minimum weight of a path including max{k,not_visited cities} cities
注意,计算第k条路径是O(|V|^k)
[这个界限不紧]
特殊情况:
对于k=1
你会得到最近的邻居,正如你所建议的。
对于k=|V|
你会得到一个最优解[注意,计算起来会非常复杂]。
关于algorithm - 旅行推销员 build 性启发式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8769428/