flujo

14
Tarea Individual FLUJO MÁXIMO Una Red de Transporte es un grafo dirigido con peso (V,E, c) donde hay dos vértices distinguidos: uno llamado fuente y otro llamado sumidero. Se asume que todo vértice del grafo v ∈ V está en un camino s v t. El peso de cada lado debe ser no negativo y se considera la capacidad del lado. Si (u, v) /∈ E, defina c(u, v) = 0. ÁRBOL DE EXPANSIÓN En teoría de grafos, un árbol de expansión, árbol generador o árbol recubridor T de un grafo conexo, no dirigido G es un árbol compuesto por todos los vértices y algunas (quizá todas) de las aristas de G. Informalmente, un árbol de expansión de G es una selección de aristas de G que forman un árbol que cubre todos los vértices. Esto es, cada vértice está en el árbol, pero no hay ciclos. Por otro lado, todos los puentes de G deben estar contenidos en T. Un árbol de expansión o árbol recubridor de un grafo conexo G puede ser también definido como el mayor conjunto de aristas de G que no contiene ciclos, o como el mínimo conjunto de aristas que conecta todos los vértices. En ciertos campos de la teoría de grafos es útil encontrar el mínimo árbol de

Upload: magdala-rodriguez

Post on 22-Dec-2015

6 views

Category:

Documents


0 download

DESCRIPTION

Flujo

TRANSCRIPT

Page 1: Flujo

Tarea Individual

FLUJO MÁXIMO

Una Red de Transporte es un grafo dirigido con peso (V,E, c) donde hay dos vértices distinguidos: uno llamado fuente y otro llamado sumidero. Se asume que todo vértice del grafo v ∈ V está en un camino s v t. El peso de cada lado debe ser no negativo y se considera la capacidad del lado. Si (u, v) /∈ E, defina c(u, v) = 0.

ÁRBOL DE EXPANSIÓN

En teoría de grafos, un árbol de expansión, árbol generador o árbol recubridor T de un grafo conexo, no dirigido G es un árbol compuesto por todos los vértices y algunas (quizá todas) de las aristas de G. Informalmente, un árbol de expansión de G es una selección de aristas de G que forman un árbol que cubre todos los vértices. Esto es, cada vértice está en el árbol, pero no hay ciclos. Por otro lado, todos los puentes de G deben estar contenidos en T.

Un árbol de expansión o árbol recubridor de un grafo conexo G puede ser también definido como el mayor conjunto de aristas de G que no contiene ciclos, o como el mínimo conjunto de aristas que conecta todos los vértices.

En ciertos campos de la teoría de grafos es útil encontrar el mínimo árbol de expansión de un grafo ponderado. También se han abordado otros problemas de optimización relacionados con los árboles de expansión, como el máximo árbol de expansión, el máximo árbol que cubre al menos k vértices, el mínimo árbol de expansión con k aristas por vértice como máximo (árbol de expansión de mínimo grado, MDST por sus siglas en inglés), el árbol de expansión con el máximo número de hojas (estrechamente relacionado con el problema del menos conjunto dominante y conexo), el árbol de expansión con el menor número de hojas (relacionado con el problema del

Page 2: Flujo

camino hamiltoniano), el árbol de expansión de mínimo diámetro o el árbol de expansión de la mínima dilación.

MÉTODO DEL COSTO MÍNIMO

El método del costo mínimo o de los mínimos costos es un algoritmo desarrollado con el objetivo de resolver problemas de transporte o distribución, arrojando mejores resultados que métodos como el de la esquina noroeste, dado que se enfoca en las rutas que presentan menores costos. El diagrama de flujo de este algoritmo es mucho más sencillo que los anteriores dado que se trata simplememente de la asignación de la mayor cantidad de unidades posibles (sujeta a las restricciones de oferta y/o demanda) a la celda menos costosa de toda la matriz hasta finalizar el método.

ALGORITMO DE RESOLUCIÓN DEL COSTO MÍNIMO

PASO 1:

De la matriz se elige la ruta (celda) menos costosa (en caso de un empate, este se rompe arbitrariamente) y se le asigna la mayor cantidad de unidades posible, cantidad que se ve restringida ya sea por las restricciones de oferta o de demanda. En este mismo paso se procede a ajustar la oferta y demanda de la fila y columna afectada, restándole la cantidad asignada a la celda.

PASO 2:

En este paso se procede a eliminar la fila o destino cuya oferta o demanda sea 0 después del "Paso 1", si dado el caso ambas son cero arbitrariamente se elige cual eliminar y la restante se deja con demanda u oferta cero (0) según sea el caso.

PASO 3:

Una vez en este paso existen dos posibilidades, la primera que quede un solo renglón o columna, si este es el caso se ha llegado al final el método, "detenerse".

La segunda es que quede más de un renglón o columna, si este es el caso iniciar nuevamente el "Paso 1".

Page 3: Flujo

MODELO DE LA RUTA MÁS CORTA

Considere una red conexa y no dirigida con dos nodos especiales llamados origen y destino. A cada ligadura (arco no dirigido) se asocia una distancia no negativa. El objetivo es encontrar la ruta más corta (la trayectoria con la mínima distancia total) del origen al destino.Se dispone de un algoritmo bastante sencillo para este problema. La esencia del procedimiento es que analiza toda la red a partir del origen; identifica de manera sucesiva la ruta más corta a cada uno de los nodos en orden ascendente de sus distancias (más cortas), desde el origen; el problema queda resuelto en el momento de llegar al nodo destino.Algoritmo de la ruta más corta:1. Objetivo de la n-ésima iteración: encontrar el n-ésimo nodo más cercano al origen.

(Este paso se repetirá para n=1,2,… hasta que el n-ésimo nodo más cercano sea el nodo destino.)

2. Datos para la n-ésima iteración: n-1 nodos más cercanos al origen (encontrados en las iteraciones previas), incluida su ruta más corta y la distancia desde el origen. (Estos nodos y el origen se llaman nodos resueltos, el resto son nodos no resueltos.)

3. Candidatos para el n-ésimo nodo más cercano: Cada nodo resuelto que tiene conexión directa por una ligadura con uno o más nodos no resueltos proporciona un candidato, y éste es el nodo no resuelto que tiene la ligadura más corta. (Los empates proporcionan candidatos adicionales.)

4. Cálculo del n-ésimo nodo más cercano: para cada nodo resuelto y sus candidatos, se suma la distancia entre ellos y la distancia de la ruta más corta desde el origen a este nodo resuelto. El candidato con la distancia total más pequeña es el n-ésimo nodo más cercano (los empates proporcionan nodos resueltos adicionales), y su ruta más corta es la que genera esta distancia.

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.

Page 4: 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.

1. Ford FulkersonPara 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.

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

Resolución de problemaPara resolver un problema de flujo máximo se debe seguir los siguientes pasos:

4. Se identifica el nodo origen y destino.5. Se parte desde el nodo de origen y se escoge el arco que posea mayor flujo6. Se identifica los nodos de transbordo.7. Repetir como si el nodo intermediario fuera el nodo origen.8. Se calcula "k" y las capacidades nuevas.9. Dado el resultado se cambian las capacidades y se repite el mismo

procedimiento desde el inicio.

Page 5: Flujo

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

C: capacidadIj:  índices de los nodosK: 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 FulkersonEl 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.

Page 6: Flujo

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)

Page 7: Flujo

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)

Page 8: Flujo

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

Page 9: Flujo

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.

Page 10: Flujo

Flujo Máximo = Σ KFlujo Máximo = 20+10+10+10+10Flujo Máximo = 60El flujo máximo que puede pasar del nodo origen 1 hasta el nodo destino es de 60.

Método WINQSBLos 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

Page 11: Flujo

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.