You are on page 1of 5

REDES Y SIMULACIN

II. PROBLEMA DE LA RUTA MS CORTA - RUTA MNIMA


Definicin: Dada una red de n nodos ( i ) conectados por ramas ( i, j ), asociadas a un costo Cij; el
objetivo es determinar n-1 rutas mnimas, desde un nodo ( i ) fijado como origen, hasta los restantes n-1
nodos.
Su objetivo es encontrar la ruta ms corta (la trayectoria con la mnima distancia total) del origen al
destino.
El problema de la ruta ms corta incluye un juego de nodos conectados donde slo un nodo es
considerado como el origen y slo un nodo es considerado como el nodo destino. El objetivo es
determinar un camino de conexiones que minimizan la distancia total del origen al destino. El problema
se resuelve por el "algoritmo de etiquetado".
2.1 ALGORITMO DE DANTZING
PASO 1. Construya una lista maestra, tabulando bajo cada nodo en orden ascendente segn la
distancia, las ramas o arcos que salen de l. Cada arco bajo un nodo dado se escribe con se nodo
como su nodo inicio. Omtase de la lista cualquier arco que tenga a la fuente como su segundo nodo o
que tenga al destino como su primer nodo.
PASO 2. Marque con un asterisco a la fuente y asgnele el valor cero. Localice el arco ms corto que
coincida con la fuente y encierre en un crculo. Marque con un asterisco al segundo nodo de este arco y
asigne a este nodo un valor igual a la distancia del arco. Elimine de la lista maestra todos aquellos otros
arcos que tengan como segundo nodo al que se acaba de marcar con asterisco.
PASO 3. Si el nodo que se acaba de marcar con asterisco es el destino, contine con el paso 5, en
caso contrario contine con el paso 4.
PASO 4. Considere en la lista maestra actual, todos los nodos marcados con asterisco que tengan bajo
ellos arcos encerrados en crculo. Para cada uno de ellos agregue el valor asignado al nodo, a la
distancia del arco sin crculo ms corta bajo l. Identifique a la menor de estas sumas y encierre en un
crculo al arco cuya distancia contribuyo al total (M). Marque con un asterisco al segundo nodo de este
arco y asgnele el valor M. Elimine de la lista maestra todos los arcos que tengan al nodo que acaba de
marcarse con asterisco, como segundo nodo. Contine con el paso 3.
PASO 5. Una ruta ms corta se obtiene recursivamente, iniciando con el destino e incluyendo en la ruta
cada arco encerrado en crculo, cuyo segundo nodo pertenezca a la ruta.

2.1.1 EJEMPLOS DE APLICACIONES DE RUTA MS CORTA:


PROBLEMA 1.
La direccin del Parque Nacional lo ha reservado para paseos y campamentos. No se permite la
entrada de automviles al parque, pero existe un sistema de caminos angostos para tranvas y jeeps
conducidos por los guardabosques. En la figura se muestra este sistema de caminos (sin curvas), en
donde O es la localizacin de la entrada al parque, los otros nodos designan la localizacin de
estaciones de guardabosques (y otras instalaciones). Los nmeros en los arcos dan la distancia de
estos caminos sinuosos en Km.

II AGH / II FCM

Pgina 1

REDES Y SIMULACIN
El parque contiene un paisaje maravilloso en la estacin T; se usa un nmero pequeo de tranvas para
transportar visitantes de la entrada del parque a la estacin T, y de regreso, para quienes desean
contemplar este paisaje sin necesidad de caminar.
El administrador del parque desea determinar cul ruta de la entrada a la estacin T, tiene la distancia
total menor, para la operacin de los tranvas.

2
5

D
7

1
4

1
E

Problema 2.- Reemplazo de equipo. Rent Car est desarrollando un plan de reposicin de su flotilla de
automviles para un horizonte de planeacin de 4 aos, que comienza el 1 de Enero del 2015 y
termina el 31 de diciembre del 2018. Al iniciar cada ao se toma la decisin si un auto se debe
mantener en operacin o se debe sustituir. Un automvil debe estar en servicio durante un ao como
mnimo, y 3 aos como mximo. La tabla siguiente muestra el costo de reposicin en funcin del ao de
adquisicin del vehculo y los aos que tiene en funcionamiento.
EQUIPO
ADQUIRIDO AL
COMENZAR
2015
2016
2017
2018

COSTO DE REPOSICIN ($) PARA LOS AOS EN


OPERACIN
1
2
3
4000
5400
9800
4300
6200
8700
4800
7100
--4900
-----

9800
5400

4000

7100
4300

4800

4900

6200

8700

II AGH / II FCM

Pgina 2

REDES Y SIMULACIN
PROBLEMA 3.
Una empresa de Distribucin de maz (nodo 1) entrega semanalmente a diferentes molinos (puntos 2,
3, 4, 5, 6 y 7) unidades de 4 toneladas a cada uno, para ello requiere conocer la ruta ms corta en km
hacia cada uno de estos puntos.
Determine la ruta ms corta entre el nodo 1 y cualquier otro nodo de la red.

6
2

6
6

6
1

7
3

3
7

2.2 ALGORITMO DIJKSTRA DE ETIQUETAS, RUTA MNIMA EN RED NO ORIENTADA


El algoritmo de Dijkstra para ruta mnima utiliza la etiqueta general: (# Identificacin del nodo
precedente, acumulacin del costo) que se coloca en cada uno de los nodos de la red, ya sea con
carcter permanente P o bien temporal t. Los pasos del algoritmo son los siguientes:
1. El nodo origen siempre se etiqueta con: ( -, 0 ) P
2. A partir del ltimo nodo con etiqueta permanente, se etiquetan temporalmente ( t ) todos los nodos
sin etiqueta permanente, conectados directamente al mismo.
3. Se inicia la revisin de las etiquetas temporales (t), en los nodos que tengan dos etiquetas
eliminando la de costo mayor, a continuacin se comparan las temporales que an quedan, con el
criterio de costo menor se elige una para permanencia. En caso de empate se hacen permanentes
las que estn en esa condicin.
4. Se repite el procedimiento desde el paso 2, mientras existan nodos t para hacerlos P y se termina
ordenando en tabla, las n-1 rutas mnimas encontradas.

2.2.1. Ejemplo. Ruta mnima, aplica algoritmo de Dijkstra.


La siguiente red es no orientada, con un total de ocho nodos de los cuales se fija como origen al nodo
#8. Determine las rutas mnimas desde el origen hasta los 8 - 1 = 7 nodos restantes, utilizando el
algoritmo de Dijkstra.

II AGH / II FCM

Pgina 3

REDES Y SIMULACIN

1. Se inicia la aplicacin del algoritmo en el paso 1 colocando en nodo origen #8 la etiqueta (-, 0 )P,
el cual tiene como nodos directos a #5, #6 y #7.
2. Se procede en el paso 2 al etiquetado temporal con:
a. # 5, ( 8, 0 + 14 = 14 )t;
b. # 6, ( 8, 0+7 = 7 ) t;
c. # 7, ( 8, 0 + 8 = 8 ) t;
d. los otros nodos (1, 2, 3, 4) an no se etiquetan. Slo los nodos # 5, # 6 y # 7, tienen
etiqueta temporal,
3. En revisin del paso 3 resulta: mnimo costo respectivo (14, 7, 8) = 7
C 8,6 = 7, lo que
significa que la etiqueta de nodo # 6 pasa a permanente escribiendo as: # 6, ( 8, 7 ) P.
4. Se repite desde paso 2, partiendo de nodo # 6 (recin anotado P) que tiene como nodos directos
a # 2, 3, 4, 5, 7 resultando las temporales t siguientes:
a. #2,(6, 7+15=22);
b. #3,(6, 7+8=15);
c. #4,(6, 7+13=20);
d. #5,(6, 7+6=13); etiqueta anterior # 5, ( 8, 0 + 14 = 14 )t;
e. #7,(6,7+9 =16); etiqueta anterior # 7, ( 8, 0 + 8 = 8 )t;
f. En el nodo #5 se elimina el temporal (8,14)t y del nodo #7, se elimina el temporal (6,16)t,
pues tienen dos etiquetas, y estas son las de mayor costo respectivamente.
5. En paso 3 se revisa: mnimo costo en temporal (22, 15, 20, 13, 8) = 8
C 8,7 = 8, significa
que la etiqueta del nodo #7 debe pasar a permanente, anotando as: #7 ( 8, 8) P.
6. Hasta ahora, los nodos #8, #6 y #7 tienen etiqueta permanente, los nodos restantes (excepto el
#1) tienen etiqueta t temporal. Se inicia una nueva iteracin del algoritmo de Dijkstra desde el
paso 2, partiendo del nodo #7, ltimo en pasar a permanencia, el cual tiene como nico nodo
directo el #4 (pues los nodos #6 y 8 ya tienen permanencia), procediendo con su etiqueta
temporal:
a. #4, ( 7, 8+11=19 ) t.
7. En primera revisin de paso3, resulta eliminada la etiqueta temporal #4, (6, 20)t y se mantiene la
etiqueta temporal #4, ( 7, 8+11=19 ) t.
8. La siguiente revisin resulta: mnimo costo ( 22, 15, 19, 13 ) = 13
C 6,5 = 6, significa, la
etiqueta de nodo #5 pasa a permanente sealando as: # 5 ( 6, 13 ) P.
9. Para continuar conviene anotar que los nodos # 8, 6, 7, 5, tienen permanencia, los nodos # 2, 3,
4, tienen temporal, el nodo # 1 an no se etiqueta. Partiendo del nodo # 5 se observa que su
nico nodo directo para etiqueta temporal es el # 2, ya que en los nodos # 6 y # 8, hay
permanencia, entonces:
a. # 2, ( 5, 13 + 5 =18 ) t;
10. Aqu mismo se elimina la temporal #2 ( 6, 22 ) t; se procede a la revisin comparando
temporales: mnimo costo ( 18, 15, 19 ) = 15
C6,3 = 8, significa que la etiqueta en nodo #3
pase a permanente anotando: #3 (6, 15) P.
11. Ahora los nodos # 8, 6, 7, 5, y 3, tienen permanencia; los nodos # 2 y # 4, tienen temporal; el # 1
an no se etiqueta. El nodo # 3, tiene directos a #1, #2, # 4 y quedan con t:
a. # 1,(3, 15+7=22 ) t;
b. # 2,( 3, 15+10=25) t;
c. # 4(3, 15+4=19) t;
II AGH / II FCM

Pgina 4

REDES Y SIMULACIN
12. Toca eliminar la temporal duplicada # 2 ( 3, 25 ) t; con respecto al nodo # 4, se tienen dos
etiquetas pero empatadas en el costo, por lo cual no hay eliminacin y se conservan; se procede
a la revisin de las temporales resultando como sigue: mnimo costo ( 22, 18, 19, 19 ) = 18
C 5,2 = 5, significa que la etiqueta del nodo # 2 debe hacerse permanente as: # 2 ( 5, 18 ) P.
13. Se anota ahora que los nodos # 8, 6, 7, 5, 3, 2, ya tienen etiqueta permanente; los nodos # 1 y #
4, tienen temporal.
14. Repitiendo con el paso 2, se etiqueta con temporal el nodo #1, (2, 18+12=30) t, pues los nodos #
3, 5 y 6, tambin directos del # 2, ya tienen permanencia; esta ltima temporal se elimina por
duplicidad en el nodo # 1 y se procede a la comparacin:
a. Mnimo costo (24,19,19)=19
C 7,4 = 11 y C 3,4 = 4, lo cual significa que la situacin
de empate resulta en dos rutas alternativas para llegar al nodo # 4 sealando con doble
etiqueta permanente as: # 4 ( 3, 19) P y ( 7, 19) P.
15. Con excepcin del nodo # 1, todos los nodos tienen carcter permanente, se procede a etiquetar
temporalmente al nodo # 1, ( 4, 19 + 5 = 24 ) t; pero se elimina la misma etiqueta temporal
#1(4,24)t por duplicidad y costo alto, quedando sola la etiqueta que se convierte a permanente
en el nodo # 1: ( 3, 22 ) P.
16. Se termina el algoritmo de Dijkstra cuando todos los nodos tienen etiqueta permanente. La
solucin del problema de ruta mnima para una red no orientada se puede completar resumiendo
en forma tabular, las n-1 rutas determinadas. Tambin deben sealarse las ramas resultantes de
la aplicacin del algoritmo en la misma red, tal como se muestra a continuacin en el ejemplo
Ruminod1 red no orientada de ruta mnima mostrando las etiquetas permanentes y temporales,
resultado de la aplicacin del algoritmo de Dijkstra. Las ramas en lnea gruesa sealan la ruta
mnima del origen #8 hacia cada nodo.

(5,18)t P
(3,25)t (6,22)t

(6,13) tP
(8,14)t

(2,30)t
(3,22)tP

(6,15)t P

(8,7) P
(-,0) P

(4,24)t

(6,20)t
(3,19)tP
(7,19)tP

II AGH / II FCM

(8,8)t P
(6,16)t

Pgina 5