Está en la página 1de 11

Nombres: Yesica Giraldo Piñeros, David Gutiérrez Mora, Andrés Camilo Hernández,

Valentina Pérez Bejarano.


PROBLEMA DE LA RUTA MÁS CORTA
Generalidades de las redes:
Una red consiste en una serie de nodos enlazados con arcos (o ramas). La notación 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,5)}.

Cada red se asocia a algún tipo de flujo (por ejemplo, flujo de productos petroleros en un
oleoducto y flujos de tráfico de automóviles en carreteras). En general, el flujo en una red
está limitado por la capacidad de sus arcos, que pueden ser finitos o infinitos.
Ruta: Sucesión de arcos distintos que unen dos nodos pasando por otros nodos,
independientemente de la dirección de flujo en cada arco. Una ruta forma un ciclo si conecta
un nodo consigo mismo, pasando por otros nodos.
Problema de la ruta más corta:
Consiste en encontrar una ruta óptima entre un nodo fuente y un nodo destino, los cuales
están enlazados a través de una red con arcos que poseen cierto atributo, el cual puede ser
costo, distancia, tiempo, etc.
Definición del problema
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 mínima distancia que conecta el nodo 1 (fuente) con el
nodo n (destino).
4) Por medio del software TORA, es posible conocer distancia mínima entre un nodo
origen y un nodo destino.
Solución 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 relación (a través de sus arcos) de un nodo base con sus vecinos,
partiendo del nodo fuente hacia el nodo destino.
Ejemplo (reemplazo de equipo):
RentCar está desarrollando un plan de reposición de su flotilla de automóviles para un
horizonte de planeación de 4 años, que comienza el 1 de enero de 2001 y termina el 31 de
diciembre de 2004. Al iniciar cada año se toma la decisión de si un auto se debe mantener en
operación o se debe sustituir. Un automóvil debe estar en servicio durante 1 año como
mínimo, y 3 años como máximo. La tabla siguiente muestra el costo de reposición en función
del año de adquisición del vehículo y los años que tiene en funcionamiento.

Es posible formular el problema anterior como una red :

Nodo fuente Nodo destino

✔ Los nodos 1 a 5 representan el inicio de los años 2001 a 2005.


✔ Los arcos del nodo 1 (año 2001) sólo pueden alcanzar los nodos 2, 3 y 4, porque un
vehículo debe estar en funcionamiento entre 1 y 3 años.
✔ La longitud de cada arco es igual al costo de reposición.
✔ La solución del problema equivale a determinar la ruta más corta entre los nodos 1 y
5.
La solución proporcionada por el software, indica que la ruta más corta es 1-3-5 y se
representa en el diagrama anterior con las flechas en negrilla. Se interpreta, como que un
automóvil adquirido al iniciar el año 2001 (nodo 1) debe reemplazarse pasados 2 años,
es decir, al iniciar el año 2003 (nodo 3). El auto de reposición debe estar en servicio hasta
el final de 2004. El costo total de esta política de reposición es $12,500 ( $5400 + $7100).
Algoritmo de Dijkstra
Tiene por objeto determinar las rutas más cortas entre el nodo fuente y los demás nodos de
la red, fue desarrollado por el científico en computación Edsger Dijkstra en 1959 y tiene una
de sus mayores aplicaciones en la actualidad con los sistemas de GPS.
Modelo de resolución del algoritmo:
1) Conocer el vértice origen y el vértice destino.
2) Marcar el vértice origen y sus vecinos.
3) Mirar los costos de las rutas hacia sus vecinos.
4) Marcar el vecino de la ruta más corta
5) El vecino marcado se convierte en el nuevo vértice origen.
6) Repetir pasos 2 y 3
7) Comparar todas las rutas que hay de sus vecinos y no vecinos no marcados que ya tengan
costo asociado.
8) Obtener el vértice de costo mínimo asociado y marcarlo
9) Volver al paso 2
Ejemplo:
Nodo fuente
Nodo destino

1) Seleccionar el nodo fuente y el nodo destino: NF es 1 y el ND es 6


2) Ingresar al software TORA
3) Pulsar opción de network models y posteriormente en shortest route.

4) Ingresar el número de nodos y completar la matriz


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.

# de nodos

5) Se da solución en la matriz ejecutando los siguientes pasos:


● Solve menu
● Solve problem
● Iterations
● Dijkstra´s algorithm

6) En la iteración final de TORA aparece la ruta más corta entre el NF y los demás
nodos, para el caso concreto del ND (6) se debe recorrer una distancia de 6.
ALGORITMO DE FLOYD
Formulación del problema de la ruta más corta en programación lineal
Se pueden describir dos formulaciones de programación lineal para el problema de la ruta
más corta. Las formulaciones son generales, en el sentido que se pueden usar para determinar
la ruta más corta entre dos nodos cualquiera de la red. A este respecto, las formulaciones de
programa lineal son equivalentes al algoritmo de Floyd.
Suponiendo que la red de ruta más corta tiene n nodos, y que se desea determinar la ruta más
corta entre dos nodos cualesquiera s y t de la red.
Formulación 1: En esta formulación 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 más corta.
Se definen
xij = cantidad de flujo en el arco (i, j) para toda i y j factibles
cij = longitud del arco (i, j) para toda i y j factibles
Como sólo puede haber una unidad de flujo en algún arco en cualquier momento, la variable
xij debe asumir solamente valores binarios (0 o 1). Así, la función objetivo del programa
lineal se vuelve:

Hay una restricción que representa la conservación de flujo en cada nodo; esto es, en
cualquier nodo j,
Flujo total que entra = Flujo total que sale
Formulación 2: La segunda formulación es en realidad el problema dual del programa
lineal en la formulación 1. Como la cantidad de restricciones en la formulación 1 es igual a
la cantidad de nodos, el problema dual tendrá tantas variables como cantidad de nodos haya
en la red. También, las variables duales no deben estar restringidas, porque todas las
restricciones de la formulación 1 son ecuaciones
Sea
yj =la restricción dual asociada al nodo j
Como s y t son los nodos inicial y terminal de la red, el problema dual se define como sigue:

Maximizar z =yt-ys
Sujeta yj-yi <= cij para toda i y j factibles
signo no restringido para toda yi y yj

EJEMPLO

Suponer que se desea determinar la ruta más corta del nodo 1 al nodo 2; esto es, s =1 y t = 2

La lista del programa lineal asociado, usando la formulación 1, se ve a continuación:

Las restricciones representan la conservación de flujo en cada nodo. Por ejemplo, en el nodo 2
“flujo que entra=flujo que sale” es x12+ x42 =1 x23. Nótese que una de las restricciones siempre es
redundante. Por ejemplo, si se suman las últimas cuatro restricciones en forma simultánea se
obtiene x12 +x13 =1, que es igual que la restricción 1. La solución óptima (obtenida con TORA)2 es :
Esta solución expresa la ruta más corta del nodo 1 al nodo 2 como 1→3→4→2, y la distancia
asociada es z =55 (millas).

Para aplicar la formulación 2, el problema dual asociado con el programa lineal anterior es:

Aunque el problema dual anterior es una definición matemática pura derivada del problema primal,
en realidad se puede interpretar el problema en una forma lógica. Se define yi =Distancia al nodo i

Con esta definición, la distancia más corta del nodo inicial 1 al nodo terminal 2 se determina
maximizando y2 y1. La restricción 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 más corta. Por ejemplo, la distancia
máxima del nodo 1 al nodo 2 es 100. Con la definición de yi como distancia al nodo i, se puede
suponer que todas las variables son no negativas (en lugar de no tener restricción). También se
puede suponer que y1 0 es la distancia al nodo 1. Con base en la explicación anterior, y suponiendo
que todas las variables son no negativas, la solución óptima es:

El valor de z = 55 expresa la distancia más corta del nodo 1 al nodo 2, que también es igual a y2 -y1
= 55- 0 =55.

La determinación de la ruta misma, a partir de esta solución, es algo ingenioso. Se ve que la solución
satisface en forma de ecuación a las restricciones de las rutas 1-3, 3-4 y 4-2, porque sus holguras
son igual a cero; esto es, y3- y1 =30, y4- y3 = 10 y y2 -y4 =15. Este resultado identifica que la ruta
más corta es la 1→3→4→2 .
Otra forma de identificar las restricciones que se satisfacen en forma de ecuación es consultar la
solución del programa lineal de la formulación 2. Toda restricción que tenga un valor dual distinto
de cero debe estar satisfecha en forma de ecuación (véase la sección 4.2.4). La tabla siguiente
aparea las rutas (restricciones) con sus valores duales asociados.
EJERCICIOS PARA TRABAJO AUTONOMO
1. Seis niños, Joe, Kay, Jim, Bob, Rae y Kim, juegan una variedad del juego de
escondidas. El lugar de escondite de un niño sólo lo conocen ciertos niños de los
demás. Un niño se junta con 234 Capítulo 6 Modelos de redes otro para tratar de
encontrar su escondite. Esto se hace a través de una cadena de otros niños, que al final
llevan a descubrir dónde está escondido el niño designado. Por ejemplo, suponga que
Joe debe encontrar a Kim, y que Joe sabe dónde se esconde Jim, que a su vez sabe
dónde está Kim. Así, Joe puede encontrar a Kim encontrando primero a Jim, quien a
su vez guía a Joe hacia Kim. La siguiente lista muestra las8 relaciones entre los niños:
● Joe sabe los escondites de Bob y de Kim.
● Kay sabe los escondites de Bob, Jim y Rae.
● Jim y Bob sólo saben el escondite de Kay.
● Rae sabe dónde se esconde Kim.
● Kim sabe dónde se esconden Joe y Bob.

Desarrolle un plan para que cada niño encuentre a todos los demás con la cantidad mínima
de contactos. ¿Cuál es la cantidad máxima de contactos?

2. Un tostador eléctrico antiguo tiene dos puertas con resortes en las bisagras, en la base.
Las dos puertas se abren hacia fuera en direcciones opuestas, alejándose del elemento
calentador. Se tuesta una rebanada de pan por un lado cada vez, oprimiendo una de
las puertas con una mano, para abrirla, y colocando la rebanada con la otra mano.
Después de tostar un lado, la rebanada se voltea para tostarla por el otro lado. Se desea
determinar la secuencia de operaciones (colocación, tostado, volteo y retirado)
necesaria para tostar tres rebanadas de pan en el mínimo tiempo posible. Formule el
problema como modelo de ruta más corta con los siguientes tiempos elementales para
las diversas operaciones:

También podría gustarte