Sei sulla pagina 1di 44

Investigación de

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.

Permiten un mejor análisis de importantes


problemas de optimización.
INTRODUCCION
Los modelos de redes son modelos visuales
más sencillos de formular que los equivalentes
en programación lineal, representando en
forma descriptiva los aspectos importantes del
problema y posibilitando la solución para
evaluar en forma eficiente problemas
complejos.
TEORIA DE REDES
En forma general:

 Un problema de maximización de beneficios


se convertirá en una búsqueda del camino más
largo.

 Mientras que uno de minimización del costo,


se convierte en la búsqueda del camino más
corto a través de un diagrama de red.
TEORIA DE REDES
Los modelos de redes pueden representarse y
resolverse como programas lineales.

Debido al gran número de variables y


restricciones involucradas, es poco recomendable
emplear el método simplex.

Su estructura especial permite el desarrollo de


algoritmos muy eficientes basados en la teoría de
la programación lineal.
TEORIA DE REDES
Los modelos de optimización de redes se pueden
representar como:
 Problema del árbol de expansión mínima
 Problema del flujo máximo
 Problema de flujo a costo mínimo
 Problema de la ruta más corta
TEORIA DE REDES
Los modelos mencionados se basan en los grafos,
los cuales se pueden definir utilizando dos
conjuntos.

El primero (V), representa n puntos en el plano,


llamados vértices;
El segundo (R), representa las relaciones que
existen entre los elementos de V, siendo su
símbolo un arco que une los dos vértices
relacionados.
TEORIA DE REDES
El arco Rij, que une los vértices Vi y Vj, irá desde
el primero al segundo, indicando la relación y
sentido de la misma.
R25
V2 V5
R12 R56
R45
R14 R46
V1 V6
V4

R34
R13 R36
V3
TEORIA DE REDES

 Problema del árbol de expansión mínima


 Problema del flujo máximo
 Problema de la ruta más corta
Problema del árbol de expansión mínima
Se trata de una red conexa no dirigida.
– Se conocen los nodos en la red pero no los arcos
que los conectan.
 En su lugar se conocen los arcos potenciales y

su longitud/costo si se hiciera parte de la red.


– Se desea construir una red con suficientes arcos
como para que siempre haya un camino entre
cada par de nodos.
– El objetivo es construir la red de manera que la
longitud o costo total sea la mínima.
Problema del árbol de expansión mínima
 Algunas aplicaciones:
– Diseño de redes de telecomunicación
– Diseño de redes de transmisión de energía
– Diseño de redes de tuberías
– Diseño de redes de transporte
– Diseño de redes de cableado de equipos eléctricos

 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

– Empates: los empates para el nodo más


cercano distinto (paso 1) o para el nodo no
conectado más cercano (paso 2) se rompen en
forma arbitraria.
 Estos empates podrían indicar la existencia
de soluciones óptimas múltiples.
Problema del árbol de expansión mínima
 Ejemplo: Halle la red telefónica de mínimo costo
que conecta a todas las estaciones, usando el
algoritmo de prim.
A

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.

 Si el arco elegido conecta nodos que pertenecen al mismo

árbol, entonces dicho arco se rechaza y no es vuelto a


examinar de nuevo.
– Si se considerara el arco, se formaría un ciclo, situación
opuesta al objetivo del problema.
Problema del árbol de expansión mínima
Algoritmo Kruskal
3. A cada paso nos vamos quedando con menos y
más grandes árboles, hasta quedarnos con uno
solo que contiene a los n nodos iniciales. Este
será el árbol de extensión mínima.
Problema del árbol de expansión mínima
 Ejemplo (cont): Halle la red telefónica de mínimo
costo que conecta a todas las estaciones usando el
algoritmo de Kruskal.
A

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

 Problema del árbol de expansión mínima


 Problema del flujo máximo
Problema de la ruta más corta
Problema de flujo máximo
Se trata de una red conexa dirigida, desde un
origen a un destino.
 El problema se puede resumir así:
– Todo flujo a través de la red se inicia en el
nodo origen, y termina en el nodo destino.
– Los nodos restantes son de transbordo.
– El flujo sólo se permite en la dirección indicada
por el arco, donde la cantidad máxima de flujo
está dada por la capacidad del arco.
Problema de flujo máximo

– El objetivo es maximizar la cantidad total de


flujo desde el origen hasta el destino.
 Esta cantidad se mide como todo lo que sale

de la fuente o todo lo que llega al destino.


Problema de flujo máximo
 Algunas aplicaciones: (para maximizar el flujo...)
– ... de material a través de una red de distribución.
– ... de agua a través de un sistema de acueductos.
– ... de vehículos por una red de transporte.

 Algoritmos:
– Ford-Fulkerson
– Edmonds-Karp
 Estos algoritmos se basan en la búsqueda y

elección de una trayectoria de aumento


Problema de flujo máximo
Algoritmo de la trayectoria de aumento
1. Se identifica una trayectoria de aumento
encontrando alguna ruta dirigida desde origen
hasta el destino en la red residual, tal que cada
arco sobre esta ruta tiene capacidad residual
estrictamente positiva.
 Si no existe una nueva trayectoria de

aumento, los flujos netos asignados


constituyen un patrón de flujo óptimo.
Problema de flujo máximo
Algoritmo de la trayectoria de aumento
2. Para esta trayectoria de aumento, se calcula la
capacidad residual c*, encontrando el mínimo de
las capacidades residuales de los arcos que la
conforman, y se aumenta en c* el flujo en dicha
ruta.
3. Se disminuye en c* la capacidad residual de
cada arco en esta trayectoria de aumento, y se
aumenta en c* la capacidad residual de cada
arco en la dirección opuesta de esta ruta.
4. Se regresa al primer paso.
Problema de flujo máximo
 Ejemplo: Encuentre el flujo máximo de autos que
puede soportar la siguiente red de caminos, desde el
origen O hasta el destino T
A

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) (4, 1) (6, 0)


2 1

(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

 Problema del árbol de expansión mínima


 Problema del flujo máximo
 Problema de la ruta más corta
Problema de la ruta más corta
 Existen problemas tanto con redes conexas dirigidas
como con redes no dirigidas.
 El problema en la red no dirigida se puede resumir así:
– En la red existen dos nodos especiales llamados
origen y destino.
– Los nodos restantes son de transbordo.
– El objetivo es hallar la ruta más corta desde el
origen hasta el destino.
– Caso especial: cuando se toma un nodo como
origen, tratando de encontrar la ruta más corta entre
este nodo y cada uno de los demás nodos.
Problema de la ruta más corta
• Algunas aplicaciones:
– Minimizar la distancia total recorrida entre dos
lugares.
– Minimizar el costo total de una secuencia de
actividades.
• Algoritmos:
– Programación dinámica: Problema de la Diligencia
(un origen y un destino)
– Algoritmo de Bellman-Ford
– Algoritmo de Dijkstra
Problema de la ruta más corta
Algoritmo de Dijkstra
– Objetivo: hallar el camino mas corto entre
el origen y cada nodo de la red.

1. Se inicia con la fuente como nodo activo


y todos los demás nodos como inactivos.
2. Del nodo o nodos activos se trazan las
rutas más cortas a los nodos adyacentes.
Problema de la ruta más corta
Algoritmo de Dijkstra

3. Se convierte en nodo activo, aquel nodo


que se encuentre a la mínima distancia de
los anteriores nodos activos.
4. Se repite el algoritmo, hasta que todos los
nodos de la red sean activos.
Algoritmo de Dijkstra
Ejemplo:
 Considere un transporte que tiene que ir de Callao (Nodo1)
a Miraflores (Nodo 5). Se presenta el siguiente grafo
donde se presentan además todas las ciudades intermedias
y las distancias entre cada par de ciudades.
Algoritmo de Dijkstra
Iteración 1

NODO ETIQUETA Activo/ Inactivo

1 [0;-] A

5
Algoritmo de Dijkstra
Iteración 2

NODO ETIQUETA Activo/ Inactivo

1
[0;-] A
2
[3;1] A
3

5
Algoritmo de Dijkstra
Iteración 3

NODO ETIQUETA Activo/ Inactivo

1
[0;-] A
2
[3;1] A
3

4
[8; 2] A
5
Algoritmo de Dijkstra
Iteración 4

NODO ETIQUETA Activo/ Inactivo

1
[0;-] A
2
[3;1] A
3
[10; 1] A
4
[8; 2] A
5
Algoritmo de Dijkstra
Iteración 5

NODO ETIQUETA Activo/ Inactivo

1
[0;-] A
2
[3;1] A
3
[10; 1] A
4
[8; 2] A
5
[12; 4] A

Potrebbero piacerti anche