Você está na página 1de 41

Modelos de Redes

Captulo 6 texto gua (Taha)


Una gran variedad de situaciones en IO que se
pueden modelar como redes (nodos
conectados por arcos)
Ejemplos:
Diseo de una red de gasoductos
Encontrar la ruta ms corta entre ciudades o puntos
sobre una red de caminos
Determinar la capacidad mxima de una red de tuberas
para transportar petrleo
Determinar el programa de flujo de costo mnimo desde
pozos a refineras a travs de una red de oleoductos
Determinacin del cronograma de las actividades en la
ejecucin de un proyecto


Estos problemas pueden modelarse como
PLE, sin embargo los algoritmos basados en
redes (grafos) son mucho ms eficientes que
R&A o el mtodo simplex para resolverlos
rbol de mnima expansin
Algoritmo de la ruta ms corta
Algoritmo de flujo mximo
Algoritmo de red capacitada de costo mnimo
Algoritmo de la ruta crtica
Definiciones para redes
Una red (N,A) consiste de una serie de nodos (N)
conectados con arcos (A)
Ej: N = {1,2,3,4,5}, A ={(1,2), (1,3), (2,3), (2,5), (3,4),
(3,5), (4,2), (4,5)}




Cada red se asocia con algn tipo de flujo (ej. productos,
petrleo, vehculos, personas)
El flujo est limitado por la capacidad de los arcos (finita
o infinita)
Un arco es dirigido (orientado) si permite un flujo
positivo en una direccin y flujo cero en la direccin
opuesta
Una red dirigida tiene todos sus arcos dirigidos.
Una ruta es una sucesin de arcos distintos que unen
dos nodos pasando por otros nodos, independiente de la
direccin de flujo de cada arco.
Una ruta forma un ciclo si conecta un nodo consigo
mismo, pasando por otros nodos. Un ciclo es dirigido si
consiste en una ruta dirigida.
Una red conectada es aquella en que cada par de
nodos distintos estn enlazados al menos por una ruta
Un rbol es una red conectada que puede contener
slo un subconjunto de todos los nodos de ella, donde
no se permiten ciclos.
Un rbol de expansin es un rbol que contiene todos
los nodos de la red, sin permitir ciclos.

ejemplo
Determine una ruta, un ciclo, un ciclo dirigido,
un rbol (con 4 nodos) y un rbol de
expansin

Algoritmo de rbol de mnima
expansin
En una red se busca establecer conectividad
(directa o indirecta) para todos sus nodos,
asegurando la mnima longitud de los arcos
conectores
Ej: construccin de una red de carreteras
para unir varias ciudades, tendido de una red
de comunicaciones
Se requieren n-1 arcos, que no formen un
ciclo y aseguren el menor costo combinado.
Procedimiento
Sea N el conjunto de nodos de la red
Se definen dos conjuntos:
C
k
= conjunto de nodos que ya se han conectado
en forma permanente en la iteracin k
C
k
= conjunto de nodos que todava se deben
conectar
En cada iteracin se escoge un nodo de C
k
y
se agrega a C
k
conectndose a la red parcial
ya construida.
Paso 0. Haga C
0
= f y C
0
= N

Paso 1. Comience en cualquier nodo i del conjunto C
0
y haga
C
1
= {i}, C
1
= N {i}. Iguale k=2

Paso general k. Seleccione un nodo j* en el conjunto C
k-1

que produzca el arco ms corto a un nodo del
conjunto conectado C
k-1
. Enlazar j* en forma
permanente con C
k-1
y sacarlo de C
k-1
, es decir
C
k
= C
k-1
+ {j*} y C
k
= C
k-1
- {j*}
Si el conjunto C
k
de nodos no conectados es vaco,
detenerse. En otro caso igualar k = k+1 y repetir el
paso
ejemplo
Una empresa de TV cable desea proveer servicio a
nuevas reas residenciales. La red representa posibles
tendidos de cables (distancia en millas). Determine la
red de conexin de costo mnimo

Problema de la ruta ms corta
Consiste en encontrar la ruta de menor
distancia entre un nodo origen y un destino
en una red de caminos
Existen otras situaciones no relacionadas a
caminos donde es posible usar el mismo
modelo.
Ejemplo: reemplazo de equipo
Una empresa de arriendo de vehculos est desarrollando
un plan de reposicin de su flotilla de automviles para
un horizonte de 4 aos. Al iniciar cada ao se toma la
decisin si un auto se debe mantener en operacin o se
debe sustituir. Un vehculo debe estar en servicio
durante un ao como mnimo y 3 aos como mximo
El costo de reposicin en funcin del ao de adquisicin y
antigedad del vehculo son:
Se puede formular como una red de 5 nodos
representando el inicio de cada ao.
Un arco desde el nodo i al j representa la
renovacin del vehculo a comienzos del ao
i y su uso hasta el comienzo del ao j (donde
se toma una nueva decisin
La longitud de un arco es igual al costo de
reposicin
Cualquier ruta desde el nodo 1 al 5 representa una
secuencia de decisiones de reemplazo
Su distancia representa el costo de las decisiones
Ej: 1-2-3-4-5, $4000+$4300+$4800+$4900= $13000
equivale a reemplazar el vehculo cada ao.
Hay rutas ms cortas que esa?

Ejemplo: ruta ms segura
La red muestra las diferentes vas con la probabilidad de no ser
detenido en cada segmento
La probabilidad de no ser multado en una ruta es el producto de
las probabilidades de no ser detenido en cada segmento
Ej ruta 1-3-5-7, P (no ser detenido) = 0.9 x 0.3 x
0.25 = 0.0675
Se busca la ruta que maximice la probabilidad
de no ser multado
Es posible hacer una transformacin logartmica
que convierta el producto de probabilidades en
una suma
P = P1 x P2 x x Pk
Log P = log P1 + log P2 + + log Pk
La maximizacin de P
ik
equivale a la
maximizacin de log P
ik

Adems la maximizacin de log Pik equivale
a la minimizacin de log P
ik
Entonces la red de ruta ms corta final
asociada es:



Ruta 1-3-5-7, longitud 1.1707 (-log P
17
) que
equivale a una probabilidad P
17
= 0.0675
Ejemplo: acertijo de las 3 jarras
Una jarra de 8 litros se llena con lquido. Se cuenta con
jarras de 5 y 3 litros y se quiere dividir el contenido en
dos partes iguales (de 8 lts) usando slo los 3 jarrones.
Cul es la cantidad mnima de vertidos necesarios para
lograr este resultado?

Defina un nodo representando la cantidad de lquido en
cada jarra (de 8, 5 y 3 lts, respectivamente): inicialmente
(8,0,0) y se desea llegar a (4,4,0)
Nodos conectados significa una operacin de vertido
factible
El costo de cada arco es 1 vertido
Se desea llegar desde el nodo (8,0,0) al (4,4,0) con la
menor distancia recorrida

Algoritmos de ruta ms corta
Algoritmos de etiquetamiento iterativo
Asignan etiquetas a los nodos en la medida que se
van encontrando rutas
Algoritmo de Dijkstra
Distancia ms corta desde un nodo origen a cualquier
otro nodo destino (todos)
Algoritmo de Floyd
Distancia ms corta entre todos los pares de nodos
origen-destino
Algoritmo de Dijkstra
Etiqueta de un nodo j: [u
j
, i]
u
j
es la distancia ms corta encontrada hasta ahora
desde el nodo origen hasta el nodo j
i es el nodo predecesor de j en la ruta desde el nodo
origen
Se cumple que [u
j
, i] = [u
i
+ dij, i], donde dij es la
distancia desde el nodo i al nodo j
Etiqueta del nodo origen; [0,-]
Dos tipos de etiquetas:
Temporales: si no hay certeza de que el camino
desde el nodo origen al nodo actual sea el ms corto
Permanentes: hay certeza de ser el camino ms corto

Se debe hacer permanente la etiqueta del
nodo r seleccionado en el paso i
ejemplo

Iteracin 2: vecinos de nodo 3: 4 y 5




Iteracin 3: vecinos de 4: 2 y 5
grficamente
ejemplo
Encuentre la ruta ms corta desde el nodo 1
a cada otro nodo
Algoritmo de Floyd
Permite encontrar la ruta ms corta entre
cualquier par de nodos de la red.
Las etiquetas se convierten en dos matrices
cuadradas de n x n: una matriz de distancias
D y otra de secuencias S
Para matriz D el elemento (i,j) expresa la
distancia (directa) del nodo i al nodo j (infinita
si no hay conexin directa)
La clave del algoritmo es chequear si para un
par de nodos (i,j) es preferible hacer el viaje
a travs de otro nodo k (pivote)




d
ik
+ d
kj
< d
ij
?


ejemplo
Encuentre la ruta ms corta entre cada par
de nodos




D5 es igual a D4
Rutas ms cortas
1 a 5
4 a 2

Você também pode gostar