3 redes de optimizacion

65

Upload: jorge-castro

Post on 25-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

investigacion de operaciones

TRANSCRIPT

Page 1: 3 Redes de Optimizacion
Page 2: 3 Redes de Optimizacion

IntroducciónLos modelos de redes son estructuras especiales del modelode programación lineal y que por sus características propiastienen algoritmos específicos para su solución.

La teoría y el análisis de redes de optimización, encuentraaplicación en varias ramas del saber tales como: laIngeniería Civil, la ingeniería industrial, la ingenieríaeléctrica, la informática, la cibernética, la gestión deproyectos, el planeamiento, etc. Existe también un área deaplicación concerniente a grupos sociales, comunicación,estructuras de lenguaje y enlaces químicos. Como se podránotar el área de acción y aplicación de la teoría de redes esamplio y su teoría clásica esta asociada a lo que se llama lateoría de grafos.

Page 3: 3 Redes de Optimizacion

IntroducciónEntre los problemas que podemos estudiar tenemos:

El problema de la RUTA MÁS CORTA que se presenta porejemplo en los sistemas de transporte.

El problema del ÁRBOL DE EXPANSIÓN MÍNIMA que sepresenta por ejemplo en problemas relacionados a diversostipos de conexiones.

El problema de FLUJO MÁXIMO que se asocia aproblemas de flujo a partir de un origen hacia un destino.

El problema de REDES DE ACTIVIDADES utilizando pararealizar la planificación de tareas y programas deactividades.

Page 4: 3 Redes de Optimizacion

Conceptos referenciales para la teoría de redes

Para estudiar las redes de optimización,introduciremos algunos conceptos elementales:

Una GRÁFICA o RED es un conjunto de NODOS(vértices o puntos) que están conectados por unconjunto de ARCOS (líneas, ramas y bordes).Consideraremos que una red es una gráfica con unFLUJO de algún tipo que fluye por sus ramas.

Page 5: 3 Redes de Optimizacion

Conceptos referenciales para la teoría de redes

Ejemplo:

Nodos Ramas Flujo

Intersecciones

Aeropuertos

Puntos de comunicación

Estaciones de bombeo

Centros de trabajo

Caminos

Rutas aéreas

Cables, Canales

Tuberías

Rutas

Vehículos

Aviones

Mensajes

Fluidos

Trabajos

Page 6: 3 Redes de Optimizacion

Conceptos referenciales para la teoría de redes

Un ÁRBOL es una red conexa que contiene ciclos. Por ejemplo:

Page 7: 3 Redes de Optimizacion

Conceptos referenciales para la teoría de redes

Podemos decir con propiedad que una red conexa que tiene nnodos, n – 1 ramas y sin ciclos, se llama ÁRBOL DEEXPANSIÓN.

Se puede definir la siguiente nomenclatura relacionada conun arco o rama (i,j):

xij ≥ 0, es el flujo del nodo i al nodo j.

μij ≥ 0, es la capacidad máxima del flujo de i a j.

λij ≥ 0, es la capacidad mínima del flujo de i a j.

dij ≥ 0, es el costo por unidad de flujo.

Si dij ≥ 0, se llama EGRESO, si dij ≤ 0, se llamaINGRESO.

Cuando un flujo sale de un nodo se llama EFLUJO ycuando llega a un nodo se le llama INFLUJO.

Page 8: 3 Redes de Optimizacion

Conceptos referenciales para la teoría de redes

Se llama nodo FUENTE u ORIGEN al nodo pordonde entra el flujo a la red, es decir que cada unade sus ramas tiene una orientación tal que el flujose mueve hacia fuera de ese nodo. Los orígenes songeneradores del flujo.

Page 9: 3 Redes de Optimizacion

Conceptos referenciales para la teoría de redes

Se llama nodo DESTINO o FINAL al nodo por dondesale el flujo de la red, es decir que cada una de las ramasesta orientada hacia ese nodo. Los nodos destinoabsorben el flujo.

Page 10: 3 Redes de Optimizacion
Page 11: 3 Redes de Optimizacion

IntroducciónLos arcos denominados (i, j) de una red, llevan asociadosun número dij que se interpreta como el costo, la distancia oel tiempo que hay entre los nodos i y j. Una RUTA oRECORRIDO entre dos nodos es cualquier secuencia dearcos que los conecte. El problema de la ruta más cortatiene como objetivo encontrar los recorridos máseconómicos en distancias, costo y/o tiempo, entre un nodoespecífico, considerado como nodo origen y los otros nodosde la red considerados como destinos. La estructuraresultante de resolver este problema, formara un conjuntode arcos que se llamará ÁRBOL DE RECORRIDOMÍNIMO.

Page 12: 3 Redes de Optimizacion

Algoritmos de la ruta más corta

En esta sección se presentan dos algoritmos pararesolver el problema de la ruta más corta.

El algoritmo de Dijkstra.

El algoritmo de Floyd

Page 13: 3 Redes de Optimizacion

El algoritmo de DijkstraEl algoritmo de Dijkstra tiene por objeto determinar las rutasmás cortas entre el nodo origen o fuente y todos los demás nodosde la red.

Sea ui la distancia más corta del nodo fuente 1 hasta el nodo i, yse define dij (≥0) como la longitud de arco (i,j).

Entonces el algoritmo define la etiqueta de un nodo inmediatoposterior j como:

[uj,i] = [ui + dij,i],dij ≥ 0

La etiqueta del nodo de inicio es [0, —], que indica que el nodono tiene predecesor.

Page 14: 3 Redes de Optimizacion

El algoritmo de Dijkstra

Las etiquetas de nodos en el algoritmo de Dijkstra sonde dos clases: TEMPORALES y PERMANENTES. Unaetiqueta temporal se modifica si se puede encontraruna ruta más corta a un nodo. Cuando se ve que no sepueden encontrar rutas mejores, cambia el estado de laetiqueta temporal a permanente.

Page 15: 3 Redes de Optimizacion

El algoritmo de DijkstraLos pasos para la aplicación del algoritmo son los siguientes:

Paso 0: Etiquetar y rotular el nodo fuente con la etiqueta permanente; en este caso serotula [0, —]. Este rotulo es PERMANENTE, por tanto se sombrea al nodo 1. Igualar i = 1.

Paso 1: Calcular las etiquetas temporales [ui + dij, i] para cada nodo j al que puedallegarse desde el nodo i, siempre y cuando j no tenga etiqueta permanente. Si el nodo j yaesta etiquetado con [uj, k] por otro nodo k, y si ui + dij ≤ uj, sustituir [uj, k] por [uj + dij, i].

Paso 2: Considerando el criterio de la distancia más corta, rotular y/o etiquetar en formapermanente el nodo correspondiente, al que también se lo sombrea.

Paso 3: A partir del último nodo permanente etiquetar en forma temporal los arcosligados a este nodo y elegir el arco de distancia más corta para etiquetarlopermanentemente (de los nodos etiquetados temporalmente). Los empates se rompen enforma arbitraria.

Paso 4: Si todos los nodos tienen etiquetas permanentes detenerse.

El proceso es realizado n – 1 veces.

Page 16: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: se tiene la siguiente red:

1

2

4

5

7

6

3

12

7

4

3

2

6

5

8

5

4

Page 17: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: (Continuación)

En esta red, los números representan la distancia y laidea es hallar las rutas más cortas del nodo 1 hacia losdemás nodos, es decir el árbol de recorrido mínimo.

El proceso es realizado n – 1 veces, entonces 7 – 1 = 6iteraciones.

Page 18: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: (Continuación)

Las redes resultantes de la aplicación de estos pasosson:

Iteración 0

Nodo Etiqueta Estado

1 [0,—] Permanente

Page 19: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: (Continuación)

Iteración 1

Nodo Etiqueta Estado

1

2

4

[0,—]

[0+2,1] = [2,1]

[0+7,1] = [7,1]

Permanente

Temporal

Temporal

Page 20: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: (Continuación)

Para las dos etiquetas temporales [2,1] y [7,1], elnodo 2 produce la menor distancia (u2 = 2).Entonces, se cambia el estado del nodo 2 apermanente.

Iteración 2Nodo Etiqueta Estado

1

2

4

3

5

[0,—]

[2,1]

[7,1]

[2+4,2] = [6,2]

[2+1,2] = [3,2]

Permanente

Permanente

Temporal

Temporal

Temporal

24

1

3[0,- ]

[6,2]

[3,2]

2

1

[2,1]

5

Page 21: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: (Continuación)

Iteración 3

Nodo Etiqueta Estado

1

2

4

3

5

6

7

[0,—]

[2,1]

[7,1]

[6,2]

[3,2]

[3+8,5] = [11,5]

[3+5,5] = [8,5]

Permanente

Permanente

Temporal

Temporal

Permanente

Temporal

Temporal

24

1

5

8

6

5

7[0,- ]

[2,1]

[6,2]

[11,5]

[3,2]

[8,5]

2

1

5

3

Page 22: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: (Continuación)

Iteración 4Nodo Etiqueta Estado

1

2

4

3

5

6

7

4

6

[0,—]

[2,1]

[7,1]

[6,2]

[3,2]

[11,5]

[8,5]

[6+3,3] = [9,3]

[6+6,3] = [12,3]

Permanente

Permanente

Temporal

Permanente

Permanente

Temporal

Temporal

Descartar

Descartar

2

[2,1]

4

1

[6,2]

[3,2]

5

8

6

5

7

[11,5]

[8,5]3

6

[7,1]

7

[0,-]

2

1

5

3

4

Page 23: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: (Continuación)

Iteración 5

Nodo Etiqueta Estado

1

2

4

3

5

6

7

6

[0,—]

[2,1]

[7,1]

[6,2]

[3,2]

[11,5]

[8,5]

[7+2,4] =[9,4]

Permanente

Permanente

Permanente

Permanente

Permanente

Cambiar por [9,4]

Temporal

Temporal

24

1

5

8

6

5

3

6

72

4

[0,-]

[7,1]

[6,2]

[2,1]

[3,2]

[11,5]

[9,4]

[8,5]

2

1

5

3 7

4

Page 24: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: (Continuación)

Entonces la etiqueta temporal [8,5] del nodo 7 secambia a permanente (u7 = 8)

En esta ultima red vemos que el nodo 7 ha quedadoetiquetado permanentemente y esta ligado al nodo 6con una distancia de 8 + 4 = 12 que es mayor que 9; portanto el nodo 6 se convierte su etiqueta temporal [9,4]en permanente y el algoritmo habrá terminado.

Page 25: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: (Continuación)

Iteración 6

Nodo Etiqueta Estado

1

2

4

3

5

7

6

[0,—]

[2,1]

[7,1]

[6,2]

[3,2]

[8,5]

[9,4]

Permanente

Permanente

Permanente

Permanente

Permanente

Permanente

Permanente

2

2

1

(2,1)

(0,1)

4

1

5

3(6,2)

(3,2)

5

8

6

5

7(8,5)

3

4

6

(7,1)

72 (9,4)

4

Page 26: 3 Redes de Optimizacion

El algoritmo de DijkstraEjemplo: (Continuación)El árbol de recorrido mínimo consta de n – 1 arcos y muestra los

resultados del problema, según la tabla y partiendo del nodo 1, semuestra las rutas más cortas hacia cualquiera de los otros nodos:

NODORUTA MÁS CORTA

DESDE 1DISTANCIA

2

3

4

5

6

7

1 – 2

1 – 2 – 3

1 – 4

1 – 2 – 5

1 – 4 – 6

1 – 2 – 5 – 7

2

6

7

3

9

8

Page 27: 3 Redes de Optimizacion

El algoritmo de FloydEl algoritmo de Floyd es más general que el deDijkstra, porque permite determinar la rutamás corta entre dos nodos cualesquiera de lared.

El algoritmo representa una red de “n” nodoscomo matriz cuadrada con “n” renglones y “n”columnas. El elemento (i, j) de la matrizexpresa la distancia dij del nodo i al nodo j, quees finita si i está conectado directamente con j,e infinita en caso contrario.

Page 28: 3 Redes de Optimizacion

El algoritmo de Floyd

Operación triple de Floyd

i

j

kCik

Cij Cjk

Page 29: 3 Redes de Optimizacion

El algoritmo de FloydEl concepto del algoritmo de Floyd es directo.Dados tres nodos i, j y k en la figura anterior, conlas distancias entre si indicadas en los tres arcos, esmás corto ir a k desde i pasando por j si:

dij + djk ≤ dik

En este caso, lo óptimo es reemplazar la rutadirecta i → k por la ruta indirecta i → j → k. Esteintercambio de operación triple se aplica enforma sistemática a la red, con los siguientes pasos:

Page 30: 3 Redes de Optimizacion

El algoritmo de FloydPaso 0: Definir las matrices iniciales de distancias Do y desecuencias de nodos So como se describe abajo. Los elementosdiagonales se marcan con (—) para indicar que estánbloqueados. Igualar k = i.

1 2 … j … n

1 — d12 … d1j … d1n

2 d21 — … d2j … d2n

Do = : : : : : : :

i di1 di2 … dij … din

: : : : : : :

n dn1 dn2 … dnj … —

1 2 … j … n

1 — 2 … j … n

2 1 — … j … n

So = : : : : : : :

i 1 2 … j … n

: : : : : : :

n 1 2 … j … —

Page 31: 3 Redes de Optimizacion

El algoritmo de Floyd

Definir el renglón k y la columna k como renglónpivote y columna pivote. Aplicar la operación triple acada elemento dij en Dk – 1 para toda i y j. si sesatisface la condición:

dik + dkj ≤ dij (i k, j k e i j)

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.

Page 32: 3 Redes de Optimizacion

El algoritmo de Floyd

Implementación de la operación triple en forma matricial

Page 33: 3 Redes de Optimizacion

El algoritmo de FloydSe puede explicar el paso k del algoritmo representando a Dk – 1

como se ve en la figura anterior. Aquí, el renglón k y la columnak definen el renglón y la columna pivote actual. El renglón irepresenta cualesquiera de los renglones 1, 2,…, y k – 1, y elrenglón p representa cualquiera de los renglones k + 1, k + 2,…, yn. De igual modo, la columna j representa cualquiera de lascolumnas 1, 2,…, y k – 1, y la columna q representa cualquiera delas columnas k + 1, k + 2,…, y n. Con la operación triple, si lasuma de los elementos del renglón pivote y la columna pivote(representados por cuadrados) es menor que el elemento deintersección asociado (representado por un círculo), entonces esóptimo reemplazar la distancia de intersección por la suma de lasdistancias pivote.

Page 34: 3 Redes de Optimizacion

El algoritmo de FloydDespués de “n” pasos se puede determinar la rutamás corta entre los nodos i y j con las matrices Dn ySn con las siguientes reglas:

En Dn, dij representa la distancia más corta entre losnodos i y j.

En Sn, se determina el nodo intermedio k = sij queforme la ruta i → k → j. Si sik = k y skj = j, detenerse;todos los nodos intermedios de la ruta se handeterminado. En caso contrario, repetir elprocedimiento entre los nodos i y k y entre los nodosk y j.

Page 35: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo:

Resolver el ejemplo dado en el algoritmo deDijkstra.

1

2

4

5

7

6

3

12

7

4

3

2

6

5

8

5

4

Page 36: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Iteración 0. Las matrices Do y So son larepresentación inicial de la red. Do es una matrizsimétrica.

1 2 3 4 5 6 7 1 2 3 4 5 6 7

1 — 2 ∞ 7 ∞ ∞ ∞ 1 — 2 3 4 5 6 7

2 2 — 4 ∞ 1 ∞ ∞ 2 1 — 3 4 5 6 7

3 ∞ 4 — 3 5 6 ∞ 3 1 2 — 4 5 6 7

4 7 ∞ 3 — ∞ 2 ∞ 4 1 2 3 — 5 6 7

5 ∞ 1 5 ∞ — 8 5 5 1 2 3 4 — 6 7

6 ∞ ∞ 6 2 8 — 4 6 1 2 3 4 5 — 7

7 ∞ ∞ ∞ ∞ 5 4 — 7 1 2 3 4 5 6 —

Do So

Page 37: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Iteración 1. Se iguala k = 1. El renglón y la columna pivote se venen la matriz Do con sombra ligera: Son el primer renglón y laprimera columna. Las celdas más oscuras d24 y d42 son las únicasque pueden mejorar con la operación triple. Así, D1 y S1 seobtienen partiendo de D0 y S0 como sigue:

Sustituir d24 con d21 + d14 = 2 + 7 = 9, e igualar s24 = 1.

Sustituir d42 con d41 + d12 = 7 + 2 = 9, e igualar s42 = 1.

Estos cambios se muestran en negritas, en las matricessiguientes:

Page 38: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Estos cambios se muestran en negritas, en las matrices siguientes:

1 2 3 4 5 6 7 1 2 3 4 5 6 7

1 — 2 ∞ 7 ∞ ∞ ∞ 1 — 2 3 4 5 6 7

2 2 — 4 9 1 ∞ ∞ 2 1 — 3 1 5 6 7

3 ∞ 4 — 3 5 6 ∞ 3 1 2 — 4 5 6 7

4 7 9 3 — ∞ 2 ∞ 4 1 1 3 — 5 6 7

5 ∞ 1 5 ∞ — 8 5 5 1 2 3 4 — 6 7

6 ∞ ∞ 6 2 8 — 4 6 1 2 3 4 5 — 7

7 ∞ ∞ ∞ ∞ 5 4 — 7 1 2 3 4 5 6 —

D1 S1

Page 39: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Iteración 2. Se iguala k = 2, como indican el renglón y lacolumna con sombra ligera en D1. Se aplica la operacióntriple a las celdas más oscuras de D1 y S1. Los cambios queresultan se indican con negritas en D2 y S2.

1 2 3 4 5 6 7 1 2 3 4 5 6 7

1 — 2 6 7 3 ∞ ∞ 1 — 2 2 4 2 6 7

2 2 — 4 9 1 ∞ ∞ 2 1 — 3 1 5 6 7

3 6 4 — 3 5 6 ∞ 3 2 2 — 4 5 6 7

4 7 9 3 — 10 2 ∞ 4 1 1 3 — 2 6 7

5 3 1 5 10 — 8 5 5 2 2 3 2 — 6 7

6 ∞ ∞ 6 2 8 — 4 6 1 2 3 4 5 — 7

7 ∞ ∞ ∞ ∞ 5 4 — 7 1 2 3 4 5 6 —

D2 S2

Page 40: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Iteración 3. Se iguala k = 3, como indican en elrenglón y la columna sombreada en D2. Las nuevasmatrices son D3 y S3.

1 2 3 4 5 6 7 1 2 3 4 5 6 7

1 — 2 6 7 3 12 ∞ 1 — 2 2 4 2 3 7

2 2 — 4 7 1 10 ∞ 2 1 — 3 3 5 3 7

3 6 4 — 3 5 6 ∞ 3 2 2 — 4 5 6 7

4 7 7 3 — 8 2 ∞ 4 1 3 3 — 3 6 7

5 3 1 5 8 — 8 5 5 2 2 3 3 — 6 7

6 12 10 6 2 8 — 4 6 3 3 3 4 5 — 7

7 ∞ ∞ ∞ ∞ 5 4 — 7 1 2 3 4 5 6 —

D3 S3

Page 41: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Iteración 4. Se iguala k = 4 como se indica con elrenglón y la columna con sombra ligera en D3. Lasnuevas matrices son D4 y S4.

1 2 3 4 5 6 7 1 2 3 4 5 6 7

1 — 2 6 7 3 9 ∞ 1 — 2 2 4 2 4 7

2 2 — 4 7 1 9 ∞ 2 1 — 3 3 5 4 7

3 6 4 — 3 5 5 ∞ 3 2 2 — 4 5 4 7

4 7 7 3 — 8 2 ∞ 4 1 3 3 — 3 6 7

5 3 1 5 8 — 8 5 5 2 2 3 3 — 6 7

6 9 9 5 2 8 — 4 6 4 4 4 4 5 — 7

7 ∞ ∞ ∞ ∞ 5 4 — 7 1 2 3 4 5 6 —

D4 S4

Page 42: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Iteración 5. Se iguala k = 5 como se indica con elrenglón y la columna con sombra ligera en D4. Lasnuevas matrices son D5 y S5.

1 2 3 4 5 6 7 1 2 3 4 5 6 7

1 — 2 6 7 3 9 8 1 — 2 2 4 2 4 5

2 2 — 4 7 1 9 6 2 1 — 3 3 5 4 5

3 6 4 — 3 5 5 10 3 2 2 — 4 5 4 5

4 7 7 3 — 8 2 13 4 1 3 3 — 3 6 5

5 3 1 5 8 — 8 5 5 2 2 3 3 — 6 7

6 9 9 5 2 8 — 4 6 4 4 4 4 5 — 7

7 8 6 10 13 5 4 — 7 5 5 5 5 5 6 —

D5 S5

Page 43: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Iteración 6. Se iguala k = 6 como se indica con elrenglón y la columna con sombra ligera en D5. Lasnuevas matrices son D6 y S6.

1 2 3 4 5 6 7 1 2 3 4 5 6 7

1 — 2 6 7 3 9 8 1 — 2 2 4 2 4 5

2 2 — 4 7 1 9 6 2 1 — 3 3 5 4 5

3 6 4 — 3 5 5 9 3 2 2 — 4 5 4 6

4 7 7 3 — 8 2 6 4 1 3 3 — 3 6 6

5 3 1 5 8 — 8 5 5 2 2 3 3 — 6 7

6 9 9 5 2 8 — 4 6 4 4 4 4 5 — 7

7 8 6 9 6 5 4 — 7 5 5 6 6 5 6 —

D6 S6

Page 44: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Iteración 7. Se iguala k = 7 como en el renglón y lacolumna con sombra ligera en D6. No hay mejorasposibles en esta iteración. Por consiguiente D7 y S7 soniguales que D6 y S6.

1 2 3 4 5 6 7 1 2 3 4 5 6 7

1 — 2 6 7 3 9 8 1 — 2 2 4 2 4 5

2 2 — 4 7 1 9 6 2 1 — 3 3 5 4 5

3 6 4 — 3 5 5 9 3 2 2 — 4 5 4 6

4 7 7 3 — 8 2 6 4 1 3 3 — 3 6 6

5 3 1 5 8 — 8 5 5 2 2 3 3 — 6 7

6 9 9 5 2 8 — 4 6 4 4 4 4 5 — 7

7 8 6 9 6 5 4 — 7 5 5 6 6 5 6 —

D7 S7

Page 45: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Las matrices finales D7 y S7 contienen toda la informaciónnecesaria para determinar la ruta más corta entre dos nodoscualesquiera de la red. Por ejemplo:

Del nodo 1 al nodo 5, primero se ve la distancia asociada d15 = 3.Para determinar la ruta asociada, recuérdese que un segmento (i,j) representa un enlace directo si sij = j. en caso contrario, i y jestán enlazados mediante al menos un nodo intermedio. Comos15 = 2, la ruta inicial es 1→2→5. Ahora bien, como s12 = 2, elsegmento (1,2) es un enlace directo y la ruta 1→2→5 no setransformara. A continuación como: s12 = 2, s25 = 5, la ruta1→2→5 no necesita más disecciones y el proceso termina.

Page 46: 3 Redes de Optimizacion

El algoritmo de FloydEjemplo (Continuación):

Del nodo 1 al nodo 7, d17 = 8, la ruta asociada s17 = 5, la rutainicial es 1→5→7, ahora bien, s15 = 2 ≠ 5, el segmento (1,5)no es un enlace directo y 1→5 se debe reemplazar por1→2→5, y la ruta 1→5→7 se transforma ahora en1→2→5→7. A continuación como: s12 = 2, s25 = 5 y s57 =7, laruta 1→2→5→7 no necesita más disecciones y el procesotermina.

Del nodo 1 al nodo 2, d12 = 2, la ruta asociada s12 = 2, elsegmento (1,2) es un enlace directo. La ruta será 1→2

Y así sucesivamente para los demás nodos.

Page 47: 3 Redes de Optimizacion

PROBLEMA DEL ÁRBOL DE EXPANSIÓN MÍNIMA

El problema del árbol de expansión mínima tiene algunassimilitudes con la versión principal del problema de la ruta máscorta que se presento en la sección anterior. En ambos casos seconsidera una red no dirigida y conexa, en la que la informacióndada incluye alguna medida de longitud positiva (distancia,tiempo, costo, etc.) asociada con cada arco. Los dos problemasinvolucran también el hecho de seleccionar un conjunto de arcosque tiene la longitud total más corta entre todos los conjuntos dearcos que satisfacen cierta propiedad. Para el problema de la rutamás corta esta propiedad es que el arco seleccionado debeproporcionar una trayectoria entre el origen y el destino. Para elárbol de expansión mínima la propiedad requerida es que losarcos seleccionados deben proporcionar una trayectoria entrecada par de nodos.

Page 48: 3 Redes de Optimizacion

PROBLEMA DEL ÁRBOL DE EXPANSIÓN MÍNIMA

Una red con “n” nodos requiere solo (n – 1) arcospara proporcionar una trayectoria entre cada par denodos. No deben usarse más arcos ya que estoaumentaría, sin necesidad, la longitud total de losarcos seleccionados. Los (n – 1) arcos deben elegirsede tal manera que la red resultante (con solo losarcos resultantes) forme un árbol de expansión. Porlo tanto, el problema es encontrar el árbol deexpansión con la longitud total mínima de sus arcos.

Page 49: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

El algoritmo de árbol de expansión mínima enlaza losnodos de una red, en forma directa o indirecta, con lamínima longitud de las ramas enlazantes. Una aplicacióncaracterística es en la construcción de carreteraspavimentadas que unen varias poblaciones.

El camino entre dos poblaciones puede pasar por uno omás poblaciones adicionales. El diseño más económico delsistema de caminos indica que se minimice la distanciatotal de caminos pavimentados, el resultado que se obtieneimplementando el algoritmo de árbol de expansiónmínima. Los pasos del procedimiento son los siguientes:

Page 50: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

Paso 1: Se selecciona, de manera arbitraria, cualquiernodo y se conecta (es decir se pone un arco) al nodomás cercano distinto de éste.

Paso 2: Se identifica el nodo no conectado máscercano a un nodo conectado, y se conectan estos dosnodos (es decir, se agrega un arco entre ellos). Estepaso se repite hasta que se hayan conectado todos losnodos.

Page 51: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

Paso 3: Los empates para el nodo más cercanodistinto (paso 1) o para el nodo no conectado máscercano (paso 2), se pueden romper en formaarbitraria y el algoritmo todavía debe llevar a unasolución óptima. No obstante, estos empates sonseñales de que pueden existir (pero nonecesariamente) soluciones óptimas múltiples.Todas esas soluciones se pueden identificar si sebuscan las demás formas de romper los empateshasta el final.

Page 52: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

Ejemplo:

La administración de COTAP necesita determinar los caminosbajo los cuales se deben tender las líneas telefónicas paraconectar todas las estaciones con una longitud mínima de cable.Se describirá paso a paso la solución de este problema con baseen los datos que se dan en la siguiente figura:

O

T

A

B

C

D

E

7

7

2

5

4

2

1

4

3

4

1

5

Page 53: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

Ejemplo: Resolución

En forma arbitraria, se selecciona el nodo O para comenzar.El nodo no conectado más cercano a O es el nodo A. Seconecta el nodo A al nodo O.

T

O B

A

D

E

C

2

7

4 1

4

24

31

5

75

Page 54: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

Ejemplo: Resolución (continuación)

El nodo más cercano a cualesquiera de los nodos O o A es el nodo B

(más cercano a A), se conecta el nodo B al nodo A.

T

O B

A

D

E

C

2

7

4 1

4

24

31

5

75

Page 55: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

Ejemplo: Resolución (continuación)

El nodo no conectado más cercano a O, A o B es el nodo C (más

cercano a B), se conecta el nodo C al nodo B.

T

O B

A

D

E

C

2

7

4 1

4

24

31

5

75

Page 56: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

Ejemplo: Resolución (continuación)

El nodo no conectado más cercano a O, A, B o C es el nodo E(más cercano a B), se conecta el nodo E al nodo B.

T

O B

A

D

E

C

2

7

4 1

4

24

3 1

5

75

Page 57: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

Ejemplo: Resolución (continuación)

El nodo no conectado más cercano a O, A, B, C o E es el nodo D

(más cercano a E), se conecta el nodo D al nodo E.

T

O B

A

D

E

C

2

7

4 1

4

24

3 1

5

75

Page 58: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

Ejemplo: Resolución (continuación)

El único nodo no conectado es el nodo T. Esta más cerca del

nodo D, se conecta el nodo T al nodo D

T

O B

A

D

E

C

2

7

4 1

4

24

3 1

5

75

Page 59: 3 Redes de Optimizacion

Algoritmo del árbol de expansión mínima

Ejemplo: Resolución (continuación)

Todos los nodos han quedado conectados, por lo queésta es la solución óptima que se buscaba. La longitudtotal de las ramas es 14 km.

Aunque con este procedimiento a primera vista puedeparecer que la selección del nodo inicial afectaría lasolución final (y la longitud de los arcos), en realidad noes así. Se sugiere que se verifique este hecho para elejemplo, aplicando de nuevo el algoritmo, pero iniciandoen un nodo distinto de O.

Page 60: 3 Redes de Optimizacion

PROBLEMA DEL FLUJO CAPACITADO A COSTO MÍNIMOEl problema del flujo capacitado a costo mínimo se basa en lashipótesis siguientes:

1. A cada arco se le asocia un costo de flujo unitario (no negativo).

2. Los arcos pueden tener límites inferiores positivos de capacidad.

3. Todo nodo en la red puede funcionar como fuente o como sumidero.

El nuevo modelo determina los flujos en los distintos arcos, queminimizan el costo total y a la vez satisfacen las restricciones deflujo y las cantidades de oferta y demanda en los nodos,representando el modelo de red y su formulación equivalente enprogramación lineal, lo cual es la base que desarrolla el algoritmosímplex capacitado especial y por ultimo mostraremos una plantillade hoja de calculo, de la red capacitada con costo mínimo.

Page 61: 3 Redes de Optimizacion

PROBLEMA DEL FLUJO CAPACITADO A COSTO MÍNIMO: REPRESENTACIÓN EN RED

Se tiene una red capacitada G = (N, A), donde N es el conjunto de los nodos y A es el conjunto de los arcos, y se definen:

xij = cantidad de flujo del nodo i al nodo j.

uij (lij) = capacidad máxima (mínima) del arco (i,j).

cij = costo de flujo unitario del nodo i al nodo j.

fi = flujo neto en el nodo i.

La figura siguiente muestra las definiciones en el arco (i,j). La etiqueta [fi] supone un valor positivo (negativo) cuando hay una oferta o suministro neto (demanda) asociada al nodo i.

Page 62: 3 Redes de Optimizacion

PROBLEMA DEL FLUJO CAPACITADO A COSTO MÍNIMO: REPRESENTACIÓN EN RED

Arco capacitado con flujo externo

Page 63: 3 Redes de Optimizacion

PROBLEMA DEL FLUJO CAPACITADO A COSTO MÍNIMOEjemplo:

Coboce abastece de hormigón a tres proyectos decaminos desde tres plantas. Las cantidades de ofertaen los tres plantas son 100, 200 y 50 m3. Coboce usaprincipalmente camiones hormigoneras paratransportar el hormigón a los proyectos, a excepción detres rutas, en las que se usan otro tipo de transporte.

Page 64: 3 Redes de Optimizacion

PROBLEMA DEL FLUJO CAPACITADO A COSTO MÍNIMOEjemplo:

La figura siguiente muestra las rutas disponibles entre las tresplantas y los tres proyectos. Plantas se representan con los nodos1, 2 y 3, cuyas cantidades de suministro son [100], [200] y [50],respectivamente. Los proyectos se representan con los nodos 4, 5y 6, cuyas demandas son [–150], [–80] y [–120], respectivamente.Las rutas permiten transbordos entre los plantas. Los arcos (1,4),(3,4) y (4,6) son de camiones hormigoneras, con capacidadesmínimas y máximas. Por ejemplo, la capacidad de la ruta (1,4) esde 50 a 80 m3. En todas las demás rutas se usan otro tipo detransporte, cuya capacidad máxima es prácticamente ilimitada.Los costos de transporte, por m3, se indican en sus arcosrespectivos.

Page 65: 3 Redes de Optimizacion

PROBLEMA DEL FLUJO CAPACITADO A COSTO MÍNIMOEjemplo: