You are on page 1of 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 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 concerniente a grupos sociales, comunicacin,
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.
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


teora de redes
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.

Conceptos referenciales para la


teora de redes
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


teora de redes
Un RBOL es una red conexa que contiene ciclos. Por

ejemplo:

Conceptos referenciales para la


teora de redes
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 el flujo del nodo i al nodo j.
ij 0, es la capacidad mxima del flujo de i a j.
ij 0, es la capacidad mnima 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 llama
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


teora de redes
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 orientacin tal que el flujo
se mueve hacia fuera de ese nodo. Los orgenes son
generadores del flujo.

Conceptos referenciales para la


teora de redes
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. 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
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. El problema de la ruta ms corta
tiene como objetivo 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.

Algoritmos de la ruta ms corta


En esta seccin se presentan dos algoritmos para
resolver el problema de la ruta ms corta.
El algoritmo de Dijkstra.
El algoritmo de Floyd

El algoritmo de Dijkstra
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, ], que indica que el nodo
no tiene predecesor.

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 ms corta a un nodo. Cuando se ve que no se
pueden encontrar rutas mejores, cambia el estado de la
etiqueta temporal a permanente.

El algoritmo de Dijkstra
Los pasos para la aplicacin 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 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].
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 a este nodo y elegir el arco de distancia ms corta para etiquetarlo
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.

El algoritmo de Dijkstra
Ejemplo: se tiene la siguiente red:
2
2
1

4
3

1
5
6
2

5
7

8
6

3
4

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

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

[0,]

Permanente

El algoritmo de Dijkstra
Ejemplo: (Continuacin)
Iteracin 1
Nodo
1
2
4

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

Estado
Permanente
Temporal
Temporal

El algoritmo de Dijkstra
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.
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]

El algoritmo de Dijkstra
Ejemplo: (Continuacin)
Iteracin 3
Nodo
1
2
4
3
5
6
7

Etiqueta
[0,]
[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
Temporal

[2,1]
2
2

4
3
[6,2]

1
5

[3,2]

5
7
[8,5]

6
[11,5]

El algoritmo de Dijkstra
Ejemplo: (Continuacin)
Iteracin 4
Nodo
1
2
4
3
5
6
7
4
6

Etiqueta
[0,]
[2,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
Temporal
Descartar
Descartar

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

4
[6,2] 3

3
4
[7,1]

1
5
6

[3,2]

5
7
[8,5]

6
[11,5]

El algoritmo de Dijkstra
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,5]
[9,4]

[8,5]

El algoritmo de Dijkstra
Ejemplo: (Continuacin)
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 habr terminado.

El algoritmo de Dijkstra
Ejemplo: (Continuacin)
Iteracin 6
Nodo
1
2
4
3
5
7
6

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

Estado
Permanente
Permanente
Permanente
Permanente
Permanente
Permanente
Permanente

(2,1)
2
2
(0,1) 1

4
(6,2) 3

1
5
6

(3,2)

5
7

8
6

3
4
(7,1)

(9,4)

(8,5)

El algoritmo de Dijkstra
Ejemplo: (Continuacin)
El rbol de recorrido mnimo consta de n 1 arcos y muestra los
resultados del problema, segn la tabla y partiendo del nodo 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

El algoritmo de Floyd
El algoritmo de Floyd es ms general que el de
Dijkstra, porque permite determinar la ruta
ms corta entre dos nodos cualesquiera de la
red.
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 algoritmo de Floyd
j
Cij
i

Cjk
Cik

Operacin triple de Floyd

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
ms corto ir a k desde i pasando por j si:
dij + djk dik
En este caso, lo ptimo es reemplazar la ruta
directa i k por la ruta indirecta i j k. Este
intercambio de operacin triple se aplica en
forma sistemtica a la red, con los siguientes pasos:

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 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
:

El algoritmo de Floyd
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:
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.

El algoritmo de Floyd

Implementacin de la operacin triple en forma


matricial

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 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 1, 2,, y k 1, y la columna q representa cualquiera 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.

El algoritmo de Floyd
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.

El algoritmo de Floyd
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

El algoritmo de Floyd
Ejemplo (Continuacin):
Iteracin 0. Las matrices Do y So son la
representacin inicial de la red. Do es una matriz
simtrica. Do
So
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

El algoritmo de Floyd
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 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 matrices
siguientes:

El algoritmo de Floyd
Ejemplo (Continuacin):

Estos cambios se muestran en negritas, en las


matrices siguientes:
D
S
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

El algoritmo de Floyd
Ejemplo (Continuacin):
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 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

El algoritmo de Floyd
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

El algoritmo de Floyd
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

El algoritmo de Floyd
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

El algoritmo de Floyd
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

El algoritmo de Floyd
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

El algoritmo de Floyd
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 la ruta asociada, recurdese 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, s25 = 5, la ruta
125 no necesita ms disecciones y el proceso termina.

El algoritmo de Floyd
Ejemplo (Continuacin):
Del nodo 1 al nodo 7, d17 = 8, la ruta asociada s17 = 5, la ruta

inicial es 157, ahora bien, s15 = 2 5, el segmento (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.
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.

PROBLEMA DEL RBOL


DE EXPANSIN MNIMA
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
involucran tambin el hecho de seleccionar un conjunto de 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


DE EXPANSIN MNIMA
Una red con n nodos requiere solo (n 1) arcos
para proporcionar una trayectoria entre cada par de
nodos. No deben usarse ms arcos ya que esto
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.

Algoritmo del rbol de expansin mnima


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. 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. Los pasos del procedimiento son los siguientes:

Algoritmo del rbol de expansin mnima


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.
Paso 2: Se identifica el nodo no conectado ms
cercano a un nodo 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.

Algoritmo del rbol de expansin mnima


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

Algoritmo del rbol de expansin mnima


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 datos que se dan en la siguiente figura:
A
2

7
D

2
5

1
C

4
B

1
E

Algoritmo del rbol de expansin mnima


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

7
D

2
5

1
C

4
B

1
E

Algoritmo del rbol de expansin mnima


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

A
2

7
D

2
5

1
C

4
B

1
E

Algoritmo del rbol de expansin mnima


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

A
2

7
D

2
5

1
C

4
B

1
E

Algoritmo del rbol de expansin mnima


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

A
2

7
D

2
5

1
C

4
B

1
E

Algoritmo del rbol de expansin mnima


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

7
D

2
5

1
C

4
B

1
E

Algoritmo del rbol de expansin mnima


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

7
D

2
5

1
C

4
B

1
E

Algoritmo del rbol de expansin mnima


Ejemplo: Resolucin (continuacin)
Todos los nodos han quedado conectados, por lo que
sta es la solucin ptima que se buscaba. La longitud
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 (y la longitud 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.

PROBLEMA DEL FLUJO CAPACITADO A


COSTO MNIMO
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 determina los flujos en los distintos 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 el modelo de red y su formulacin equivalente 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.

PROBLEMA DEL FLUJO CAPACITADO A COSTO


MNIMO: REPRESENTACIN 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 mxima (mnima) 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.

PROBLEMA DEL FLUJO CAPACITADO A COSTO


MNIMO: REPRESENTACIN EN RED

Arco capacitado con flujo externo

PROBLEMA DEL FLUJO


CAPACITADO A COSTO MNIMO
Ejemplo:
Coboce abastece de hormign a tres proyectos de
caminos desde tres plantas. Las cantidades de oferta
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


CAPACITADO A COSTO MNIMO
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
mnimas y mximas. Por ejemplo, la capacidad de la ruta (1,4) es
de 50 a 80 m3. En todas las dems rutas se usan otro tipo de
transporte, cuya capacidad mxima es prcticamente ilimitada.
Los costos de transporte, por m3, se indican en sus arcos
respectivos.

PROBLEMA DEL FLUJO


CAPACITADO A COSTO MNIMO
Ejemplo:

You might also like