IO-2013-Clase 9

download IO-2013-Clase 9

of 37

Transcript of IO-2013-Clase 9

ALGORITMO DE RBOL DE EXPANSIN MNIMA

ALGORITMO DE RBOL DE EXPANSIN MNIMA

Ejemplo: Midwest TV Cable Company est en el proceso de proporcionar servicio de cable a cinco nuevas reas habitacionales. La figura a continuacin representa los enlaces posibles de TV entre las cinco reas. Las millas de cable se muestran en cada arco. Determine la red de cable ms econmica.

Iteracin 1

Iteracin 2

Iteracin 3

Iteracin 4

Iteracin 5

Iteracin 6 (rbol de expansin mnimo)

Ejercicio en claseEn el transporte intermodal, los camiones remolque cargados se mueven entre las terminales de ferrocarril colocando la caja en carros especiales (camas bajas). La figura muestra la ubicacin de las principales terminales de ferrocarril en Estados Unidos, y las vas actuales de FC.El objetivo es decidir cules vas se deben revitalizar para manejar el trfico intermodal. En especial, se debe unir la terminal de Los ngeles (LA) en forma directa con la de Chicago (CH) para dar cabida al intenso trfico esperado. Por otra parte, todas las terminales restantes se pueden enlazar, en forma directa o indirecta, de tal modo que se minimice la longitud total (en millas) de las vas seleccionadas. Determine los segmentos de vas de ferrocarril que se deben incluir en el programa de revitalizacin.Ejercicio en clase

Algoritmo de la ruta ms cortaExisten dos algoritmos para resolver redes tanto cclicas (es decir, que contienen bucles o lazos) como acclicas:1. El algoritmo de Dijkstra.2. El algoritmo de Floyd.El algoritmo de Dijkstra tiene por objeto determinar las rutas ms cortas entre el nodo fuente y todos los dems nodos de la red. El algoritmo de Floyd es general, porque permite determinar la ruta ms corta entre dos nodos cualquiera en la red.Algoritmo de Floyd.El algoritmo representa una red de n nodos como matriz cuadrada con n renglones y n columnas. El elemento (i,j) de la matriz expresa la distancia dij del nodo i al nodo j, que es finita si i est conectado directamente con j, e infinita en caso contrario.El concepto del algoritmo de Floyd es directo. Dados tres nodos i, j y k (ver la figura), con las distancias entre s indicadas en los tres arcos, es ms corto ir a k desde i pasando por j si dij + djk < dik

En este caso, lo ptimo es reemplazar la ruta directa de ik por la ruta indirecta ijk. Paso 0. Definir las matrices iniciales de distancias D0 y de secuencias de nodos S0 como se describe abajo. Los elementos diagonales se marcan con () para indicar que estn bloqueados. Igualar k = i.

Paso general k. Definir el rengln k y la columna k como rengln pivote y columna pivote. Aplicar la operacin triple a cada elemento dij en Dk-1 para toda i y j. Si se satisface la condicin

hacer los siguientes cambios:a) Crear Dk reemplazando dij en Dk-1 por dik + dkj.b) Crear Sk reemplazando sij en Sk-1 por k. Igualar k = k + 1 y repetir el paso k.

Ejemplo: Para la red de la figura 6.21, determine las rutas ms cortas entre cada par de nodos. En los arcos aparecen las distancias en millas. El arco (3,5) es direccional, por lo que no se permite trfico alguno del nodo 5 al nodo 3. Todos los dems arcos permiten trfico en ambas direcciones.

Iteracin 0. Las matrices D0 y S0 son la representacin inicial de la red. D0 es simtrica, excepto que d53 porque no se permite trfico del nodo 5 al nodo 3.

19Iteracin 1. Se iguala k =1. El rengln y la columna pivotes se ven en la matriz D0 con sombra ligera: son el primer rengln y la primera columna. Las celdas ms oscuras, d23 y d32 son las nicas que pueden mejorar con la operacin triple. As, D1 y S1 se obtienen partiendo de D0 y S0 como sigue:

Estos cambios se muestran en negritas, en las matrices D1 y S1.

20Iteracin 2. Se iguala k =2, como indican el rengln y la columna con sombra ligera enD1.Se aplica la operacin triple a las celdas ms oscuras de D1 y S1. Los cambios que resultan se indican con negritas en D2 y en S2.

Iteracin 3. Se iguala k = 3, como indican el rengln y la columna sombreadas en D2. Las nuevas matrices son D3 y S3.

Iteracin 4. Se iguala k = 4 como se indica con el rengln y la columna con sombra ligera en D3. Las nuevas matrices son D4 y S4.

Iteracin 5. Se iguala k = 5, como se ve en el rengln y la columna sombreadas de D4. Nohay ms mejoras posibles en esta iteracin. Por consiguiente, D5 y S5 soniguales que D4 y S4.Las matrices finales D5 y S5 contienen toda la informacin necesaria para determinar la ruta ms corta entre dos nodos cualesquiera de la red. Por ejemplo, para determinar la ruta ms corta del nodo 1 al nodo 5, primero se ve la distancia asociada d15 12 millas.Para determinar la ruta asociada, recurdese que un segmento (i, j) representa un enlace directo slo si sij j. En caso contrario, i y j estn enlazados mediante al menos un nodo intermedio. Como s15 4, la ruta inicial es145 . Ahora bien, como s14 = 2 4, el segmento (1,4) no es un enlace directo y se debe reemplazar por 124, y la ruta se transforma ahora en 1245. A continuacin, como s12 =2, s24 =4 y s45=5, la ruta no necesita ms disecciones y el proceso termina.

Ejercicio en claseDetermine la ruta mas corta entre dos nodos de la figura siguiente:Modelo del flujo MximoImagine una red de oleoductos que transportan crudo desde los pozos hasta las refineras. En las distancias intermedias adecuadas estn instaladas estaciones de bombeo, para mover el crudo por la red. Cada segmento de tubo tiene un flujo (o capacidad) mximo de crudo. Un segmento de tubo puede ser uni o bidireccional, dependiendo de su diseo. Un segmento unidireccional tiene una capacidad finita en una direccin, y capacidad cero en la direccin opuesta. La figura muestra una red de oleoductos. Cmo se puede determinar la capacidad mxima de la red entre los pozos y las refineras?

La solucin del problema propuesto requiere convertir la red en una que tenga una solafuente y un solo sumidero o destino. Este requerimiento se llena usando arcos unidireccionales de capacidad infinita, como indican los arcos de lnea interrumpida en la figura

Un corte define a un conjunto de arcos que, cuando se eliminan de la red, causan una interrupcin total del flujo entre los nodos fuente y sumidero. La capacidad de corte es igual a la suma de las capacidades de los arcos correspondientes. Entre todos los cortes posibles en la red, el que tenga la capacidad menor permite el flujo mximo en la red.

se ilustran tres cortes, cuyas capacidades se calculan en la tabla siguiente:

Algoritmo de flujo mximo.Trayectoria aumentadaDos conceptos iniciales para realizar este algoritmo

Red residual: Es la red resultante despus de haber asignado flujos a los arcos de la red original.

Trayectoria aumentada: es una trayectoria dirigida del nodo fuente al nodo destino en la red residual, tal que todos los arcos en esta trayectoria tienen capacidad residual estrictamente positiva. El mnimo de esta capacidad residual se llama capacidad residual de la trayectoria aumentada, porque representa la capacidad la cantidad de flujo que es factible agregar en toda la trayectoria

Ejemplo: En Seervada Park se tienen distintos senderos como se muestra en la figura, para evitar perturbaciones innecesarias a la ecologa, se impusieron lmites superiores estrictos sobre el nmero de viajes de salida permitidos hacia el mirador para cada camino individual en la direccin de ida.

Iteracin 1: Trayectoria de aumento OB E T con capacidades {7,5,6}=5

Iteracin 2: Trayectoria de aumento OA D T con capacidades {5,3,9}=3

Iteracin 3: Trayectoria de aumento OA B D T con capacidades {2,1,4,6}=1

Iteracin 4: Trayectoria de aumento OB D T con capacidades {2,3,5}=2

Iteracin 5: Trayectoria de aumento OC E D T con capacidades {4,4,1,3}=1

Iteracin 6: Trayectoria de aumento OC E T con capacidades {3,3,1}=1

Iteracin 7: Trayectoria de aumento OC E B D T con capacidades {2,2,5,1,2}=1

Ya no existen mas trayectorias de aumento, por lo que el patrn de flujo actual es el ptimo

Solucin ptima