Operaciones II
CAPITULO 1
TEORIA DE REDES
INTRODUCCION
Los problemas de redes, se refieren a:
Determinación de distancias
Flujo de material, inventario o dinero.
R34
R13 R36
V3
TEORIA DE REDES
Algoritmos:
– Prim
– Kruskal
Problema del árbol de expansión mínima
Algoritmo Prim
1. Se selecciona arbitrariamente cualquier nodo y se
conecta al nodo distinto más cercano.
El nodo más cercano es el nodo conectado por
el arco de menor costo.
2. Se identifica el nodo no conectado más cercano a
un nodo conectado y se conectan estos dos nodos.
Este paso se repite hasta que todos los nodos
están conectados. Tendremos entonces a la red
de expansión mínima.
Problema del árbol de expansión mínima
Algoritmo Prim
2 7
2
T
5
5 4
O B D
7
4 1 3 1
4
C E
Problema del árbol de expansión mínima
Empezando por el nodo T:
2 7
2
T
5
5 4
O B D
7
4 1 3 1
4
C E
Problema del árbol de expansión mínima
Algoritmo Kruskal
1. Se inicia con los n “árboles” en la red cuya extensión es
solamente el nodo que los compone y nada más.
2. En cada paso del algoritmo dos árboles se conectan a un árbol
mayor mediante alguno de los arcos potenciales.
En cada paso se eligen los arcos con los menores costos.
2 7
2
T
5
5 4
O B D
7
4 1 3 1
4
C E
Problema del árbol de expansión mínima
Se construyen los árboles identificando los arcos de costo
mínimo:
2 7
2
T
5
5 4
O B D
7
4 1 3 1
4
C E
TEORIA DE REDES
Algoritmos:
– Ford-Fulkerson
– Edmonds-Karp
Estos algoritmos se basan en la búsqueda y
5 3
1
T
9
7 4
O B D
6
4 2 5 1
4
C E
Problema de flujo máximo
- Escogiendo arbitrariamente la trayectoria O-A-D-T
5 3
1 T
9
7 4 c* = min (5, 3, 9) = 3
O B D
6
4 2 5 1
4 E
C A
(3, 0)
(3, 2)
3
1 T
(3, 6)
3
O 7 4
B D
6
Notación: c*, cij 4 2 5 1
4 E
C
Problema de flujo máximo
- Escogiendo la trayectoria O-A-B-D-T
A
(3, 0)
(3, 2)
3
1 T
(3, 6)
3
O 7 4
B D c* = min (2, 1, 4, 6) = 1
6
4 2 5 1
4 E
C
A
(3, 0)
(4, 1) 4
(1, 0)
(4, 5) T
4 (1, 3)
O 7
B D
6
4 2 5 1
4 E
C
Problema de flujo máximo
- Escogiendo la trayectoria O-B-D-T
A
(3, 0)
(4, 1) 4
(1, 0)
(4, 5) T
4 (1, 3)
O 7
B D c* = min (7, 3, 5) = 3
6
4 2 5 1
4 E
C
A
(3, 0)
(4, 1) 7
(1, 0)
(7, 2) T
7 (3, 4) (4, 0)
O B D
6
4 2 5 1
4 E
C
Problema de flujo máximo
- Escogiendo la trayectoria O-B-E-T
A
(3, 0)
(4, 1) 7
(1, 0)
(7, 2) T
7 (3, 4) (4, 0)
O B D c* = min (4, 5, 6) = 4
6
4 2 5 1
4 E
C
A
(3, 0)
(4, 1) 11
(1, 0)
(7, 2) T
11 (7, 0) (4, 0)
O B D
(4, 1) (4, 2)
4 2 1
4 E
C
Problema de flujo máximo
- Escogiendo la trayectoria O-C-E-T
A
(3, 0)
(4, 1) 11
(1, 0)
(7, 2) T
11 (7, 0) (4, 0)
O B D c* = min (4, 4, 2) = 2
(4, 1) (4, 2)
4 2 1
4 E
C
A
(3, 0)
(4, 1) 13
(1, 0)
(7, 2) T
13 (7, 0) (4, 0)
O B D
(2, 2)
C E
Problema de flujo máximo
- Escogiendo la trayectoria O-C-E-D-T
A
(3, 0)
(4, 1) 13
(1, 0)
(7, 2) T
13 (7, 0) (4, 0)
O B D c* = min (2, 2, 1, 2) = 1
(2, 2) (4, 1) (6, 0)
2 1
(2, 2)
C E
A
(3, 0)
(4, 1) 14
(1, 0)
(8, 1) T
14 (7, 0) (4, 0)
O B D
(4, 1) (1, 0) (6, 0)
(3, 1)
2
(3, 1)
C E
Problema de flujo máximo
– Solución óptima
4 3
1 14
T
8
14 7 4
O B D
6
3 2 4 1
3
C E
TEORIA DE REDES
1 [0;-] A
5
Algoritmo de Dijkstra
Iteración 2
1
[0;-] A
2
[3;1] A
3
5
Algoritmo de Dijkstra
Iteración 3
1
[0;-] A
2
[3;1] A
3
4
[8; 2] A
5
Algoritmo de Dijkstra
Iteración 4
1
[0;-] A
2
[3;1] A
3
[10; 1] A
4
[8; 2] A
5
Algoritmo de Dijkstra
Iteración 5
1
[0;-] A
2
[3;1] A
3
[10; 1] A
4
[8; 2] A
5
[12; 4] A