Skip to main content
Best answer by terryhendicott

Hi,

QED

Cheers

Terry

Capture.JPG

2 replies

21-Topaz II
August 1, 2024
12-Amethyst
August 1, 2024

Thanks terryhendicott, I wanted to return to the starting point, is this also possible without crossing?

21-Topaz II
August 1, 2024

Hi,

Yes it is possible with the following algorithm.

Find convex hull of points

Select lowest point on convex hull as starting point

Seperate out clockwise part of convex hull from highest point to lowest point

of remainder of points including anticlockwise convex hull sort into y order

join lines from lowest to highest "y" then come clockwise down the convex hull to the starting point.

 

This would mean the convex hull of a series of points needs to be implimented.  

Such an impimentation would take time I don't have.

 

Cheers

Terry

 

25-Diamond I
August 1, 2024

Just for the sake of completeness and fairness, perhaps the original source of the posted sheet should be given

Travelling Salesman Problem - Valery Ochkov

(This is just the first thread I found - Valery had posted the sheet in slight variations on several occasions.)

 

As for the crossing paths (which clearly shows that Valery's algorithm is not finding the minimal path) you may create a program which finds all offending crossing segments and apply the substitution as shown in Fig. 6.26 here: https://web.mit.edu/urban_or_book/www/book/chapter6/6.4.7.html

Quite some work to do, as you would have to compare all combinations of two segments and check for crossing and as usual the most work would have to be done to cover the special cases (like two segments cross in one of the four involved points or the four points being collinear, etc.). Furthermore care must be taken choose the correct one of the two possible substitutions for each pair of crossing segments (as otherwise the continuous path would be split in two). Moreover 'uncrossing' a pair of crossing line segments may result in created new pairs of crossings segments, so I guess its not the easiest way to work starting from a path already created by an algorithm like Valery's.

12-Amethyst
August 1, 2024

Thank you, Werner_E, I certainly saw Valery Ochkov's solution to this problem, actually this is his solution, he asked there whether it was possible to do this without crossing the lines, but there was no answer from him or anyone else, that's actually what I wanted to know. Thanks again for participating.

The Traveling Salesman Problem.jpg

12-Amethyst
August 6, 2024

Here is a genetic algorithm for 30 points, although this is also a random option, and I would like it to be constant without line intersections.

Screenshot_4.jpg