Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dado el arco (i, j) con i < j, se usa la notación para representar las capacidades de flujo en las
dos direcciones, y, respectivamente. Para eliminar ambigüedades se pone a Cij en el arco junto
al nodo i, y Cji se coloca junto al nodo j, como se ve en la figura
Enumeración de cortes
Un corte define a un conjunto de arcos que, cuando se eliminan de la red, causan una
interrupción total del flujo entre los nodos fuente y sumidero. La capacidad de corte es igual a
la suma de las capacidades de los arcos correspondientes. Entre todos los cortes posibles en
la red, el que tenga la capacidad menor permite el flujo máximo en la red. No se puede decir
cuál es el flujo máximo en la red, a menos que se enumeren todos los cortes posibles.
Desafortunadamente, enumerar todos los cortes no es una tarea sencilla, y entonces se hace
necesario el eficiente algoritmo de la sección siguiente.
Algoritmo de flujo máximo
El algoritmo de flujo máximo se basa en determinar rutas de irrupción que tengan flujo neto
positivo entre los nodos fuente y sumidero. Cada ruta comunica parte o todas las capacidades
de sus arcos al flujo total en la red. Considérese el arco (i, j) con capacidades iniciales (Cij, Cji).
A medida que partes de esas capacidades contribuyen al flujo en el arco, se actualizan los
residuales (o capacidades remanentes). La red con los residuales actualizados se llama red
residual. Se usará la notación (cij, cji) para representar esos residuales. Para un nodo j que
recibe flujo del nodo i, se define una etiqueta [aj, i], donde aj es el flujo del nodo i al nodo j. Los
pasos del algoritmo se resumen como sigue.
Paso 1. Para todos los arcos (i, j) se iguala la capacidad residual con la capacidad inicial; esto
es (cij, cji) = C ij , C ji . Sea a1 =∞ y se etiqueta el nodo fuente 1 con [∞, -]. Se iguala i = 1 y se
prosigue en el paso 2.
Paso 2. Determinar Si, el conjunto de nodos j no etiquetados que se pueden alcanzar
directamente desde el nodo i, con arcos con residuales positivos (esto es, cij >0 para toda j
Si). Si Si Ø, ir al paso 3. En caso contrario ir al paso 4.
Paso 3. Determinar k Si tal que
c máx c
ik ij
jS
i
Igualar ak = cik y etiquetar el nodo k con [ak, i]. Si k =n, el nodo de sumidero se ha etiquetado, y
se ha encontrado una ruta de irrupción; ir al paso 5. En caso contrario, igualar i = k y seguir en
el paso 2.
Paso 6. (Solución)
a) Si se han determinado m rutas de irrupción, el flujo máximo en la red es
F f f f
1 2 m
b) Como los residuales inicial y final del arco (i, j) se obtienen con C ij , C ji y (cij,cji),
respectivamente, el flujo óptimo en el arco (i, j) se calcula como sigue: sea
, Cij cij , C ji c ji . Si 0 , el flujo óptimo de i a j es . Si 0 , el flujo óptimo de
j a i es . Se invoca el proceso de retroceso del paso 4 cuando el algoritmo llega a un “punto
ciego” por descuido, en un nodo intermedio, antes de poder realizar una irrupción.
Determinar el flujo máximo en la red