Vous êtes sur la page 1sur 15

10

2 1 2
2 b d 45 20
3
55
s 4 40 25
1 t 30
5 3
3 25
3 2
a c 50 15
4
Modelo del Flujo Máximo
 En algunas redes circula por los arcos
un flujo (envío o circulación de unidades
homogéneas de algún producto: automóviles en una
red de carreteras, litros de petróleo en un oleoducto,
bits por un cable de fibra óptica) desde el origen
o fuente al destino, también
denominado sumidero o vertedero. Los arcos
tienen una capacidad máxima de flujo, y se trata de
enviar desde la fuente al sumidero la mayor cantidad
posible de flujo, de tal manera que:
 El flujo es siempre positivo y con unidades enteras.
 El flujo a través de un arco es menor o igual que la
capacidad.
 El flujo que entra en un nodo es igual al que sale de
él.
 En el caso de que el origen o el destino no
existan en el problema, se añaden
ficticiamente utilizando arcos
unidireccionales de capacidad infinita,
como en grafo mostrado a continuación:
Corte:
 Un corte define una serie de arcos cuya
supresión de la red causa una interrupción
completa del flujo entre el origen y el
destino. La capacidad de corte es igual a
la suma de las capacidades de los arcos
asociados. Entre todos los cortes posibles
en la red , el corte con la menor
capacidad proporciona el flujo máximo en
la red.
 El siguiente grafo ilustra 3 cortes: el Corte 1 con capacidad 60,
el Corte 2 con capacidad 110 y el Corte 3 con capacidad 70.
Todo lo que podemos obtener de los 3 cortes es que el flujo
máximo en la red no excede de 60 unidades. No podemos saber
cual es el flujo máximo hasta que se hayan
enumerado todos los cortes en la red:

 Las capacidades se identifican como sigue: por ejemplo, para el


arco (3,4), el límite de flujo es de 10 unidades de 3 a 4 y
de 5unidades de 4 a 3.
Algoritmo de Ford-Fulkerson
 El algoritmo de Ford-Fulkerson propone buscar
caminos en los que se pueda aumentar el flujo,
hasta que se alcance el flujo máximo. La idea es
encontrar una ruta de penetración con un flujo
positivo neto que una los nodos origen y destino.
Consideraremos las capacidades iniciales del arco
que une el nodo i y el nodo j como Cij y Cji. Estas
capacidades iniciales irán variando a medida que
avanza el algoritmo, denominaremos capacidades
residuales a las capacidades restantes del arco una
vez pasa algún flujo por él, las representaremos
como cij y cji.
Para un nodo j que recibe el flujo del nodo i,
definimos una clasificación [aj,i] donde aj es el flujo
del nodo i al nodo j.
Algunas aplicaciones:
A continuación se mencionan algunos tipos de aplicaciones
comunes del problema del flujo máximo.

 1. Maximizar el flujo a través de la red de distribución de


una compañía desde sus fábricas hasta
sus clientes.
 2. Maximizar el flujo a través de la red de suministros de
una compañía de proveedores a las
fábricas.
 3. Maximizar el flujo de petróleo por un sistema de
tuberías.
 4. Maximizar el flujo de agua a través de un sistema de
acueductos.
 5. Maximizar el flujo de vehículos por una red de
transporte
Ejemplo de Flujo Máximo
 Determinar el flujo máximo en la siguiente red:
Como determinar el flujo
máximo entre los nodos origen y
destino
Pasos:
 1. Identificar los nodos origen y destino
 2. Identificar la capacidad más alta que
sale del nodo origen.
 3. Identificar el nodo intermediario con
[af, i]
 4. Repetir como si el nodo intermediario
fuera el nodo origen
Formulario:

 C: Capacidad
 i,j : índices de los nodos
 k: Flujo mínimo del camino seleccionado
 Cij,ji= (Ci-k , Cj+k)
Iteración: Es el acto de repetir un
proceso con el objetivo de
alcanzar una meta deseada,
objetivo o resultado.
Cij,ji= (Ci-k,Cj+k)
1era. Iteración:

K=min(∞,30,20)
K=20

C13,31 =(30-20, 0+20) = (10, 20)


C35,53 =(20-20, 0+20) = (0, 20)

2da. Iteración:

K=min(∞,20,40,10,20)
K=10

C12,21 =(20-10, 0+10) = (10,10)


C23,32 =(40-10, 0+10) = (30,10)
C34,43 =(10-10, 5+10) = (0,15)
C45,54 =(20-10, 0+10) = (10,10)
Cij,ji= (Ci-k,Cj+k)
3era. Iteración:

K=min(∞,10,30)
K=10

C12,21 =(10-10, 10+10) = (0,20)


C25,52 =(30-10, 0+10) = (20,10)

4ta. Iteración:

K=min(∞,10,10,20)
K=10

C13,31 =(10-10, 20+10) = (0,30)


C32,23 =(10-10, 30+10) = (0,40)
C25,52 =(20-10, 10+10) = (10,20)
Cij,ji= (Ci-k,Cj+k)
5ta. Iteración:

K=min(∞,10,10)
K=10

C14,41 =(10-10, 0+10) = (0,10)


C45,54 =(10-10, 10+10) = (0,20)

Para la 6ta iteración:

No hay flujo disponible debido


a que todos los arcos fuera del
nodo 1 tienen residuales
iguales a cero.
Ahora sabremos cual es el flujo
máximo en la red.
Respuesta: El flujo máximo en la red es

F= k1+k2+k3+k4+k5 = 60

 k1=20
 k2=10
 k3=10
 k4=10
 k5=10
Flujo Máximo = 20 + 10 + 10 + 10 + 10 = 60
La sumatoria de todos los ki nos da como
resultado 60 unidades, que es el flujo máximo
que podemos pasar desde el nodo origen hasta
el nodo destino a través de la red de nodos.

Vous aimerez peut-être aussi