0% encontró este documento útil (0 votos)
44 vistas

Final Casi

Este documento describe el algoritmo de flujo máximo para resolver problemas de flujo en redes. Explica los pasos del algoritmo de Ford-Fulkerson, incluyendo definir la red residual, encontrar un camino de aumento y aumentar el flujo de manera iterativa. También cubre el teorema de flujo máximo y corte mínimo, que vincula el flujo máximo con la capacidad mínima de un corte en la red. El documento incluye ejemplos para ilustrar los conceptos.

Cargado por

Agustin Campos
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
44 vistas

Final Casi

Este documento describe el algoritmo de flujo máximo para resolver problemas de flujo en redes. Explica los pasos del algoritmo de Ford-Fulkerson, incluyendo definir la red residual, encontrar un camino de aumento y aumentar el flujo de manera iterativa. También cubre el teorema de flujo máximo y corte mínimo, que vincula el flujo máximo con la capacidad mínima de un corte en la red. El documento incluye ejemplos para ilustrar los conceptos.

Cargado por

Agustin Campos
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 22

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCION


UNIVERSITARIA
INSTITUTO UNIVERSITARIO POLITECNICO “SANTIAGO
MARIÑO
EXTENSION – MATURIN

ESTRUCTURA DISCRETA Y GRAFOS:


ALGORITMO DE FLUJO MAXIMO

Profesora: Autor:

Diana García Campos, Agustin


C.I: 29.642.583
Carrera: Ing. de sistemas(47)

MATURIN, AGOSTO DEL 2021


INDICE

INTRODUCCIÓN..............................................................................................................III

ALGORITMO DE FLUJO MÁXIMO..................................................................................4

Pasos para el algoritmo de flujo máximo..................................................................5

Definición de Red.........................................................................................................7

Teorema de Flujo maximal y Corte Minimal..............................................................7

 Teorema de flujo maximal:...................................................................................7

 Teorema de corte minimal:...................................................................................8

Demostrar con ejemplos el concepto de algoritmo de Flujo terminal...................8

Aplicaciones: Diseño de redes de telecomunicaciones. Diseño de redes de


transporte....................................................................................................................14

Redes Con Múltiples Orígenes Y Destinos.............................................................14

Método de Ford – Fulkerson.....................................................................................14

Red Residual...............................................................................................................15

Redes con Capacidad en los Nodos........................................................................16

Corte de Red de Flujo................................................................................................16

Ejercicio.......................................................................................................................16
INTRODUCCIÓN

Uno de los mayores desarrollos recientes en Investigación de Operaciones ha


sido el rápido avance tanto en la metodología como en la aplicación de los modelos de
optimización de redes. La aparición de algunos algoritmos ha tenido un impacto
importante. En consecuencia, ahora se dispone de algoritmos y paquetes de
computadora que se utilizan en forma rutinaria para resolver problemas muy grandes
que no se habrían podido manejar.

Las técnicas de flujo de redes están orientadas a optimizar situaciones


vinculadas a las redes de transporte, redes de comunicación, sistema de vuelos de los
aeropuertos, rutas de navegación de los cruceros, estaciones de bombeo que
transportan fluidos a través de tuberías, rutas entre ciudades, redes de conducto y
todas aquellas situaciones que puedan presentarse mediante una red donde los nodos
representan las estaciones o las ciudades, los arcos los caminos, líneas aéreas y el
flujo lo representan los camiones, mensajes y fluidos que pasan por la red. Con el
objetivo de encontrar la ruta más corta si es una red de caminos o enviar al máximo
fluido si es una red de tuberías.

III
ALGORITMO DE FLUJO MÁXIMO

Los algoritmos de flujos son aquellas herramientas que se encargan de resolver


la problemática de encontrar o determinar el flujo máximo de una fuente a un sumidero
respetando una serie de restricciones. Los flujos se miden como el flujo que sale de un
nodo, si así ocurriera el flujo se considera positivo, en caso contrario tenemos un flujo
negativo.

El problema del Flujo Máximo consiste: Dado un grafo dirigido con pesos, G =
(V,A,W), que representa las capacidades máximas de los canales, un nodo de inicio S
y otro de fin T en V , se trata de encontrar la cantidad máxima de flujo que puede
circular desde S hasta T.

Las aristas representan canales por los que puede circular cierta cosa:
transmisión de datos, redes de corriente eléctrica, líneas de oleoductos, agua,
automóviles, etc.

Los pesos de las aristas representan la capacidad máxima de un canal:


velocidad de una conexión, cantidad máxima de tráfico, voltaje de una línea eléctrica,
volumen máximo de agua, etc.

Los problemas de Flujo Máximo se pueden resolver mediante programas


informáticos, por ejemplo, el programa WinQSB con un conjunto de herramientas útiles
para la investigación de operaciones. Dentro de WinQSB se encuentra el módulo
Network Modeling (Maximal Flow Problem), que permite resolver problemas de Flujo
Máximo con facilidad.

Un buen ejemplo de algún problema y su solución de este ámbito sería el


siguiente:

4
El grafo de la izquierda, G, pintado con líneas continuas, representa las
capacidades máximas; sería la entrada del problema. El grafo de la derecha, F,
representado con líneas discontinuas, indica los flujos reales; es una posible solución
para el problema.

Pasos para el algoritmo de flujo máximo.

Los diferentes pasos o el procedimiento por el cual se obtiene el flujo máximo de


una red, consisten en seleccionar repetidas veces cualquier trayectoria de la fuente al
destino y asignar el flujo máximo posible en esa trayectoria.

Capacidad residual: es la capacidad adicional de flujo que un arco puede llevar:


cf ( u , v )=c ( u , v ) −f (u , v)

1) Dada una red de flujo máximo, plantee la red residual asociada.

2) Encuentre la trayectoria de la fuente al destino con capacidad de flujo


estrictamente positivo (si no existe alguno, es porque se ha encontrado el
óptimo).

3) Examine estas trayectorias para encontrar la rama o arco con la menor


capacidad de flujo restante e incremente en este valor, la capacidad del flujo en
sentido contrario.

4) Determine todas las trayectorias estrictamente positivas, hasta que no se


permita flujo del nodo a un nodo destino.

5
Podemos, mediante el Algoritmo de Ford-Fulkerson, encontrar el flujo máximo
de una red.

Este algoritmo es un método iterativo, el cual, empieza con un flujo nulo y en


cada iteración se va obteniendo un valor del flujo que va aumentando el camino, hasta
que no se pueda aumentar más. Depende de tres puntos vitales:

 Red residual: camino de la fuente al sumidero, donde cada una de las aristas
tiene un flujo residual mayor que cero. Siendo el flujo residual, el flujo que se
puede obtener en una arista una vez que haya pasado un flujo por ella.

 Aumento de camino: se basa en ir aumentando el camino, hasta alcanzar el


máximo (capacidad residual, definido anteriormente).

 Corte en redes de flujo: consiste simplemente en realizar una partición del


conjunto de vértices en dos subconjuntos.

A su vez, este procedimiento puede ser desarrollado y explicado de una forma


más sencilla:

1) Identificar el nodo origen y de destino.

2) Partiendo del nodo de origen se elige el arco que posea mayor flujo

3) Identificar los nodos de transbordo.

4) Repetir el proceso como si el nodo intermediario fuera el nodo origen.

5) Calcular 'k' y las nuevas capacidades.

6) Obtenido el resultado se cambian las capacidades y se repite idéntico procedimi
ento desde el inicio.

6
{
C ≡Capacidades
C ij, ji =( Ci−K , C j + K ) ij ≡ Indices de los nodos
k ≡ Minimo flujo que pasa por el nodo
k =min(Capacidades de laruta)

El Flujo Máximo que puede pasar del nodo origen hasta el nodo destino es la su
ma de las capacidades ∑k de la ruta.

Definición de Red

Una red es, básicamente, una estructura conformada por una serie de elementos
(nodos, entre otros) conectados entre sí, que se encarga de transportar una cierta
cantidad de elementos físicos o digitales, recursos, servicios, entre otros.

A su vez, en la teoría de gramos, Llamaremos red a un dígrafo simple con dos


vértices especiales, un minimal (la fuente) s y un maximal (el pozo) t, y que tiene
asignada una capacidad no negativa cij a cada arco (vi, vj) del dígrafo. Un flujo f, es
una asignación de un valor fij a cada arco (vi, vj) del dígrafo. Escribiremos f+(v) para
denotar el flujo total saliente de un vértice v; y f−(v) para denotar el flujo total entrante.
Es decir, f+(vi) = P k fik, la suma de los flujos de los arcos salientes de vi y f−(vi) = P k
fki, la suma de los flujos de los arcos entrantes.

Teorema de Flujo maximal y Corte Minimal

El teorema relaciona dos cantidades: el caudal máximo a través de una red, y la


capacidad mínima de un corte de la red, es decir, la capacidad mínima la alcanza el
caudal. El teorema principal vincula el flujo máximo a través de una red con el corte
mínimo de la red. Teorema de corte mínimo de flujo máximo. El valor máximo de un
flujo s-t es igual a la capacidad mínima en todos los cortes s-t.

 Teorema de flujo maximal:

Siendo G una red de trasporte, un flujo máximo es un flujo con valor máximo. En
general, habrá varios flujos con el mismo valor máximo. La idea es sencilla solo es

7
comenzar con cierto flujo inicial e incrementar de forma variada hasta que no pueda
mejorarse más. El flujo resultante será el máximo. Para aumentar el valor de un flujo
dado, debemos determinar un camino de la fuente al sumidero e incrementar el flujo a
lo largo de ese camino.

 Teorema de corte minimal:

Este teorema trata de plantear que, un corte es un conjunto de cortes en el cual,


quedando partes disjuntas del conjunto de vértices, V1 y V2 que, situados en la red,
dejan la fuente en una de ellas y al sumidero en la otra. Se llama capacidad de un corte
a la suma: Capacidad (v,w) ; vV1, w?V2 V1es la parte que contiene a la fuente V2 es la
parte que contiene al sumidero Sea F un flujo en G y sea (P, P) un corte en G.
Entonces la capacidad de (p, p) es mayor o igual que el valor de F.

Demostrar con ejemplos el concepto de algoritmo de Flujo terminal

Para la resolución del ejemplo haremos uso del método de Ford Fulkerson.El
nodo de origen como se puede observar es el número 1 de color amarillo, y el nodo de
destino es el número 5 de color azul.

8
Se escoge desde el nodo de origen aquel flujo que sea el mayor, en este caso
es 30, y va dirigido al nodo número 3.

Se identifica el nodo de transbordo como [30,1], 30 es la capacidad, y 1 es el


nodo del cual proviene la capacidad y luego repetimos todo el proceso, como si el nodo
intermediario fuese el nodo de origen. Se tiene como flujo mayor 20 del nodo numero 3
al nodo número 5, con el nodo de transbordo como [20,5].

Ahora que hemos llegado al nodo de destino, procedemos a calcular "k" y las
capacidades nuevas.

9
K=min(∞,30,20)
K=20
C13,31 =(30-20, 0+20)

C13,31 =(10, 20)

C35,53 =(20-20, 0+20)

C35,53 =(0, 20)

Luego de haber calculado las nuevas capacidades, es necesario reemplazarlas.

Se realiza el proceso otra vez, haciendo la ruta con los mayores flujos.

10
K=min(∞,20,40,10,20)
K=10
C12,21 =(20-10, 0+10)

C12,21 =(10, 10)

C23,32 =(40-10, 0+10)

C23,32 =(30, 10)

C34,43 =(10-10, 5+10)

C34,43 =(0, 15)

C45,54 =(20-10, 0+10)

C45,54 =(10, 10)

Volvemos a hacer el proceso y escogemos el camino 1,2. Como se puede


observar si se tomara rumbo del nodo 2 al nodo 3 terminaría trancado, obligándose a
volver al nodo origen, por lo que se toma el camino 2,5.

11
K=min(∞,10,20)
K=10
C12,21 =(10-10, 10+10)

C12,21 =(0, 20)

C25,52 =(20-10, 0+10)

C25,52 =(10, 10)

Se actualizan las capacidades y procedemos a resolver de nuevo. Esta vez


agarraremos el camino de 1,3.

K=min(∞,10,10,10)
K=10
C13,31 =(10-10, 20+10)

C13,31 =(0, 30)

12
C32,23 =(10-10, 30+10)

C32,23 =(0, 40)

C25,52 =(10-10, 10+10)

C25,52 =(0, 20)

Y por último escogemos el camino 1,4.

K=min(∞,10,10)
K=10
C14,41 =(10-10, 0+10)

C14,41 =(0, 10)

C45,54 =(10-10, 10+10)

C45,54 =(0, 40)

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 ahí conseguimos el flujo máximo.

13
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.

Aplicaciones: Diseño de redes de telecomunicaciones. Diseño de redes de


transporte

El problema del flujo máximo tiene numerosas aplicaciones en el mundo real.


Los algoritmos de flujo máximo se aplican a la vida cotidiana para resolver problemas
de gestión de recursos, reparto en empresas de logística, control de vuelos con escalas
en aerolíneas, gestión de selección de proyectos o para calcular las intensidades
máximas en un circuito eléctrico. Otras de sus aplicaciones serian el cálculo de rutas
disjuntas para redes de comunicaciones, circulación con capacidad, programación de
líneas aéreas, selección de proyectos, entre otras.

Redes Con Múltiples Orígenes Y Destinos

En las diferentes aplicaciones del problema del flujo máximo, las redes de flujo
generadas no necesariamente poseen un solo origen y un solo destino, sino que
pueden tener dos, tres o más de estos. Sin embargo, cualquiera que sea la cantidad de
orígenes o destinos, esta situación se puede reducir a un problema de flujo máximo
ordinario, lo único que se debe hacer es agregar una súper-origen con arcos de
capacidad infinita (o muy grande) que partan de ella y vayan hacia cada una de los

14
orígenes originales de la red. Similarmente, se agrega un súper-destino con arcos de
capacidad infinita (o muy grande) que partan de cada uno de los destinos originales de
la red y vayan hacia el súper destino creado. Hecho esto, el problema se verá reducido
a un problema de flujo máximo conocido.

Método 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. Es aplicable a los Flujos
maximales. La idea es encontrar una ruta de penetración con un flujo positivo neto que
una los nodos origen y destino. Su nombre viene dado por sus creadores, L. R. Ford,
Jr. y D. R. Fulkerson.

En otras palabras, este método, básicamente busca saturar los diferentes arcos
que se dispongan, donde, para ello se tendrían que realizar los siguientes pasos:

Paso 1. Hacer pasar un flujo logrando que éste sea compatible con las capacidades de
los arcos.

Paso 2. Se aumenta el flujo de cada arco hasta lograr que la mayoría de éstos este
saturado, es decir, que el flujo sea igual a la capacidad.

Paso 3. A partir de un flujo con al menos un arco saturado, se marcan los nodos de la
red como sigue:

 Marcar el nodo fuente con signo +


 Si el nodo i está marcado y el nodo j no, marcar el nodo j con el signo +i si existe un
arco no saturado (i,j) o marcar el nodo j con el signo -i si existe un arco (i,j) con flujo
no nulo.

Paso 4. Si se llega a marcar el nodo final, se considera la cadena que pasa por los
nodos marcados que va del origen al destino. Si un arco está orientado en el orden
indicado por la secuencia de nodos que forma la cadena, entonces el flujo de dicho
arco se aumenta en una unidad, si no, se disminuye una unidad.

15
Red Residual

La red residual es aquella que deriva de una red original y que está constituida
por los arcos de dicha red que pueden admitir más flujo. A partir de este concepto se
puede definir la capacidad residual de un arco, la cual es la cantidad de flujo restante
que todavía puede aceptar dicho arco. A los arcos que pertenecen a la red residual, se
les denomina arcos residuales, además un arco (u,v) de una red puede aparecer en la
red residual solo si por lo menos uno de los arcos (u,v) o (v,u) aparecen en la red
original.

Una red residual de un grafo es, dicho de forma simple, el mismo grafo, con
aristas duplicadas. Específicamente, si en la arista a-b del grafo original, el flujo es
menor que la capacidad, en la red residual ponemos una arista de a-b con capacidad
igual a la diferencia entre la capacidad y el flujo (esta es la capacidad residual). Y si en
el grafo original, el flujo es mayor que cero, en la red residual ponemos una arista b-a
con capacidad del flujo.

Definimos una red residual Gf (V, E) como la red donde la capacidad de cada
una de las aristas se define como cf (u, v) = c (u, v) – f (u, v), donde c (u, v) es la
capacidad de la arista y el flujo f (u, v) es el flujo de la arista (u, v) en el camino de
aumento seleccionado.

Redes con Capacidad en los Nodos

La capacidad de los nodos de una red será proporcional a la cantidad de rutas y


las conexiones existentes entre estos, así como en la propia capacidad de transportes
de cada una de ellas.

Corte de Red de Flujo

Un corte es una división de la red de flujo en dos redes, una de las cuales
contiene al origen y la otra al destino. La capacidad de un corte es igual a la suma de
las capacidades de los arcos que van desde la parte que contiene al origen, hacia la

16
parte que contiene al destino. Basado en estos conceptos, se denomina corte mínimo a
aquel corte que posee la mínima capacidad entre todos los cortes que se le pueden
hacer a la red de flujo. El corte mínimo es importante pues su capacidad limita la
cantidad de flujo que puede circular a través de la red.

Ejercicio

Una compañía tiene una fábrica localizada en el Estado A donde los productos
que son elaborados son transportados a través de camiones y necesitan ser
transportados hacia el Estado Aragua. ¿Cuál es la cantidad máxima de camiones que
la fábrica puede enviar al Estado F?

Se tiene como dato las carreteras que conectan a los Estados en un solo sentido
y también la cantidad máxima de camiones que pueden fluir por cada carretera.

Solución:

Para lograr determinar la cantidad máxima de camiones que la fábrica puede


enviar al Estado F debemos realizar todas las iteraciones posibles en cada una de las
rutas, por lo tanto, primero seleccionaremos una ruta:

17
La primera ruta que estudiaremos será la siguiente: A-B-F, en la cual
determinaremos el mínimo de camiones que puedan cruzar por la misma. Para ello
solo debemos tomar el menor número que indica alguno de los intervalos de la ruta, en
este caso, sería el 3, y seguidamente se reducen las cantidades posibles de camiones
que pueden cruzar en cada intervalo de la ruta y se indica cuantos han cruzado por la
misma.

Por lo tanto, por la ruta A-B-F solo pueden cruzar 3 camiones.

Ahora procedemos a seleccionar otra ruta: A-B-D-F, en la cual determinaremos


el mínimo de camiones que puedan cruzar por la misma. Para ello solo debemos tomar
el menor número que indica alguno de los intervalos de la ruta, en este caso, sería el 2,
y seguidamente se reducen las cantidades posibles de camiones que pueden cruzar en
cada intervalo de la ruta y se indica cuantos han cruzado por la misma.

18
Por lo tanto, por la ruta A-B-D-F solo pueden cruzar 2 camiones.

Ahora procedemos a seleccionar otra ruta: A-D-F, en la cual determinaremos el


mínimo de camiones que puedan cruzar por la misma. Para ello solo debemos tomar el
menor número que indica alguno de los intervalos de la ruta, en este caso, sería el 3, y
seguidamente se reducen las cantidades posibles de camiones que pueden cruzar en
cada intervalo de la ruta y se indica cuantos han cruzado por la misma.

Por lo tanto, por la ruta A-D-F solo pueden cruzar 3 camiones.

La siguiente ruta seria: A-C-D-E-F, en la cual determinaremos el mínimo de


camiones que puedan cruzar por la misma. Para ello solo debemos tomar el menor
número que indica alguno de los intervalos de la ruta, en este caso, sería el 1, y

19
seguidamente se reducen las cantidades posibles de camiones que pueden cruzar en
cada intervalo de la ruta y se indica cuantos han cruzado por la misma.

Por lo tanto, por la ruta A-C-D-E-F solo puede cruzar 1 camión.

La última ruta posible seria: A-C-E-F, en la cual determinaremos el mínimo de


camiones que puedan cruzar por la misma. Para ello solo debemos tomar el menor
número que indica alguno de los intervalos de la ruta, en este caso, sería el 2, y
seguidamente se reducen las cantidades posibles de camiones que pueden cruzar en
cada intervalo de la ruta y se indica cuantos han cruzado por la misma.

Por lo tanto, por la ruta A-C- E-F solo pueden cruzar 2 camiones.

20
Respuesta: La cantidad máxima de camiones que la fábrica puede enviar al Estado F
es de 11 camiones.

Camiones: 11

21
Sin duda alguna, los flujos de redes resultan funadmentales

22

También podría gustarte