Sei sulla pagina 1di 11

i

ii

Indice general
1. Introducci
on

1.1. Problema de Flujo Maximo . . . . . . . . . . . . . . . . . . . . . . .

1.2. Algoritmo de flujo maximo . . . . . . . . . . . . . . . . . . . . . . . .

Bibliografa

iii

INDICE GENERAL

iv

Captulo 1
Introducci
on
1.1.

Problema de Flujo M
aximo

En una empresa, los empleados necesitan que el flujo de datos a traves de la red
aumente, debido a que ahora realizan videollamadas con otras empresas para cerrar
tratos de negocios, capacitan a su personal utilizando video tutoriales almacenados
en la nube, permiten que sus empleados trabajen en un ambiente confortable al
escuchar m
usica utilizando un servicio como el que proporciona Spotify. Para resolver
el problema anterior, es necesario determinar la cantidad maxima de datos que fluyen
a traves de la red empresarial. Este tipo de problema se conoce como problema de
flujo maximo
En terminos generales, el problema de flujo maximo se puede describir de la
siguiente manera [1].
1. Todo flujo a traves de una red conexa dirigida se origina en un nodo, llamado
origen, y termina en otro nodo llamado destino.
2. Los nodos restantes son nodos de trasbordo.
3. Se permite el flujo a traves de un arco solo en la direccion indicada por la
flecha, donde la cantidad maxima de flujo esta dada por la capacidad del arco.
En el origen, todos los arcos se
nalan hacia afuera. En el destino, todos se
nalan
hacia el nodo.
1


1. INTRODUCCION

4. El objetivo es maximizar la cantidad total de flujo del origen al destino. Esta


cantidad se mide en cualquiera de las dos maneras equivalentes, esto es, la
cantidad que sale del origen o la que entra al destino.

En otras palabras, este algoritmo se basa en encontrar rutas que permitan llevar
un flujo positivo desde el nodo origen hasta un nodo destino; a estas se les llama
rutas de avance. Cada ruta destina al flujo total de la red, una parte o toda
la capacidad de cada arco por el que pasa la ruta. Finalmente, la suma de las
capacidades de cada una de las rutas encontradas, constituyen el flujo maximo de
la red.
Considere una red de oleoductos que transporta petroleo crudo desde pozos hasta
refineras. Se instalan estaciones intermedias de reforzamiento y bombeo a distancias
apropiadas para mover el crudo en la red. Cada segmento de tubera tiene una
velocidad de descarga finita (o capacidad) de flujo de crudo. Un segmento de tubera
puede ser unidireccional o bidireccional, seg
un su dise
no [2]. En la Fig. 1.1, se muestra
una red que conecta pozos petroleros con las refineras utilizando estaciones de
redistribucion intermedias. En esta red, las flechas indican la direccion del flujo y
los arcos que no tienen flecha son bidireccionales.

7
1

Origen
2

Pozos

Estaciones de
redistribucin

Destino

Refineras

Figura 1.1: Red que conecta pozos petroleros y refineas por medio de estaciones de redistribuci
on.

La solucion del problema propuesto requiere agregar un solo origen y un solo


destino, utilizando arcos de capacidad infinita unidireccionales, como se muestra en
la Fig. 1.1.
2


1.2. ALGORITMO DE FLUJO MAXIMO

Para el arco (i, j), la notacion


(C ij , C ji ) proporciona las capacidades
de flujo iniciales en las dos direcciones
i j y j i. Para eliminar la ambig
uedad, colocamos a C ij junto al nodo i y a C ji junto al nodo j, como se

Figura 1.2: Flujos de arcos Cij de i j y Cji de j i.

muestra en la Fig. 1.2.

1.2.

Algoritmo de flujo m
aximo

El objetivo de este algoritmo es encontrar todas las rutas de avance, es decir,


rutas que lleven cierto flujo del origen al destino, con el fin de obtener la capacidad
maxima de la red sumando las capacidades de cada ruta de avance encontrada.
En primera instancia, es necesario identificar las capacidades de dise
no para cada
nodo en la red inicial. Para un arco (i, j) su capacidad de dise
no bidireccional es
(C ij , C ji ). Debido a que no siempre se utiliza la capacidad maxima en cada arco
para llevar un flujo, las capacidades residuales se actualizan en cada arco. Se utiliza
la notacion (cij , cji ) para representar las capacidades residuales de cada arco (i, j).
En la construccion de una ruta de avance se etiquetan los nodos. Para un nodo j
que recibe flujo del nodo i, anexamos la etiqueta [aj , i] donde aj es el flujo del nodo
i al nodo j. A continuacion se describen los pasos del algoritmo de flujo maximo.
Paso 1.

a) Para todos los arcos, iguale la capacidad residual a la capacidad de dise


no,
esto es (cij , cji ) = (C ij , C ji ).
b) Hacer a1 = y etiquetar el nodo origen con [, ].
c) Designe i = 1, y contin
ue con el paso 2. El nodo i representa al nodo
actual.

Paso 2.

a) Determine Si el conjunto de nodos no etiquetados j al que se puede


llegar directamente desde i por medio de arcos con capacidades residuales
positivas (es decir cij > 0 para todas las j Si ).
3


1. INTRODUCCION

b) Si Si 6= , contin
ue con el paso 3. De lo contrario, una ruta parcial
termina en el nodo i. Contin
ue con el paso 4
Paso 3.

a) Determine k Si de modo que


cik = max {cij }
jSi

b) Designe ak = cik y etiquete el nodo k con [ak , i].


c) Si k = n, se ha etiquetado al nodo destino, y se ha encontrado una ruta
de avance, contin
ue con el paso 5. De lo contrario, designe i = k, y vaya
al paso 2.
Paso 4. (Retroceso).
a) Si i = 1 (el conjunto S1 = ), no es posible avanzar; contin
ue al paso
6. De lo contrario: Defina r, el nodo (en la ruta parcial) que se etiqueto
inmediatamente antes del nodo actual i, y elimine i del conjunto de nodos
adyacentes al nodo r, es decir, haga Sr = Sr {i}.
b) Designe i = r, y regrese al paso 2.
Paso 5. (Determinaci
on de las capacidades residuales).
a) Defina los nodos de la ruta de avance pesima del nodo 1 al nodo n como
Np = (1, k1 , k2 , , n). Entonces el flujo maximo a lo largo de la ruta Np ,
representado por la mnima de todas las capacidades residuales a lo largo
de la ruta Np , y se calcula como
fp = min {a1 , ak1 , ak2 , , an }
b) Actualizar las capacidades residuales de la ruta Np reduciendo en fp la
capacidad en la direccion del flujo e incrementando en fp en la direccion
inversa, es decir, para los nodos i y j en la ruta, la capacidad residual
actual (cij , cji ) cambia a:
1) (cij fp , cji + fp ) si el flujo es de i a j
4


1.2. ALGORITMO DE FLUJO MAXIMO

2) (cij + fp , cji fp ) si el flujo es de j a i


c) Se eliminan las etiquetas de los nodos y se restauran todos los nodos
eliminados en el paso 4.
d ) Haga i = 1 y regrese al paso 2.
Paso 6.

a) Como fueron determinadas m rutas de avance, el flujo maximo en la red


esta determinado por la suma de los flujos de cada ruta de avance fp , es
decir:
F = f1 + f2 + + fm
b) Finalmente se calculan los flujos optimos en cada arco, los cuales indican
la cantidad de flujo que realmente fluye a traves de cada arco y la direccion
en la que fluye. Los flujos optimos se calculan utilizando las capacidades
de dise
no (C ij , C ji ) (iniciales) y las capacidades residuales(cij , cji ) finales
del arco (i, j).
El flujo optimo para el arco (i, j) se determina calculando
(, ) = (C ij cij , C ji cji )
Si < 0, el flujo optimo es en direccion i j. Por otra parte si
> 0, el flujo optimo es en direccion de j i. Es imposible que
y sean positivos al mismo tiempo.

Ejemplo 1.1 Determine el flujo maximo y los flujos optimos para la red que se
muestra en la Fig. 1.3.

20
5
0

10
30

20

5
0

30

40

0
0

10
20

Figura 1.3: Red de flujo.


1. INTRODUCCION

Soluci
on.

Bibliografa
[1] F. Hillier. Introduction To Operations Research. McGraw-Hill Education (India)
Pvt Limited, 2012.
[2] H. A. Taha. Operations Research: An Introduction (8th Edition). Prentice-Hall,
Inc., Upper Saddle River, NJ, USA, 2006.

Potrebbero piacerti anche