crossing edges in the travelling salesman problem

青春壹個敷衍的年華 提交于 2019-12-03 11:19:06

If two edges in a closed polygonal line cross, then there is a polygonal line with the same vertices but with smaller perimeter. This is a consequence of the triangle inequality. So, a solution to the TSP must be a simple polygon. See this article (Figure 4).

If you consider a non-Euclidean metric like L1 (Manhattan distance), then it's pretty easy to construct shortest tours that self-intersect.

+--3--+
|  |  |
|  |  |
2--+--1
|  |  |
|  |  |
+--4--+

If each neighboring pair of intersections is at distance 1, then all tours have length 8, including the self-intersecting one that goes 1 --> 2 --> 3 --> 4 --> 1.

You could get crossing edges if the cost of going from node A->C plus the cost B->D > cost A->B and C->D. You might get this when the cost in not propertional to the distance between the nodes.

A real life example might be that there is a bonus from going from A to C (for example you can smuggle some contrabande) or the cost is dependant on the previous steps (turing left a traffic lights might cost you a lot of time).

Trivially, any connected graph where every node has two edges has only one TPS solution, and if drawn with crossings will meet your stated criteria.

If you put other constraints, such as if you were modelling travelling around the globe using trade winds, so costs are only somewhat related to position in space, you might find a more complex case where crossing is optimal.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!