旅行推销员启发式

Traveling Salesman Heuristic

本文关键字:启发式 旅行推销员      更新时间:2023-10-16

我当前的想法是:从点0开始,然后将其与最近的点连接。对于所有其余节点,请将其插入所有可能的位置,并保持成本最低的配置。

所以我从点0开始。最接近点0的节点是点1。

所以我现在有0-> 1-> 0

对于第2点(以及所有剩余的节点),我将检查新节点的所有可能性:

2 -> 0-> 1-> 2

0-> 2 -> 1-> 0

0-> 1-> 2 -> 0

从这里我发现

0-> 1-> 2-> 0的总欧几里得距离最小,所以这就是我要保留的配置。

我将继续在其余节点中使用此逻辑。

是否有一种简单的方法可以在C 中实现?我目前的想法可能是链接列表是个好主意,但是如果可能的话,我希望能够使用向量。有人有任何有关如何处理的技巧吗?

您是否考虑过使用有向图,然后实现Dijkstra的算法。在有向图的算法中,Dijkstra的算法将为您提供从启动节点到图中所有其他节点的最短路径,而不仅仅是所需的几个节点。