teoria de grafos 4-ford-fulkerson

Upload: juan-diego-leon

Post on 14-Oct-2015

19 views

Category:

Documents


0 download

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