Estimados Amigos,
Necesito hacer un algoritmo que me permita, dados un punto de origen y otro de destino, generar las posibles rutas para llegar de uno a otro.
Actualmente la estructura de la b/d consiste de 2 tablas:
Tabla : Poblaciones. donde se almacenan las poblaciones con su código.
01 Caracas
02 Maracay
03 Barquisimeto
04 Valencia
05 Nirgua
06 Lagunillas
07 La Guaira
08 Carora
Tabla : Proxima. Es una tabla que sirve para indicar cuales son las ciudades proximas a una ciudad dada.
cod_ciudad cod_ciudad_prox
01 02 Maracay es proxima a Caracas
01 08 La guaira es proxima a Caracas
02 01 Caracas es proxima a Maracay
02 04 Valencia es proxima a Maracay
03 05 Nirgua es proxima a Barquisimeto
03 07 Carora es proxima a Barquisimeto
Como pueden ver aca http://190.37.138.209:8080/Copia de publicar_viaje.asp, utilizo este esquema para construir una ruta usando listas dependientes, pues, al seleccionar el origen, solo permite seleccionar en la siguiente lista a ciudades "proximas". Asi sucesivamente hasta completar la ruta.
Esto ciertamente funciona, pero no permite ver al usuarios las implicaciones de usar una u otra ruta.
Queremos que el usuario elija el origen y el destino y el sistema sea capáz de generar las rutas y mostrarlas, tal como hace esta web argentina http://www.ruta0.com. Asi el usuario podrá elegir la ruta que más le conviene, de acuerdo a distancia y tiempo, o cualquier otro factor que el considere.
¿Existe algún algoritmo pre-hecho que resuelva ese problema?
¿Se les ocurre alguna idea? La estructura planteada actualmente puede ser modificada o eliminada, si encontrarmos la manera de optimizar este proceso.
Bienvenidos todos los comentarios....
PD: Pongo este post es ASP porque nuestra aplicación está en ASP, sin embargo, son bienvenidos comentarios de todo tipo, usando cualquier lenguaje web.
Saludos y mil gracias,
Luis Vásquez