Está en la página 1de 9

Flujo Máximo

Beneventti, D. (2019)
Flujo Máximo.
Apunte Docente.
Santiago; Universidad Andrés Bello.
1

Flujo máximo

Introducción

Se considera un grafo dirigido G(N, A). Cada arco (i ,j) tiene capacidad 𝑢𝑖𝑗 . Existe
un nodo Origen O y un nodo destino D. El problema consiste en enviar el mayor
flujo posible desde el Origen al Destino sin exceder la capacidad en ningún arco.

Modelación matemática

Conjuntos:
N : Nodos de la red
A : Arcos de la red
Parámetros
uij :Capacidad del arco (i, j ),(i, j )  A
´
lij : Limite ´
minimo del arco (i, j ),(i, j )  A
´Variables
´
F : Flujo total desde el origen
xij :Flujo en el arco (i, j ),(i, j )  A
2

Función objetivo:
Max F
s.a.
1) Balance de flujo
 F iO

 xij  kN  xkj   0 i  N : i  O, D
jN :( i , j ) A :( k , j )A  F iO

2) El flujo en cada arco debe
debe ser menor a la capacidad y mayor
mayor al
al limite
límite minimo
mínimo
lij  xij  uij (i , j )  A
3) Naturaleza de las variables
xij  0 (i , j )  A

Algoritmo de Ford-Fulkerson

Se construye el flujo máximo de forma iterativa a partir de un flujo factible.

En cada iteración se identifica un camino de aumento de flujo con respecto al flujo


existente.

Se determina la cantidad de flujo adicional máximo posible antes de sobrepasar


las capacidades de los arcos en el camino determinado en la primera parte.

Para identificar un camino de aumento de flujo:

Se construye un grafo auxiliar G’ (grafo residual), los nodos de G’ son los


mismos de G-

Los arcos de G’ se calculan así:

Si xij  uij en G, entonces el arco (i, j ) se incorpora a G', con capacidad residual  ij  uij  xij
Si xij  lij en G, entonces el arco ( j , i ) se incorpora a G', con capacidad residual  ij  xij  lij

El grafo residual G’ indica por donde se pueden enviar más unidades de flujo, dada
la solución actual.

Paso 1: Determinar un flujo factible para el grafo. Usualmente se parte con flujo 𝑓𝑖𝑗
= 0.
3

Paso 2: Construir el grafo residual G’(N’,A’).

Si xij  uij en G, entonces el arco (i, j ) se incorpora a G', con capacidad residual ij  uij  xij
Si xij  lij en G, entonces el arco ( j , i ) se incorpora a G', con capacidad residual  ij  xij  lij

Paso 3: Determinar un camino por donde enviar unidades de flujo en el grafo


residual.

Si no hay camino posible, es la solución óptima.

Si hay camino posible, incrementar el flujo y actualizar el grafo residual G’.

Ejemplo

Encuentre el flujo máximo sobre el siguiente grafo:

Desarrollo:

Paso 1: Determinar un flujo factible para el grafo. Usualmente se parte con flujo 𝑓𝑖𝑗
= 0.

Se define como flujo inicial: 0

Iteración 1:

Paso 2: Construir el grafo residual G’(N’,A’).

Si xij  uij en G, entonces el arco (i, j ) se incorpora a G', con capacidad residual ij  uij  xij
Si xij  lij en G, entonces el arco ( j , i ) se incorpora a G', con capacidad residual  ij  xij  lij

Dado que el flujo inicial es igual a 0 y la capacidad de los arcos no ha sido utilizada,
el grafo residual queda igual al original:
4

Paso 3: Determinar un camino por donde enviar unidades de flujo en el grafo


residual.

Hay diversos caminos disponibles:

1 – 2 – 5.

1 – 2 – 3 – 5.

1 – 2 – 3 – 4 – 5.

1 – 3 – 5.

1 – 3 – 4 – 5.

Se escoge el camino 1 – 2 – 5, que tiene en sus arcos las siguientes capacidades


disponibles:

(1, 2) = 10

(2, 5) = 3

El flujo adicional será igual a la capacidad menor de los arcos, en este caso será
igual a 3.

Iteración 2: Se actualiza el grafo residual:

En el grafo residual la capacidad disponible se expresa en la dirección original y la


capacidad utilizada se expresa en dirección contraria.
5

De las capacidades disponibles en el grafo residual se puede observar diversos


caminos disponibles:

1 – 2 – 3 – 5.

1 – 2 – 3 – 4 – 5.

1 – 3 – 5.

1 – 3 – 4 – 5.

Se escoge el camino 1 – 2 – 3 – 5, que tiene en sus arcos las siguientes capacidades


disponibles:

(1, 2) = 7

(2, 3) = 5

(3, 5) = 7

El flujo adicional será igual a la capacidad menor de los arcos, en este caso será
igual a 5.

Iteración 3: Se actualiza el grafo residual:

En el grafo residual la capacidad disponible se expresa en la dirección original y la


capacidad utilizada se expresa en dirección contraria.
6

De las capacidades disponibles en el grafo residual se puede observar diversos


caminos disponibles:

1 – 3 – 5.

1 – 3 – 4 – 5.

Se escoge el camino 1 – 3 – 5, el cual tiene en sus arcos las siguientes capacidades


disponibles:

(1, 3) = 6

(3, 5) = 2

El flujo adicional será igual a la capacidad menor de los arcos, en este caso será
igual a 2.

Iteración 4: Se actualiza el grafo residual:

En el grafo residual la capacidad disponible se expresa en la dirección original y la


capacidad utilizada se expresa en dirección contraria.

De las capacidades disponibles en el grafo residual se puede observar solo un


camino disponible: 1 – 3 – 4 – 5.

Se escoge el camino 1 – 3 – 4 – 5, que tiene en sus arcos las siguientes capacidades


disponibles:

(1, 3) = 4

(3, 4) = 4

(4, 5) = 4
7

El flujo adicional será igual a la capacidad menor de los arcos, en este caso será
igual a 4.

Iteración 5: Se actualiza el grafo residual:

En el grafo residual la capacidad disponible se expresa en la dirección original y la


capacidad utilizada se expresa en dirección contraria.

Dado que no hay capacidades disponibles, es la solución óptima, por lo que se tiene
un flujo máximo sobre la red de: 3 + 5 + 2 + 4 = 14

Caso especial: Múltiples nodos de origen y destino.

Cuando en un problema de flujo máximo se tienen múltiples nodos de oferta y/o


múltiples nodos de demanda, se deben agregar un nodo origen y un nodo destino.

El nodo de origen se conecta a los nodos de oferta y el arco saliente desde el nodo
origen a cada nodo de oferta será igual a la suma de los arcos salientes del nodo
de oferta, por ejemplo, el nodo 2 tiene 3 arcos salientes que suman 58, por lo que
el arco que une el nodo origen y el nodo de oferta 2 tendrá una capacidad de 58.

El nodo de destino es conectado a los nodos de demanda y el arco saliente de cada


nodo de demanda al nodo destino será igual a la suma de los arcos que llegan al
nodo de demanda, por ejemplo, el nodo 7 tiene 3 arcos que llegan a su nodo, que
suman 29, por lo que arco que une el nodo 6 y el nodo destino tendrá una
capacidad de 29.
8

Bibliografía:

Taha, H., Martínez del Campo Varela, G., & González Pozo V. (2004). Investigación
de Operaciones. (Séptima edición). México: Pearson Educación.

También podría gustarte