martes, 2 de abril de 2013

Flujo Máximo


FLUJO MÁXIMO

Existe un flujo que viaja desde un único lugar de origen hacia un único lugar de destino a través de arcos que conectan nodos intermediarios. Los arcos tienen una capacidad máxima de flujo y se trata de enviar desde la fuente al destina la mayor cantidad posible de flujo.


Hay problemas donde lo importante es la cantidad de flujo que pasa a través de la red como por ejemplo: en las líneas de oleoductos, redes eléctricas o de transmisión de datos. Por esta razón en dichos problemas se determina el flujo máximo que pasa a través de una red.

Definiciones básicas

Flujo: Circulación de unidades homogéneas de un lugar a otro.

Capacidad de flujo: es la capacidad de unidades que pueden entrar por el nodo fuente y salir por el nodo destino.

Origen o fuente de flujo: nodo por el cual el flujo ingresa.

Destino o Sumidero de flujo: nodo por el cual el flujo sale.

Capacidades residuales: capacidades restantes unas vez que el flujo pasa el arco.

Ford Fulkerson
Para la resolución de problemas de flujo máximo  se requiere el uso del método Ford Fulkerson. Este método propone buscar caminos en los que se pueda aumentar el flujo hasta que se alcance el flujo máximo, la idea es encontrar una  ruta de penetración con un flujo positivo neto que una los nodos de origen y destino.

  • El flujo es siempre positivo y con unidades enteras.
  • El flujo a través de un arco es menor o igual que la capacidad.
  • El flujo que entra en un nodo es igual al que sale de él.


    Resolución de problema
    Para resolver un problema de flujo máximo se debe seguir los siguientes pasos:
    1. Se identifica el nodo origen y destino.
    2. Se parte desde el nodo de origen y se escoge el arco que posea mayor flujo
    3. Se identifica los nodos de transbordo.
    4. Repetir como si el nodo intermediario fuera el nodo origen.
    5. Se calcula "k" y las capacidades nuevas.
    6. Dado el resultado se cambian las capacidades y se repite el mismo procedimiento desde el inicio.


    Formulario
    Cij,ji =(Ci-K, Cj+K), donde:

    C: capacidad
    Ij:  índices de los nodos
    K: es el minimo flujo que pasa por el nodo, se calcula como k= min(capacidades de la ruta).


    Hallar el flujo máximo del siguiente problema:


    Método Ford Fulkerson
    El nodo de origen como se puede observar es el numero 1 de color amarillo, y el nodo de destino es el numero 5 de color azul.

    Se escoge desde el nodo de origen aquel flujo que sea el mayor, en este caso es 30, y va dirigido al nodo numero 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 numero 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.


    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.

    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.



    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)

    C32,23 =(10-10, 30+10)
    C32,23 =(0, 40)

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

    Y por ultimo 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 ahi conseguimos el flujo máximo.



    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.


    Método WINQSB
    Los problemas de flujo máximo también se pueden resolver mediante el programa WINQSB, este contiene un conjunto de herramientas útiles para la investigación de operaciones, dentro de WINQSB esta un modulo llamado Network Modeling, que nos permite resolver problemas de flujo máximo con facilidad.



    Pues simplemente abrimos Network Modeling y nos aparecerá una ventana, le damos en File y luego en New Problem.




    Después nos saldrá una ventana de nombre NET Problem Specification, y seleccionamos la opción Maximal Flow Problem, ponemos un nombre al problema a resolver en Problem Title, y en Number of Nodes ponemos el numero de nodos presentes en el problema, en este caso 5.


    Por ultimo procedemos a colocar los valores, que son las capacidades de un nodo a otro y le damos al botón donde sale una figura, que esta marcada y señalada en rojo.



    El resultado nos aparece en donde dice Total, Net Flow From Node 1 To Node 5 =60, lo que significa que el flujo máximo que pasa del nodo 1 (nodo de origen) al nodo 5 (nodo de destino) es 60.



    Referencias bibliográficas




    • Revenga, Juana M.Alonso. (2008). Flujo en Redes y Gestión de Proyectos, Teoría y ejercicios resueltos (1era ed.). España.Editorial Netbiblo. Páginas 87-89.








    12 comentarios:

    1. Otra opción para la resolución del problema de Flujo Máximo utilizando Excel.

      El siguiente link contiene un archivo PDF que muestra paso a paso, con un ejemplo, la utilización de la hoja de cálculo Excel con la herramienta Solver para la solución de problemas de Flujo Máximo (desde la pág. 24 hasta la 31).

      http://www.monografias.com/trabajos-pdf4/optimizacion-redes/optimizacion-redes.pdf

      ResponderEliminar
    2. En esta página: http://flujomaximo.wikispaces.com/Flujo+maximo encontré las aplicaciones en la vida real de este tipo de problemas.
      El extracto de la página web donde se mencionan las aplicaciones es este:
      “Aplicaciones
      El problema de flujo máximo se puede usar para modelar problemas de:
      • Transporte de mercadería (logística)
      • Flujo de gases y líquidos por tuberías
      • Flujo de componentes o piezas en líneas de montaje
      • Flujo de corriente en redes eléctricas
      • Flujo de paquetes de información en redes de comunicaciones
      • Tráfico ferroviario, etc.”

      ResponderEliminar
    3. Este comentario ha sido eliminado por el autor.

      ResponderEliminar
    4. Otro de los programas que se puede utilizar para la resolución de problemas de Flujo Máximo es el INVOP 1.0; un software creado por los profesores de la Universidad Nacional de Cuyo de Argentina. Permite hacer los cálculos numéricos. Además posee archivos de ayuda que abarcan teoría general y ejemplos.
      No solo resuelve problemas de este tipo; también resuelve de transporte, ruta mas corta, entre otros.
      Para la descarga gratuita accedan a este link: http://operativa.tripod.com/invop/Invop.html

      ResponderEliminar
    5. De acuerdo a Hillier algunas aplicaciones del problema de flujo máximo en las organizaciones tienen que ver con maximizar el flujo a través de la red de distribución de una compañía desde sus fabricas hasta sus clientes y maximizar el flujo a través de la red de suministros de una compañía de proveedores a fabricas, es importante mencionarlo para que le encontremos una aplicación desde el punto de vista de nuestra carrera.

      ResponderEliminar
    6. El flujo maximo se ha aplicado en gran medida a las soluciones de redes viales en ciudades planificadas, asi como brazilia, se ha logrado aumentar la eficiencia del uso de las vias de comunicacionl, reduciendo el trafico. Ademas con este tipo de modelos es facil reprogramar una via de acceso en caso de emergencias ya que se tiene en un principio calculado los flujos maximos de cada via. Otro de los lugares donde se ha aplicado esto es en la cuidad de trujillo
      (Brasil), lo pueden observar en el siguiente link: http://jc-info.blogspot.com/2009/07/teoria-de-flujo-maximo.html

      ResponderEliminar
    7. Agregando a los comentarios anteriores, la importancia del análisis y cálculo del flujo máximo según el Ing. Salcedo es que en la actualidad existe una gran demanda por soluciones matemáticas que faciliten la planeación, programación y control de campos y proyectos en cualquier campo como por ejemplo de tráficos para evitar congestión vehicular, recolección y entrega de paquetes, diseño de redes de abastecimiento, planificación de la producción entre otros usos que permita desarrollar la toma de decisiones a los entes encargados.

      ResponderEliminar
    8. Otro programa disponible para resolver problemas de flujo máximo es TORA, en el libro Investigación de Operaciones, 7 edición, Handy Taha, explica cómo se debe utilizar este programa. En el siguiente link se encuentra la información disponible.
      http://books.google.co.ve/books?id=3oHztjMSuL8C&pg=PA245&lpg=PA245&dq=pasos+para+utilizar+tora+flujo+maximo&source=bl&ots=nLEG3c9QHR&sig=c9sLM6r3e6vd8P_MqfAz_jra6pM&hl=es&sa=X&ei=RAliUdy5MoG08ASq8IHICw&ved=0CCwQ6AEwAA#v=onepage&q=pasos%20para%20utilizar%20tora%20flujo%20maximo&f=false

      ResponderEliminar
    9. lo anteriormente dicho por mis compañeros es cierto, pero debe ser complementado, tomando en cuenta que una vez que se obtenga el resultado debe analizarse para realizar una conclusión del problema resuelto.
      En youtube se pueden encontrar clases de como resolver problemas teóricos de flujo maximo, donde explican paso a paso la resolución de los mismos. Aquí coloco el link para que puedan consultarlo: http://www.youtube.com/watch?v=1tNjDbHJ460
      También dejo un link donde pueden conseguir deferentes programas para la resolución de los mismos: http://www.abcdatos.com/programas/ Mientras que una de las herramientas mas comunes es excel como ya la menciono uno da nuestras compañeras, herramienta que esta a la mano de todos.

      ResponderEliminar
    10. Encontré una combinación de los problemas del flujo máximo que consiste en minimizar los costos de operación maximizando el flujo de unidades a transportar, donde cada arco podrá indicar su capacidad máxima, mínima y también su costo unitario. Las formulas y algoritmos empleados se detallan en el libro de "Métodos cuantitativos", escrito por Eduardo Vicens Salort,Ángel Órtiz Bas,Juan José Guarch Bertolín, disponible en:
      http://books.google.co.ve/. También hay resoluciones de ejercicios perfectamente explicados en www.youtube.com, como lo es:
      http://www.youtube.com/watch?v=CY1ywqCJxxs

      ResponderEliminar
    11. Según Hillier Lieberman, el problema de flujo máximo indica que:
      1) Todo flujo a través de una red conexa dirigida se origina en un nodo, llamado fuente, y termina en otro nodo llamado destino.
      2) Los nodos restantes son nodos de trasbordo.
      3) Se permite el flujo a través de un arco sólo en la dirección indicada por la flecha, donde la cantidad máxima de flujo está dada por la capacidad del arco (flecha). En la fuente, todos los arcos (flechas) señalan hacia afuera. En el destino, todos señalan hacia el nodo.
      4) El objetivo es maximizar la cantidad total de flujo de la fuente al destino. Esta cantidad se mide en cualquiera de las dos maneras equivalentes, esto es, la cantidad que sale de la fuente o la cantidad que entra al destino.

      En el siguiente link el profesor Marcel explica detalladamente como se puede resolver un problema de Flujo Máximo: http://www.youtube.com/watch?v=a697qlRsLIk

      ResponderEliminar
    12. Anexando a los comentarios hechos por mis compañeros, El Problema de flujo maximo tambien puede resolverse con un Software llamado MATLAB,la cual es una herramienta de origen matemático que ofrece un entorno de desarrollo integrado con un lenguaje de programación propio (lenguaje M).

      Entre sus prestaciones básicas se hallan:
      · Algebra lineal.
      · Funciones matemáticas elementales y especializadas.
      · Operadores lógicos y aritméticos. 8
      · Matrices elementales y manipulación de vectores.
      · Matrices especiales.
      · Estadística básica y análisis de datos.
      · Polinomios e interpolación.
      · Gestión de cadenas de caracteres.
      · Entradas y Salidas.
      · Gestión de memoria y errores.

      Es una herramienta sumamente util, y como ejemplo de aplicacion en la vida real tenemos el Modelo de Semaforización Inteligente que fue aplicado en la Ciudad de Bogotá, el cual podremos observar en el siguiente link: http://revistas.udistrital.edu.co/ojs/index.php/reving/article/view/2680/3853

      ResponderEliminar