You are on page 1of 11

UNIVERSIDAD VERACRUZANA.

Arte, Ciencia, Luz

Investigacin de Operaciones. Equipo: Barrientos Gonzlez Luis Joel. Maestro. Fecha. Coatzacoalcos, Veracruz, Mxico a 28 de Mayo del 2012.

Algoritmo de la ruta ms corta.


En esta seccin se supone que cada arco de la red tiene una longitud asociada con l. Suponga que se empieza en un nodo particular(digamos , el nodo 1). El problema de encontrar la trayectoria ms corta(trayectoria de longitud mnima) del nodo 1 a cualquier otro nodo en la red se llama problema de trayectoria ms corta. A continuacin se mostraran algunos problemas de trayectoria ruta ms corta. De igual manera se presentan dos algoritmos para resolver redes tanto cclicas(es decir, que contiene bucles lazos) como cclicas: 1.- El algoritmo de Dijkstra. 2.- El algoritmo de Floyd.

Algoritmo de Dijkstra.
Suponiendo que las longitudes de arco son negativas, el mtodo siguiente, conocido como algoritmo de Dijkstra, se puede usar para determinar la trayectoria ms corta de un nodo(digamos, el nodo 1)a los dems nodos. Para empezar marque el nodo 1 con una etiqueta permanente de 0. Sea ui la distancia mas corta entre el nodo fuente 1 hasta el nodo i. Se define dij 0, como la longitud de arco (i,j). Entonces el algoritmo define la etiqueta de un nodo j como: [uj, i] = [ui + dij, i], dij 0 Como puede notarse la etiqueta de inicio es [0, ---], que indica que no tiene nodo predecesor. Las etiquetas de este algoritmo son de dos tipos: las temporales y las permanentes. Una etiqueta temporal se modifica si se puede encontrar la ruta mas corta a un nodo. Nota. Cuando no se pueden encontrar rutas mejores cambiamos el estado de la etiqueta de temporal a permanente.

Procedimiento para hacer el Algoritmo.


Paso 0.
Paso i. Etiquetar el nodo fuente (nodo 1) con la etiqueta permanente [0, ---]. Igualar i = 1. a) Calcular las etiquetas temporales [ui, dij, i] para cada nodo j al que pueda llegarse desde el nodo i, siempre y cuando j no tenga una etiqueta permanente. Si el nodo j ya est etiquetado con [uj, k] por otro nodo k, y si ui + dij < uj, sustituir [uj, k].

b) Si todos los nodos tienen ya etiquetas permanentes, detenerse. En caso contrario seleccionar la etiqueta [ur, s] que tenga la distancia mas corta (=ur) entre todas las etiquetas temporales (los empates se rompen de forma arbitraria). Hacer i = r y repetir el paso i.

Problema sobre el Algoritmo de Djikstra.


A continuacin se muestra un ejemplo. Ejemplo 1. La siguiente red muestra las longitudes en millas entre diferentes ciudades representadas como nodos. Determinar las rutas mas cortas entre la ciudad 1 y el resto de las ciudades restantes.

Iteracin 0. Asignar la etiqueta permanente [0,] al nodo 1. Iteracin 1. Se puede llegar a los nodos 2 y 3 desde el nodo 1 (ltimo que se etiquet en forma permanente). As, la lista de los nodos etiquetados (temporales y permanentes) es la siguiente:

Para las dos etiquetas temporales [100, 1] y [30, 1], el nodo 3 produce la menor distancia (u3 30). Entonces, se cambia el estado del nodo 3 a permanente. Iteracin 2. Del nodo 3 se puede ir a los nodos 4 y 5, y la lista de nodos etiquetados es

El estado de la etiqueta temporal [40, 3] en el nodo 4 se cambia a permanente (u4 40).

Iteracin 3. Del nodo 4 se puede ir a los nodos 2 y 5. Entonces la lista actualizada de los nodos etiquetados es:

La etiqueta temporal del nodo 2, [100, 1], en la iteracin 2 se cambia a [55, 4] en la iteracin 3, para indicar que se ha encontrado una ruta ms corta que pasa por el nodo 4. Tambin, en la iteracin 3, el nodo 5 tiene dos etiquetas alternativas con la misma distancia u5 90. La lista para la iteracin 3 indica que la etiqueta para el nodo 2 ya es permanente.

Iteracin 4. Del nodo 2 slo se puede ir al nodo 3. Sin embargo, el nodo 3 tiene una etiqueta permanente y ya no se puede volver a etiquetar. La nueva lista de etiquetas queda igual que en la iteracin 3, salvo que la etiqueta en el nodo 2 ya es permanente. Esto deja al nodo 5 como la nica etiqueta temporal. Como el nodo 5 no conduce a otros nodos, su estado se vuelve permanente y el proceso termina. Los clculos del algoritmo se pueden hacer con ms facilidad en la red, como se ve en la figura 6.15. La ruta ms corta entre el nodo 1 y cualquier otro nodo de la red se determina comenzando en el nodo destino o final, y retrocediendo por los nodos con la informacin que dan las etiquetas permanentes. Por ejemplo, la secuencia siguiente determina la ruta ms corta del nodo 1 al nodo 2:

Por lo anterior, la ruta buscada es 1 S 3 S 4 S 2, con una longitud total de 55 millas.

Algoritmo de Floyd.

You might also like