Você está na página 1de 65

MODELOS DE REDES DE

OPTIMIZACIÓN
Ó

Page 1
Introducción

Los modelos de redes son estructuras especiales del modelo


de programación lineal y que por sus características propias
tienen algoritmos específicos para su solución.

La teoría y el análisis de redes de optimización, encuentra


aplicación en varias ramas del saber tales como: la
Civil la ingeniería industrial,
Ingeniería Civil, industrial la ingeniería
eléctrica, la informática, la cibernética, la gestión de
proyectos, el planeamiento, etc. Existe también un área de
aplicación concerniente a grupos sociales, comunicación,
estructuras
t t d lenguaje
de l j y enlaces
l químicos.
í i C
Como se podrá

notar el área de acción y aplicación de la teoría de redes es
amplio y su teoría clásica esta asociada a lo que se llama la
teoría de g
grafos.

Page 2
Introducción
Entre los problemas que podemos estudiar tenemos:
 El problema de la RUTA MÁS CORTA que se
presenta por ejemplo en los sistemas de transporte.
 El problema del ÁRBOL DE EXPANSIÓN MÍNIMA
que se presenta por ejemplo en problemas
relacionados a diversos tipos de conexiones.
 El problema de FLUJO MÁXIMO que se asocia a
problemas de flujo a partir de un origen hacia un
destino.
 El problema de REDES DE ACTIVIDADES utilizando
para realizar la planificación de tareas y programas de
actividades.

Page 3
Conceptos referenciales para la
teoría
í de
d redes
d
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 un conjunto de ARCOS
(líneas ramas y bordes).
(líneas, bordes) Consideraremos
que una red es una gráfica con un FLUJO de
algún tipo que fluye por sus ramas.

Page 4
Conceptos referenciales para la
teoría
í de
d redes
d
Ejemplo:
Nodos Ramas Flujo
Intersecciones Caminos Vehículos
Aeropuertos Rutas aéreas Aviones
Puntos de comunicación Cables, Canales Mensajes
Estaciones de bombeo Tuberías Fluidos
Centros de trabajo Rutas Trabajos

Page 5
Conceptos referenciales para la
teoría
í de
d redes
d
Un ÁRBOL es una red conexa que contiene
Un
ciclos. Por ejemplo:

Page 6
Conceptos referenciales para la
teoría
í de
d redes
d
 Podemos decir con p propiedad
p que una red conexa q
q que
tiene n nodos, n – 1 ramas y sin ciclos, se llama ÁRBOL
DE EXPANSIÓN.
 Se puede definir la siguiente nomenclatura relacionada
con un 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,
0 es el costo por unidad de flujo.
flujo
Si dij ≥ 0, se llama EGRESO, si dij ≤ 0, se llama
INGRESO.
C
Cuando un flujo
f sale de un nodo se llama EFLUJO O y
cuando llega a un nodo se le llama INFLUJO.
Page 7
Conceptos referenciales para la
teoría
í de
d redes
d
Se llama nodo FUENTE u ORIGEN al nodo por
donde entra el flujo a la red, es decir que cada
una de sus ramas tiene una orientación tal que
el flujo se mueve hacia fuera de ese nodo. Los
orígenes son generadores del flujo.

Page 8
Conceptos referenciales para la
teoría
í de
d redes
d
Se llama nodo DESTINO o FINAL al nodo por
Se
donde sale el flujo de la red, es decir que
cada una de las ramas esta orientada hacia
ese nodo. Los nodos destino absorben el
flujo.

Page 9
EL PROBLEMA DE LA
RUTA MÁS
Á CORTA

Page 10
Introducción
Los arcos denominados (i, j) de una red, llevan
asociados
i d un número
ú dij que se interpreta
i como ell
costo, la distancia o el tiempo que hay entre los nodos
i y j. Una RUTA o RECORRIDO entre dos nodos es
cualquier secuencia de arcos que los conecte.conecte El
problema de la ruta más corta tiene como objetivo
encontrar los recorridos más económicos en
distancias costo y/o tiempo,
distancias, tiempo entre un nodo específico,
específico
considerado como nodo origen y los otros nodos de la
red considerados como destinos. La estructura
resultante de resolver este problema, formara un
conjunto de arcos que se llamará ÁRBOL DE
RECORRIDO MÍNIMO.

Page 11
Algoritmos de la ruta más corta

En esta sección se presentan dos


algoritmos para resolver el problema de la
ruta más corta.

El algoritmo de Dijkstra.


El algoritmo de Floyd

Page 12
El algoritmo de Dijkstra
El algoritmo de Dijkstra tiene por objeto determinar las rutas
más
á cortas
t entre
t ell nodod origen
i o fuente
f t y todos
t d los
l demás
d á
nodos de la red.

Sea ui la distancia más corta del nodo fuente 1 hasta el nodo


i, y se define dij (≥0) como la longitud de arco (i,j).

Entonces el algoritmo define la etiqueta de un nodo inmediato


posterior j como:

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

La etiqueta del nodo de inicio es [0, —], que indica que el


nodo
odo noo ttiene
e eppredecesor.
edeceso

Page 13
El algoritmo de Dijkstra

Las etiquetas de nodos en el algoritmo de


Dijkstra son de dos clases:
TEMPORALES y PERMANENTES. Una
etiqueta temporal se modifica si se puede
encontrar una ruta más corta a un nodo.
Cuando se ve que no se pueden encontrar
rutas mejores, cambia el estado de la
etiqueta temporal a permanente.
permanente
Page 14
El algoritmo de Dijkstra
Los 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
se rotula [0, —]. Este rotulo es PERMANENTE, por tanto se sombrea al nodo 1.
Igualar
g i = 1.
Paso 1: Calcular las etiquetas temporales [ui + dij, i] para cada nodo j al que pueda
llegarse desde el nodo i, siempre y cuando j no tenga etiqueta permanente. Si el
nodo j ya esta etiquetado con [uj, k] por otro nodo k, y si ui + dij ≤ uj, sustituir [uj, k] por
[uj + dij, i].
i]
Paso 2: Considerando el criterio de la distancia más corta, rotular y/o etiquetar en
forma permanente el nodo correspondiente, al que también se lo sombrea.
Paso 3: A partir del último nodo permanente etiquetar en forma temporal los arcos
li d
ligados a este
t nodo
d y elegir
l i ell arco de d distancia
di t i más á corta t para etiquetarlo
ti t l
permanentemente (de los nodos etiquetados temporalmente). Los empates se
rompen en forma arbitraria.
Paso 4: Si todos los nodos tienen etiquetas permanentes detenerse.

El proceso es realizado n – 1 veces.


Page 15
El algoritmo de Dijkstra
Ejemplo: se tiene la siguiente red:

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

Page 16
El algoritmo de Dijkstra
Ejemplo: (Continuación)
En esta red, los números representan la
distancia y la idea es hallar las rutas más
cortas del nodo 1 hacia los demás nodos,
es decir el árbol de recorrido mínimo.
mínimo

El proceso es realizado n – 1 veces,


entonces 7 – 1 = 6 iteraciones.

Page 17
El algoritmo de Dijkstra
Ejemplo: (Continuación)
Las redes resultantes de la aplicación de
estos pasos son:
Iteración 0
Nodo Etiqueta Estado
1 [0,—] Permanente

Page 18
El algoritmo de Dijkstra
Ejemplo: (Continuación)
Iteración 1

Nodo Etiqueta Estado


1 [0 ]
[0,—] Permanente
2 [0+2,1] = [2,1] Temporal
4 [0+7,1] = [7,1] Temporal

Page 19
El algoritmo de Dijkstra
Ejemplo: (Continuación)
Para las dos etiquetas temporales [2,1] y [7,1],
el nodo 2 produce la menor distancia (u2 = 2).
2)
Entonces, se cambia el estado del nodo 2 a
permanente.
Iteración 2
[2,1]
Nodo Etiqueta Estado
2
1 [0,—] Permanente 1
2 5 [3,2]
2 [2,1] Permanente 4
4 [7,1] Temporal [[0,-
, ] 1 3
3 [2+4,2] = [6,2] Temporal [6,2]
5 [2+1,2] = [3,2] Temporal
Page 20
El algoritmo de Dijkstra
Ejemplo: (Continuación)
Iteración 3
Nodo Etiqueta Estado
1 [0,—] Permanente
[2,1]
2 [2 1]
[2,1] Permanente 2
1
[3,2]
4 [7,1] Temporal 2
4 5
5
5
3 [6,2] Temporal[0,- ] 1 3 8 7
[8,5]
[6 2]
[6,2]
6
5 [3,2] Permanente [11,5]
6 [3+8,5] = [11,5] Temporal
7 [[3+5,5]
, ] = [8,5]
[ , ] p
Temporal

Page 21
El algoritmo de Dijkstra
Ejemplo: (Continuación)
Iteración 4
Nodo Etiqueta Estado
1 [0,—] Permanente
[2,1]
2 [2,1] Permanente
2
4 [7 1]
[7,1] Temporal 2
1
[3 2]
[3,2]
4 5
3 [6,2] Permanente 5 5
[0,-] 1 7
5 [3,2] Permanente [6,2] 3 6
8
[8,5]
3 6
6 [[11,5]
, ] Temporal
p 7
[11 5]
[11,5]
7 [8,5] Temporal 4
[7,1]
4 [6+3,3] = [9,3] Descartar
6 [6+6,3] = [12,3] Descartar

Page 22
El algoritmo de Dijkstra
Ejemplo: (Continuación)
Iteración 5
Nodo Etiqueta Estado
1 [0,—] Permanente [2,1]
2 [2,1] Permanente 2
1
2 [3,2]
4 [7,1] Permanente 4 5
5 5
[0,-] 1 7
3 [6,2] Permanente [6,2] 3 6 8
[8,5]
6 4
5 [3,2] Permanente 3
7
2 [11 ]
[11,5]
6 [11,5] Cambiar por [9,4] 4
[9,4]
[7,1]
7 [8,5] Temporal
6 [7+2,4] =[9,4] Temporal

Page 23
El algoritmo de Dijkstra
Ejemplo: (Continuación)
Entonces la etiqueta temporal [8,5] del nodo
7 se cambia a permanente (u7 = 8)
En esta ultima red vemos que el nodo 7 ha
quedado etiquetado permanentemente y esta
ligado al nodo 6 con una distancia de 8 + 4 =
12 que es mayor que 9; por tanto el nodo 6
se convierte su etiqueta temporal [9,4] en
permanente y el algoritmo
p g habrá terminado.

Page 24
El algoritmo de Dijkstra
Ejemplo: (Continuación)
Iteración 6
Nodo Etiqueta Estado
1 [0,—] Permanente (2,1)
2
1
2 [2 1]
[2,1] Permanente 2
4 5
(3 2)
(3,2)
5 5
4 [7,1] Permanente (0,1) 1 7
(6,2) 3 6
8
(8,5)
3 [6,2] Permanente 7
3 6 4

5 [3,2] Permanente 4
2 (9,4)
(7,1)
7 [8,5] Permanente
6 [[9,4]
, ] Permanente

Page 25
El algoritmo de Dijkstra
Ejemplo: (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, se
muestra las rutas más cortas hacia cualquiera de los otros nodos:
RUTA MÁS CORTA
NODO DISTANCIA
DESDE 1
2 1–2 2
3 1–2–3 6
4 1–4 7
5 1–2–5 3
6 1–4–6 9
7 1–2–5–7 8
Page 26
El algoritmo de Floyd
El algoritmo de Floyd es más general que el
de Dijkstra, porque permite determinar la ruta
más corta entre dos nodos cualesquiera de la
red.
El algoritmo representa una red de “n”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.
Page 27
El algoritmo de Floyd

Cij Cjk

Cik
i k

Operación triple de Floyd

Page 28
El algoritmo de Floyd
El concepto del algoritmo de Floyd es directo.
Dados tres nodos i, j y k en la figura anterior,
con las distancias entre si indicadas en los tres
arcos, es más corto ir a k desde i pasando por j
si:
dij + djk ≤ dik
En este caso, lo óptimo es reemplazar la ruta
di
directa i → k por la
l ruta indirecta
i di i → j → k.
k Este
E
intercambio de operación triple se aplica en
forma sistemática a la red, red con los siguientes
pasos:
Page 29
El algoritmo de Floyd
Paso 0: Definir las matrices iniciales de distancias Do y de
secuencias de nodos So como se describe abajo. Los
elementos diagonales se marcan con (—) para indicar que
están bloqueados.
bloqueados Igualar k = i.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 30
El algoritmo de Floyd

Definir el renglón k y la columna k como renglón


pivote y columna pivote. Aplicar la operación triple
a cada elemento dij en Dk – 1 para toda i y j. si se
satisface 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 sijj en Sk – 1 por k.
Igualar k = k + 1 y repetir el paso k.
Page 31
El algoritmo de Floyd

Implementación de la operación triple en forma


matricial Page 32
El algoritmo de Floyd
Se 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
columna k definen el renglón y la columna pivote actual. El
renglón i representa cualesquiera de los renglones 1,
1 2,…,
2 yk
– 1, y el renglón p representa cualquiera de los renglones k +
1, k + 2,…, y n. De igual modo, la columna j representa
cualquiera
l i d las
de l columnas
l 1 2,…,
1, 2 y k – 1,
1 y la
l columna
l q
representa cualquiera de las columnas k + 1, k + 2,…, y n.
Con la operación triple, si la suma de los elementos del
renglón
ló pivote
i t y la l columna
l pivote
i t (representados
( t d por
cuadrados) es menor que el elemento de intersección
asociado (representado por un círculo), entonces es óptimo
reemplazar la distancia de intersección por la suma de las
distancias pivote.
Page 33
El algoritmo de Floyd
Después de “n” n pasos se puede determinar la ruta
más corta entre los nodos i y j con las matrices Dn
y Sn con las siguientes
g reglas:
g
En Dn, dij representa la distancia más corta entre
los nodos i y j.
En Sn, se determina el nodo intermedio k = sij que
forme la ruta i → k → j. Si sik = k y skj = j,
d t
detenerse; t d los
todos l nodosd intermedios
i t di d la
de l ruta
t
se han determinado. En caso contrario, repetir el
procedimiento entre los nodos i y k y entre los
nodos k y j.
Page 34
El algoritmo de Floyd
Ejemplo:
Resolver el ejemplo dado en el algoritmo de
Dijkstra.
j
2
1
2 5
4 5 5
1 3 8 7
6
6 4
3
7
2
4

Page 35
El algoritmo de Floyd
Ejemplo (Continuación):
Iteración 0. Las matrices Do y So son la
representación
p inicial de la red. Do es una matriz
simétrica.
Do So
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 —

Page 36
El algoritmo de Floyd
Ejemplo (Continuación):
Iteración 1. Se iguala k = 1. El renglón y la columna
pivote se ven en la matriz Do con sombra ligera: Son el
primer renglón y la primera columna. Las celdas más
oscuras d24 y d42 son las únicas que pueden mejorar con
l operación
la ió triple.
t i l Así,
A í D1 y S1 se obtienen
bti partiendo
ti d ded
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 matrices
siguientes: Page 37
El algoritmo de Floyd
Ejemplo (Continuación):
Estos cambios se muestran en negritas, en las
matrices siguientes:
D1 S1
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 —

Page 38
El algoritmo de Floyd
Ejemplo (Continuación):
Iteración 2. Se iguala k = 2, como indican el renglón y la
columna con sombra ligera en D1. Se aplica la operación
triple a las celdas más oscuras de D1 y S1. Los cambios
que resultan se indican con negritas en D2 y S2.
D2 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 —
Page 39
El algoritmo de Floyd
Ejemplo (Continuación):
Iteración 3. Se iguala k = 3, como indican en el
renglón y la columna sombreada en D2. Las
nuevas matrices son D3 y S3.
D3 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 —

Page 40
El algoritmo de Floyd
Ejemplo (Continuación):
Iteración 4. Se iguala k = 4 como se indica con el
renglón y la columna con sombra ligera en D3. Las
nuevas matrices son D4 y S4.
D4 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 —

Page 41
El algoritmo de Floyd
Ejemplo (Continuación):
Iteración 5. Se iguala k = 5 como se indica con el
renglón y la columna con sombra ligera en D4. Las
nuevas matrices son D5 y S5.
D5 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 —

Page 42
El algoritmo de Floyd
Ejemplo (Continuación):
Iteración 6. Se iguala k = 6 como se indica con el
renglón y la columna con sombra ligera en D5. Las
nuevas matrices son D6 y S6.
D6 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 —

Page 43
El algoritmo de Floyd
Ejemplo (Continuación):
Iteración 7. Se iguala k = 7 como en el renglón y la
columna con sombra ligera en D6. No hay mejoras
posibles en esta iteración. Por consiguiente D7 y S7
son iguales que D6 y S6.
D7 S7
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 —

Page 44
El algoritmo de Floyd
Ejemplo (Continuación):
 Las matrices finales D7 y S7 contienen toda la información
necesaria para determinar la ruta más corta entre dos nodos
cualesquiera 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 q que un
segmento (i, j) representa un enlace directo si sij = j. en caso
contrario, i y j están enlazados mediante al menos un nodo
intermedio. Como s15 = 2,, la ruta inicial es 1→2→5. Ahora
bien, como s12 = 2, el segmento (1,2) es un enlace directo y la
ruta 1→2→5 no se transformara. A continuación como: s12 =
2, s25 = 5, la ruta 1 2 5 no necesita más disecciones y el
1→2→5
proceso termina.
Page 45
El algoritmo de Floyd
Ejemplo (Continuación):
 Del nodo 1 al nodo 7, d17 = 8, la ruta asociada s17 = 5, la
ruta inicial es 1→5→7, ahora bien, s15 = 2 ≠ 5, el
segmento (1,5) no es un enlace directo y 1→5 se debe
reemplazar por 1→2→5, y la ruta 1→5→7 se transforma
ahora en 1→2→5→7.
1→2→5→7 A continuación como: s12 = 2, 2 s25
= 5 y s57 =7, la ruta 1→2→5→7 no necesita más
disecciones y el proceso termina.
 Del nodo 1 al nodo 2, d12 = 2, la ruta asociada s12 = 2, el
segmento (1,2) es un enlace directo. La ruta será 1→2
 Y así sucesivamente para los demás nodos.
nodos

Page 46
PROBLEMA DEL ÁRBOL
DE EXPANSIÓN MÍNIMA

El problema del árbol de expansión mínima tiene algunas


similitudes con la versión principal del problema de la ruta
más corta que se presento en la sección anterior. En ambos
casos se considera una red no dirigida y conexa,
conexa en la que la
información dada incluye alguna medida de longitud positiva
(distancia, tiempo, costo, etc.) asociada con cada arco. Los
d problemas
dos bl i
involucran
l t bié ell hecho
también h h ded seleccionar
l i un
conjunto de arcos que tiene la longitud total más corta entre
todos los conjuntos de arcos que satisfacen cierta propiedad.
P
Para ell problema
bl d la
de l ruta
t más
á corta
t esta
t propiedad
i d d es que
el arco seleccionado debe proporcionar una trayectoria entre
el origen y el destino. Para el árbol de expansión mínima la
propiedad requerida es que los arcos seleccionados deben
proporcionar una trayectoria entre cada par de nodos.
Page 47
PROBLEMA DEL ÁRBOL
DE EXPANSIÓN MÍNIMA
Una red con “n”
n nodos requiere solo (n – 1) arcos
para proporcionar una trayectoria entre cada par
de nodos. No deben usarse más arcos yya q que
esto aumentaría, sin necesidad, la longitud total
de los arcos seleccionados. Los (n – 1) arcos
d b elegirse
deben l i d tal
de t l manera que la
l red
d resultante
lt t
(con solo los arcos resultantes) forme un árbol de
expansión Por lo tanto,
expansión. tanto el problema es encontrar
el árbol de expansión con la longitud total mínima
de sus arcos.

Page 48
Algoritmo del árbol de expansión mínima

El algoritmo de árbol de expansión mínima enlaza los


nodos de una red, en forma directa o indirecta, con la
mínima longitud de las ramas enlazantes. Una
aplicación característica es en la construcción de
carreteras pavimentadas que unen varias poblaciones.
El camino entre dos poblaciones puede pasar por uno o
más poblaciones adicionales. El diseño más económico
del sistema de caminos indica que se minimice la
di t
distancia
i total
t t l de
d caminos
i pavimentados,
i t d ell resultado
lt d
que se obtiene implementando el algoritmo de árbol de
expansión mínima. Los pasos del procedimiento son los
siguientes:
Page 49
Algoritmo del árbol de expansión mínima

Paso 1: Se selecciona,
selecciona de manera
arbitraria, cualquier nodo y se conecta (es
decir se pone un arco) al nodo más
cercano distinto de éste.
Paso 2: Se identifica el nodo no
conectado más cercano a un nodo
conectado y se conectan estos dos nodos
conectado,
(es decir, se agrega un arco entre ellos).
Este paso se repite hasta que se hayan
conectado todos los nodos. Page 50
Algoritmo del árbol de expansión mínima

Paso 3: Los empates para el nodo más cercano


distinto (paso 1) o para el nodo no conectado
más cercano (paso 2), se pueden romper en
forma arbitraria y el algoritmo todavía debe
llevar a una solución óptima. No obstante, estos
empatest son señales
ñ l d que pueden
de d existir
i ti
(pero no necesariamente) soluciones óptimas
múltiples Todas esas soluciones se pueden
múltiples.
identificar si se buscan las demás formas de
romper
p los empates
p hasta el final.

Page 51
Algoritmo del árbol de expansión mínima

Ejemplo:
La administración de COTAP necesita determinar los
caminos bajo los cuales se deben tender las líneas
telefónicas para conectar todas las estaciones con una
longitud mínima de cable. Se describirá paso a paso la
solución de este problema con base en los datos que se dan
en la siguiente figura:
A
7
2 5 T
2 D
4
5
O B 1 7
3
4 1 E
C 4
Page 52
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
comenzar.
nodo A. Se conecta el nodo A al nodo O.

A
7
2 5 T
2 D
4
5
O B 1 7
3
4 1 E
C 4

Page 53
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),
A) se conecta el nodo B al nodo A.
A

A
7
2 5 T
2 D
4
5
O B 1 7
3
4 1 E
C 4

Page 54
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
B) se conecta el nodo C al nodo B.
cercano a B), B

A
7
2 5 T
2 D
4
5
O B 1 7
3
4 1 E
C 4

Page 55
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.

A
7
2 5 T
2 D
4
5
O B 3 1 7
4 1 E
C 4

Page 56
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),
E) se conecta el nodo D al nodo E.
E

A
7
2 5 T
2 D
4
5
O B 3 1 7
4 1 E
C 4

Page 57
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,
D se conecta el nodo T al nodo D

A
7
2 5 T
2 D
4
5
O B 3 1 7
4 1 E
C 4

Page 58
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
p que se buscaba. La longitud
q g
total de las ramas es 14 km.
Aunque con este procedimiento a primera vista puede
parecer que la selección del nodo inicial afectaría la
solución final (y la longitud de los arcos), en realidad
no es así.
así Se sugiere que se verifique este hecho
para el ejemplo, aplicando de nuevo el algoritmo, pero
iniciando en un nodo distinto de O.

Page 59
PROBLEMA DEL FLUJO CAPACITADO A
COSTO MÍNIMO
El p
problema del flujo
j capacitado
p a costo mínimo se basa en
las hipó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.
2. capacidad
3. Todo nodo en la red puede funcionar como fuente o como
sumidero.
El nuevo modelo determina los flujos en los distintos arcos,
arcos que
minimizan el costo total y a la vez satisfacen las restricciones de
flujo y las cantidades de oferta y demanda en los nodos,
representando
t d ell modelo
d l ded redd y su formulación
f l ió equivalente
i l t en
programación lineal, lo cual es la base que desarrolla el
algoritmo símplex capacitado especial y por ultimo mostraremos
una plantilla
l till de
d hoja
h j de
d calculo,
l l ded lal redd capacitada
it d con costo t
mínimo.
Page 60
PROBLEMA DEL FLUJO CAPACITADO A COSTO
MÍNIMO REPRESENTACIÓN EN RED
MÍNIMO:

Se tiene una red capacitada


p G = ((N,, A),
), donde N es el
conjunto de los nodos y A es el conjunto de los arcos, y se
definen:
xij = cantidad
tid d de
d flflujo
j ddell nodo
d i all nodo
d jj.
uij (lij) = capacidad máxima (mínima) del arco (i,j).
cij = costo de flujo unitario del nodo i al nodo jj.
fi = flujo neto en el nodo i.
La figura
g siguiente
g muestra las definiciones en el arco ((i,j).
,j)
La etiqueta [fi] supone un valor positivo (negativo) cuando
hay una oferta o suministro neto (demanda) asociada al
nodo ii.

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

Arco capacitado con flujo externo

Page 62
PROBLEMA DEL FLUJO
CAPACITADO A COSTO MÍNIMO
Ejemplo:
Coboce abastece de hormigón a tres
proyectos de caminos desde tres plantas.
plantas
Las cantidades de oferta en los tres
plantas son 100,
100 200 y 50 m3. Coboce usa
principalmente camiones hormigoneras
para transportar el hormigón a los
proyectos, a excepción de tres rutas, en
las que se usan otro tipo de transporte.
transporte
Page 63
PROBLEMA DEL FLUJO
CAPACITADO A COSTO MÍNIMO
Ejemplo:
La figura siguiente muestra las rutas disponibles entre las tres
plantas y los tres proyectos. Plantas se representan con los
nodos 1, 2 y 3, cuyas cantidades de suministro son [100],
[200] y [50], respectivamente. Los proyectos se representan
con los nodos 4, 5 y 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 capacidades mínimas y máximas. Por
ejemplo, la capacidad de la ruta (1,4) es de 50 a 80 m3. En
todas las demás rutas se usan otro tipo de transporte, cuya
capacidad
p máxima es p prácticamente ilimitada. Los costos de
transporte, por m3, se indican en sus arcos respectivos.
Page 64
PROBLEMA DEL FLUJO
CAPACITADO A COSTO MÍNIMO
Ejemplo:

Page 65

Você também pode gostar