You are on page 1of 10

1

Modelos de Redes: Problemas de Modelos de Redes: Problemas de


la Ruta m la Ruta m s corta s corta
M. En C. Eduardo Bustos Far M. En C. Eduardo Bustos Far as as
2
Problemas de la Ruta m Problemas de la Ruta m s corta s corta
Problemas de la Ruta m Problemas de la Ruta m s corta s corta
Se trata de encontrar la ruta de menor distancia, o Se trata de encontrar la ruta de menor distancia, o
costo ,a entre el punto de partida o nodo inicial y el costo ,a entre el punto de partida o nodo inicial y el
destino o nodo terminal. destino o nodo terminal.
Definici Definici n del Problema n del Problema
- - Se tienen n nodos, partiendo del nodo inicial 1 y terminando en Se tienen n nodos, partiendo del nodo inicial 1 y terminando en
el nodo final n. el nodo final n.
- - Arcos Arcos bi bi- -direccionales conectan los nodos i y j con distancias direccionales conectan los nodos i y j con distancias
mayores que cero, mayores que cero, d d
ij ij
- - Se desea encontrar la ruta de m Se desea encontrar la ruta de m nima distancia que conecta el nima distancia que conecta el
nodo 1 con el nodo n. nodo 1 con el nodo n.
4
Soluci Soluci n n- -Analog Analog a con un problema de a con un problema de
redes redes
El algoritmo de El algoritmo de Dijkstra Dijkstra s s: :
- -Encontrara la distancia m Encontrara la distancia m nima del nodo de nima del nodo de
partida a los otros nodos, en el orden que se partida a los otros nodos, en el orden que se
encuentran los nodos con respecto al nodo de encuentran los nodos con respecto al nodo de
inicio. inicio.
- - Este algoritmo encuentra la ruta m Este algoritmo encuentra la ruta m s corta s corta
desde el nodo de inicio a todos los nodos de desde el nodo de inicio a todos los nodos de
la red. la red.
5
Algoritmos de Algoritmos de Dijkstra Dijkstra Para Ruta Para Ruta
M M s Corta s Corta
Estos son algoritmos de etiquetado, los Estos son algoritmos de etiquetado, los
cuales, en t cuales, en t rminos generales, rminos generales,
encuentran la ruta m encuentran la ruta m s corta entre dos s corta entre dos
nodos, inicial nodos, inicial a a y final y final z, z, de la siguiente de la siguiente
manera: manera:
Los nodos de la red son etiquetados con Los nodos de la red son etiquetados con
n n meros. meros.
Al principio, todos tienen la etiqueta 00 Al principio, todos tienen la etiqueta 00
excepto el nodo inicial excepto el nodo inicial a a que tiene la que tiene la
etiqueta 0. etiqueta 0.
6
Los arcos tienen un peso Los arcos tienen un peso wij wij que que
representa la distancia del enlace representa la distancia del enlace
( (i i, , j j). ).
Los algoritmos de Los algoritmos de Dijkstra Dijkstra
renumeran los nodos, de manera renumeran los nodos, de manera
que cuando el nodo que cuando el nodo z z tiene una tiene una
etiqueta permanente, se ha etiqueta permanente, se ha
obtenido la soluci obtenido la soluci n final. n final.
2
7
Algoritmo de la ruta m Algoritmo de la ruta m s s
corta corta
1. 1. Objetivos para n Objetivos para n- - sima sima interacci interacci n: n:
Encontrar el n Encontrar el n- - simo simo nodo m nodo m s s
cercano al origen. (Este paso se cercano al origen. (Este paso se
repetir repetir para n = 1,2, para n = 1,2, , hasta que el , hasta que el
n n- - simo simo nodo m nodo m s cercano sea el nodo s cercano sea el nodo
destino). destino).
2. 2. Datos para la n Datos para la n- - sima sima interacci interacci n: n n: n- -1 1
nodos m nodos m s cercanos al origen s cercanos al origen
(encontrados en las interacciones (encontrados en las interacciones
previas), incluyendo su ruta m previas), incluyendo su ruta m s corta s corta
y la distancia desde el origen. (Estos y la distancia desde el origen. (Estos
nodos y el origen se llamar nodos y el origen se llamar n nodos n nodos
resueltos; el resto son nodos no resueltos; el resto son nodos no
resueltos). resueltos).
8
3. 3. Candidatos para el n Candidatos para el n- - simo simo nodo nodo
m m s cercano: Cada nodo resuelto s cercano: Cada nodo resuelto
que que sta conectado directamente sta conectado directamente
por una ligadura con uno o m por una ligadura con uno o m s s
nodos no resueltos proporcionan nodos no resueltos proporcionan
un candidato, y este es el nodo no un candidato, y este es el nodo no
resuelto que tiene la ligadura m resuelto que tiene la ligadura m s s
corta. (Los empates proporcionan corta. (Los empates proporcionan
candidatos adicionales). candidatos adicionales).
9
4. 4. C C lculo del n lculo del n- - simo simo nodo m nodo m s cercano: s cercano:
Para cada nodo resuelto y sus Para cada nodo resuelto y sus
candidatos, se suma la distancia entre candidatos, se suma la distancia entre
ellos y la distancia de la ruta m ellos y la distancia de la ruta m s corta s corta
desde el origen a este nodo resuelto. desde el origen a este nodo resuelto.
El candidato con la distancia total m El candidato con la distancia total m s s
peque peque a es el n a es el n- - simo simo nodo m nodo m s s
cercano (los empates proporcionan cercano (los empates proporcionan
nodos resueltos adicionales y su ruta nodos resueltos adicionales y su ruta
m m s corta es la que genera esa s corta es la que genera esa
distancia). distancia).
10
EJ EMPLO 1 EJ EMPLO 1
Ruta m Ruta m s corta s corta
Lineas Lineas Fairway Fairway Van Van
Determine la ruta mas corta entre Seattle y El Paso Determine la ruta mas corta entre Seattle y El Paso
para la siguiente red de carreteras. para la siguiente red de carreteras.
Salt Lake City
1
2
3 4
5
6
7 8
9
10
11
12
13
14
15
16
17
18
19
El Paso
Seattle
Boise
Portland
Butte
Cheyenne
Reno
Sac.
Bakersfield
Las Vegas
Denver
Albuque.
Kingman
Barstow
Los Angeles
San Diego
Tucson
Phoenix
599
691
497
180
432
345
440
102
452
621
420
526
138
291
280
432
108
469
207
155
114
386
403
118
425 314
602
3
SEA. SEA.
Salt Lake City
1 2
3 4
5
6
7 8
9
10
11
12
13
14
15
16
17
18
19
El Paso
Seattle
Boise
Portland
Butte
Cheyene
Reno
Sac.
Bakersfield
Las Vegas
Denver
Albuque.
Kingman
Barstow
Los Angeles
San Diego
Tucson
Pheonix
599
691
497
180
432
345
440
102
452
621
420
526
138
291
280
432
108
469
207
155
114
386
403
118
425 314
BUT
599
POR
180
497
BOI
5
9
9
1
8
0
4
9
7
POR. POR.
BOI
432
SAC
602
+
+
=
=
6
1
2
7
8
2
BOI
BOI
BOI. BOI.
345
SLC
+
=
8
4
2
BUT. BUT.
SLC
420
CHY.
691
+
+
=
=
1
1
1
9
1
2
9
0
SLC.
SLC SLC.
SAC. SAC.
Una representacin del algoritmo de Dijkstras
Y de esta manera
hasta cubrir toda la red..
14
Soluci Soluci n n - - Analog Analog a de un problema de programaci a de un problema de programaci n n
lineal lineal
- - Variables de decisi Variables de decisi n n
X X
ij ij
= 1 si un transporte debe viajar por la carretera que = 1 si un transporte debe viajar por la carretera que
une la ciudad i con la ciudad j. une la ciudad i con la ciudad j.
0 0 En cualquier otro caso En cualquier otro caso
Objetivo = Minimizar Objetivo = Minimizar d d
ij ij
X X
ij ij
15
7
2
Salt Lake City
1
3 4
Seattle
Boise
Portland
599
497
180
432
345
Butte
[El numero de carreteras para salir de Seattle (Nodo de inicio)] = 1
X12 + X13 + X14 = 1
De una forma similar:
[El nmero de carreteras para llegar a El Paso (Nodo final)] = 1
X12,19 + X16,19 + X18,19 = 1
[El nmero de carreteras para entrar a la cuidad] =
[El nmero de carreteras para salir de la ciudad].
Por ejemplo, en Boise(Ciudad 4):
X14 + X34 +X74 = X41 + X43 + X47.
Sujeto a las siguientes restricciones
Restricciones mayores que cero
16
Solucin Optima por WINQSB
Solucin Optima por WINQSB
17
EJ EMPLO 2 EJ EMPLO 2
Ruta m Ruta m s corta s corta
18
Una empresa distribuidora surte a 7 supermercados con Una empresa distribuidora surte a 7 supermercados con
distintas ubicaciones. distintas ubicaciones.
Los administradores desean conocer la distancia m Los administradores desean conocer la distancia m s corta s corta
a cada uno de ellos, as a cada uno de ellos, as como las distancias ( como las distancias (Km Km) )
4
19
SOLUCI SOLUCI N N
CON WINQSB CON WINQSB
20
M M todo tabular todo tabular
8 2
4
3
3
21 22

23
EJ EMPLO 3 EJ EMPLO 3
RUTA M RUTA M S CORTA S CORTA
24
ENCONTRAR LA RUTA MS CORTA ENTRE O Y T.
LOS NMEROS SOBRE LOS ARCOS SE MIDEN EN
MILLAS.
5
25
SOLUCI SOLUCI N N
26
(2, 0)
27
(2, O)
(4,O)
28
(2, O)
(4,O)
(5,O)
29
(2, O)*
(4,O)*
(5,O)
(2,A)
(4,A)*
30
(2, O)*
(4,O)*
(5,O)
(2,A)
(4,A)*
(7,A)
(3,B)
6
31
(2, O)*
(4,O)*
(5,O)
(2,A)
(4,A)*
(7,A)
(8,B)*
(3,B)
(7,B)*
32
(2, O)*
(4,O)*
(5,O)
(2,A)
(4,A)*
(7,A)
(8,B)*
(3,B)
(7,B)*
(7,E)
33
(2, O)*
(4,O)*
(5,O)
(2,A)
(4,A)*
(7,A)
(8,B)*
(3,B)
(7,B)*
(7,E)
(13,D)*
LA RUTA MS CORTA REQUIERE 13 MILLAS.
34
Forma tabular Forma tabular
35
EJ EMPLO 4 EJ EMPLO 4
RUTA M RUTA M S CORTA S CORTA
36
7
37 38
Soluci Soluci n n
39 40
41 42
8
43 44
45
310
46
47
(0,1)* (110,1)* (110,2) (160,3) (455,1) (610,1)
(185,1)* (295,2)* (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)
48
EJ EMPLO 5 EJ EMPLO 5
RUTA M RUTA M S CORTA S CORTA
9
49
El costo de un autom El costo de un autom vil cuesta 12,000 vil cuesta 12,000
d d lares, el costo de mantenimiento depende lares, el costo de mantenimiento depende
de la edad del auto al inicio del a de la edad del auto al inicio del a o (ver o (ver
tabla). tabla).
Con la finalidad de evitar el costo de Con la finalidad de evitar el costo de
mantenimiento alto, se da como cuota inicial mantenimiento alto, se da como cuota inicial
de un nuevo que es valorado de acuerdo a su de un nuevo que es valorado de acuerdo a su
edad (ver tabla). edad (ver tabla).
La preocupaci La preocupaci n es minimizar el costo neto n es minimizar el costo neto
incurrido en los pr incurrido en los pr ximos 5 a ximos 5 a os. os.
50
50 5 12000
1000 4 9000
2000 3 5000
6000 2 4000
7000 1 2000
PRECIO DEL AUTO POR
COTA INICIAL
EDAD DEL AUTO
PRECIO DE
MANTENIMIENTO
ANUAL
51
SOLUCI SOLUCI N N
52
La red tendr La red tendr a {1,2,3,4,5,6} seis nodos el nodo i a {1,2,3,4,5,6} seis nodos el nodo i
corresponde al inicio del a corresponde al inicio del a o i; para i < j o i; para i < j
El arco (i, j) corresponde a la compra del auto nuevo El arco (i, j) corresponde a la compra del auto nuevo
al inicio del a al inicio del a o i y conservarlo hasta el inicio del a o i y conservarlo hasta el inicio del a o o
j. j.
La longitud del arco (i, j): llamado La longitud del arco (i, j): llamado Ci Ci, j es el costo , j es el costo
neto total incurrido por ser el due neto total incurrido por ser el due o y tener el auto o y tener el auto
desde el inicio del a desde el inicio del a o i hasta el principio del a o i hasta el principio del a o j, si o j, si
se compra un auto nuevo al inicio del a se compra un auto nuevo al inicio del a o i y se da o i y se da
como adelanto al inicio del a como adelanto al inicio del a o j o j
53 54
En miles de pesos: En miles de pesos:
C12 C12 = = 2 2 + + 12 12 7 7 = 7 = 7
C13 C13 = = 2 2 + + 4 4 + + 6 6 = 12 = 12
C14 C14 = = 2 2 + + 4 4 + + 5 5 + + 12 12
2 2 = 21 = 21
C15 C15 =2 + 4 =2 + 4 + 5 + 5 + + 9 9 + + 12 12 1 = 31 1 = 31
C16 C16 =2+ =2+ 4 4 +5 +5 +9 +9 + + 12 12 + 12 = 44 + 12 = 44
C23 C23 = = 2 2 + + 12 12 7 7 = = 7 7
C24 C24 = = 2 2 + + 4 4 + + 12 12 6 6
= = 12 12
C25 C25 =2+ =2+ 4+ 4+ 5 5 + + 12 12 2 2 = 21 = 21
C26 C26 =2 =2 + + 4 4 +5 +5 +9 +9 +12 +12 1 = 31 1 = 31
10
55 56
(31,4)* (31,4)*
(7,5) (7,5) (24,3)* (24,3)*
(12,4) (12,4)
(7,4) (7,4) (19,2)* (19,2)*
(21,3) (21,3)
(12,3) (12,3) (7,3) (7,3)
(31,2) (31,2)
(21,2) (21,2) (12,2) (12,2) (7,2) (7,2)
(44,1) (44,1)
(31,1) (31,1) (21,1) (21,1) (12,1)* (12,1)* (7,1)* (7,1)* (0,1)* (0,1)*
57
2

You might also like