Subido por José Luis Bernal Alonso

Proyecto de primer parcial

Anuncio
MODELOS DINAMICOS DE
INVESTIGACIÓN DE OPERACIONES
Tema: Modelos de redes.
Subtema: Modelo de flujo máximo o flujo mínimo.
Alumno: José Luis Bernal Alonso.
Grupo: ING8DL
Matricula: 63224881
Carrera: Licenciatura en Ingeniería Industrial.
Escuela: Universidad Interglobal Querétaro.
Docente: Rogelio Paulin Monroy.
Fecha: Noviembre 2024.
Contenido
Introducción ____________________________________________________________2
Definiciones básicas. ____________________________________________________3
Flujo. ________________________________________________________________3
Capacidad de flujo. ____________________________________________________3
Origen del flujo. _______________________________________________________3
Destino de flujo. _______________________________________________________4
Capacidades residuales. ________________________________________________4
Algoritmo de Ford-Fulkerson. _____________________________________________4
Desarrollo (Solución) ____________________________________________________6
Flujo máximo de la red ________________________________________________ 11
Conclusión ____________________________________________________________ 11
Introducción
El modelo de flujo máximo y flujo mínimo se utilizan en teoría de redes para optimizar el
movimiento de recursos a través de una red, como un sistema de carreteras, tuberías o
cables de transmisión.
El modelo de flujo máximo se enfoca en maximizar el flujo total que se puede enviar
desde un nodo de origen a un nodo de destino sin exceder las capacidades de las
conexiones intermedias. Este modelo es relevante en aplicaciones como la planificación de
transporte y la gestión de redes eléctricas.
Por otro lado, el modelo de flujo mínimo se utiliza para minimizar el costo o esfuerzo
necesario para satisfacer una cierta demanda, como reducir los costos en redes de
distribución o minimizar el desperdicio en cadenas de suministro. Ambos modelos son
fundamentales en la optimización de redes y encuentran aplicaciones en ingeniería,
logística y ciencias de la computación.
Definiciones básicas.
Flujo.
Flujo en vivo o circulación de unidades homogéneas llevando un producto o sustancia que
atraviesa una superficie en una medida de tiempo.
Capacidad de flujo.
Es la cantidad máxima de flujo que puede ingresar a través del nodo fuente y salir por el
nodo de destino.
Origen del flujo.
Es el principal nodo por el cual el flujo ingresa.
Destino de flujo.
Es el nodo final por el cual el flujo sale.
Capacidades residuales.
Son aquellas capacidades restantes del arco una vez pasado algún flujo por él.
Algoritmo de Ford-Fulkerson.
a) El flujo siempre es positivo y de unidades enteras.
b) El flujo a través de un arco es menor o igual que la capacidad.
c) El flujo que entra en un nodo es igual al que sale de él.
Este algoritmo propone caminos y que se pueda aumentar el flujo hasta que se alcance el
flujo máximo, encontrando la ruta de penetración con un flujo positivo neto que una los
nodos de origen y destinó.
El nodo 1 (N1) contiene 3 arcos que conectan
con los nodos: 2,3 y 4.
Cada arco tiene un número que representa el
valor máximo que puede enviar desde el nodo
origen (N1) a través de los nodos intermediarios
para llegar al nodo destino (N5).
i.
El nodo origen (N1 para este caso), se coloca la siguiente etiqueta [∞, -].
ii.
iii.
iv.
v.
En el nodo origen encontramos los valores 10, 30 y 20, se debe elegir el arco que tenga mayor
flujo siendo este el 30 que hace conexión con el N3.
En el N3 se coloca la siguiente etiqueta [30,1].
En el nodo 3 (N3) encontramos los valores 0, 0, 10 y 20 igual que en el paso anterior elegimos
el arco con mayor flujo siendo este el 20 que hace conexión con el N5.
En el N5 se coloca la siguiente etiqueta [20,3].
Los pasos descritos anteriormente los podemos ver gráficamente de la siguiente manera:
0
El nodo de origen
(N1), siempre se
etiqueta con
-
20
El nodo 5 (N5) se etiqueta con
[20,5] en donde 20 indica el valor y
el 5 indica de que nodo proviene.
5
0
10
1
-
4
30
5
0
[20,5]
0
20
0
2
10
0
30
40
0
3
20
[30,1]
El nodo 3 (N3) se etiqueta con
[30,1] en donde 30 indica el valor y
el 1 indica de que nodo proviene.
Con la ruta definida podemos empezar a restar el flujo de traspaso a las capacidades de cada arco y
para ello utilizaremos la siguiente formula:
Cij,ji(Ci-k,Cj+k)
C representa capacidad de flujo.
i, j son los índices de los nodos emisor y receptor
k es el menor flujo que se traspaso del nodo origen al de destino
Para conocer el valor de “k” identificamos la capacidad de flujo de cada uno de los nodos involucrados
en nuestra ruta k = min ( C N1,C N2, C N3) y de ese grupo de valores seleccionamos y usamos el menor
de ellos y por lo tanto es el que asigna el valor de k:
0
4
20
5
0
10
1
-
0
30
5
0 [20,5]
20
10
30
k = min (
El valor mínimo del conjunto es 20,
por lo cual:
2
0
k = 20
0
40
3
0
20
[30,1]
Desarrollo (Solución)
Iniciemos entonces a realizar las iteraciones que sean necesarias hasta para conocer cual es el flujo
máximo de la red. Recordemos nuestra formula:
Cij,ji(Ci-k,Cj+k)
En donde vamos a sustituir los valores correspondientes a la red que tenemos:
1ra Iteración
0
4
20
5
0
10
-
1
0
30
5
0
20
10
30
0
2
[20,5]
0
40
0
3
20
[30,1]
k = min (∞, 30, 20) → k= (20)
Cij,ji(Ci-k,Cj+k)
C13 indica desde donde se paso el flujo (del N1 al N3) y 31 seria desde el N3 al N1; por lo que a “13”
se le resta el valor de k y a “31” se le debe sumar el valor de k, lo mismo pasa para C35,53:
C13,31(30-20,0+20)= (10,20)
C35,53(20-20,0+20)= (0,20)
Los resultados obtenidos serán quienes reemplacen los datos originales de capacidad de flujo a función
de actualizar nuestra red, permitiendo que continuemos avanzar en nuestra actividad, quedando de la
siguiente forma:
0
20
4
5
0
10
-
0
10
1
5
20
20
30
2
0
10
20
40
0
3
0
2da. Iteración
Para la 2da iteración determinamos en el nodo origen el arco que actualmente tiene la mayor capacidad
de flujo indicando la dirección al siguiente nodo donde tambien identificaremos el arco con mayor
capacidad de flujo y avanzar los nodos necesarios para llegar al nodo destino:
[10,3]
0
4
5
10
-
20
0
0
10
1
5
[20,5]
20
20
30
0
2
[20,1]
20
40
0
10
3
0
[40,2]
Hemos trazado nuestra nueva ruta de acuerdo a los arcos con mayor capacidad de flujo y se han
colocado las etiquetas para cada nodo involucrado, usando nuestras formulas y reemplazando los datos
correspondientes se desarrollan los siguientes datos:
k = min (∞, 20, 40, 10, 20) → k= (10)
Cij,ji(Ci-k,Cj+k)
[10,3]
0
1
Cij,ji (Ci-k, Cj+k)
k = 10
4
5
10
-
20
0
0
10
5
[20,5]
2
0
20
30
2
0
[20,1]
40
20
0
10
3
0
[40,2]
Los resultados obtenidos sustituyen a los anteriores según el nodo correspondiente y con esta
actualización obtenemos el nuevo diagrama de la ruta con las capacidades de flujo ajustadas.
0
15
10
-
1
10
4
10
0
10
5
20
10
30
10
2
20
30
10
0
3
0
Antes de continuar observemos que las capacidades del flujo del nodo de origen son igual por lo que
podríamos escoger cualquiera de los 3 arcos disponibles (N1-N2, N1-N3 o N1-N4), a fin de hacer mas
eficiente nuestro proceso tenemos disponible el arco formado por el nodo 2 y el nodo de destino (N2N5).
3ra Iteración
10
0
4
10
-
1
k= min
k= 10
10
15
5
0
10
20
10
0
30
2
10
[30,2]
20
30
10
3
0
[10,1]
10
0
4
1
-
10
15
10
Con
los
datos
obtenidos
realizamos las sustituciones
correspondientes quedando la
red actualizada como lo muestra
la figura de lado derecho
5
10
10
20
0
0
20
2
20
20
30
3
10
0
4ta. Iteración
10
0
4
10
15
10
k= min
k= 10
1
-
10
10
5
20
[20,2]
0
0
20
20
2
[10,3]
20
30
10
3
0
[10,1]
Una vez calculados las nuevas capacidades de los arcos que forman nuestra ruta se sustituyen en el
grafico para actualizar nuestra red de nodos y continuar trabajando como se muestra en la siguiente
imagen
10
0
TABLA CON LA NUEVAS CAPACIDADES QUE
DEBEN TENER LOS ARCOS DE NUESTRA RED
4
10
15
10
5
20
0
1
-
20
0
0
10
2
20
30
40
3
0
0
5ta. Iteración
En esta parte nos encontramos que el nodo origen (N1) solo nos queda un camino a elegir solo uno de
los arcos conectados al N1 cuenta con capacidad de flujo y la ruta queda trazada como lo vemos en la
imagen que está a continuación.
k= min
k= 10
[10,1]
0
10
15
10
0
1
-
10
4
5
20
20
0
0
10
Una vez obtenidas las nuevas capacidades residuales,
repetimos los mismos pasos de las iteraciones pasadas
para la sustitución de los valores anteriores con los
nuevos, viendo el progreso de nuestra red y saber si
debemos continuar o hemos terminado
2
20
[10,4]
30
40
3
0
0
La red de nodos actualizada muestra que todos los arcos del nodo origen tienen valor por lo cual la
iteraciones no pueden continuar,
10
0
20
15
0
20
0
1
-
4
5
20
0
10
20
2
30
40
0
0
3
0
Flujo máximo de la red
El flujo máximo de la red se obtiene con la sumatoria de los valores de “k” que obtuvimos en cada una
de las iteraciones realizadas en el ejercicio: K1 + K2 + K3 + K4 + K5
Donde: K1 = 20, K2 = 10, K3 = 10, K4 = 10 y K5 = 10,
Entonces: K1 + K2 + K3 + K4 + K5 = 20+10+10+10+10 = 60
Por lo cual podemos declarar que el flujo máximo de la red equivale a 60 unidades como máximo que
podemos mover desde el nodo de origen (N1) hasta el nodo de destino (N5) a través de nuestra red
de nodos disponibles de acuerdo al ejercicio anterior.
Conclusión
El algoritmo Ford-Fulkerson se basa en buscar caminos con mayor flujo desde un origen, hasta el
destino aumentando el flujo en esos caminos hasta que ya no se pueda hacer más. Comienza eligiendo
el arco de mayor valor en el origen. para que se busque un camino desde el nodo origen hasta el nodo
final por donde se pueda aumentar el flujo. Cuando ya no se pueda encontrar un nuevo camino con
capacidad residual, el algoritmo termina Este modelo permite a quien lo implementa, maximizar la
distribución de materiales dentro de las limitaciones físicas de la red y garantizar que se optimice el uso
de los recursos disponibles.
Descargar