Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Algoritmo de camino mínimo (https://www.clubdelphi.com/foros/showthread.php?t=85150)

briast 06-02-2014 13:27:48

Algoritmo de camino mínimo
 
Hola. Quiero implementar en delphi un algoritmo de camino mínimo pero pasando por una serie de coordenadas.
He estado mirando los típicos algoritmos de caminos mínimos (Dijkstra, etc), pero ninguno es lo que necesito. Se trata de obtener el recorrido de coste mínimo pero pasando obligatoriamente por una serie de nodos.
El grafo contiene una serie de nodos. La distancia entre dos nodos continuos tiene valor 1. Se trata de calcular el recorrido mínimo partiendo de un nodo, llegando a todos los nodos de una lista determinada (que no tienen porque ser todos los nodos del grafo) y acabando en otro nodo determinado. Por un nodo se podría pasar más de una vez si fuera necesario.
Para implementarlo se pueden hacer diferentes opciones, pero ¿alguien sabe que algoritmo podría utilizar que sea el más eficiente?
Gracias.

nlsgarcia 06-02-2014 14:39:20

briast,

Cita:

Empezado por briast
...Quiero implementar en Delphi un algoritmo de camino mínimo pero pasando por una serie de coordenadas...Se trata de obtener el recorrido de coste mínimo pero pasando obligatoriamente por una serie de nodos...Por un nodo se podría pasar más de una vez si fuera necesario...

Revisa estos links:
Cita:

Problema del camino más corto : http://es.wikipedia.org/wiki/Problem...m%C3%A1s_corto

Camino Mínimo : http://www.youtube.com/watch?v=Slug5KVb-yI

Dijkstra's Shortest Path Search algorithm : http://delphiforfun.org/programs/Mat...ortestPath.htm
Te sugiero revisar los links sugeridos, en ellos encontraras información relevante a tu requerimiento y con dicha base puedes realizar las adaptaciones necesarias a tu problema particular. Otra forma más compleja es por medio de algoritmos genéticos.

Revisa la siguiente información:
Espero sea útil :)

Nelson.

briast 06-02-2014 17:50:46

Gracias Nelson.
Como comentaba, no se traba de encontrar el camino mínimo utilizando algoritmos conocidos, como el de Dijkstra.
Lo que pasa es que no daba con el nombre del problema, que seguro que estaba ya resuelto. Pero ya lo he encontrado. Lo que necesitaba es una variante del problema del viajante (TSP), en el que se debe recorrer un conjunto de nodos y obtener el camino óptimo. (http://es.wikipedia.org/wiki/Problema_del_viajante)
El proceso, por tanto, tratará de encontrar el circuito hamiltoniano con suma de etiquetas (distancias) mínima.
Un saludo


La franja horaria es GMT +2. Ahora son las 21:14:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi