假设我有 10 个点。我知道每两个点之间的距离。
我需要找到穿过所有点的最短可能路线。
我已经尝试了几种算法(Dijkstra、Floyd Warshall 等),它们都给出了起点和终点之间的最短路径,但它们没有构建一条包含所有点的路线。
排列组合方法可行,但资源消耗太大。
对于这个问题,您能建议我研究哪些算法?或者,有没有记录在案的使用上述算法解决这个问题的方法?
回答:
请参考旅行商问题。
你可能需要研究一些启发式解决方案。它们可能无法给你 100% 精确的结果,但通常它们可以在合理的时间内提出足够好的解决方案(与最优解相差 2% 到 3%)。