Para la resolución de problemas de flujo máximo se requiere el uso del método Ford
Fulkerson. Este método 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 de origen y destino.
Resolución de problema
Para resolver un problema de flujo máximo se debe seguir los siguientes pasos:
1. Se identifica el nodo origen y destino.
2. Se parte desde el nodo de origen y se escoge el arco que posea mayor flujo
3. Se identifica los nodos de transbordo.
4. Repetir como si el nodo intermediario fuera el nodo origen.
5. Se calcula "k" y las capacidades nuevas.
6. Dado el resultado se cambian las capacidades y se repite el mismo procedimiento desde el
inicio.
Formulario
Cij,ji =(Ci-K, Cj+K), donde:
C: capacidad
Ij: índices de los nodos
K: es el minimo flujo que pasa por el nodo, se calcula como k= min(capacidades de la ruta).
Ahora que hemos llegado al nodo de destino, procedemos a calcular "k" y las capacidades
nuevas.
K=min(∞,30,20)
K=20
Se realiza el proceso otra vez, haciendo la ruta con los mayores flujos.
K=min(∞,20,40,10,20)
K=10
K=min(∞,10,10,10)
K=10
K=min(∞,10,10)
K=10
Reemplazando las nuevas capacidades, nos queda de la siguiente forma, las capacidades
del nodo de origen quedan como 0, por lo cual seguimos a sumar a todas las K y ahi
conseguimos el flujo máximo.
Flujo Máximo = Σ K
Flujo Máximo = 20+10+10+10+10
Flujo Máximo = 60
El flujo máximo que puede pasar del nodo origen 1 hasta el nodo destino es de 60.
http://flujomaximo.blogspot.com/
Función Objetivo: Maximizar las unidades que salen del nodo de origen (1) a los
que éste conecta (2, 4 y 5) o alternativamente maximizar las unidades que llegan
al nodo de destino (8) desde los que conectan a él (3, 6 y 7).
Restricciones:
Restricciones de Flujo Máximo: La cantidad de unidades que sale de cada nodo
de origen a un nodo de destino no puede superar la capacidad detallada en el arco,
por ejemplo, del nodo 1 al nodo 2 sólo se pueden enviar 7 unidades.
https://www.gestiondeoperaciones.net/programacion-entera/ejemplo-del-problema-del-flujo-
maximo-en-programacion-entera-resuelto-con-solver/
2.4 Problema Flujo Máximo Abril 9, 2010
En algunas redes circula p*or 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:
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 5 unidades de 4a 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.
Los pasos del algoritmo se definen como sigue:
Iteración 1:
Determinamos las residuales iniciales (cij,cji) iguales a las capacidades iniciales (Cij,Cji).
Iteración 2:
Iteración 3:
Iteración 4:
Iteración 5:
Paso 1: Hacemos ai=∞, y clasificamos el nodo 1 con [a1,-]. Tomamos i=1.
Paso 2: S1={4}.
Paso 3: k=4 y a4=c14=10. Clasificamos el nodo 4 con [10,1]. Tomamos i=4 y repetimos el
paso 2.
Paso 2: S4={3,5}
Paso 3: k=3 y a3=c23=max{15,10}=15. Clasificamos el nodo 3 con [15,4]. Tomamos i=3 y
repetimos el paso 2.
Paso 2: S3 vacío ya que c32=c34=c35=0. Vamos al paso 4 para retroceder.
Paso 4: La clasificación [15,4] nos dice que el nodo inmediatamente precedente es el 4.
Eliminamos el nodo 3 de una consideración posterior en esta iteración. Tomamos i=4 y
repetimos el paso 2.
Paso 2: S4={5}
Paso 3: k=5 y a5=c45=10. Clasificamos el nodo 5 con [10,4]. Logramos la penetración,
vamos al paso 5.
Paso 5: La ruta de la penetración es: 5→[10,4]→4→[10,1]→1.
Iteración 6:
https://karenbandala.wordpress.com/about/2-4-problema-flujo-maximo/
https://jorgesosasanchez.wordpress.com/unidad-2/2-4-problema-flujo-maximo/