teoria de grafos 4-ford-fulkerson
TRANSCRIPT
-
INVESTIGACIN OPERATIVA
Teora de Grafos
PROBLEMA DEL FLUJO MXIMO-
ALGORITMO DE FORD FULKERSON
-
Algoritmo de Ford-Fulkerson
Propone buscar caminos en los que se pueda aumentar el
flujo, hasta que se alcance el flujo mximo. El objetivo es
encontrar una ruta de penetracin con un flujo positivo
neto que una los nodos origen y destino.
-
En algunas redes circula por los arcos un flujo (envo o
circulacin de unidades homogneas de algn producto:
automviles en una red de carreteras, litro de petrleo
en un oleoducto) desde el origen o fuente al destino,
tambin denominado sumidero o vertedero, los arcos
tienen una capacidad mxima 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 travs de un arco es igual o menor que la
capacidad
El flujo que entra en un nodo, es igual al que sale de el
En el caso de que el origen o destino no existan en el
problema, se aaden de forma ficticia utilizando arcos
unidireccionales de capacidad infinita
-
Corte: un corte define una seria de arcos cuya supresin
de la red causa una interrupcin completa del flujo entre
el origen y el destino. La capacidad del 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 mximo de la red.
-
Ejemplo
-
La capacidad residual de cada arco a lo largo de la ruta de
penetracin se disminuye por Fp en direccin del flujo y
se incrementa por Fp en direccin inversa, es decir, para
los nodos i y j en la ruta, el flujo residual se cambia de la
(cij,cji) actual a (cij-fp,cji+fp) si el flujo es de i a j.
-
Ejemplo
-
Iteracin 1
-
Capacidades residuales:
(c13,c31) = (30-20,0+20)=(10,20)
(c35,c53) = (20-20,0+20)=(0,20)
-
Iteracin 2
-
Capacidades residuales:
(c12,c21) = (20-10,0+10)=(10,10)
(c23,c32) = (40-10,0+10)=(30,10)
(c34,c43) = (10-10,5+10)=(0,15)
(c45,c54) = (20-10,0+10)=(10,10)
-
Iteracin 3
-
Capacidades residuales:
(c12,c21) = (10-10,10+10)=(0,20)
(c25,c52) = (30-10,0+10)=(20,10)
-
Iteracin 4
-
Capacidades residuales:
(c13,c31) = (10-10,20+10)=(0,30)
(c32,c23) = (10-10,30+10)=(0,40)
(c25,c52) = (20-10,10+10)=(10,20)
-
Iteracin 5
-
Capacidades residuales:
(c14,c41) = (10-10,0+10)=(0,10)
(c45,c54) = (10-10,10+10)=(0,20)
-
Iteracin 6
-
El flujo en los diferentes arcos se calcula restando los
ltimos residuales obtenidos en la ultima iteracin de las
capacidades iniciales.
(1,2) (20,0)-(0,20)=(20,-20) 20 1 2
(1,3) (30,0)-(0,30)=(30,-30) 30 1 3
(1,4) (10,0)-(0,10)=(10,-10) 10 1 4
(2,3) (40,0)-(40,0)=(0,0) 0 -
(2,5) (30,0)-(10,20)=(20,-20) 20 2 5
-
(3,4) (10,0)-(0,15)=(10,-10) 10 3 4
(3,5) (20,0)-(0,20)=(20,-20) 20 3 5
(4,5) (20,0)-(0,20)=(20,-20) 20 4 5
-
Calcular el flujo mximo desde 0 hasta E
0 E