注意:由于旅行的结束点与起始点不同,并且只要我仍然访问所有点,每个点都可以被访问多次,因此这实际上不是TSP变体,但由于缺乏更好的问题定义,我将其放在这里。
假设我要去n个景点的徒步旅行。这些点都通过徒步小道连接。我有一张地图,显示了所有小径及其距离,给我一个有向图。
我的问题是如何近似地完成一次旅行,从A点开始访问所有n个景点,同时结束旅行的任何地方,而且我希望旅行路线尽可能短。
由于徒步旅行的性质,我认为这个问题可能不是对称问题(或者我能把非对称图转换成对称图吗?),因为从高海拔到低海拔显然比另一种方式容易。
此外,我相信必须使用适用于非度量图的算法,其中三角不等式不满足,因为从a到b再到c可能比走一条非常长和奇怪的路直接从a到c更快。我确实考虑过三角不等式是否仍然成立,因为没有关于我访问每个点的次数的限制,只要我访问所有点,就意味着我总是选择从a到c的两条不同路径中最短的那一条,因此永远不会走那条长而奇怪的路。
我认为我的问题比TSP简单,所以这些算法不适用于这个问题。我考虑使用最小生成树,但我很难说服自己它们可以应用于非度量非对称有向图。
我真正想要的是一些指针,告诉我如何设计一个近似算法,以找到通过所有n个点的近似最优旅行路线。
假设我要去n个景点的徒步旅行。这些点都通过徒步小道连接。我有一张地图,显示了所有小径及其距离,给我一个有向图。
我的问题是如何近似地完成一次旅行,从A点开始访问所有n个景点,同时结束旅行的任何地方,而且我希望旅行路线尽可能短。
由于徒步旅行的性质,我认为这个问题可能不是对称问题(或者我能把非对称图转换成对称图吗?),因为从高海拔到低海拔显然比另一种方式容易。
此外,我相信必须使用适用于非度量图的算法,其中三角不等式不满足,因为从a到b再到c可能比走一条非常长和奇怪的路直接从a到c更快。我确实考虑过三角不等式是否仍然成立,因为没有关于我访问每个点的次数的限制,只要我访问所有点,就意味着我总是选择从a到c的两条不同路径中最短的那一条,因此永远不会走那条长而奇怪的路。
我认为我的问题比TSP简单,所以这些算法不适用于这个问题。我考虑使用最小生成树,但我很难说服自己它们可以应用于非度量非对称有向图。
我真正想要的是一些指针,告诉我如何设计一个近似算法,以找到通过所有n个点的近似最优旅行路线。