Você está na página 1de 37

ALGORITMO DE RBOL DE EXPANSIN MNIMA

: Conjunto de nodos que se han conectado en forma permanente en la iteracin k. : Conjunto de nodos que todava se deben conectar en forma permanente. Paso 0. El conjunto 0 = 0 = . Paso 1. Comenzar con cualquier nodo en el conjunto 0 no conectado (o inconexo), e igualar 1 = con lo que 1 = . Igualar k=2.

Paso general k. Seleccionar un nodo j* en el conjunto no conectado 1 que produzca el arco ms corto a un nodo, en el conjunto conectado 1 . Enlazar a j* en forma permanente con 1 y sacarlo de 1 , esto es

Si el conjunto , de nodos no conectados es vaco, detenerse. En cualquier otro caso, igualar k=k+1 y repetir el paso.

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 clase
En 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 corta

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

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

Iteracin 2. Se iguala k =2, como indican el rengln y la columna con sombra ligera en D1.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. No hay ms mejoras posibles en esta iteracin. Por consiguiente, D5 y S5 son iguales 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 clase
Determine la ruta mas corta entre dos nodos de la figura siguiente:

Modelo del flujo Mximo


Escriba aqu la ecuacin.

Imagine 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 sola fuente 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 Dado el arco (i, j) con i < j, se usa la notacin ( , ) para representar las capacidades de flujo en las dos direcciones, ij y ji, respectivamente. Para eliminar ambigedades se pone a en el arco junto al nodo i, y se coloca junto al nodo j,

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 aumentada

Dos 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

Você também pode gostar