Problemas de la Ruta má más corta Modelos de Redes: Problemas de la Ruta má más corta M. En C. Eduardo Bustos Farí Farías 2 Problemas de la Ruta má más corta Solució Solución-Analogí Analogía redes Se trata de encontrar la ruta de menor distancia, o costo ,a entre el punto de partida o nodo inicial y el destino o nodo terminal. con un problema de El algoritmo de Dijkstra’ Dijkstra’s: -Encontrara la distancia mí mínima del nodo de partida a los otros nodos, en el orden que se encuentran los nodos con respecto al nodo de inicio. Definició Definición del Problema - Se tienen n nodos, partiendo del nodo inicial 1 y terminando en el nodo final n. - Arcos bibi-direccionales conectan los nodos i y j con distancias mayores que cero, dij - Se desea encontrar la ruta de mí mínima distancia que conecta el nodo 1 con el nodo n. - Este algoritmo encuentra la ruta má más corta desde el nodo de inicio a todos los nodos de la red. 4 Algoritmos de Dijkstra Para Ruta Más Corta Estos son algoritmos de etiquetado, los cuales, en té generales, términos encuentran la ruta má más corta entre dos nodos, inicial a y final z, de la siguiente manera: Q Los nodos de la red son etiquetados con números. Q Al principio, todos tienen la etiqueta 00 excepto el nodo inicial a que tiene la etiqueta 0. 5 Los arcos tienen un peso wij que representa la distancia del enlace (i, j). algoritmos de Dijkstra Q Los renumeran los nodos, de manera que cuando el nodo z tiene una etiqueta permanente, se ha obtenido la solució solución final. Q 6 1 Algoritmo de la ruta má más corta 1. Objetivos para nn-ésima interacció interacción: Encontrar el nn-ésimo nodo má más cercano al origen. (Este paso se repetirá repetirá para n = 1,2,… 1,2,…, hasta que el n-ésimo nodo má más cercano sea el nodo destino). 2. Datos para la nn-ésima interacció interacción: nn-1 nodos má más cercanos al origen (encontrados en las interacciones previas), incluyendo su ruta má más corta y la distancia desde el origen. (Estos nodos y el origen se llamará llamarán nodos resueltos; el resto son nodos no 7 resueltos). 3. Candidatos para el nn-ésimo nodo más cercano: Cada nodo resuelto que ésta conectado directamente por una ligadura con uno o má más nodos no resueltos proporcionan un candidato, y este es el nodo no resuelto que tiene la ligadura má más corta. (Los empates proporcionan candidatos adicionales). 8 4. Cálculo del nn-ésimo nodo má más cercano: Para cada nodo resuelto y sus candidatos, se suma la distancia entre ellos y la distancia de la ruta má más corta desde el origen a este nodo resuelto. El candidato con la distancia total má más pequeñ pequeña es el nn-ésimo nodo má más cercano (los empates proporcionan nodos resueltos adicionales y su ruta más corta es la que genera esa distancia). EJEMPLO 1 Ruta má más corta 9 10 Seattle 1 Lineas Fairway Van Determine la ruta mas corta entre Seattle y El Paso para la siguiente red de carreteras. 497 180 3 Sac. 691 420 345 Reno 602 138 10 114 7 526 8 102 432 621 108 155 Barstow Denver 9 Las Vegas 11 280 469 15 Albuque. Phoenix 386 425 12 403 16 118 17 452 Kingman 207 14 San Diego 440 6 13 Los Angeles Cheyenne Salt Lake City 291 Bakersfield Butte 2 Boise 4 432 Portland 5 599 Tucson 18 314 19 El Paso 2 Una representación del algoritmo de Dijkstra’s 1119 + 420 SLC.= SLC BUT CHY. BOI BOI BOI. Seattle 1 497 497 = 497 180 432 Portland 138 4 345 Reno 526 102 Los Angeles … 11Y de esta manera Kingman hasta cubrir 15toda la red..12 108 14 3 497 432 469 207 Albuque. Pheonix 386 403 16 118 17 425 Tucson Sujeto a las siguientes restricciones 180 452 155 Barstow 13 Seattle Objetivo = Minimizar Σ dijXij Denver 9 Las Vegas 280 San Diego 1 8 6 291 114 + 602 = SACSAC. Cheyene Salt Lake City 440 7 621 782 POR 691 Boise 10 Bakersfield 180 POR. Xij = 1 si un transporte debe viajar por la carretera que une la ciudad i con la ciudad j. 0 En cualquier otro caso Butte 432 5 Sac. 612 + 432 = BOIBOI 2 420 3 180 599 Solució Solución - Analogí Analogía de un problema de programació programación lineal - Variables de decisió decisión 842 345 = + SLC SLC. SLC 1290 691 + SEA. 599 599 BUT. 18 14 19 314 El Paso Butte 599 2 Boise 4 345 Portland Salt Lake City 7 [El numero de carreteras para salir de Seattle (Nodo de inicio)] = 1 X12 + X13 + X14 = 1 De una forma similar: [El número de carreteras para llegar a El Paso (Nodo final)] = 1 X12,19 + X16,19 + X18,19 = 1 Restricciones mayores que cero Solución SoluciónOptima Optimapor porWINQSB WINQSB [El número de carreteras para entrar a la cuidad] = [El número de carreteras para salir de la ciudad]. Por ejemplo, en Boise (Ciudad 4): 15 X14 + X34 +X74 = X41 + X43 + X47. 16 Una empresa distribuidora surte a 7 supermercados con distintas ubicaciones. Los administradores desean conocer la distancia má más corta a cada uno de ellos, así así como las distancias (Km (Km)) EJEMPLO 2 Ruta má más corta 17 18 3 Método tabular 3 3 8 2 SOLUCIÓ SOLUCIÓN CON WINQSB 4 19 20 Q 21 22 EJEMPLO 3 RUTA MÁ MÁS CORTA ENCONTRAR LA RUTA MÁS CORTA ENTRE O Y T. LOS NÚMEROS SOBRE LOS ARCOS SE MIDEN EN MILLAS. 23 24 4 (2, 0) SOLUCIÓN 25 (2, O) 26 (2, O) (5,O) (4,O) (4,O) 27 (2, O)* 28 (2, O)* (7,A) (5,O) (2,A) (4,A)* (5,O) (2,A) (4,A)* (3,B) (4,O)* (4,O)* 29 30 5 (2, O)* (2, O)* (7,A) (8,B)* (7,A) (8,B)* (7,E) (5,O) (2,A) (4,A)* (5,O) (2,A) (4,A)* (3,B) (7,B)* (4,O)* (4,O)* 31 (3,B) (7,B)* 32 (2, O)* Forma tabular (7,A) (8,B)* (7,E) (13,D)* (5,O) (2,A) (4,A)* (3,B) (7,B)* (4,O)* LA RUTA MÁS CORTA REQUIERE 13 MILLAS. 33 34 35 36 EJEMPLO 4 RUTA MÁ MÁS CORTA 6 Solución 37 38 39 40 41 42 7 43 44 45 46 310 EJEMPLO 5 (0,1)* (110,1)* (110,2) (185,1)* (160,3) (295,2)* (455,1) (610,1) (310,2) (420,2)*(455,2) (565,2) (235,3) (420,3) (360,3) (545,3) (160,4) (455,4) (235,4) (530,4)* (160,5) (580,5) 47 RUTA MÁ MÁS CORTA 48 8 Q Q Q El costo de un automó automóvil cuesta 12,000 dólares, el costo de mantenimiento depende de la edad del auto al inicio del añ año (ver tabla). Con la finalidad de evitar el costo de mantenimiento alto, se da como cuota inicial de un nuevo que es valorado de acuerdo a su edad (ver tabla). La preocupació preocupación es minimizar el costo neto incurrido en los pró próximos 5 añ años. 49 PRECIO DE MANTENIMIENTO ANUAL 2000 4000 5000 9000 12000 Q SOLUCIÓN Q Q PRECIO DEL AUTO POR COTA INICIAL EDAD DEL AUTO 1 2 3 4 5 7000 6000 2000 1000 50 La red tendrí tendría {1,2,3,4,5,6} seis nodos el nodo i corresponde al inicio del añ año i; para i < j El arco (i, j) corresponde a la compra del auto nuevo al inicio del añ año i y conservarlo hasta el inicio del añ año j. La longitud del arco (i, j): llamado Ci, Ci, j es el costo neto total incurrido por ser el dueñ dueño y tener el auto desde el inicio del añ año i hasta el principio del añ año j, si se compra un auto nuevo al inicio del añ año i y se da como adelanto al inicio del añ año j 51 52 En miles de pesos: C12 = 2 C13 = 2 C14 = 2 – 2 C15 =2 + 4 + 5 C16 =2+ 4 C23 = 2 C24 = 2 = 12 C25 =2+ 4+ C26 =2 + 53 50 + + + = 21 + +5 + + 12 4 4 – + + 7 6 5 =7 = 12 + 9 +9 12 4 + + – + 12 12 7 12 – 1 = 31 + 12 = 44 = 7 – 6 5 4 + +5 12– 12– +9 2 +12 = 21 – 1 = 31 12 54 9 (0,1)* (7,1)* (12,1)* (7,2) (21,1) (12,2) (7,3) (19,2)* (31,1) (21,2) (12,3) (7,4) (44,1) (24,3)* (7,5) (31,2) (21,3) (12,4) (31,4)* 55 56 2 57 10