http://en.wikipedia.org/wiki/Nearest_neighbour_algorithm
我正在使用最近邻算法来解决旅行商问题。它非常快,但并不准确。我在某处读到了我可以做出的两项改进。第一种不是从一个随机点开始,而是从每个节点开始运行最近邻算法。(所以如果有N个节点,最近邻居运行N次)然后比较并选择总距离最小的路线。这似乎要精确得多。但是太慢了。
另一种方法不是随机选择起始节点,而是选择一个特殊的节点。然后仍然只运行一次最近的邻居以获得结果。这不会像上面的方法那样准确,但肯定要快得多,因为该算法像以前一样只运行一次。但不幸的是,我不记得我在哪里读到那篇文章以及选择这个起始节点的标准。
我猜我应该得到每个节点到其他节点之间的总距离,然后应该选择具有最大值的节点作为起始节点。(用我的话来说,这是选择一个离图表“最远”的节点,同时也避免选择靠近图表中心的节点)我认为这样我得到的路线应该非常接近最佳最短路线。
我想对了吗?
编辑:我正在处理具有欧几里得距离的度量 TSP。