Anda di halaman 1dari 88

Modelos de Redes: Problema

del flujo mximo


M. En C. Eduardo Bustos Faras
Problema del flujo mximo

2
Problema del flujo mximo
 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 travs 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 direccin del arco.
Considere una red con un nodo de
entrada (o fuente) y un nodo de salida
(o antifuente).
El problema del flujo mximo pregunta:
Cul es la cantidad mxima de
vehculos, lquido, peatones o llamadas
telefnicas 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 asfltica,
dimetros de tubera, etc.
Al lmite mximo de flujo de una rama
se le denominar capacidad de flujo. 5
Se quiere transportar la mxima 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 solucin a los P.F.M.

6
Observacin:
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 patrn factible de flujo a travs de la
red que maximice el flujo total desde la fuente de destino.
7
 Definicin del Problema

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

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


flujos de la red son depositados.

- Existen n-2 nodos (nmerados 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 direccin opuesta.
El objetivo es encontrar la mxima
cantidad de flujo que salga del nodo
1 al nodo n sin exceder la capacidad
de los arcos.
El problema consiste en encontrar la
mxima cantidad de flujo total que
puede circular a travs 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 relacin de equilibrio debe
cumplirse:

flujo que sale = flujo que entra

10
Dicho en trminos 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 mximo se fundamenta
en pasos de sentido comn: 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 depsitos 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 envo 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 mximo

14
Una ciudad es atravesada por una red
interestatal de carreteras de norte a sur que
le permite alcanzar un nivel de 15,000
vehculos/hora en el horario pico.
Debido a un programa de mantenimiento
general, el cual exige cerrar dichas vas, 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 nmero de vehculos
(miles) que pueden circular por dichas vas.

16
1. Puede la red propuesta dar cabida a
un flujo mximo de 15,000 v/h de
norte a sur?
2. Cul es el flujo mximo de vehculos
que permite la red cada hora?
3. Qu flujo se debe canalizar sobre
cada rama?

17
SOLUCIN

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
SOLUCIN 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 mximo

25
La compaa estatal de petrleo cuenta con una red de
oleoductos que utiliza para transportar petrleo desde su
refinera (fuente) hasta diversos centros de almacenamiento.
Una parte de la red de oleoductos es la siguiente:

Cul es el flujo mximo?


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

1. La empresa desea abastecer el almacn 7, Cul es


el flujo mximo con el cual puede abastecerlo?
2. Cunto tiempo se requiere para satisfacer una
demanda de 95,000 galones para el mismo almacn?
3. Si se presentar una ruptura o cierre en el ducto que
va de 2-3, Cul sera ahora el flujo mximo para el
sistema?

27
SOLUCIN

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 mximo 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 mximo es:
3+2+2+1+1+1=10

36
Ejemplo 3

Flujo mximo

37
En una ciudad se va a construir una obra
civil que inutilizar vas primarias
durante una temporada. Los ingenieros
proponen una red alterna formada por
calles ms pequeas para distribuir el
trnsito.
Actualmente hay un flujo de 10 mil
autos por hora en las horas pico.
La red de desviacin 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
SOLUCIN

USANDO EL TORA

40
41
42
43
Deduccin del modelo de
programacin lineal para el
problema del flujo mximo

44
El problema es enviar gas natural
desde un campo de produccin a
una ciudad a travs de
gaseoductos.

45
El planteamiento con estos datos
sera:
Mx 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
formulacin estndar de programacin lineal
de costo mnimo, puesto que se desconoce f y
aparece simultneamente en la funcin
objetivo y en el lado derecho de las
restricciones.
Si se plantea as no es posible utilizar el
algoritmo de programacin lineal, por ello
utilizaremos el artificio de agregar un arco
ficticio entre los nodos inicial y final (x51), con
ello ahora el planteamiento sera:

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

COMPAA QUIMICA UNIDA


Algoritmo de flujo mximo

50
COMPAA QUIMICA UNIDA
 Qumica unida produce pesticidas y otros productos
de control agrcola.
 El veneno qumico necesario para la produccin es
depositado en grandes tambores.
 Una red de tubos y vlvulas regula el flujo del
qumico de los tambores a las diferentes reas de
produccin.
 El departamento de seguridad debe disear un
procedimiento que vace los tambores de la forma
ms rpida posible dentro de los tubos del rea de
depsito, usando la misma red de tubos y vlvulas.
 El procedimiento debe determinar:
- Qu vlvulas deben abrirse y cerrarse
- Estimar el tiempo total de descarga.
No se permite flujo de 4 a 2.
 Datos
El mximo 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 qumico
0 1
4
12 2 8
3
0
5
 Solucin - Analoga de un problema de programacin
lineal
Variables de decisin
Xij - Flujo que viaja desde el nodo i hacia el nodo j a travs
del arco que conecta ambos nodos.
Funcin 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 pequeo y la solucin puede ser obtenida
rpidamente usando el modelo de programacin lineal.

 Sin embargo para problemas de mayor envergadura se


aconseja usar el modelo de redes.
 Solucin-Analoga con un problema de redes

- La idea bsica es la siguiente:

* Encontrara un camino de capacidad mnimaen cada uno


de sus arcos.
* Aumentar el flujo de esos arcos por la mnima 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 flotacin
* Definir las capacidades de todos los arcos en la red ( en
ambos sentidos)
* A continuacin se muestra la solucin obtenida usando
WINQSB.
El
Elmximo
mximoflujo
flujoobtenido
obtenidopor
porWINQSB
WINQSB

7 4
2
7
7 Flujo Mximo= 17
2
1 6 7
Tambores Tubo de Seg.
2
con qumico 10 8

3 8
5
Ejercicio para resolver

Flujo mximo

57
Un conjunto de vas rpidas tiene las siguientes
capacidades (miles de vehculos/hora).

1. Determinar el flujo mximo de vehculos/hora que pueden pasar por el sistema.58


2. Cuntos vehculos/hora deben pasar por cada va para lograr el flujo mximo?
SOLUCIN

59
4

3 1 2 6

3
3

5 3
2

ITERACIN CAMINO Pf FLUJO TOTAL DESPUS


DE LA ITERACIN
SELECCIONADO (vehculos/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
ITERACIN CAMINO Pf FLUJO TOTAL
DESPUS DE LA
SELECCIONADO (vehculos/hora)
ITERACIN
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 travs
de los 15 postes de la Mz A para el alumbrado elctrico - que es
proveda por una estacin central perteneciente a Hidrandina ,
que dista de esta Mz entre los 4000 y 6000 mts.- , por donde
circula la mayor cantidad de energa, teniendo en cuenta que
sus habitantes consumen la mayor cantidad de luz por las
maanas, 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 mximo para saber por dnde
fluye la mayor cantidad de energa en esta red de distribucin
de alumbrado elctrico de la Mz A perteneciente al distrito
Florencia de Mora?

63
64
SOLUCIN

65
66
EJERCICIO PARA RESOLVER

67
El complejo hidroelctrico de la cuenca del
Rimac consta de 7 centrales hidroelctricas
que se encuentran en actual funcionamiento.
La capacidad que genera es de 543000 Kw.
La demanda que no se puede satisfacer de
las centrales hidroelctricas se obtiene de las
plantas termoelctricas (petrleo), la energa
es llevada a travs de conductores elctricos
a hacia las ciudades.
La figura resume los enlaces de la red junto
con la capacidad de cada conducto.
68
69
SOLUCIN

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
Telefnica quiere saber el flujo mximo
que debe de salir de la ciudad 1 y llegar
a la ciudad 12 pasando por otros nodos
o puntos de transmisin de datos.

75
76
SOLUCIN

77
EJERCICIO PARA RESOLVER

78
79
TOTAL = 2 + 3 + 6 + 2 = 13 80
PROBLEMAS DE FLUJO MXIMO
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 nmero mximo de unidades
que pueden fluir desde el nodo v al w.
Por ejemplo: C(v, w) puede ser la cantidad mxima de agua que puede ir por
una tubera que comunica v con w, o el nmero de coches mximo que cabe en
una calle.
Problema de flujo mximo.
Dado un nodo origen s y un nodo destino t en un grafo dirigido con
pesos, encontrar la cantidad mxima 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 mximos.
82
Problemas de flujo en redes
Algoritmo para calcular el flujo mximo.
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
mnimo 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, aadir 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 solucin ptima.
Solucin: en el paso 4 aadir una arista <w, v> a G con costo m
(para permitir deshacer los caminos). 83
EJEMPLO 5

FLUJO MXIMO

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
vas. 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?
Cul es el flujo mximo que permite la red
cada hora?
Qu flujo debe canalizarse sobre cada rama?

85
86
SOLUCIN

87
88

Anda mungkin juga menyukai