Borrar filtros
Borrar filtros

Finding Shortest Path through whole points without revisiting

20 visualizaciones (últimos 30 días)
Hi all,
I have a problem and I need urgent help. I have more than 30 points (2D cartesian coordinate) with known x and y coordinates. All points can be distributed randomly or on a regular basis such as star shape or cross shape. I would like to asing a one way path which connects all points without circling or revisiting them. How can I implement this question? I would like to visit each point only once and complete the whole journey as quick as possible.
Thanks in advance.

Respuesta aceptada

Bruno Luong
Bruno Luong el 18 de Ag. de 2020
Editada: Bruno Luong el 18 de Ag. de 2020
  2 comentarios
Walter Roberson
Walter Roberson el 18 de Ag. de 2020
Note that the request is for a Hamiltonian Path not Travelling Salesman. Travelling Salesman can revisit a point.
Bruno Luong
Bruno Luong el 18 de Ag. de 2020
"An equivalent formulation in terms of graph theory is: Given a complete weighted graph (where the vertices would represent the cities, the edges would represent the roads, and the weights would be the cost or distance of that road), find a Hamiltonian cycle with the least weight."

Iniciar sesión para comentar.

Más respuestas (2)

Walter Roberson
Walter Roberson el 18 de Ag. de 2020
this problem is known as the Hamiltonian Path
https://www.mathworks.com/matlabcentral/fileexchange/51610-hamiltonian-graph-source-destination
  1 comentario
Ömer Yaman
Ömer Yaman el 18 de Ag. de 2020
Thank you but I am new at that kind of structures. I could not understand well.
Let's say my points as (x,y)
(1,-1), (0,3), (-1,2), (0,2), (1,1), (1,0), (1,3), (1,5), (2,1), (3,1), (-2,1), (0,0), (-1,0), (3,4), (2,3), (4,1), (2,-1)
I need to find the shortest path covers all those points. It should not visit same point twice (like circles or backlines). It may start from any of them (which is optimum)
I have found something known as Minimal Nearest-Neighbor Closed Contour but in this contour it creates loops on some points. I hope I explained my question clearly.

Iniciar sesión para comentar.


Ömer Yaman
Ömer Yaman el 18 de Ag. de 2020
Thank you for your helps. I have found this code and helped me to solve my issue.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by