Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Existe un flujo que viaja desde un único lugar de origen hacia un único lugar de
destino a través de arcos que conectan nodos intermediarios. Los arcos tienen una
capacidad máxima de flujo y se trata de enviar desde la fuente al destino la mayor
cantidad posible de flujo.
Definiciones básicas
CARACTERISTICAS:
• 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. ( Los nodos NO son
sumideros, es decir no consumen el producto que circula por la red)
Resolución de problema
2. Marcar los vértices (nodos) según corresponda con signo (+) ó signo (-) .
Signo + : se puede llegar al nodo desde otro nodo que lo precede pues tiene un
arco no saturado
Signo - : el nodo recibe flujo por un arco donde se puede dejar de enviar
En esta marcación se busca encontrar una cadena dese el nodo inicial al nodo final
Si existe esa cadena el flujo completo se puede mejorar.
5. Repetir el proceso del paso 2 en adelante hasta que no exista una cadena del nodo
inicial al nodo final.
Este último Flujo Completo es el Flujo óptimo.
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).
4
(20)
(10)
(10)
1 5
(30)
(20)
(20)
(20)
2 3
(40)
Método Ford Fulkerson
Ahora que hemos llegado al nodo de destino, procedemos a calcular "k" y las
nuevas capacidades.
K=min(∞,30,20)
K=20
Luego 20 es lo que puedo efectivamente enviar por ese camino, de esta manera se
envían los 20 y se calculan las nuevas capacidades que quedan.
Luego de haber calculado las nuevas capacidades, es necesario reemplazarlas.
Importante en cada arco se indica un valor cercano al nodo origen : nueva
capacidad y lo que está llegando, próximo al nodo destino.
Así entre el nodo 1 y el nodo 3 su capacidad = 30 queda
10 = residuo= nueva capacidad disponible= 30- K =30-20 =10
20= ingresa al nodo destino= 0+ K = 0+20=20
4
(20)
(10)
(10)
1 (10)
5
(30)
20
(20)
(20)
20 (20)
2 3 (0)
(40)
Se realiza el proceso otra vez, haciendo la ruta con los mayores flujos desde el
nodo inicial . Entre 10; 10; 20 resulta arrancar con 20, se llega al nodo 2 , del nodo
2 entre 20 ; 40 resulta 40 al nodo 3; del nodo 3 entre 10 y 0; resulta 10 al nodo 4;
del nodo 4 la única opción es al nodo 5 con 20.
K=min(∞,20,40,10,20)
K=10
Así entre el nodo 1 y el nodo 2 su capacidad = 20 queda
10 = residuo= nueva capacidad disponible= 20- K =20-10 =10
10= ingresa al nodo destino= 0+ K = 0+10=10
del nodo 2 al nodo 3= (40-10, 0+10) =(30, 10)
del nodo 3 al nodo 4= (10-10, 0+10) =(0, 10)
del nodo 4 al nodo 5= (20-10, 0+10) =(10, 10)
4 (10)
(20)
(10) 10
10
(10)
1 (10) (0) 5
(30)
20
(20)
(20) 10
(10) 20 (20)
2 10 3 (0)
(40)
(30)
K=min(∞,10,20)
K=10
Así entre el nodo 1 y el nodo 2 su capacidad actual es = 10 queda
0 = residuo= nueva capacidad disponible= 10- K =10-10 =0
10= ingresa al nodo destino= 0+ K = 0+10=10
(0)
10 4 (10
(0) (20)
(10) 10
20
(10)
1 (10) (0) 10 5
(30) (20) 20
(10)
(20) 20
(10) 20 (20)
(0) 2 10 3 (0)
(40)
(30)
Flujo Obtenido es un FLUJO COMPLETO pues todos los caminos que conducen del nodo
1 al nodo 5 tiene al menos un arco saturado.
El valor del flujo completo es = 50
También podemos verificar que los valores calculados deben cumplir la característica de
que ningún nodo es consumidor: todo lo que sale del nodo 1(origen) debe llegar al nodo 5
(destino). En ese sentido lo que sale del nodo inicial por los tres arcos posibles es igual a
50 que coincide con lo que llega al nodo 5
Paso 2: Partiendo del flujo completo obtener el Flujo Óptimo
4 20
u8(20)
10 u3(10)
1 u5(10) 5
20
u1(20) u2(30) u6(20)
20 10
20 u7(20)
10
2 u4(40) 3
10
FLUJO COMPLETO
u1 u2 u3 u4 u5 u6 u7 u8 Flujo
20 20 10 10 10 10 20 20 50
En esta marcación se busca encontrar una cadena desde el nodo inicial al nodo
final. Si existe esa cadena el flujo completo se puede mejorar.
Siempre comienzo por el nodo origen poniendo un signo (+), ¿es posible enviar algo por
alguno de los tres arcos que parten del nodo 1?
Por el arco u1 y u3 no es posible pues están saturados.
Por el arco u2 es posible y por lo tanto marco el nodo 3 con + 1 ; + pues llego con el
sentido del arco y 1 indica de qué nodo llego.
Una vez que estoy en el nodo 3 NO puedo avanzar por los arcos u5 ni u7 pues ambos
están saturados. Puedo retroceder por el nodo u4. Retroceder se interpreta como dejar
de mandar, esto significa que tomo el arco en sentido contrario y puedo dejar de enviar
algún flujo: el signo –, es ir en sentido contrario. No se puede dejar de mandar en el caso
que por ese arco el flujo que se envía es cero.
Marco el nodo 2 con - 3 ; - pues llego con el sentido contrario al del arco y 3 indica de
qué nodo estoy llegando.
Una vez que estoy en el nodo 2 puedo avanzar por el arco u6 y llegar al nodo 5 pues el
arco u6 no está saturado. De esta manera marco el nodo 5 con + ; + pues llego con
sentido del arco y 2 indica de qué nodo estoy llegando.
Sintetizando:
No se puede mandar, sentido +, cuando el arco está saturado
No se puede dejar de mandar, sentido -, cuando no se envía nada.
Con estas marcaciones obtenemos una cadena que va del nodo inicial y al nodo
final
Esto nos dice que el flujo completo aún puede aumentar
1 5 +2
20
+ u2(30) u6(20)
10
10
2 u4(40) 3
10
-3 +1
4 20
u8(20)
10 u3(10)
+ 1 u5(10) 5 +2
20
u1(20) u2(30) u6(20)
20 10
20 u7(20)
10
2 u4(40) 3
10
-3 +1
Los residuos se suman a los arcos cuando se toman en su mismo sentido (+) y se restan
cuando se toman en sentido contrario (-), luego el nuevo camino será:
u1 u2 u3 u4 u5 u6 u7 u8 Flujo
20 20 10 10 10 10 20 20 50
(+10) -10 (+10)
20 30 10 0 10 20 20 20 60
Resultando un nuevo flujo completo que está en la fila 3 del cuadro y que se refleja en el
grafo siguiente
4 20
u8(20)
10 u3(10)
1 u5(10) 5
30
u1(20) u2(30) u6(20)
20 10
20 20
2 u4(40) 3
0
Paso 5 : Repetir el proceso del paso 2 en adelante
Se trata de marcar los nodos de tal manera de hallar una cadena del nodo inicial al nodo
final.
En este ejemplo partiendo del nodo inicial no se puede marcar ningún vértice pues los 3
arcos están saturados. Queda únicamente marcado el nodo inicial con signo (+) y ningún
otro nodo.
Al No existir cadena posible entre el nodo inicial y el nodo final el camino completo = 60
es el óptimo
Obtengo la suma de las capacidades de los arcos que van de los nodos marcados a los
NO marcados.
Arcos que van del nodo 1(nodo marcado) a nodos NO marcados son 2; 3; 4;5
Estos arcos son:
de 1 a 2 u1 capacidad = 20
de 1 a 3 u2 capacidad = 30
de 1 a 4 u3 capacidad = 10
suma = 60