Sunteți pe pagina 1din 65

Introduccin

Los modelos de redes son estructuras especiales del modelo


de programacin lineal y que por sus caractersticas propias
tienen algoritmos especficos para su solucin.
La teora y el anlisis de redes de optimizacin, encuentra
aplicacin
p
en varias ramas del saber tales como: la
Ingeniera Civil, la ingeniera industrial, la ingeniera
elctrica, la informtica, la ciberntica, la gestin de
proyectos, el planeamiento, etc. Existe tambin un rea de
aplicacin
li i concerniente
i t a grupos sociales,
i l
comunicacin,
i i
estructuras de lenguaje y enlaces qumicos. Como se podr
notar el rea de accin y aplicacin de la teora de redes es
amplio y su teora clsica esta asociada a lo que se llama la
teora de grafos.

Introduccin
Entre los problemas que podemos estudiar tenemos:
El problema de la RUTA MS CORTA que se presenta por
ejemplo en los sistemas de transporte.
El problema del RBOL DE EXPANSIN MNIMA que se
presenta por ejemplo en problemas relacionados a diversos
tipos de conexiones.
conexiones
El problema de FLUJO MXIMO 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 planificacin de tareas y programas de
actividades.

Conceptos referenciales para la


Conceptosreferencialesparala
teoraderedes
Para
estudiar
las
redes
de
optimizacin,
introduciremos algunos conceptos elementales:
Una GRFICA o RED es un conjunto de NODOS

(vrtices o puntos) que estn conectados por un


conjunto de ARCOS (lneas, ramas y bordes).
Consideraremos que una red es una grfica con un
FLUJO de algn tipo que fluye por sus ramas.
ramas

Conceptos referenciales para la


Conceptosreferencialesparala
teoraderedes
Ejemplo:

Nodos
Intersecciones

Ramas
Caminos

Flujo
Vehculos

Aeropuertos

Rutas areas

Aviones

Puntos de comunicacin Cables, Canales Mensajes


Estaciones de bombeo

Tuberas

Fluidos

Centros de trabajo

Rutas

Trabajos

Conceptos referenciales para la


Conceptosreferencialesparala
teoraderedes
UnRBOLesunaredconexaquecontieneciclos.Por

ejemplo:

Conceptos referenciales para la


Conceptosreferencialesparala
teoraderedes
Podemos decir con propiedad que una red conexa que tiene n

nodos, n 1 ramas y sin ciclos, se llama RBOL DE


EXPANSIN.
Se puede definir la siguiente nomenclatura relacionada con
un arco o rama (i,j):
xij 0, es ell flujo
fl j del
d l nodo
d i all nodo
d j.j
ij 0, es la capacidad mxima del flujo de i a j.
p
mnima del flujo
j de i a jj.
ij 0,, es la capacidad
dij 0, es el costo por unidad de flujo.
Si dij 0, se llama EGRESO, si dij 0, se llama
INGRESO.
INGRESO
Cuando un flujo sale de un nodo se llama EFLUJO y
cuando llega a un nodo se le llama INFLUJO.

Conceptos referenciales para la


Conceptosreferencialesparala
teoraderedes
Se llama nodo FUENTE u ORIGEN al nodo por
donde entra el flujo a la red, es decir que cada una
d sus ramas tiene
de
i
una orientacin
i
i tall que ell flujo
fl j
se mueve hacia fuera de ese nodo. Los orgenes son
generadores del flujo.
flujo

Conceptos referenciales para la


Conceptosreferencialesparala
teoraderedes
Se llama nodo DESTINO o FINAL al nodo por donde

sale el flujo de la red, es decir que cada una de las ramas


esta orientada hacia ese nodo.
nodo Los nodos destino
absorben el flujo.

Introduccin
Los arcos denominados (i, j) de una red, llevan asociados
un nmero dij que se interpreta como el costo, la distancia o
p q
que hayy entre los nodos i y jj. Una RUTA o
el tiempo
RECORRIDO entre dos nodos es cualquier secuencia de
arcos que los conecte. El problema de la ruta ms corta
tiene como objetivo
j
encontrar los recorridos ms
econmicos en distancias, costo y/o tiempo, entre un nodo
especfico, 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
MNIMO.

Algoritmosdelarutamscorta
En esta seccin se presentan dos algoritmos para
resolver
l
ell problema
bl
d la
de
l ruta ms
corta.
ElalgoritmodeDijkstra.
El l i
d Dijk

ElalgoritmodeFloyd

ElalgoritmodeDijkstra
El algoritmo de Dijkstra tiene por objeto determinar las rutas
ms cortas entre el nodo origen o fuente y todos los dems nodos
de la red.
Sea ui la distancia ms 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]=[ui +dij,i],dij 0
La etiqueta del nodo de inicio es [0,
[0 ],
] que indica que el nodo
no tiene predecesor.

ElalgoritmodeDijkstra
Las etiquetas de nodos en el algoritmo de Dijkstra son
d dos
de
d clases:
l
TEMPORALES y PERMANENTES.
PERMANENTES Una
U
etiqueta temporal se modifica si se puede encontrar
una ruta ms corta a un nodo.
nodo Cuando se ve que no se
pueden encontrar rutas mejores, cambia el estado de la
etiqueta temporal a permanente.

ElalgoritmodeDijkstra
Lospasosparalaaplicacindelalgoritmosonlossiguientes:
Paso 0: Etiquetar y rotular el nodo fuente con la etiqueta permanente; en este caso se
rotula [0,
[0 ].
] Este rotulo es PERMANENTE,
PERMANENTE por tanto se sombrea al nodo 1.
1 Igualar i = 1.
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].
Paso 2: Considerando el criterio de la distancia ms corta, rotular y/o etiquetar en forma
permanente el nodo correspondiente, al que tambin se lo sombrea.
Paso 3: A partir del ltimo nodo permanente etiquetar en forma temporal los arcos
ligados
g
a este nodo y elegir
g el arco de distancia ms corta p
para etiquetarlo
q
permanentemente (de los nodos etiquetados temporalmente). Los empates se rompen en
forma arbitraria.
Paso4:Sitodoslosnodostienenetiquetaspermanentesdetenerse.
Elprocesoesrealizadon 1veces.

ElalgoritmodeDijkstra
Ejemplo:setienelasiguientered:
2
2
1

4
3

1
5
6
2

5
7

8
6

3
4

ElalgoritmodeDijkstra
Ejemplo: (Continuacin)
En esta red, los nmeros representan la distancia y la
id es hallar
idea
h ll las
l rutas ms
cortas del
d l nodo
d 1 hacia
h i los
l
dems nodos, es decir el rbol de recorrido mnimo.
El proceso es realizado n 1 veces, entonces 7 1 = 6
iteraciones.

ElalgoritmodeDijkstra
Ejemplo: (Continuacin)
Las redes resultantes de la aplicacin de estos pasos
son:
Iteracin 0
Nodo Etiqueta Estado
1

[0,]

Permanente

ElalgoritmodeDijkstra
Ejemplo: (Continuacin)
Iteracin 1
Nodo
1
2
4

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

Estado
Permanente
Temporal
Temporal

ElalgoritmodeDijkstra
Ejemplo: (Continuacin)

Para las dos etiquetas temporales [2,1] y [7,1], el


nodo 2 produce la menor distancia (u2 = 2).
Entonces, se cambia el estado del nodo 2 a
permanente.
permanente
Iteracin 2
[2,1]
Nodo
1
2
4
3
5

Etiqueta
[0,]
[2,1]
[7,1]
[2+4,2] = [6,2]
[2+1,2] = [3,2]

Estado
Permanente
Permanente
Temporal
Temporal
Temporal

2
2
[[0,, ] 1

4
3
[6,2]

1
5 [3,2]

ElalgoritmodeDijkstra
Ejemplo: (Continuacin)
Iteracin 3
Nodo
1
2
4
3
5
6
7

Etiqueta
[0,]
[2 1]
[2,1]
[7,1]
[6,2]
[3,2]
[3+8,5] = [11,5]
[[3+5,5]
, ] = [8,5]
[ , ]

Estado
Permanente
Permanente
Temporal
Temporal[0,- ] 1
Permanente
Temporal
p
Temporal

[2,1]
2
2

4
3
[6 2]
[6,2]

1
5

[3,2]

8
6
[11,5]

5
7

[8,5]

ElalgoritmodeDijkstra
Ejemplo: (Continuacin)
Iteracin 4
Nodo
1
2
4
3
5
6
7
4
6

Etiqueta
[0,]
[2,1]
[7 1]
[7,1]
[6,2]
[3,2]
[[11,5]
, ]
[8,5]
[6+3,3] = [9,3]
[6+6,3] = [12,3]

Estado
Permanente
Permanente
Temporal
Permanente
Permanente
Temporal
p
Temporal
Descartar
Descartar

[2,1]
2
2
[0,-] 1

4
[6,2] 3

3
4
[7,1]

1
5
6

[3 2]
[3,2]

8
6
[11 5]
[11,5]

5
7

[8,5]

ElalgoritmodeDijkstra
Ejemplo: (Continuacin)
Iteracin 5
Nodo
1
2
4
3
5
6
7
6

Etiqueta
[0,]
[2,1]
[7,1]
[6,2]
[3,2]
[11,5]
[8,5]
[7+2,4] =[9,4]

Estado
Permanente
Permanente
Permanente
Permanente
Permanente
Cambiar por [9,4]
Temporal
Temporal

[2,1]
2
2
[0,-] 1

4
[6,2] 3

1
5
6

[3,2]

5
7

8
6

3
4
[7,1]

[11 ]
[11,5]
[9,4]

[8,5]

ElalgoritmodeDijkstra
Ejemplo: (Continuacin)
Entonces la etiqueta temporal [8,5] del nodo 7 se
cambia
bi a permanente (u
( 7 = 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
q
temporal
p
[9,4]
9
en permanente y el algoritmo habr terminado.

ElalgoritmodeDijkstra
Ejemplo: (Continuacin)
Iteracin 6
Nodo
1
2
4
3
5
7
6

Etiqueta
[0,]
[2 1]
[2,1]
[7,1]
[6,2]
[3,2]
[8,5]
[[9,4]
, ]

Estado
Permanente
Permanente
Permanente
Permanente
Permanente
Permanente
Permanente

(2,1)
2
2

4
(6,2) 3

(0,1) 1
7

1
5
6

(3 2)
(3,2)

5
7

8
6

3
4
(7,1)

(9,4)

(8,5)

ElalgoritmodeDijkstra
Ejemplo: (Continuacin)
El rbol de recorrido mnimo consta de n 1 arcos y muestra los
resultados del problema,
problema segn la tabla y partiendo del nodo 1,
1 se
muestra las rutas ms cortas hacia cualquiera de los otros nodos:
RUTA MS CORTA
NODO
DISTANCIA
DESDE 1
2
12
2
3

123

14

125

146

1257

ElalgoritmodeFloyd
El algoritmo de Floyd es ms general que el de
Dijkstra, porque permite determinar la ruta
ms
corta
t entre
t dos
d nodos
d cualesquiera
l
i
d la
de
l
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
i fi it en caso contrario.
t i

ElalgoritmodeFloyd
j
Cij
i

Cjk
Cik

OperacintripledeFloyd

ElalgoritmodeFloyd
El concepto del algoritmo de Floyd es directo.
Dados tres nodos i, j y k en la figura anterior, con
l distancias
las
di
i entre sii indicadas
i di d en los
l tres arcos, es
ms corto ir a k desde i pasando por j si:
dij +d
djk d
dik
En este caso, lo ptimo es reemplazar la ruta
directa i k por la ruta indirecta i j k.
k Este
intercambio de operacin triple se aplica en
forma sistemtica a la red, con los siguientes pasos:

ElalgoritmodeFloyd
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 estn
bloqueados. Igualar k =1 i. 2 j n
Do =

So =

d12

d1j

d1n

2
:
i
:
n

d21
:
di1
:
dn1

:
di2
:
dn2

d2j
:
dij
:
dnj

d2n
:
din
:

1
2
:
i
:
n

1
:
1
:
1

2
2

:
2
:
2

j
j
j
:
j
:
j

n
n
n
:
n
:

ElalgoritmodeFloyd
Definir el rengln k y la columna k como rengln
pivote y columna pivote.
pivote Aplicar la operacin triple a
cada elemento dij en Dk 1 para toda i y j. si se
satisface la condicin:
dik +dkj dij (i k,j kei 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.
k

ElalgoritmodeFloyd

Implementacindelaoperacintripleenforma
p
p
p
matricial

ElalgoritmodeFloyd
Se puede explicar el paso k del algoritmo representando a Dk 1
como se ve en la figura anterior. Aqu, el rengln k y la columna
k definen el rengln y la columna pivote actual. El rengln i
representa cualesquiera de los renglones 1, 2,, y k 1, y el
rengln p representa cualquiera de los renglones k + 1, k + 2,, y
n. De igual modo, la columna j representa cualquiera de las
columnas
l
1, 2,, y k 1, y la
l columna
l
q representa
t cualquiera
l i
d
de
las columnas k + 1, k + 2,, y n. Con la operacin triple, si la
suma de los elementos del rengln pivote y la columna pivote
(representados por cuadrados) es menor que el elemento de
interseccin asociado (representado por un crculo), entonces es
ptimo reemplazar la distancia de interseccin por la suma de las
distancias pivote.

ElalgoritmodeFloyd
Despus de n pasos se puede determinar la ruta
ms corta entre los nodos i y j con las matrices Dn y
Sn con las siguientes reglas:
En Dn, dij representa la distancia ms 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, detenerse;
todos los nodos intermedios de la ruta se han
determinado. En caso contrario, repetir el
procedimiento entre los nodos i y k y entre los nodos
k y j.

ElalgoritmodeFloyd
Ejemplo:
Resolver el ejemplo dado en el algoritmo de
Dijkstra.
2
2
1

4
3

1
5
6
2

5
7

8
6

3
4

ElalgoritmodeFloyd
Ejemplo (Continuacin):
Iteracin 0. Las matrices Do y So son la
representacin
i inicial
i i i l de
d la
l red.
d Do
D es una matriz
i
So
simtrica. Do
1
2
3
4
5
6
7

2
2

3
5
6

4
7

1
5

8
5

6
2
8

5
4

1
2
3
4
5
6
7

1
1
1
1
1
1

2
2

2
2
2
2
2

3
3
3

3
3
3
3

4
4
4
4

4
4
4

5
5
5
5
5

5
5

6
6
6
6
6
6

7
7
7
7
7
7
7

ElalgoritmodeFloyd
Ejemplo(Continuacin):
Iteracin 1. Se iguala k = 1. El rengln y la columna pivote se ven
en la matriz Do con sombra ligera: Son el primer rengln y la
primera columna. Las celdas ms oscuras d24 y d42 son las nicas
que pueden mejorar con la operacin triple. As, D1 y S1 se
obtienen
bti
partiendo
ti d de
d D0 y S0 como sigue:
i
g
s24 = 1.
Sustituir d24 con d21 + d14 = 2 + 7 = 9, e igualar
Sustituir d42 con d41 + d12 = 7 + 2 = 9, e igualar s42 = 1.
Estos cambios se muestran en negritas, en las matrices
siguientes:

ElalgoritmodeFloyd
Ejemplo(Continuacin):

Estoscambiossemuestranennegritas,enlas
matricessiguientes:
S
D
1

1
2
3
4
5
6
7

2
2

4
9
1

3
5
6

4
7
9
3

1
5

8
5

6
2
8

5
4

1
2
3
4
5
6
7

1
1
1
1
1
1

2
2

2
1
2
2
2

3
3
3

3
3
3
3

4
4
1
4

4
4
4

5
5
5
5
5

5
5

6
6
6
6
6
6

7
7
7
7
7
7
7

ElalgoritmodeFloyd
Ejemplo(Continuacin):
Iteracin 2. Se iguala k = 2, como indican el rengln y la
columna
l
con sombra
b ligera
li
en D1. Se
S aplica
li la
l operacin
i
triple a las celdas ms oscuras de D1 y S1. Los cambios que
resultan se indican con negritas
g
en D2 y S2.
D2
1
2
3
4
5
6
7

2
6
7
3

2
2

4
9
1

3
6
4

3
5
6

4
7
9
3

10
2

S2
5
3
1
5
10

8
5

6
2
8

5
4

1
2
3
4
5
6
7

1
2
1
2
1
1

2
2

2
1
2
2
2

3
2
3

3
3
3
3

4
4
1
4

2
4
4

5
2
5
5
2

5
5

6
6
6
6
6
6

7
7
7
7
7
7
7

ElalgoritmodeFloyd
Ejemplo(Continuacin):
Iteracin 3. Se iguala k = 3, como indican en el
rengln y la columna sombreada en D2. Las nuevas
matrices son D3 y S3.
D3
1
2
3
4
5
6
7

2
6
7
3
12

2
2

4
7
1
10

3
6
4

3
5
6

4
7
7
3

8
2

S3
5
3
1
5
8

8
5

6
12
10
6
2
8

5
4

1
2
3
4
5
6
7

1
2
1
2
3
1

2
2

2
3
2
3
2

3
2
3

3
3
3
3

4
4
3
4

3
4
4

5
2
5
5
3

5
5

6
3
3
6
6
6

7
7
7
7
7
7
7

ElalgoritmodeFloyd
Ejemplo(Continuacin):
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.
D4

1
2
3
4
5
6
7

2
6
7
3
9

2
2

4
7
1
9

3
6
4

3
5
5

4
7
7
3

8
2

S4

5
3
1
5
8

8
5

6
9
9
5
2
8

5
4

1
2
3
4
5
6
7

1
2
1
2
4
1

2
2

2
3
2
4
2

3
2
3

3
3
4
3

4
4
3
4

3
4
4

5
2
5
5
3

5
5

6
4
4
4
6
6

7
7
7
7
7
7
7

ElalgoritmodeFloyd
Ejemplo(Continuacin):

Iteracin 5. Se iguala k = 5 como se indica con el


rengln y la columna con sombra ligera en D4. Las
nuevas matrices son D5 y S5.
D5

1
2
3
4
5
6
7

2
6
7
3
9
8

2
2

4
7
1
9
6

3
6
4

3
5
5
10

4
7
7
3

8
2
13

S5

5
3
1
5
8

8
5

6
9
9
5
2
8

7
8
6
10
13
5
4

1
2
3
4
5
6
7

1
2
1
2
4
5

2
2

2
3
2
4
5

3
2
3

3
3
4
5

4
4
3
4

3
4
5

5
2
5
5
3

5
5

6
4
4
4
6
6

7
5
5
5
5
7
7

ElalgoritmodeFloyd
Ejemplo(Continuacin):

Iteracin 6. Se iguala k = 6 como se indica con el


rengln y la columna con sombra ligera en D5. Las
nuevas matrices son D6 y S6.
D6

1
2
3
4
5
6
7

2
6
7
3
9
8

2
2

4
7
1
9
6

3
6
4

3
5
5
9

4
7
7
3

8
2
6

S6

5
3
1
5
8

8
5

6
9
9
5
2
8

7
8
6
9
6
5
4

1
2
3
4
5
6
7

1
2
1
2
4
5

2
2

2
3
2
4
5

3
2
3

3
3
4
6

4
4
3
4

3
4
6

5
2
5
5
3

5
5

6
4
4
4
6
6

7
5
5
6
6
7
7

ElalgoritmodeFloyd
Ejemplo(Continuacin):
Iteracin 7. Se iguala k = 7 como en el rengln y la
columna con sombra ligera en D6. No hay mejoras
posibles en esta iteracin. Por consiguiente D7 y S7 son
iguales que D6 y S6.
D7

1
2
3
4
5
6
7

2
6
7
3
9
8

2
2

4
7
1
9
6

3
6
4

3
5
5
9

4
7
7
3

8
2
6

S7

5
3
1
5
8

8
5

6
9
9
5
2
8

7
8
6
9
6
5
4

1
2
3
4
5
6
7

1
2
1
2
4
5

2
2

2
3
2
4
5

3
2
3

3
3
4
6

4
4
3
4

3
4
6

5
2
5
5
3

5
5

6
4
4
4
6
6

7
5
5
6
6
7
7

ElalgoritmodeFloyd
Ejemplo(Continuacin):
Las matrices finales D7 y S7 contienen toda la informacin

necesaria para determinar la ruta ms 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
d
l ruta asociada,
la
d recurdese
d
que un segmento (i,
(
j) representa un enlace directo si sij = j. en caso contrario, i y j
estn enlazados mediante al menos un nodo intermedio. Como
s15 = 2, la ruta inicial es 125. Ahora bien, como s12 = 2, el
segmento (1,2) es un enlace directo y la ruta 125 no se
transformara. A continuacin como: s12 = 2, s255 = 5, la ruta
125 no necesita ms disecciones y el proceso termina.

ElalgoritmodeFloyd
Ejemplo(Continuacin):
Del nodo 1 al nodo 7, d17 = 8, la ruta asociada s17 = 5, la ruta

iinicial
i i l es 157, ahora
h
bi
bien,
s15 = 2 5, ell segmento
t (1,5)
( )
no es un enlace directo y 15 se debe reemplazar por
125, y la ruta 157 se transforma ahora en
1257. A continuacin como: s12 = 2, s25 = 5 y s57 =7, la
ruta 1257 no necesita ms disecciones y el proceso
termina.
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 12
Y as sucesivamente para los dems nodos.

PROBLEMADELRBOL
DE EXPANSIN MNIMA
DEEXPANSINMNIMA
El problema del rbol de expansin mnima tiene algunas
similitudes con la versin principal del problema de la ruta ms
corta que se presento en la seccin anterior. En ambos casos se
considera una red no dirigida y conexa, en la que la informacin
dada incluye alguna medida de longitud positiva (distancia,
tiempo, costo, etc.) asociada con cada arco. Los dos problemas
i
involucran
l
t bi ell hecho
tambin
h h de
d seleccionar
l i
un conjunto
j t de
d arcos
que tiene la longitud total ms corta entre todos los conjuntos de
arcos que satisfacen cierta propiedad. Para el problema de la ruta
ms corta esta propiedad es que el arco seleccionado debe
proporcionar una trayectoria entre el origen y el destino. Para el
rbol de expansin mnima la propiedad requerida es que los
arcos seleccionados deben proporcionar una trayectoria entre
cada par de nodos.

PROBLEMA DEL RBOL


PROBLEMADELRBOL
DEEXPANSINMNIMA
Una red con n nodos requiere solo (n 1) arcos
para proporcionar una trayectoria entre cada par de
nodos.
d
N deben
No
d b
usarse ms
arcos ya que esto
t
aumentara, sin necesidad, la longitud total de los
arcos seleccionados. Los (n 1) arcos deben elegirse
de tal manera que la red resultante (con solo los
arcos resultantes) forme un rbol de expansin. Por
lo tanto, el problema es encontrar el rbol de
expansin con la longitud total mnima de sus arcos.

Algoritmodelrboldeexpansinmnima
El algoritmo de rbol de expansin mnima enlaza los
nodos de una red, en forma directa o indirecta, con la
mnima longitud de las ramas enlazantes.
enlazantes Una aplicacin
caracterstica es en la construccin de carreteras
pavimentadas que unen varias poblaciones.
El camino entre dos poblaciones puede pasar por uno o
ms poblaciones adicionales. El diseo ms econmico del
sistema de caminos indica que se minimice la distancia
total de caminos pavimentados, el resultado que se obtiene
implementando el algoritmo de rbol de expansin
mnima.
i
L pasos del
Los
d l procedimiento
di i t son los
l siguientes:
i i t

Algoritmodelrboldeexpansinmnima
Paso 1: Se selecciona, de manera arbitraria, cualquier
nodo y se conecta (es decir se pone un arco) al nodo
ms cercano distinto de ste.
ste
Paso 2: Se identifica el nodo no conectado ms
cercano a un nodo conectado,
conectado y se conectan estos dos
nodos (es decir, se agrega un arco entre ellos). Este
paso se repite hasta que se hayan conectado todos los
nodos.

Algoritmodelrboldeexpansinmnima
Paso 3: Los empates para el nodo ms cercano
distinto (paso 1) o para el nodo no conectado ms
cercano (paso
(
2),
) se pueden
d
romper en forma
f
arbitraria y el algoritmo todava debe llevar a una
solucin ptima.
ptima No obstante,
obstante estos empates son
seales de que pueden existir (pero no
necesariamente)) soluciones ptimas
p
mltiples.
p
Todas esas soluciones se pueden identificar si se
buscan las dems formas de romper los empates
hasta el final.

Algoritmodelrboldeexpansinmnima
Ejemplo:
La administracin de COTAP necesita determinar los caminos
bajo los cuales se deben tender las lneas telefnicas para
conectar todas las estaciones con una longitud mnima de cable.
Se describir paso a paso la solucin de este problema con base
en los
l datos
d t que se dan
d en la
l siguiente
i i t figura:
fi
A
2

7
2

4
B

1
C

D
1
E

T
7

Algoritmodelrboldeexpansinmnima
Ejemplo: Resolucin
En forma arbitraria, se selecciona el nodo O para comenzar.
El nodo
d no conectado
d ms
cercano a O es ell nodo
d A.
A Se
S
conecta el nodo A al nodo O.
A
2

7
2

4
B

1
C

D
1
E

T
7

Algoritmodelrboldeexpansinmnima
Ejemplo: Resolucin(continuacin)
El nodo ms cercano a cualesquiera de los nodos O o A es el nodo B
( cercano a A),
(ms
A) se conecta ell nodo
d B all nodo
d A.
A

A
2

7
2

4
B

1
C

D
1
E

T
7

Algoritmodelrboldeexpansinmnima
Ejemplo: Resolucin(continuacin)
El nodo no conectado ms cercano a O, A o B es el nodo C (ms
cercano a B),
B) se conecta ell nodo
d C all nodo
d B.
B

A
2

7
2

4
B

1
C

D
1
E

T
7

Algoritmodelrboldeexpansinmnima
Ejemplo: Resolucin(continuacin)
El nodo no conectado ms cercano a O, A, B o C es el nodo E
(ms cercano a B),
B) se conecta el nodo E al nodo B.
B

A
2

7
2

4
B

1
C

D
1
E

T
7

Algoritmodelrboldeexpansinmnima
Ejemplo: Resolucin(continuacin)
El nodo no conectado ms cercano a O, A, B, C o E es el nodo D
( cercano a E),
(ms
E) se conecta ell nodo
d D all nodo
d E.
E
A
2

7
2

4
B

1
C

D
1
E

T
7

Algoritmodelrboldeexpansinmnima
Ejemplo: Resolucin(continuacin)
El nico nodo no conectado es el nodo T. Esta ms cerca del
nodo
d D,
D se conecta ell nodo
d T all nodo
d D
A
2

7
2

4
B

1
C

D
1
E

T
7

Algoritmodelrboldeexpansinmnima
Ejemplo: Resolucin(continuacin)
Todos los nodos han quedado conectados, por lo que

sta
es la
l solucin
l i ptima
i
que se buscaba.
b
b La
L longitud
l
i d
total de las ramas es 14 km.
Aunque con este procedimiento a primera vista puede
parecer que la seleccin del nodo inicial afectara la
solucin final (yy la longitud
g
de los arcos), en realidad no
es as. Se sugiere que se verifique este hecho para el
ejemplo, aplicando de nuevo el algoritmo, pero iniciando
en un nodo distinto de O.
O

PROBLEMA DEL FLUJO CAPACITADO A


PROBLEMADELFLUJOCAPACITADOA
COSTOMNIMO
El problema del flujo capacitado a costo mnimo se basa
hiptesis siguientes:
1.
2.
3.

en las

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


Los arcos pueden tener lmites inferiores positivos de capacidad.
Todo nodo en la red puede funcionar como fuente o como sumidero.

El nuevo modelo
d l determina
d t
i los
l flujos
fl j en los
l distintos
di ti t 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
d ell modelo
d l de
d red
d y su formulacin
f
l i equivalente
i l
en
programacin lineal, lo cual es la base que desarrolla el algoritmo
smplex capacitado especial y por ultimo mostraremos una plantilla
de hoja de calculo, de la red capacitada con costo mnimo.

PROBLEMADELFLUJOCAPACITADOACOSTO
MNIMO:REPRESENTACINENRED
SetieneunaredcapacitadaG=(N,A),dondeNesel
conjuntodelosnodosyAeselconjuntodelosarcos,yse
definen:
xij =cantidaddeflujodelnodoialnodoj.
uij ((lij))=capacidadmxima(mnima)delarco(i,j).
p
(
)
( ,j)
cij =costodeflujounitariodelnodoialnodoj.
fi=flujonetoenelnodoi.
Lafigurasiguientemuestralasdefinicionesenelarco(i,j).La
etiqueta[fi]suponeunvalorpositivo(negativo)cuandohay
unaofertaosuministroneto(demanda)asociadaalnodoi.
unaofertaosuministroneto(demanda)asociadaalnodoi

PROBLEMADELFLUJOCAPACITADOACOSTO
MNIMO:REPRESENTACINENRED

Arcocapacitadoconflujoexterno

PROBLEMA DEL FLUJO


PROBLEMADELFLUJO
CAPACITADOACOSTOMNIMO
Ejemplo:
Coboce abastece de hormign a tres proyectos de
caminos
i
d d tres plantas.
desde
l
L cantidades
Las
id d de
d oferta
f
en los tres plantas son 100, 200 y 50 m3. Coboce usa
principalmente
camiones
hormigoneras
para
transportar el hormign a los proyectos, a excepcin de
tres rutas, en las que se usan otro tipo de transporte.

PROBLEMA DEL FLUJO


PROBLEMADELFLUJO
CAPACITADOACOSTOMNIMO
Ejemplo:
La figura siguiente muestra las rutas disponibles entre las tres
plantas
p
a tas y los
os ttres
es p
proyectos.
oyectos. Plantas
a tas se representan
ep ese ta co
con los
os nodos
odos
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
mnimas y mximas. Por ejemplo, la capacidad de la ruta (1,4) es
d 50 a 80
de
8 m3. En
E todas
t d las
l dems
d rutas
t se usan otro
t tipo
ti de
d
transporte, cuya capacidad mxima es prcticamente ilimitada.
Los costos de transporte, por m3, se indican en sus arcos
respectivos.
respectivos

PROBLEMA DEL FLUJO


PROBLEMADELFLUJO
CAPACITADOACOSTOMNIMO
Ejemplo:

S-ar putea să vă placă și