Beruflich Dokumente
Kultur Dokumente
Una red consiste en una serie de nodos enlazados con arcos (o ramas). La notacin para
describir una red es (N, A), donde N es el conjunto de nodos y A es el conjunto de arcos.
Ejemplo:
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 a algn tipo de flujo (por ejemplo, flujo de productos petroleros en un
oleoducto y flujos de trfico de automviles en carreteras). En general, el flujo en una red
est limitado por la capacidad de sus arcos, que pueden ser finitos o infinitos.
Ruta: Sucesin de arcos distintos que unen dos nodos pasando por otros nodos,
independientemente de la direccin de flujo en cada arco. Una ruta forma un ciclo si
conecta un nodo consigo mismo, pasando por otros nodos.
Consiste en encontrar una ruta ptima entre un nodo fuente y un nodo destino, los cuales
estn enlazados a travs de una red con arcos que poseen cierto atributo, el cual puede ser
costo, distancia, tiempo, etc.
1) Se tienen N nodos.
2) Se parte desde el nodo fuente hasta el nodo destino, mediante los arcos que
conectan los nodos i y j y que poseen distancias mayores que cero (dij).
3) Se desea encontrar la ruta de mnima distancia que conecta el nodo 1 (fuente) con el
nodo n (destino).
4) Por medio del software TORA, es posible conocer distancia mnima entre un nodo
origen y un nodo destino.
Solucin en TORA: Para solucionar problemas de este tipo, basta con ingresar a men
principal, seleccionar Network Models Shortest Route e ingresar la matriz de nodos, que
se plantea determinando la relacin (a travs de sus arcos) de un nodo base con sus vecinos,
partiendo del nodo fuente hacia el nodo destino.
Algoritmo de Dijkstra
Tiene por objeto determinar las rutas ms cortas entre el nodo fuente y los dems nodos de
la red, fue desarrollado por el cientfico en computacin Edsger Dijkstra en 1959 y tiene
una de sus mayores aplicaciones en la actualidad con los sistemas de GPS.
Nomenclatura
[u i+ d ij , i]
Ejemplo:
Iteracin 1
Iteracin 3
Iteracin 4
Iteracin 5
Para completar la matriz se toman los nodos de las filas y se van emprejando con el valor
de distancia que tengan respecto a los demas, ejemplo; N1 esta a 2 de N2 y 4 de N3, asi
mismo se expresa en la matriz.
Solucin: Ruta mas corta entre el nodo fuente (NF=1) y el nodo destino (NF=6)
El resultado indica que para llegar al nodo 6, se debe recorrer una distancia de 6 millas, y la
ruta que se indica es: Antes de llegar al nodo 6 toca llegar al nodo 5 en donde se han
recorrido 4 millas antes, para llegar al nodo 5 se necesita haber pasado por el nodo 2 en
dondne se han recorrido 2 millas antes, para llegar al nodo 2 se debe partir del nodo 1. Por
lo tanto la ruta mas corta es 1 2 5 6.
Algoritmo de Floyd
Tiene por objeto determinar la ruta ms corta entre dos nodos cualesquiera de la red. Este
algoritmo representa la red de n nodos por medio de una matriz cuadrada con n renglones y
n columnas. El elemento (i, j) representa la distancia del nodo i al nodo j, en donde es un
valor finito su hay una conexin directa y es infinita si no estn conectados directamente.
Ejemplo:
Determinar la ruta ms corta entre cada uno de los nodos de la siguiente red:
Interacin 0
D0 S0
1 2 3 4 5 6 1 2 3 4 5 6
1 -- 2 4 1 -- 2 3 4 5 6
2 -- 1 4 2 2 1 -- 3 4 5 6
3 -- 3 3 1 2 -- 4 5 6
4 -- 2 4 1 2 3 -- 5 6
5 3 -- 2 5 1 2 3 4 -- 6
6 -- 6 1 2 3 4 5 --
Interacin 1
D1 S1
1 2 3 4 5 6 1 2 3 4 5 6
1 -- 2 4 1 -- 2 3 4 5 6
2 -- 1 4 2 2 1 -- 3 4 5 6
3 -- 3 3 1 2 -- 4 5 6
4 -- 2 4 1 2 3 -- 5 6
5 3 -- 2 5 1 2 3 4 -- 6
6 -- 6 1 2 3 4 5 --
Interacin 2
D2 S2
1 2 3 4 5 6 1 2 3 4 5 6
1 -- 2 3 6 4 1 -- 2 2 2 2 6
2 -- 1 4 2 2 1 -- 3 4 5 6
3 -- 3 3 1 2 -- 4 5 6
4 -- 2 4 1 2 3 -- 5 6
5 3 -- 2 5 1 2 3 4 -- 6
6 -- 6 1 2 3 4 5 --
Interacin 3
D3 S3
1 2 3 4 5 6 1 2 3 4 5 6
1 -- 2 3 6 4 1 -- 2 2 2 2 6
2 -- 1 4 2 2 1 -- 3 4 5 6
3 -- 3 3 1 2 -- 4 5 6
4 -- 2 4 1 2 3 -- 5 6
5 3 -- 2 5 1 2 3 4 -- 6
6 -- 6 1 2 3 4 5 --
Interacin 4
D4 S4
1 2 3 4 5 6 1 2 3 4 5 6
1 -- 2 3 6 4 8 1 -- 2 2 2 2 4
2 -- 1 4 2 6 2 1 -- 3 4 5 4
3 -- 3 3 1 2 -- 4 5 6
4 -- 2 4 1 2 3 -- 5 6
5 3 -- 2 5 1 2 3 4 -- 6
6 -- 6 1 2 3 4 5 --
Interacin 5
D5 S5
1 2 3 4 5 6 1 2 3 4 5 6
1 -- 2 3 6 4 6 1 -- 2 2 2 2 5
2 -- 1 4 2 4 2 1 -- 3 4 5 5
3 -- 6 3 5 3 1 2 -- 5 5 5
4 -- 2 4 1 2 3 -- 5 6
5 3 -- 2 5 1 2 3 4 -- 6
6 -- 6 1 2 3 4 5 --
1 2 3 4 5 6 1 2 3 4 5 6
1 -- 2 3 6 4 6 1 -- 2 2 2 2 5
2 -- 1 4 2 4 2 1 -- 3 4 5 5
3 -- 6 3 5 3 1 2 -- 5 5 5
4 -- 2 4 1 2 3 -- 5 6
5 3 -- 2 5 1 2 3 4 -- 6
6 -- 6 1 2 3 4 5 --
De acuerdo a lo anterior se puede establecer que donde esta el simbolo no se pude hacer
trazar una ruta entre el nodo de la columna hasta el nodo l renglon (ejemplo, no se pude
hacer la ruta de 5 a 3 por ningun camino). Un ejemplo de interpretacin del camino seria
determinar la ruta mas corta desde el nodo 1 al nodo 6:
- Ruta mas corta: Para que una ruta sea durecta se debe cumplir que dij = j
1 6.
d16 = 5, como no es igual a 6 no es una ruta directa por lo que toca hacer: 1
5 6.
d15 = 2, como no es igual a 5 no es una ruta directa por lo que toca hacer: 1
2 5 6.
d12 = 2; d25 = 5; d56 = 6; como se cumple que d ij = j en cada uno de los
trayectos esta es la ruta mas corta para llegar a 6 desde el nodo 1.
Solucin:
Formulacin 1: En esta formulacin se supone que entra a la red una unidad externa de
flujo en el nodo s y sale en el nodo t, siendo s y t dos nodos entre los que se busca
determinar la ruta ms corta.
Se definen
Como slo puede haber una unidad de flujo en algn arco en cualquier momento, la
variable xij debe asumir solamente valores binarios (0 o 1). As, la funcin objetivo del
programa lineal se vuelve:
Hay una restriccin que representa la conservacin de flujo en cada nodo; esto es, en
cualquier nodo j,
Como s y t son los nodos inicial y terminal de la red, el problema dual se define como sigue:
Sujeta y j y i c ij para toda i y j factibles
Ejemplo:
Suponer que se desea determinar la ruta ms corta del nodo 1 al nodo 2; esto es, s =1 y t =
2
- Formulacin 1
Solucin:
- Formulacin 2
Para aplicar la formulacin 2, el problema dual asociado con el programa lineal anterior es:
Aunque el problema dual anterior es una definicin matemtica pura derivada del
problema primal, en realidad se puede interpretar el problema en una forma lgica. Se
define:
yi =Distancia al nodo i
Con esta definicin, la distancia ms corta del nodo inicial 1 al nodo terminal 2 se
determina maximizando y2 y1. La restriccin asociada con la ruta (i, j) indica que la
distancia del nodo i al nodo j no puede ser mayor que la longitud directa de esa ruta.
Puede ser menor si se puede llegar al nodo j desde el nodo i pasando por otros nodos que
formen una ruta ms corta. Por ejemplo, la distancia mxima del nodo 1 al nodo 2 es 100.
Con la definicin de yi como distancia al nodo i, se puede suponer que todas las variables
son no negativas (en lugar de no tener restriccin). Tambin se puede suponer que y1 0 es
la distancia al nodo 1. Con base en la explicacin anterior, y suponiendo que todas las
variables son no negativas, la solucin ptima es:
El valor de z = 55 expresa la distancia ms corta del nodo 1 al nodo 2, que tambin es igual
a y2 -y1 = 55- 0 =55.
La determinacin de la ruta misma, a partir de esta solucin, se puede determinar por
medio del valor dual de las restricciones, en donde toda restriccin que tenga un valor
dual distinto de cero debe estar satisfecha en forma de ecuacin, por lo que hace parte de
la ruta ms corta del problema. Este resultado identifica que la ruta ms corta es la 1 3
4 2.
Este modelo tiene muchas aplicaciones en la vida practica, dentro de las que podemos
mencionar
Transoporte
Horarios de operadores telefonicos
Planeacion de trafico urbano
Transbordo
Redes Electricas
Diseo de rutas de vehiculos
Telecomunicaciones
Planeacion de produccion
Planeacion de inventarios
EJERCICIOS PARA TRABAJO AUTNOMO
a. Use el algoritmo de Dijkstra para determinar la ruta ms corta entre las ciudades 1 y
8.
b. Use el algoritmo de Floyd para determinar la ruta ms corta entre cada par de
ciudades. Con base en este, establezca la ruta ms corta entre las ciudades 1 y 7.
c. Use la programacin lineal (cualquiera de las dos formulaciones) para comprobar la
ruta ms corta entre las ciudades 1 y 8.
Desarrolle un plan para que cada nio encuentre a todos los dems con la cantidad
mnima de contactos. Cul es la cantidad mxima de contactos que puede haber
para que un nio encuentre a otro? Use el algoritmo de Floyd y especifique las rutas
en donde se d el nmero mximo de contactos.