0 calificaciones0% encontró este documento útil (0 votos)
10 vistas2 páginas
El documento describe un algoritmo de flujo máximo en 6 pasos. El algoritmo asigna flujo a lo largo de rutas de avance posibles desde el nodo fuente al sumidero. En cada iteración, encuentra la ruta con flujo máximo restante y actualiza la capacidad residual de los arcos a lo largo de esa ruta. El proceso continúa hasta que no haya más rutas de avance posibles.
El documento describe un algoritmo de flujo máximo en 6 pasos. El algoritmo asigna flujo a lo largo de rutas de avance posibles desde el nodo fuente al sumidero. En cada iteración, encuentra la ruta con flujo máximo restante y actualiza la capacidad residual de los arcos a lo largo de esa ruta. El proceso continúa hasta que no haya más rutas de avance posibles.
El documento describe un algoritmo de flujo máximo en 6 pasos. El algoritmo asigna flujo a lo largo de rutas de avance posibles desde el nodo fuente al sumidero. En cada iteración, encuentra la ruta con flujo máximo restante y actualiza la capacidad residual de los arcos a lo largo de esa ruta. El proceso continúa hasta que no haya más rutas de avance posibles.
zamos la notación (cij, cji) para representar los residuos.
(Cij, Cji) Para un nodo j que recibe
flujo del nodo i, anexamos la etiqueta [aj,i] donde aj es el flujo del nodo i al nodo j. Paso 1. Para todos los arcos, iguale la capacidad residual a la capacidad de diseño, esto es ( . Sea a1 5 q, y etiquete el nodo fuente con [q, 2]. Designe i 5 1, y continúe con el paso 2. Paso 2. Determine Si, el conjunto de nodos no etiquetados j al que se puede llegar directamente desde i por medio de arcos con residuos positivos (es decir, cij . 0 para todas las j H Si). Si Si Z [, continúe con el paso 3. De lo contrario, una ruta parcial termina en el nodo i. Continúe con el paso 4. Paso 3. Determine k H Si de modo que Designe ak 5 cik y etiquete el nodo k con [ak, i]. Si k 5 n, el nodo sumidero ha sido etiquetado, y se ha encontrado una ruta de avance, continúe con el paso 5. De lo contrario, designe i 5 k, y vaya al paso 2. Paso 4. (Retroceso). Si i 5 1, no es posible avanzar; continúe con el paso 6. De lo contrario, sea r el nodo (en la ruta parcial) que se etiquetó inmediatamente antes del nodo actual i, y elimine i del conjunto de nodos adyacentes a r. Designe i 5 r, y regrese al paso 2. Paso 5. (Determinación de los residuos). Defina los nodos de la ruta de avance p-ésima del nodo 1 al nodo n como Np 5 (1, k1, k2,…, n). Entonces el flujo máximo a lo largo de la ruta se calcula como La capacidad residual de cada arco a lo largo de la ruta de avance se reduce en fp en la dirección del flujo, y se incrementa en fp en la dirección inversa; es decir, para los nodos i y j en la ruta, el flujo residual cambia del actual (cij, cji) a (a) (cij 2 fp, cji 1 fp) si el flujo es de i a j (b) (cij 1 fp, cn 1 fp) si el flujo es de j a i Restaure los nodos que se eliminaron en el paso 4. Designe i 5 1, y regrese al paso 2. Paso 6. (Solución). (a) Dado que se determinaron m rutas de avance, el flujo máximo en la red es F = f1 + f2 + ... + fm fp = mín{a1, ak1 , ak2 , Á, an} cik = máx jeSi 5cij6 cij, cji) = (Cij, Cji) www.FreeLibros.com 6.4 Modelo de flujo máximo 237 FIGURA 6.29 Uso de los residuos para calcular el flujo máximo (a) 4 2 5 5 [5, 1] [5, 2] [5, 3] [, ] 5 5 0 0 0 0 5 0 1 3 4 2 5 0 [5, 3] [5, 1] [5, 2] [, ] 0 5 5 0 5 5 0 0 1 3 No hay avance (c) 4 2 0 0 5 0 5 5 0 5 0 5 1 3 Ruta: 1 2 3 4, f1 5 (b) Ruta: 1 3 2 4, f2 5 (b) Utilizando las capacidades de diseño (iniciales) y los residuos finales del arco (i,j), , y , respectivamente, el flujo óptimo en el arco (i,j) se determina calculando . Si a . 0, el flujo óptimo de i a j es a. Por otra parte, si b . 0, el flujo óptimo de j a i es b. (Es imposible que a y b sean positivos al mismo tiempo.) El proceso de retroceso del paso 4 se invoca cuando el algoritmo termina en un nodo intermedio. El ajuste del flujo en el paso 5 puede explicarse mediante la red de flujo simple de la figura 6.29. La red (a) proporciona la primera ruta de avance N1[1, 2, 3, 4] con su flujo máximo f1 5 5. Por lo tanto, los residuos de cada uno de los arcos (1, 2), (2, 3) y (3, 4) cambian de (5, 0) a (0, 5), de acuerdo con el paso 5. La red (b) da ahora la segunda ruta de avance N2 5 [1, 2, 3, 4] con f2 5 5. Después de hacer los ajustes del flujo necesarios, obtenemos la red (c), donde ya no son posibles más rutas de avance. Lo que sucedió en la transición de (b) a (c) no fue sino una cancelación del flujo previamente comprometido en la dirección 2 S 3, y en esencia ello permite el flujo sólo en las rutas 1 S 2 S 4 y 1 S 3 S 4 (flujo máximo 55 1 5 5 10.). El algoritmo “recuerda” que un flujo de 2 a 3 se comprometió previamente debido a un ajuste anterior de la capacidad en la dirección inversa (de acuerdo con el paso 5.) Ejemplo 6.4-2 Determine el flujo máximo en la red del ejemplo 6.4- 1 (figura 6.28). La figura 6.30 proporciona un resumen gráfico de las iteraciones del algoritmo. Verá que es útil comparar la descripción de las iteraciones con el resumen gráfico. Iteración 1. Iguale los residuos iniciales (cij,cji) a las capacidades iniciales . Paso 1. Establezca a1 5 q y etiquete el nodo 1 con [q, 2]. Establezca i 5 1. Paso 2. . Paso 3. k 5 3, porque c13 5 máx [c12, c13, c14] 5 máx [20, 30,10]. Establezca a3 5 c13 5 30 y etiquete el nodo 3 con [30,1]. Establezca i 5 3 y repita el paso 2. Paso 2. S = (4, 5). 3 S1 = {2, 3, 4} ( Z ) (Cij, Cji) (a, b) = (Cij - cij, Cji - cji) (cij, cji (C ) ij, Cji) www.FreeLibros.com 238 Capítulo 6 Modelo de redes FIGURA 6.30 Iteraciones del algoritmo de flujo máximo del ejemplo 6.4-2 4 1 5 2 3 0 0 10 30 0 20 0 20 40 30 10 0 [20, 3] [30, 1] 20 0 0 5 4 1 5 2 3 0 0 10 30 10 10 10 10 30 10 0 20 [30, 2] [30, 2] [10, 1] 0 20 10 15 4 1 5 2 3 0 20 10 10 20 0 0 10 40 0 0 20 [10, 4] [15, 4] 0 30 10 15 4 1 5 2 3 0 0 10 30 0 20 [10, 3] 0 20 40 10 10 20 [20, 4] [20, 1] [40, 2] 0 20 0 5 4 1 5 2 3 0 10 10 20 20 0 10 10 30 10 0 20 [20, 2] [10,1] [10, 3] [10, 1] 0 20 10 15 4 1 5 2 3 10 20 0 10 20 0 0 0 40 0 0 20 0 30 20 15 (Iteración 1) f1 5 20 (Iteración 2) f2 5 10 (Iteración 3) f3 5 10 (Iteración 4) f4 5 10 (Iteración 5) f5 5 10 (Iteración 6) No hay ruta de avance Paso 3. k 5 5 y a5 5 c35 5 máx [10, 20] 5 20. Etiquete el nodo 5 con [20, 3]. Se logra el avance. Continúe con el paso 5. Paso 5. La ruta de avance se determina a partir de las etiquetas iniciando en el nodo 5 y regresando