Está en la página 1de 88

Modelos de Redes: Problema

del flujo máximo


M. En C. Eduardo Bustos Farías
Problema del flujo máximo

2
Problema del flujo máximo
 Este modelo se utiliza para reducir los
embotellamientos entre ciertos puntos de partida y
destino en una red.
 Existe un flujo que viaja desde un único lugar de
origen hacia un único lugar destino a través de arcos
que conectan nodos intermedios
 Cada arco tiene una capacidad que no puede ser
excedida
 La capacidad no debe ser necesariamente la misma
para cada dirección del arco.
„ Considere una red con un nodo de
entrada (o fuente) y un nodo de salida
(o antifuente).
„ El problema del flujo máximo pregunta:
„ ¿Cuál es la cantidad máxima de
vehículos, líquido, peatones o llamadas
telefónicas que pueden entrar y salir del
sistema en un periodo determinado de
tiempo?
4
„ En este tipo de problemas se intenta
conducir el flujo por las ramas o arcos
de la red en forma óptima, aunque
dicho flujo está limitado por
restricciones diversas tales como:
condiciones de la carpeta asfáltica,
diámetros de tubería, etc.
„ Al límite máximo de flujo de una rama
se le denominará capacidad de flujo. 5
Se quiere transportar la máxima cantidad de flujo desde
un punto de partida (fuente) o un punto final (pozo)
ie.

Al respecto diremos que existen muchos algoritmos


especializados para dar solución a los P.F.M.

6
Observación:
1.Se debe considerar una red dirigida.
2.Tiene una fuente y un pozo.
3.Los otros nodos son de trasbordo.
4.Capacidad de los arcos.
5.El objetivo es determinar el patrón factible de flujo a través de la
red que maximice el flujo total desde la fuente de destino.
7
 Definición del Problema

- Existe un nodo origen (con el número 1), del cual los flujos
emanan.

- Existe un nodo terminal (con el número n), en el cual todos los


flujos de la red son depositados.

- Existen n-2 nodos (númerados del 2, 3,....,n-1), en el cual el


flujo que entra es igual al flujo que sale.

- La capacidad Cij que transita del nodo i al nodo j, y la


capacidad Cji para la dirección opuesta.
El objetivo es encontrar la máxima
cantidad de flujo que salga del nodo
1 al nodo n sin exceder la capacidad
de los arcos.
El problema consiste en encontrar la
máxima cantidad de flujo total que
puede circular a través de la red en una
unidad de tiempo.
El único requerimiento en ellos es que
para cada nodo (que no sea la fuente o
el destino) la relación de equilibrio debe
cumplirse:

flujo que sale = flujo que entra

10
Dicho en términos formales, siendo f = flujo, n =
destino, l = origen:
Maximizar f sujeto a:

= f, si i = 1

∑ j
x ij − ∑ j
x ji = = -f, si j = n

= 0 en otro caso
0 ≤ xij ≤ U ij
∀i, j de la red

U ij =
11
capacidades en el flujo por unidad de tiempo de los diversos arcos.
„ El algoritmo de flujo máximo se fundamenta
en pasos de sentido común: encontrar un
camino que inicie en la fuente y concluya en
la antifuente, que tenga capacidad de flujo en
el sentido deseado y mayor a cero para todas
las ramas que integran el camino o ruta.
„ Debemos continuar buscando caminos que
vayan de fuentes a depósitos y que sigan
teniendo capacidad mayor a cero para todas
las ramas en el sentido del flujo.
12
PASOS DEL ALGORITMO
„ 1. Encontrar un camino que vaya del origen
al destino y que tenga capacidad mayor a
cero en el sentido deseado.
„ 2. Encontrar la rama de menor capacidad (Pf)
del camino seleccionado en el paso anterior y
programar el envío de dicha capacidad (Pf).
„ 3. Para el camino elegido en el paso 1 reducir
la cantidad Pf en las ramas involucradas y
aumentar dicha cantidad en el sentido
contrario.
„ 4. Repetir el procedimiento desde el paso 1.
13
EJEMPLO 1

Flujo máximo

14
„ Una ciudad es atravesada por una red
interestatal de carreteras de norte a sur que
le permite alcanzar un nivel de 15,000
vehículos/hora en el horario “pico”.
„ Debido a un programa de mantenimiento
general, el cual exige cerrar dichas vías, un
grupo de ingenieros ha propuesto una red de
rutas alternas para cruzar la ciudad de norte
a sur, la cual incorpora avenidas importantes.
15
La red propuesta es la siguiente. Incluye el número de vehículos
(miles) que pueden circular por dichas vías.

16
1. ¿Puede la red propuesta dar cabida a
un flujo máximo de 15,000 v/h de
norte a sur?
2. ¿Cuál es el flujo máximo de vehículos
que permite la red cada hora?
3. ¿Qué flujo se debe canalizar sobre
cada rama?

17
SOLUCIÓN

18
0 5

1. 1-2-5-7 3

19
0 5

1
0 1
3
6

1. 1-2-5-7 3
2. 1-3-6-7 6

20
0 5

2
0
1
0 1
3 4
6
1
1. 1-2-5-7 3
4 2. 1-3-6-7 6
3. 1-4-6-7 1

21
0 5 4

2
0 0
1
0 1
3 4 3
6
1 1. 1-2-5-7 3
3 2. 1-3-6-7 6
1 4
3. 1-4-6-7 1
4. 1-4-6-5-7 1

22
SOLUCIÓN FINAL
0 5 4 2

0 0
2
1 0 0
1
0 1

4 3
1. 1-2-5-7 3
2. 1-3-6-7 6
3
4 3. 1-4-6-7 1
4. 1-4-6-5-7 1
3+6+1+1+2=13 5. 1-2-3-5-7 2

23
0 5 4 2

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

2 2
24
EJERCICIO 2

Flujo máximo

25
„ La compañía estatal de petróleo cuenta con una red de
oleoductos que utiliza para transportar petróleo desde su
refinería (fuente) hasta diversos centros de almacenamiento.
„ Una parte de la red de oleoductos es la siguiente:

¿Cuál es el flujo máximo?


26
Como puede observarse, las capacidades de flujo son
variables como resultado de los diversos diámetros
de los ductos caps. en miles de gal. por hora.

1. La empresa desea abastecer el almacén 7, ¿Cuál es


el flujo máximo con el cual puede abastecerlo?
2. ¿Cuánto tiempo se requiere para satisfacer una
demanda de 95,000 galones para el mismo almacén?
3. Si se presentará una ruptura o cierre en el ducto que
va de 2-3, ¿Cuál sería ahora el flujo máximo para el
sistema?

27
SOLUCIÓN

28
0
2

3
3

1. 1-2-5-7 3

29
0
2

4 3+2
3
+
2
0

1. 1-2-5-7 3
2. 1-4-7 2

30
0
2

42 0 3 3+2+2
3
+
1
2
+2
0

1. 1-2-5-7 3
2. 1-4-7 2
3. 1-4-3-6-7 2

31
0
2 1

3
1
42 1 0 3 3+2+2+1
3
0
+ 1
2
+ 0
2
+
1 1. 1-2-5-7 3
2. 1-4-7 2
3. 1-4-3-6-7 2
4. 1-4-3-5-7 1
32
0
2 1

3
1
42 1 0 32 3+2+2+1+1
3 0
0
+ 1 0
2
+ 0
2
+
1 1. 1-2-5-7 3
+ 2. 1-4-7 2
1 3. 1-4-3-6-7 2
4. 1-4-3-5-7 1
5. 1-4-6-7 1
33
0
1 2 1 0

3 2 0
1
42 1 0 32 3+2+2+1+1+
3
0
+
0
1 0
2
+
2 0
+
1
+
1 1. 1-2-5-7 3
+
1
2. 1-4-7 2
3. 1-4-3-6-7 2
4. 1-4-3-5-7 1
5. 1-4-6-7 1
6. 1-2-3-5-7 1
34
0
1 2 1 0

3 2 0
1
42 1 0 32
3
0
+
0
1 0
2
+
2 0
+
1 El Flujo máximo es:
1. 1-2-5-7 3 3+2+2+1+1+1=10
+
1 2. 1-4-7 2
+ 3. 1-4-3-6-7 2
1 4. 1-4-3-5-7 1
5. 1-4-6-7 1
6. 1-2-3-5-7 1
35
3

4 1 5
1
2 3
6
3 1
2
El Flujo máximo es:
3+2+2+1+1+1=10

36
Ejemplo 3

Flujo máximo

37
„ En una ciudad se va a construir una obra
civil que inutilizará vías primarias
durante una temporada. Los ingenieros
proponen una red alterna formada por
calles más pequeñas para distribuir el
tránsito.
„ Actualmente hay un flujo de 10 mil
autos por hora en las horas pico.
„ ¿La red de desviación tendrá la
capacidad de canalizar este flujo?
38
21 6 0
0 41
6
0
0 2

0
4
61
1
0
6
1
3 0
31 0 51 2
0 4

39
SOLUCIÓN

USANDO EL TORA

40
41
42
43
Deducción del modelo de
programación lineal para el
problema del flujo máximo

44
„ El problema es enviar gas natural
desde un campo de producción a
una ciudad a través de
gaseoductos.

45
El planteamiento con estos datos
sería:
Máx f sujeto a:
x12 ≤ 10
x12 + x13 = f x13 ≤ 6

x12 − x 23 − x 24 = 0 x 23 ≤ 3
x 24 ≤ 5
x13 + x 23 − x34 − x35 = 0
x34 ≤ 7
x 24 + x34 − x 45 = 0
x35 ≤ 8
x35 + x 45 = f
x 45 ≤ 8
xij ≥ 0, ∀ij 46
„ Este planteamiento no se ajusta a la
formulación estándar de programación lineal
de costo mínimo, puesto que se desconoce f y
aparece simultáneamente en la función
objetivo y en el lado derecho de las
restricciones.
„ Si se plantea así no es posible utilizar el
algoritmo de programación lineal, por ello
utilizaremos el artificio de agregar un arco
ficticio entre los nodos inicial y final (x51), con
ello ahora el planteamiento sería:

47
48
x12 ≤ 10
x13 ≤ 6

x51 − x12 − x13 = 0 x 23 ≤ 3


x 24 ≤ 5
x12 − x 23 − x 24 = 0
x34 ≤ 7
x13 + x 23 − x34 − x35 = 0
x35 ≤ 8
x 24 + x34 − x 45 = 0
x 45 ≤ 8
− x51 + x35 + x 45 = f
xij ≥ 0, ∀ij
49
Ejemplo 4

COMPAÑÍA QUIMICA UNIDA


Algoritmo de flujo máximo

50
COMPAÑÍA QUIMICA UNIDA
 Química unida produce pesticidas y otros productos
de control agrícola.
 El veneno químico necesario para la producción es
depositado en grandes tambores.
 Una red de tubos y válvulas regula el flujo del
químico de los tambores a las diferentes áreas de
producción.
 El departamento de seguridad debe diseñar un
procedimiento que vacíe los tambores de la forma
más rápida posible dentro de los tubos del área de
depósito, usando la misma red de tubos y válvulas.
 El procedimiento debe determinar:
- Qué válvulas deben abrirse y cerrarse
- Estimar el tiempo total de descarga.
No se permite flujo de 4 a 2.
 Datos
El máximo flujo de 2 a 4 es 8 0
4
8 7
2 3
0 6
1

10 0
0 3
1 6 2 0
7
4
Tambores 10 2 0
Tubo de Seg.
con químico
0 1
4
12 2 8
3
0
5
 Solución - Analogía de un problema de programación
lineal
– Variables de decisión
Xij - Flujo que viaja desde el nodo i hacia el nodo j a través
del arco que conecta ambos nodos.
– Función Objetivo - Maximizar el flujo que sale del nodo 1
Max X12 + X13
– Restricciones
„ [Flujo total que sale del nodo 1] = [Flujo total que entra

en el nodo 7]
X12 +X13 = X47 + X57 + X67
„ [Para cada nodo intermedio: Flujo que entra = flujo que

sale]
Nodo 2: X12 + X32 = X23 +X24 + X26
Nodo 3: X13 +X23 + 63 = X32 +X35 + X36
Nodo 4: X24 +X64 = X46 + X47
Nodo 5: X35 +X65 = X56 + X57
Nodo 6: X26 +X36 + X46 +X56 = X63 +X64 +X65 + X67
„EL flujo no puede exceder la capacidad de los arcos
„ X12 >= 10; X13 >= 10; X23 >= 1; X24 >= 8; X26 >= 6;
X32 >= 1;
X35 >= 15; X36 >= 4; X46 >= 3; X47 >= 7; X56 >= 2; X57
>= 8;
X63 >= 4; X64 >= 3; X65 >= 2; X67 >= 2;

„ Los flujos no pueden ser negativos: Todos Xij >= 0

 Se debe tener presente que este problema es


relativamente pequeño y la solución puede ser obtenida
rápidamente usando el modelo de programación lineal.

 Sin embargo para problemas de mayor envergadura se


aconseja usar el modelo de redes.
 Solución-Analogía con un problema de redes

- La idea básica es la siguiente:

* Encontrara un camino de capacidad mínimaen cada uno


de sus arcos.
* Aumentar el flujo de esos arcos por la mínima capacidad
de uno de los arcos de la ruta.
* Repetir este procedimiento hasta completar la ruta de
manera tal que todos los arcos tengan una capacidad
residual positiva.
*Designar un nodo origen y un nodo de flotación
* Definir las capacidades de todos los arcos en la red ( en
ambos sentidos)
* A continuación se muestra la solución obtenida usando
WINQSB.
El
Elmáximo
máximoflujo
flujoobtenido
obtenidopor
porWINQSB
WINQSB

7 4
2
7
7 Flujo Máximo= 17
2
1 6 7
Tambores Tubo de Seg.
2
con químico 10 8

3 8
5
Ejercicio para resolver

Flujo máximo

57
Un conjunto de vías rápidas tiene las siguientes
capacidades (miles de vehículos/hora).

1. Determinar el flujo máximo de vehículos/hora que pueden pasar por el sistema.58


2. ¿Cuántos vehículos/hora deben pasar por cada vía para lograr el flujo máximo?
SOLUCIÓN

59
4

3 1 2 6

3
3

5 3
2

ITERACIÓN CAMINO Pf FLUJO TOTAL DESPUÉS


DE LA ITERACIÓN
SELECCIONADO (vehículos/hora)
1 1-4-6 (1-4) 3,000 3,000
2 1-2-5-6 (1-2) 3,000 6,000
3 1-3-6 (3-6) 2,000 8,000
4 1-3-4-2-5-6 (2-5) 1,000 9,000
5 1-3-4-5-6 (3-4) 2,000 11,000 60
ITERACIÓN CAMINO Pf FLUJO TOTAL
DESPUÉS DE LA
SELECCIONADO (vehículos/hora)
ITERACIÓN
1 1-4-6 (1-4) 3,000 3,000
2 1-2-5-6 (1-2) 3,000 6,000
3 1-3-6 (3-6) 2,000 8,000
4 1-3-4-2-5-6 (2-5) 1,000 9,000
5 1-3-4-5-6 (3-4) 2,000 11,000

61
EJERCICIO PARA RESOLVER

62
„ El alcalde del distrito Florencia de Mora desea conocer a través
de los 15 postes de la Mz A para el alumbrado eléctrico - que es
proveída por una estación central perteneciente a Hidrandina ,
que dista de esta Mz entre los 4000 y 6000 mts.- , por donde
circula la mayor cantidad de energía, teniendo en cuenta que
sus habitantes consumen la mayor cantidad de luz por las
mañanas, a diferencia de los fines de semana que el mayor
consumo se da por las noches .
„ La siguiente red representa la capacidad de cada poste
;expresando dicha capacidad en Wats.
„ ¿Aplicar el algoritmo de flujo máximo para saber por dónde
fluye la mayor cantidad de energía en esta red de distribución
de alumbrado eléctrico de la Mz A perteneciente al distrito
Florencia de Mora?

63
64
SOLUCIÓN

65
66
EJERCICIO PARA RESOLVER

67
„ El complejo hidroeléctrico de la cuenca del
Rimac consta de 7 centrales hidroeléctricas
que se encuentran en actual funcionamiento.
„ La capacidad que genera es de 543000 Kw.
La demanda que no se puede satisfacer de
las centrales hidroeléctricas se obtiene de las
plantas termoeléctricas (petróleo), la energía
es llevada a través de conductores eléctricos
a hacia las ciudades.
„ La figura resume los enlaces de la red junto
con la capacidad de cada conducto.
68
69
SOLUCIÓN

70
Maximal flow = 110.0000
From To Arc Capacity Flow Amount Residue
---------------------------------------------------------------------------------------

N1 N2 70.00 50.00 20.00


N1 N3 50.00 20.00 30.00
N1 N4 60.00 40.00 20.00
N1 N5 0.00 0.00 0.00
N1 N6 0.00 0.00 0.00
N1 N7 0.00 0.00 0.00
N2 N1 70.00 0.00 70.00
N2 N3 0.00 0.00 0.00
N2 N4 30.00 30.00 0.00
N2 N5 0.00 0.00 0.00
N2 N6 20.00 20.00 0.00

71
N2 N7 0.00 0.00 0.00
N3 N1 50.00 0.00 50.00
N3 N2 0.00 0.00 0.00
N3 N4 20.00 0.00 20.00
N3 N5 20.00 20.00 0.00
N3 N6 0.00 0.00 0.00
N3 N7 0.00 0.00 0.00
N4 N1 60.00 0.00 60.00
N4 N2 30.00 0.00 30.00
N4 N3 20.00 0.00 20.00
N4 N5 0.00 0.00 0.00
N4 N6 20.00 20.00 0.00
N4 N7 50.00 50.00 0.00
N5 N1 0.00 0.00 0.00
N5 N2 0.00 0.00 0.00
N5 N3 20.00 0.00 20.00
N5 N4 0.00 0.00 0.00
N5 N6 0.00 0.00 0.00
N5 N7 70.00 20.00 50.00
N6 N1 0.00 0.00 0.00
N6 N2 20.00 0.00 20.00
N6 N3 0.00 0.00 0.00
N6 N4 20.00 0.00 20.00
N6 N5 0.00 0.00 0.00 72
N6 N7 70.00 40.00 30.00
N7 N1 1.00 0.00 1.00
N7 N2 0.00 0.00 0.00
N7 N3 0.00 0.00 0.00
N7 N4 0.00 0.00 0.00
N7 N5 4.00 0.00 4.00
N7 N6 6.00 0.00 6.00

73
EJERCICIO PARA RESOLVER

74
„ Telefónica quiere saber el flujo máximo
que debe de salir de la ciudad 1 y llegar
a la ciudad 12 pasando por otros nodos
o puntos de transmisión de datos.

75
76
SOLUCIÓN

77
EJERCICIO PARA RESOLVER

78
79
TOTAL = 2 + 3 + 6 + 2 = 13 80
PROBLEMAS DE FLUJO MÁXIMO
CON
GRAFOS

AN E X O

81
Problemas de flujo en redes
„ Supongamos un grafo dirigido G=(V, A) con pesos en las aristas. Los
pesos de cada arista C(v, w) representa el número máximo de unidades
que pueden “fluir” desde el nodo v al w.
„ Por ejemplo: C(v, w) puede ser la cantidad máxima de agua que puede ir por
una tubería que comunica v con w, o el número de coches máximo que cabe en
una calle.
„ Problema de flujo máximo.
Dado un nodo origen s y un nodo destino t en un grafo dirigido con
pesos, encontrar la cantidad máxima de flujo que puede pasar de s a t.
2 2
2 b d 2 b d
3 3
s 4 s 1
1 t 0 t
3 3 2 3 2 2
a c a c

„ La suma de entradas para cada nodo interior debe ser igual a la suma de salidas.
„ Los valores de flujo en cada arista no pueden superar los valores máximos.
82
Problemas de flujo en redes
„ Algoritmo para calcular el flujo máximo.
1. Inicializar un grafo de flujo Gf con los mismos nodos y aristas de G, pero
con pesos 0. Este grafo guardará el resultado del algoritmo.
2. Buscar un camino en G, desde s hasta t (camino creciente). Sea m el valor
mínimo de los costes de las aristas por las que pasa el camino (por este
camino pueden fluir hasta m unidades de flujo).
3. Para cada arista (v, w) del camino, añadir al costo de la arista correspon-
diente en Gf el valor m: Cf[v, w] = Cf[v, w] + m.
4. Decrementar el valor m en cada arista (v, w) del camino, en el grafo G. Si
la arista toma el valor 0, eliminarla de G.
5. Volver al paso 2 mientras sigan existiendo caminos entre s y t en G.
„ Ejemplos:
– Caso 1: (s, b, d, t) con m=2; (s, a, c, t) con m=2; (s, a, d, t) con m=1. FIN
– Caso 2: (s, a, d, t) con m=3. FIN
„ El algoritmo es no determinista y no garantiza una solución óptima.
„ Solución: en el paso 4 añadir una arista <w, v> a G con costo m
(para permitir deshacer los caminos). 83
EJEMPLO 5

FLUJO MÁXIMO

84
„ Una ciudad es atravesada por una red de agua
potable que le permite alcanzar un nivel de 10
mil litros por hora.
„ Debido a un programa de mantenimiento
general, hay que desviar el flujo por ciertas
vías. Un grupo de ingenieros propone una red
de rutas alternas para abastecer la ciudad.
„ ¿Puede la red propuesta dar cabida al flujo de
15 mil litros por hora?
„ ¿Cuál es el flujo máximo que permite la red
cada hora?
„ ¿Qué flujo debe canalizarse sobre cada rama?

85
86
SOLUCIÓN

87
88

También podría gustarte