Вы находитесь на странице: 1из 90

OPTIMIZACIN

DE REDES
Equipo 5
OPTIMIZACIN DE
REDES
En algunos problemas de optimizacin
puede ser til representar el problema a
travs de una grfica: ruteo de vehculos,
distribucin de productos, programa de
actividades en un proyecto, redes de
comunicacin, etc.

GRFICA O RED
Es un conjunto de nodos (n) y arcos (a) que
conectan los nodos.
G=(N,A)
Los nodos se numeran: 1,2,3,...,n
Los arcos se denotan (i, j) indicando que une el
nodo i al nodo j
CONCEPTOS BSICOS
Un arco (i , j) es dirigido si conecta i con j pero
no j con i.


Una grfica G=(N,A) es dirigida si sus arcos
estn dirigidos. En una grfica no dirigida
(i,j) y (j,i) representan el mismo arco (no
dirigido).
Grfica no dirigida




Grfica dirigida
CONCEPTOS BSICOS
1
4
3
2
6
5
7
Nodos
Arcos no
dirigidos
1
1
4
3
2
6
5
7
Nodos
Arcos
dirigidos
CONCEPTOS BSICOS
Un Camino o Ruta del nodo i al nodo j es una
secuencia de arcos que unen el nodo i con el
nodo j: (i,i
1
), (i
1
,i
2
), (i
2
,i
3
),...,(i
k
,j). Ruta de k
arcos.
Un Ciclo es un camino que une un nodo consigo
mismo:(i,i
1
), (i
1
,i
2
), (i
2
,i
3
),...,(i
k
,i)
CONCEPTOS BSICOS
1
4
3
2
6
5
7
1
CAMINO DE 4 A 7
CICLO
CONCEPTOS BSICOS
Un rbol de una grfica G=(N,A) es una subgrfica
G=(N,A) de G que es conexa y no contiene
ciclos. Si el rbol contiene todos los nodos de G
(N=N) se dice que es un rbol Generador.



GRAFICA G



RBOL GENERADOR DE G



RBOL DE G
CONCEPTOS BSICOS
Una RED es una grfica con uno o mas valores
asignados a los nodos y/o a los arcos:
Nodos: (a
i
)demanda, oferta, eficiencia,
confiabilidad.
Arcos: (c
ij
) costo, distancia, capacidad
Ejemplos: red de agua potable, red de
comunicacin, red logstica.
PROBLEMAS Y
MODELOS DE REDES
PROBLEMAS: Encontrar la ruta ms corta de la
planta al centro de distribucin pasando por
ciudades intermedias. Problemas de transbordo.
Poltica de reemplazo de equipo.
MODELO de la RUTA MS CORTA: Dada una
red no dirigida G=(N,A) con distancias asociadas
a los arcos (c
ij
), encontrar la ruta ms corta del
nodo i al nodo j, donde i,jN
PROBLEMAS: Transportar la mayor cantidad
de producto posible a travs de una red de
distribucin: ductos, trfico vehicular.
MODELO de FLUJO MXIMO: Dada una red
dirigida G=(N,A) con capacidades en los arcos
(c
ij
) encontrar la mayor cantidad de flujo total
de un nodo fuente a un nodo destino
PROBLEMAS Y MODELOS
DE REDES
PROBLEMAS: Programar las actividades de
un proyecto y determinar el tiempo requerido
para terminar el proyecto as como las
actividades crticas
MODELO: CPM, PERT (RUTA MAS LARGA)
PROBLEMAS Y MODELOS
DE REDES
PROBLEMAS: Redes de comunicaciones.
Conectar todos los nodos con el mnimo costo.
MODELO DEL RBOL GENERADOR
MINIMAL: Dada una red conexa no dirigida
G=(N,A) con costos c
ij
en cada arco (i,j) A,
encontrar el rbol Generador de costo mnimo
PROBLEMAS Y MODELOS
DE REDES
5.2 PROBLEMA DE
LA RUTA MAS
CORTA
Objetivo
Encontrar la ruta de menor distancia, o costo,
entre el punto de partida o nodo inicial y el
destino o nodo terminal.

Como son estas redes
Es una red conexa (Red en la que cada par
de nodos estn conectados), no dirigida.



Mtodos de solucin
Fuerza bruta
Algoritmo de Dijkstra
Algoritmo de Floyd-Warshall
Fuerza bruta
Este, cosiste en explorar cada uno de los
caminos posibles a fin de determinar cul es
el mejor.
Ejemplo
La administracin de Seervada Park, necesita
encontrar la ruta ms corta desde la entrada
del parque (Nodo O), hasta el mirador (Nodo T)
a traves del sistema de caminos que se
presenta en la siguiente figura.
Algoritmo de Dijkstra
El algoritmo de Dijkstra, tambin llamado
algoritmo de caminos mnimos, es un
algoritmo para la determinacin del camino
ms corto.

Su nombre se refiere a Edsger Dijkstra, quien lo
describi por primera vez en 1959.
La idea subyacente en este algoritmo
consiste en ir explorando todos los caminos
ms cortos.

El algoritmo es una especializacin de la
bsqueda de costo uniforme, y como tal, no
funciona con cantidades negativas.


Debemos de seguir los siguientes pasos:

1. Se etiquetan los nodos con la longitud del
arco que los une con el origen.

2. Designar la etiqueta permanente de la
iteracin: Vrtice con menor valor de la
etiqueta transitoria.

3. Revisar las etiquetas transitorias.

Ejemplo




Algoritmo de Floyd-Warshall
El algoritmo de Floyd es ms general que el
de Dijkstra, ya que determina la ruta ms
corta entre dos nodos cualquiera de la red.
Debemos de ter en cuenta los siguientes puntos:

El algoritmo representa una red de n nodos
como una matriz cuadrada de orden n, la
llamaremos matriz C. De esta forma, el valor Cij
representa el coste de ir desde el nodo i al
nodo j, inicialmente en caso de no existir un
arco entre ambos, el valor Cij ser infinito.
Definiremos otra matriz D, tambin cuadrada
de orden n, cuyos elementos van a ser los
nodos predecesores en el camino hacia el
nodo origen, es decir, el valor Dij representar
el nodo predecesor a j en el camino mnimo
desde i hasta j. Inicialmente se comienza con
caminos de longitud 1, por lo que Dij = i.
Las diagonales de ambas matrices
representan el coste y el nodo predecesor
para ir de un nodo a si mismo, por lo que
no sirven para nada, estarn bloqueadas.

Ejemplo

Resolver la siguiente red por medio del algoritmo
de Floyd.
1
2
3
4
4
5
1
2 2
1
1 2 3 4
1 - 4 2 5
2 4 - 1
3 2 1 - 2
4 5 1 2 -
1 2 3 4
1 - 2 3 4
2 1 - 3 4
3 1 2 - 4
4 1 2 3 -
Interacciones:
1 2 3 4
Resultado:



1 2 3 4
1 - 3 2 4
2 4 - 3 1
3 2 1 - 2
4 4 1 2 -
1 2 3 4
1 - 3 3 3
2 1 - 4 4
3 1 2 - 4
4 3 2 3 -
El algoritmo del rbol de expansin
mnima es un modelo de optimizacin de
redes que consiste en enlazar todos los
nodos de la red de forma directa y/o
indirecta con el objetivo de que la
longitud total de los arcos o ramales sea
mnima (entindase por longitud del arco
una cantidad variable segn el contexto
operacional de minimizacin, y que
puede bien representar una distancia o
unidad de medida).
Sean

N = {1,2,3,...,n} el conjunto de nodos de la
red.

C
k
= Conjunto de nodos que se han
enlazado de forma permanente en la
iteracin k

k
= Conjunto de nodos que hacen falta por
enlazarse de forma permanente.
PASO CERO (0): CONCEPTUALIZACIN
DEL ALGORITMO
Definir los conjuntos C
0
= {} y
0
= {N}, es
decir que antes del paso 1 no se han
enlazado de forma permanente nodo
alguno, y por ende el conjunto que
representa a los nodos que hacen falta por
enlazarse de forma permanente es igual a la
cantidad de nodos que existen en la red.

PASO CERO (0): CONCEPTUALIZACIN
DEL ALGORITMO

Definir los conjuntos C
0
= {} y
0
= {N}, es
decir que antes del paso 1 no se han
enlazado de forma permanente nodo alguno,
y por ende el conjunto que representa a los
nodos que hacen falta por enlazarse de forma
permanente es igual a la cantidad de nodos
que existen en la red.
PASO 1:

Se debe de escoger de manera arbitraria un nodo
en el conjunto
0
llamado i el cual ser el primer
nodo permanente, a continuacin se debe de
actualizar el conjunto C
1
= {i}, que significa que al
tiempo en que el conjunto C
1
gana el elemento i el
conjunto
0
pierde el elemento i por ende ahora
ser igual a
1
= N - {i}, adems se debe actualizar
el subndice de los conjuntos k, el cual ahora ser
igual a 2.
PASO 2: PASO GENERAL "K"
Se debe de seleccionar un nodo j del conjunto
K-1
("k-1" es
el subndice que indica que se est haciendo referencia al
conjunto de la iteracin inmediatamente anterior) el cual
tenga el arco o ramal con menor longitud con uno de los
nodos que se encuentran en el conjunto de nodos de enlace
permanente C
K-1
. Una vez seleccionado se debe de enlazar
de forma permanente lo cual representa que pasa a formar
parte del conjunto de enlaces permanentes y deja de formar
parte del conjunto que todava se debe conectar para lograr
la expansin. Al actualizar el algoritmo en este paso los
conjuntos deben de quedar de la siguiente forma.

C
K
= C
K-1
+ {j} mientras que
K
=
K-1
- {j}
El paso general que define k que al mismo
tiempo representa a las iteraciones debe de
ejecutarse toda vez que el conjunto
K
no sea
vaco, cuando este conjunto sea igual a vaco se
tendr el rbol de expansin mnima.

El entendimiento del algoritmo desde el punto de
vista algebraico no es quiz el ms simple, sin
embargo mediante el ejemplo grfico se ver
que es un algoritmo muy sencillo de elaborar.
La ciudad de Cali cuenta con un nuevo plan parcial de
vivienda el cual contar con la urbanizacin de ms
de 7 proyectos habitacionales que se ubicarn a las
afueras de la ciudad. Dado que el terreno en el que se
construir no se encontraba hasta ahora dentro de las
zonas urbanizables de la ciudad, el acueducto
municipal no cuenta con la infraestructura necesaria
para satisfacer las necesidades de servicios pblicos
en materia de suministro de agua. Cada uno de los
proyectos de vivienda inici la construccin de un
nodo de acueducto madre, el cual cuenta con las
conexiones de las unidades de vivienda propias de
cada proyecto (es decir que cada nodo madre solo
necesita estar conectado con un ducto madre del
acueducto municipal para contar con su suministro).
El acueducto municipal al ver la situacin del plan parcial
debe de realizar las obras correspondientes a la
instalacin de ductos madres que enlacen todos los nodos
del plan con el nodo Melndez (nodo que se encuentra
con suministro de agua y que no pertenece al plan parcial
de vivienda, adems es el ms cercano al mismo), la
instalacin de los ductos implica obras de excavacin,
mano de obra y costos de los ductos mismos, por lo cual
optimizar la longitud total de los enlaces es fundamental.
Las distancias existentes (dadas en kilmetros)
correspondientes a las rutas factibles capaces de enlazar
los nodos del plan parcial se presentan a continuacin.
Adems la capacidad de bombeo del nodo Melndez es
ms que suficiente para satisfacer las necesidades de
presin que necesita la red madre.
PASO 0:
Se definen los conjuntos iniciales C
0
= {}
que corresponde al conjunto de nodos
enlazados de forma permanente en la
iteracin indicada en el subndice y
0
= {N
= 1,2,3,4,5,6,7,8} que corresponde al
conjunto de nodos pendientes por enlazar
de manera permanente en la iteracin
indicada en el subndice.

PASO 1:
Se debe definir de manera arbitraria el
primer nodo permanente del conjunto
0
,
en este caso escogeremos el nodo 1
(puede ser cualquier otro), que
algebraicamente se representa con la letra
i, se procede a actualizar los conjuntos
iniciales, por ende C
1
= {i} = {1} y
0
= {N -
i} = {2,3,4,5,6,7,8}, actualizamos k por ende
ahora ser igual a 2.
PASO 2:
Ahora se debe seleccionar el nodo j del
conjunto
K-1
(es decir del conjunto del paso 1)
el cual presente el arco con la menor longitud y
que se encuentre enlazado con uno de los
nodos de enlace permanente del conjunto C
k-1

en el cual ahora solo se encuentra el nodo 1
(es decir que se debe de encontrar un nodo
que tenga el arco de menor longitud enlazado
al nodo 1).
Los arcos o ramales de color naranja representan
los arcos que enlazan el conjunto
K-1
(es decir del
conjunto del paso 1, recordemos que K en este
paso es igual a 2, por ende
K-1
=
1
) con los nodos
de enlace permanente del conjunto C
k-1
en el cual
ahora solo se encuentra el nodo 1, por ende ahora
solo falta escoger el de menor longitud, que en este
caso es el arco cuya longitud es 2, que enlaza de
forma permanente ahora el nodo 2.

Al actualizar los conjuntos quedan as:
C
2
= {1,2} y
2
= {3,4,5,6,7,8}
Ahora se procede a actualizar k ya que se
procede a efectuar la siguiente iteracin.
Ahora se seleccionar un nuevo nodo j
del conjunto
2
que presente el enlace
(ramal o arco) de menor longitud con los
nodos que se encuentran en el
conjunto C
2
.
Los arcos de color naranja representan los
enlaces posibles y dado que existe empate entre
las menores longitudes se elige de manera
arbitraria, en este caso se representa nuestra
eleccin con un arco de color verde, enlazando
de forma permanente ahora el nodo 4.

Al actualizar los conjuntos quedan as:
C
3
= {1,2,4} y
3
= {3,5,6,7,8}

Ahora se procede a actualizar k ya que se
procede a efectuar la siguiente iteracin.
Lo que representan los arcos naranja y
verde es ya conocido, ahora la lnea azul
interrumpida ir trazando nuestro rbol de
expansin final. Dado a que el arco menor
es el de longitud 3, ahora se enlazar de
manera permanente el nodo 5.

Al actualizar los conjuntos quedan as:
C
4
= {1,2,4,5} y
4
= {3,6,7,8}

Ahora se procede a actualizar k ya que se
procede a efectuar la siguiente iteracin.
Ahora se enlazar de manera permanente
el nodo 7.

Al actualizar los conjuntos quedan as:
C
5
= {1,2,4,5,7} y
5
= {3,6,8}

Ahora se procede a actualizar k ya que se
procede a efectuar la siguiente iteracin.
Ahora se enlazar de manera permanente
el nodo 6.

Al actualizar los conjuntos quedan as:
C
6
= {1,2,4,5,7,6} y
6
= {3,8}

Ahora se procede a actualizar k ya que se
procede a efectuar la siguiente iteracin.
Se rompen los empates de forma arbitraria,
ahora se enlazar de manera permanente
el nodo 3.

Al actualizar los conjuntos quedan as:
C
7
= {1,2,4,5,7,6,3} y
7
= {8}

Ahora se procede a actualizar k ya que se
procede a efectuar la ltima iteracin.
Ahora se enlazar de manera
permanente el nodo 8.

Al actualizar los conjuntos quedan as:
C
8
= {1,2,4,5,7,6,3,8} = {N} y
8
= {}
Por ende se ha llegado al rbol de
expansin mnima
5.4 FLUJO MXIMO
Flujo mximo
Planteamiento.
1. Todo flujo a travs de una red conexa dirigida se origina en un
nodo, llamado fuente y termina en otro nodo llamado destino.
2. Los nodos restantes son de transbordo (A,B,C,D,E)
3. Se permite el flujo a travs de un arco slo en la direccin
indicada por la flecha, donde la cantidad mxima de flujo est
dada por la capacidad del arco.
4. El objetivo es maximizar la cantidad total de flujo de la fuente al
destino. Esta cantidad se mide en cualquiera de las dos
maneras equivalente, esto es, la cantidad que sale de la fuente
o la cantidad que entra al destino.
Aplicaciones
1. Maximizar el flujo a travs de la red de distribucin de la
compaa de sus fbrica a sus clientes.
2. Maximizar el flujo a travs de la red de suministros de la
compaa de los proveedores a las fbricas.
3. Maximizar el flujo de petrleo por un sistema de tuberas.
4. Maximizar el flujo de agua a travs de un sistema de
acueductos.
5. Maximizar el flujo de vehculos por una red de transporte.

Red de flujo.
Una red de flujo es un grafo dirigido donde existen
dos vrtices especiales, uno llamado fuente, al que
se le asocia un flujo positivo y otro llamado sumidero
que tiene un flujo negativo y a cada arista se le asocia
cierta capacidad positiva.
Algoritmo de flujo mximo.
El procedimiento para obtener el flujo mximo de una
red, consiste en seleccionar repetidas veces cualquier
trayectoria de la fuente al destino y asignar el flujo
mximo posible en esa trayectoria.
Capacidad residual: es la capacidad adicional de flujo
que un arco puede llevar:

cf(u,v)= c(u,v) - f(u,v)
Dada una red de flujo mximo, plantee la red residual asociada.
Encuentre la trayectoria de la fuente al destino con capacidad de
flujo estrictamente positivo (si no existe alguno, es por que se ha
encontrado el ptimo).
Examine estas trayectorias para encontrar la rama o arco con la
menor capacidad de flujo restante e incremente en ste valor, la
capacidad del flujo en sentido contrario.
Determine todas las trayectorias estrictamente positivas, hasta
que no se permita flujo del nodo a un nodo destino.



Algoritmo de flujo mximo.
Aplicacin del algoritmo al problema de flujo
mximo de Seervada Park.
A
O
B D
5
T
E C
7
4
3
9
4
1
5
4
1
6
2
Leyenda
O Entrada
T Mirador
Rutas
A-F Estaciones
de GB
# Lmite sup.
de viajes
Solucin factible.
A
O
B D
5
T
E C
7
4
3
9
4
1
5
4
1
6
2
Leyenda
O Entrada
T Mirador
Rutas
A-F Estaciones
de GB
# Lmite sup.
de viajes
5 viajes
1 viaje
1 viaje
Invalidada
ITERACIN 1:
La trayectoria de aumento es O B E T
Tiene una capacidad residual igual al min. {7,5,6}= 5. Si se asigna un flujo de 5 a esta
trayectoria de red que resulta es :
ITERACIN 2: Se asigna un flujo de 3 a la trayectoria de aumento
O A D T . La red resultante es:
ITERACIN 3: Se asigna un flujo de 1 a la trayectoria de
aumento O A B D T
La red resultante es:
ITERACIN 4: Se asigna un flujo de 2 a la trayectoria de aumento O B D T
La red resultante es:
ITERACIN 5: Se asigna un flujo de 1 a la trayectoria de aumento
O C E D T
La red resultante es:
0
1
ITERACIN 6: Se asigna un flujo de 1 a la trayectoria de aumento O C E T.
La red resultante es:
ITEARACIN 7: Se asigna un flujo de 1 a la trayectoria de aumento
O C E B D T.
Ya no existen trayectorias de aumento por lo que el patrn de flujo
actual es optimo.
El patrn de flujo actual se puede identificar acumulando las
asignaciones de flujo, en este caso se suman 5+3+1+2+1+1+1 el
flujo mximo es 14.
5.5 PROBLEMA DE
FLUJO DE COSTO
MINIMO
PROBLEMA DE
FLUJO DE
COSTO MINIMO
Abarca una clase
amplia de
aplicaciones.
Solucin es muy
eficiente.
PROBLEMA DE FLUJO MAXIMO
CONSIDERA FLUJOS EN LAS REDES
CON CAPACIDADES
EL PROBLEMA DEL CAMINO MAS
CORTO CONSIDERA UN COSTO POR
FLUJO HACIA UN ARCO
EL PROBLEMA DE TRANSPORTE
PERMITE MULTIPLES ORIGENES Y
DESTINOS
TODOS ESTOS CASOS PUEDEN SER
VISTOS COMO CASOS ESPECIALES
DEL PROBLEMA DE FLUJO DE COSTO
MINIMO
El problema
es minimizar
el costo total
sujeto a la
disponibilida
d y la
demanda de
algunos
nodos
Y de la
conexin
superior
de flujo a
travs de
cada arco
La solucin ptima es: X12 = 12, X13 =
8, X23 = 8, X24 = 4, X34 = 11, X35 = 5,
X45 = 10, todos los dems Xij = 0. El
costo ptimo es $150

Вам также может понравиться