Está en la página 1de 77

Investigación de operaciones 2

OPTIMIZACIÓN DE REDES Instituto Tecnológico de Celaya


Impartida
OPTIMIZACIÓN DE REDES
Hay una multitud de situaciones, en investigación de operaciones, que se pueden
modelar y resolver como redes (nodos conectados por ramas). Algunas encuestas
recientes informan que hasta el 70% de los problemas de programación matemática
en el mundo real se pueden representar como modelos relacionados con redes. La
lista siguiente ilustra algunas aplicaciones posibles de las redes.
 Diseñar el trazado de una red de fibra óptica de manera que se cubran ciertos
puntos de la manera mas económica posible. Árbol generador de coste mínimo.
 Determinar la ruta mas corta entre dos ciudades. Camino mas corto.
 Determinar la cantidad máxima de electricidad que se puede enviar a través de
una red eléctrica. Problema de flujo máximo.
 Decidir el programa de fechas en el que deben iniciarse y terminarse una serie de
tareas para llevar a cabo un proyecto. Camino crıtico (CPM)
Todos estos problemas se pueden modelizar como un problema de Programación
Lineal y resolverse con el Algoritmo Simplex para redes.
El algoritmo realiza las operaciones del simplex directamente sobre el grafo lo que,
en algunos casos, permite resolver problemas 200 o 300 veces mas rápido que el
Algoritmo Simplex normal
DEFINICIONES
Una red es una grafica con uno o mas valores asignados a los nodos y/o a los arcos.
Una red es una representación esquemática de un problema o un sistema. Tiene los
siguientes componentes:
Nodos: N (orígenes, ciudades, terminales)
Arcos: A (carreteras, tuberías, conexión entre dos entidades)
Flujo: X (entidad que circula de nodo a nodo)
Árbol de expansión mínima: conexión de peso mínimo entre todos los nodos de una
red (redes telefónicas, conexión entre puntos de interés turístico).
Problema de transbordo: generalización del problema de transporte, puntos donde
se descarga material para cambiar de modo de traslado.
Flujo máximo: cantidad máxima que puede circular por una red (líquidos o bien,
tránsito vehicular o flujo de materiales en una planta)
Ruta más corta: trayectoria de costo mínimo para llegar de un origen a un destino(
común en problemas de reparto y mensajería).
NOCIONES Y TÉRMINOS SOBRE REDES Y
GRAFICAS
Si los arcos tienen un origen-destino, se dice que la gráfica es dirigida .
CADENA
Secuencia de nodos conectados entre sí ( secuencia de arcos que conectan dos
nodos). (1,2), (2, 4), (4,3)
TRAYECTORIA
Si se especifica una dirección de movimiento, entonces se tiene una trayectoria o
camino.
• Es una sucesión de nodos 𝑖1 , 𝑖2 , … , 𝑖𝑟 donde r>0, donde los arcos se recorren en
una sola dirección y ningún nodo se repite.
• ¡Si el nodo inicial y final es el mismo entonces se tiene un ciclo o circuito!
Tarea:
Traer un ejemplo de al menos dos de los métodos de optimización de redes.
(incluir contexto general)
ÁRBOL DE EXPANSIÓN MÍNIMA
Parecido a la ruta mas corta.
La información dada incluye alguna medida de longitud positiva —distancia, costo,
tiempo, etc.— asociada con cada ligadura.
involucran también el hecho de seleccionar un conjunto de ligaduras con la longitud
total más corta entre todos los conjuntos de ligaduras que satisfacen cierta
propiedad.
No existe inicio y termino definido.
No es un árbol de expansión
mínima

No es un árbol de expansión
mínima

Es un árbol de expansión mínima


El problema del árbol de expansión mínima se puede resumir de la siguiente
manera:
1. Se tienen los nodos de una red pero no las ligaduras. En su lugar se proporcionan
las ligaduras potenciales y la longitud positiva de cada una si se insertan en la red.
(Las medidas alternativas para la longitud de una ligadura incluyen distancia, costo y
tiempo.)
2. Se desea diseñar la red con suficientes ligaduras para satisfacer el requisito de
que haya un camino entre cada par de nodos.
3. El objetivo es satisfacer este requisito de manera que se minimice la longitud total
de las ligaduras insertadas en la red.
Planteamiento: Se considera una red no dirigida y conexa en la que la información
dada incluye alguna medida de longitud positiva (distancia, costo, tiempo) asociada
con cada ligadura.
Algoritmo:
1. Se selecciona de manera arbitraria cualquier nodo y se conecta- es decir, se
agreda una ligadura- al nodo distinto mas cercano.
2. Se identifica el nodo mas cercano a un nodo conectado y se conectan estos dos
nodos – es decir, se agrega una ligadura entre ellos-. Este paso se repite hasta que
todos los nodos estén conectados.
3. Rompimiento de empates: los empates del nodo más cercano distinto (paso 1) o
del nodo no conectado más cercano (paso 2), se pueden romper en forma arbitraria,
pero el algoritmo debe llegar a una solución óptima. No obstante, estos empates son
señal de que pueden existir (pero no necesariamente) soluciones óptimas múltiples.
Todas esas soluciones se pueden identificar si se trabaja con las demás formas de
romper los empates al final.
EJEMPLO
La administración de una reserva natural debe determinar los caminos bajo los
cuales se deben tender los cables telefónicos para conectar todas las estaciones de
vigilancia usando una longitud total mínima de cable (distancia en millas).
Los nodos y distancias del problema se resumen a continuación, en donde las líneas
delgadas ahora representan ligaduras potenciales.
En forma arbitraria, se selecciona el nodo O como inicio. El nodo no conectado más
cercano a O es A. Se conecta el nodo A con el nodo O.
El nodo no conectado más cercano a cualesquiera de los nodos O o A es el nodo B
(más cercano a A). Se conecta el nodo B con el nodo A.
El nodo no conectado más cercano a O, A o B es el nodo C (más cercano a B). Se
conecta el nodo C con el nodo B
El nodo no conectado más cercano a O, A, B o C es el nodo E (más cercano a B). Se
conecta el nodo E con el nodo B.
El nodo no conectado más cercano a los nodos O, A, B, C o E es el nodo D (más
cercano a E). Se conecta el nodo D con el nodo E
El único nodo no conectado es el nodo T. Está más cerca del nodo D. Se conecta el nodo T con el nodo D.

Total 14 millas
RUTA MAS CORTA
8 17
2 5 7 9

4 20
15 8
1 4
2
3 12
22
6
3
4

Consideremos el siguiente diagrama donde los números asignados a cada uno de los arcos representan la distancia en
kilómetros de un nodo a otro. Se desea encontrar la ruta mas corta para ir del nodo 1 al 8
8 17
Seleccionamos la 2 5 7 9
etiqueta permanente

(0, - ) 4 20
15 8
1 4
2
3 12
22
6
3
4
Verificamos las primeras
interacciones

(4, 1 )1
8 17
2 5 7 9

(0, - ) 4 20
15 8
1 4
2
3 12
22
6
3
4
(3, 1 )1 La distancia mas corta la tenemos en el nodo 3, por lo que se convierte en
etiqueta permanente.
Ahora el nodo tres comienza como punto de
partida por lo que se etiquetan los nodos que
le siguen (4 y 6)

(4, 1 )1
8 17
2 5 7 9

(0, - ) 4 (15, 3 )2 20
15 8
1 4
2
3 12
(7, 3)2 22
6
3
4
(3, 1 )1
IMPORTANTE: Si bien ya se estipulo como
etiqueta definitiva al nodo 3, esto no significa
que 2 no se pueda evaluar como una posible
ruta mas corta.

(4, 1 )1
8 17
2 5 7 9

(0, - ) 4 (15, 3 )2 20
15 8
1 4
2
3 12
(7, 3 )2 22
6
3
4
(3, 1 )1
IMPORTANTE: Si bien ya se estipulo como
etiqueta definitiva al nodo 3, esto no significa
que 2 no se pueda evaluar como una posible
ruta mas corta. Por lo que para evaluar
tenemos tres etiquetas temporales (2, 4, 6)
(4, 1 )1
8 17
2 5 7 9

(0, - ) 4 (15, 3 )2 20
15 8
1 4
2
12 La ruta mas corta ahora
3
de los nodos temporales es
(7, 3 )2 la que se da de 1-2. Se
22
6
3 selecciona como etiqueta
4 definitiva.
(3, 1 )1
Asignamos etiqueta temporal al nodo 5, pero especificando que es la
interacción no. 3

(4, 1 )1 (12, 2 )3
8 17
2 5 7 9

(0, - ) 4 (15, 3 )2 20
15 8
1 4
2
12 De las etiquetas
3
temporales se selecciona
(7, 3 )2 la que es menor
22
6
3
4
(3, 1 )1
1. Etiquetamos el nodo 8

(4, 1 )1 (12, 2 )3
8 17
2 5 7 9

(29, 6 )3
(9, 6 )3
(0, - ) 4 (15, 3 )2 20
15 8
1 4
2
3 12
(7, 3 )2 22
6
3
4
2. La etiqueta que tiene 4 es de cuando se acumula la ruta de
(3, 1 )1 1 y 3 hasta llegar a 4. Sin embargo ahora tenemos la
llegada a 4 desde el nodo 6. En este caso se quedara la
etiqueta que de la ruta mas corta
De las tres etiquetas temporales elegimos la que da la ruta
mas corta hasta el momento (Nodo 4)

(4, 1 )1 (12, 2 )3
8 17
2 5 7 9

(29, 6 )3
(9, 6 )3 20
(0, - ) 4
8
15
1 4
2
3 12
(7, 3 )2 22
6
3
4
(3, 1 )1
Colocamos la etiqueta temporal al nodo 7

Evaluamos el nodo 8 ya que la


etiqueta anterior venia de 6. Se
(29, 4 )4 elige la etiqueta con menor
(4, 1 )1 (12, 2 )3 recorrido
8 17
2 5 7 9

(29, 6 )3
(9, 6 )3 20
(0, - ) 4
8
15
1 4
2 (24, 4 )4
3 12
(7, 3 )2 22
6
3
4
(3, 1 )1
Se selecciona el nodo con menor
recorrido hasta el momento (5)

(4, 1 )1 (12, 2 )3 (29, 4 )4


8 17
2 5 7 9

(9, 6 )3 20
(0, - ) 4
8
15
1 4
2 (24, 4 )4
3 12
(7, 3 )2 22
6
3
4
(3, 1 )1
De 5 a 7 se tiene etiqueta
(29, 5 )4 temporal del nodo 4.
(29, 4 )4 Establecemos la etiqueta
(4, 1 )1 (12, 2 )3 temporal en 7, cuando la ruta
viene de 5
8 17
2 5 7 9

(9, 6 )3 20
(0, - ) 4
8
15
1 4
2 (24, 4 )4
3 12
(7, 3 )2 22
6
3
4
(3, 1 )1 Ya que la distancia es la misma se elige una aleatoriamente. Seguiremos
trabajando con la que proviene de la etiqueta 4
La mejor opción es ir del
nodo 4 al 7 ya que la
(4, 1 )1 (12, 2 )3 (29, 4 )4 distancia es de 24. Y se
cumple hasta este momento
8 17 el recorrido planeado del
2 5 7 9
nodo 1 al 8

(9, 6 )3 20
(0, - ) 4
8
15
1 4
2 (24, 4 )4
3 12
(7, 3 )2 22
6
3
4
(3, 1 )1
TAREA. EJERCICIO 1
5
B D 2
2

2 1 F
A

C E 4
5

Inicio en A Termina en F
PROYECTO. EJERCICIO 2
1 5
C F
A
3
2 2
3 H
1
B D
4
5 1
G 2 E

Inicio en A Termina en H
FLUJO MÁXIMO
1. Preparar el grafo. Se van a poner flechas en el sentido del flujo para una mejor
visualización, y se pone a CERO la capacidad usada en los arcos.
2. Obtener una trayectoria de aumento, siguiendo el criterio de siempre ir por el
camino que proporcione una mayor capacidad residual.
3. Determinar el flujo de la trayectoria de aumento. Sera el mínimo de las
capacidades residuales de los arcos que la forman
4. Actualizar el grafo. Se modifican las capacidades residuales y usadas en cada
arco, así como el flujo total.
5. Volver al PUNTO 2 hasta que no existan mas trayectorias de aumento.
Ejemplo: Obtener el flujo máximo de la red desde el nodo de origen (O), hasta el
nodo de destino (T)
D
5 6
A
4

8
2 4
O C F T
3 2
5

3
E 6
B
4
D
5 6
A
4

8
2 4
O C F T
3 2
5

3
E 6
B
4

*SE ESPECIFICAN LOS LUGARES A LOS QUE ES POSIBLE QUE EL FLUJO SE MUEVE Y SU CAPACIDAD
EJEMPLO: Si se hablaran de las conexiones como tuberías y su capacidad de transportar agua, gas, petróleo, etc.
*SE DEFINEN LAS CANTIDADES DE FLUJO MÁXIMO PARA CADA CONEXIÓN ENTRE NODOS QUE PERMITA
ASEGURAR EL FLUJO MÁXIMO DE (O) A (T)
0
D
5 6
A
0
4

8 0 0
2 0 4 0
O C F T
3 2
5 0 0
0
0 3
0 E
B 6
4 0

SE COLOCA A 0 “CERO” LA CAPACIDAD USADA EN CADA UNO DE LOS ARCOS


Llegando a A Llegando a D
TRAYECTORIA 1 se elige la la única ruta es MÍNIMO {8, 5, 6}=5
conexión que a T con 6
brinda mayor
Partiendo de 0
capacidad (5) D
O se elige la
5 6
conexión que A
brinda mayor 0
capacidad (8) 4

8 0 0
2 0 4 0
O C F T
3 2
5 0 0
0
0 3
0 E
B 6
4 0
MÍNIMO {8, 5, 6}=5

0+5
D
5-5 6-5
A
0+5
4

8-5 0 0+5
2 0 4 0
O C F T
3 2
5 0 0
0
0 3
Se utiliza el mínimo para
0 E
aprovechar ese flujo (se resta al B 6
4 0
flujo entre nodos)
y se añade a la capacidad
usada
MÍNIMO {8, 5, 6}=5

5
D
0 1
A
5
4

3 0 5
2 0 4 0
O
3
C
2
F T 5
5 0 0
0
0 3
Se utiliza el mínimo para
0 E
aprovechar ese flujo (se resta al B 6
4 0
flujo entre nodos)
y se añade a la capacidad
usada
TRAYECTORIA 2
MÍNIMO {5, 4, 6}=4

5
D
0 1
A
5
4
De O a A ya
3 0 5
se exploro,
nos 2 0 4 0
corresponde
O
3
C
2
F T 5
explorar de 0 0
5
OaB
0
0 3
0 E
B 6
4 0
Se elige E a T por
que es la conexión
No se puede ir de que proporciona
B a C por la el mayor flujo (6)
trayectoria
MÍNIMO {5, 4, 6}=4

5
D
0 1
A
5
4

3 0 5
2 0 4 0
O
3
C
2
F T 5
5-4 0 0+4
0
0 3
0+4 E
B 6-4
4-4 0+4
Se elige E a T por
que es la conexión
No se puede ir de que proporciona
B a C por la el mayor flujo (6)
trayectoria
MÍNIMO {5, 4, 6}=4

5
D
0 1
A
5
4

3 0 5
2 0 4 0
O
3
C
2
F T 5+4=9
1 0 4
0
0 3
4 E
B 2
0 4
Actualizamos el grafo
para esta nueva
trayectoria
TRAYECTORIA 3 2. De A a D no MÍNIMO {3, 4 2, 4}=2
hay flujo
disponible por lo 5
que se elige C D
0 1
A
5
4
1. De las dos
3 0 5
trayectorias
anteriores queda O 2 0 4 0
con 1 y 3
O
3
C
2
F T 5+4=9
Elegimos la mayor 0 4
1
0
0 3
4 E
B 2
0 4
5. De F pasamos a T ya
3. Al llegar a C tenemos 4. De C a F y E tenemos
que a E no es sentido del
posibilidad de elegir a F, empate, vamos a elegir
flujo
E y B, sin embargo B ya la conexión a F
es un camino con
capacidad agotada o
camino ciego
MÍNIMO {3, 4 2, 4}=2

5
D
0 1
A
5+2
4-2

3-2 0+2 5
2-2 0+2 4-2 0+2
O C F T 5+4+2=11
3 2
1 0 4
0
0 3
4 E
B 2
0 4
MÍNIMO {3, 4 2, 4}=2

5
D
0 1
A
7
2

1 2 5
0 2 2 2
O C F T 5+4+2=11
3 2
1 0 4
0
0 3
4 E
B 2
0 4
Actualizamos el grafo
para esta nueva
trayectoria
TRAYECTORIA 4 MÍNIMO {1, 2, 2, 3, 2}=1

5
D
0 1
A
7
2
La siguiente
trayectoria se da 1
de O a A ya que 2 5
0 2 2 2
de O a E ya es O C F T 5+4+2=11
camino ciego o 3 2
flujo agotado 1 0 4
0
0 3
4 E
B 2
0 4
De E se selecciona
a F ya que es la
conexión que
permite el flujo
máximo
MÍNIMO {1, 2, 2, 3, 2}=1

5
D
0 1
A
7+1
2-1

1-1 2+1 5
0 2 2-1 2+1
O C F T 5+4+2+1=
3 2-1
1 0+1 4 1
0+1
0 3-1
4 E
B 2
0 4

Actualizamos el grafo
para esta nueva
trayectoria
MÍNIMO {1, 2, 2, 3, 2}=1

5
D
0 1
A
8
1

0 3 5
0 2 1 3
O C F T 5+4+2+1=12
3 1
1 1 4
1
0 2
4 E
B 2
0 4

Finalmente como ya de O a B aun hay flujo disponible pero ya no tiene capacidad de flujo de B a E y A C no es
dirección de flujo se obtiene que el flujo máximo que puede pasar por esta tubería es de 12 litros, galones,
barriles, etc.
Se definen la capacidad máxima entre
nodos y la dirección de flujo

3 5 6
2
2

1
5 2
6 7
3 6 7
6
1
2

4
2
Se indica la capacidad utilizada
0 hasta el momento
3 5 6
2 0
0 0
2

0 1 0
5 2
0 6 0 7 0
3 6 7
6
1 0
2

4
2
TRAYECTORIA 1 MÍNIMO {6, 6, 7}=6

3 0 6
5
2 0
0 0
2

0 1 0
5 2
0 6 0 7 0
3 6 7
6 0
1
2
Se selecciona la
conexión de 1 a 3
ya que es la que 0
permite el flujo La trayectoria a elegir de 3
máximo 4 a 6 y de 6 a 7 se selecciona
2
usando este mismo criterio
de selección del flujo
máximo
TRAYECTORIA 1 MÍNIMO {6, 6, 7}=6

3 0 6 El flujo mínimo se resta a toda la


5
2 trayectoria
0
0 0
2

0 1 0
5 2
0+6
0 6-6
6 0+6
0 7-6
7 0+6
0
3 6 7
6-6
6
1 0
2

4
2
TRAYECTORIA 1 MÍNIMO {6, 6, 7}=6

3 0 6
5
2 0
0 0
2

0 1 0
5 2
6 6 1
3 0 6 6 7 6
0 0
1
2

4 Actualizamos el grafo
2
para esta nueva
trayectoria
TRAYECTORIA 2 MÍNIMO {5, 3, 6}=3

3 0 6
5
2 0
0 0
2

0 1 0
5 2
6 6 1
3 0 6 6 7 6
0 0
1
2
Seleccionamos de
1 hacia donde se En nodo 5
tenga el mayor 0 seleccionamos el flujo
flujo máximo máximo que es hacia
4 6, además el camino
2 En nodo dos hacia 6 es flujo
seleccionamos el flujo contrario y no puede
máximo que es hacia ser seleccionado
5
TRAYECTORIA 2 MÍNIMO {5, 3, 6}=3

3
3-3 0
0+3 6
6-3
5
2 0
0
0+3 0
2

0 1 0
0+3
5
5-3 2
6 6 1
3 0 6 6 7 6
0
1 0
2

Realizamos la resta
0 del mínimo en los
flujos de la
4 trayectoria 2
2
TRAYECTORIA 2 MÍNIMO {5, 3, 6}=3

0 3 3
5
2 0
3 0
2

0 1 3
2 2
6 6 1
3 0 6 6 7 6+3=9
0
1 0
2

Realizamos la resta
0 del mínimo en los
flujos de la
4 trayectoria 2 Actualizamos el grafo
2
para esta nueva
trayectoria
TRAYECTORIA 3 MÍNIMO {2, 2, 1}=1

0 3 3
5
2 0
3 0
2

0 1 3
2 2
6 6 1
3 0 6 6 7 6+3=9
0 0
1 0
2

Del nodo inicial 0


se puede ir de
1-2 y de 1-4. 4
2
Seleccionamos
este último
TRAYECTORIA 3 MÍNIMO {2, 2, 1}=1

0 3 3
5
2 0
3 0
2

0 1 3
2 2
6 6 1-1
3 0 6 6+1 7 6+3=9
0 0
1 0+1
2
2-1

El mínimo en la 0
0+1
trayectoria es 1
se resta y se 4
2
2-1
acumula en la
capacidad
usada
TRAYECTORIA 3 MÍNIMO {2, 2, 1}=1

0 3 3
5
2 0
3 0
2

0 1 3
2 2
6 6 0
3 0 6 7 7 6+3+1=10
0 1
1 1
1

4 Actualizamos el grafo
1
para esta nueva
trayectoria
TRAYECTORIA 4 MÍNIMO {2, 2, 2, 3}=2

0 3 3
5
2 0
3 0
2

0 1 3
2 2
6 6 0
3 0 6 7 7 6+3+1=12
0 1
1 1
1

Elegimos el
máximo flujo En dos no En 5 tenemos dos
1
disponible desde podemos flujos, elegimos el
1. Siendo el que 4 avanzar a 5 máximo que es 3
va a 2 1
ya que no hay
flujo disponible
y vamos a 3
(pasa lo mismo
en la elección
TRAYECTORIA 4 MÍNIMO {2, 2, 2, 3}=2

0 3 3-2
5
2 0+2
3+2 0
2
2-2

0+2
0 1 3+2
2-2 2-2 6
6 0 0 7
0
3 6 7 6+3+1=10
1 1 1
1

4
1
TRAYECTORIA 4 MÍNIMO {2, 2, 2, 3}=2

0 3 1
5
2 2
5 0
0

2 1 5
0 0 6
6 0 0 7
0
3 6 7 6+3+1+2
1 1
1 =12
1

4 Actualizamos el grafo
1
para esta nueva
trayectoria
TRAYECTORIA 5 MÍNIMO {1, 1, 1, 1}=1

0 3 1
5
2 2
5 0
0

2 1 5
0 0 6
6 0 0 7
0
3 6 7 6+3+1+2
1 1
1 =12
1

1
Solo existe una
ruta posible que 4
1
es de 1-4-6-5-7
TRAYECTORIA 5 MÍNIMO {1, 1, 1, 1}=1

0 3 0
5
2 2
5 1
0

2 0 6
0 0 6
6 0 0 7
0
3 6 7 6+3+1+2
2 1
1 +1=13
0

2
Realizando las
operaciones de 4
0
suma y resta
TAREA. EJERCICIO 1
2
20

50 40

30 4
1

70
60
3
TAREA. EJERCICIO 2
8
B E 8

3
3
8

5 4 5 H
A C F
9

2
6
2 9
D G
PARA PROYECTO: ÁRBOL DE EXPANSIÓN MÍNIMA
D 7

3 7
5 E
G
5 6 5
A B 8
5 9
2 F
3 H
10
C
PARA PROYECTO. RUTA MAS CORTA
7
A

6
D
4 1
5
6
O B T
4
1
5
E 6
2

C
5
PARA PROYECTO. FLUJO MÁXIMO
3
20 5 70
20

50
60 50 7
1 4
70
20
30 30

2 6
70
20

También podría gustarte