Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DOCENTE:
AUTORES:
1
PRESENTACIÓN
En general las redes pueden ser muy complejas debido a la cantidad excesiva de
nodos, por tales razones en teoría de redes, los algoritmos pueden ser exactos, los
cuales se caracterizan por dar soluciones óptimas, los mismos que se caracterizan por
dar soluciones aproximadas a las óptimas. Cuando se trata de encontrar el camino
más corto entre un origen y un destino, la técnica, algoritmo o el modelo más común es
el de la ruta más corta. Uno de los problemas principales de las redes se refiere a la
minimización de las trayectorias, el problema del flujo máximo trata de maximizar el
flujo por unidades de tiempo entre el nodo de origen y el nodo de destino y el
problema del agente viajero es encontrar la forma de realizar una gira completa que
conecte todos los nodos visitando sólo una vez cada nodo y minimizar o maximizar la
distancia de la gira total.
2
INTRODUCCIÓN
El presente trabajo tiene como objetivo principal dar a conocer tres modelos de redes los
cuales son: La Ruta Más Corta (RMC), la Ruta de Flujo Máximo (RFM) y el
Agente Viajero (TSP*), son modelos importantes que nos permite determinar una
ubicación óptima, también nos permite resolver problemas sobre distancias, en la ruta
más corta se trata de busca una opción de minimizar la ruta desde el punto de partida a
al punto de llegada, el flujo máximo trata de buscar el máximo flujo de la del problema
en los tiempos o unidades y el Agente Viajero hace todo un recorrido pero sin repetir los
puntos para minimizar el costo.
3
CONTENIDO
CAPITULO I .................................................................................................................... 5
EL PROBLEMA DE LA RUTA MÁS CORTA .............................................................. 5
1.1. ALGORITMOS DE LA RUTA MÁS CORTA................................................. 6
1.2. ALGORITMOS DE FLOYD ........................................................................... 10
CAPITULO II ................................................................................................................. 13
EL PROBLEMA DEL FLUJO MÁXIMO ..................................................................... 13
2.1. FLUJO QUE SALE = FLUJO QUE ENTRA.................................................. 14
CAPITULO III ............................................................................................................... 19
PROBLEMA DEL AGENTE VIAJERO (TSP*) .......................................................... 19
3.1. APLICACIONES DE EJEMPLO DE TSP...................................................... 19
3.2. MÉTODOS DE SOLUCIÓN ........................................................................... 20
3.2.1. MÉTODO DE FUERZA BRUTA ............................................................ 20
3.2.2. MÉTODO DEL VECINO MÁS CERCANO .......................................... 21
3.2.3. MÉTODO DE BRANCH AND BOUND - WINQSB¡Error! Marcador
no definido.
CONCLUSIONES .......................................................................................................... 25
BIBLIOGRAFÍA ............................................................................................................ 26
4
CAPITULO I
La ruta más corta incluye un juego de nodos conectados donde sólo un nodo es
considerado como el origen y solo un nodo es considerado como el destino en una red
de transporte.
Una ruta es una sucesión de arcos distintos que une dos nodos pasando por otros nodos,
independientemente de la dirección de flujo en cada arco.
CONCEPTO:
APLICACIONES:
5
Se presenta dos algoritmos tanto para rutas cíclicas como también para rutas acíclicas
1. El algoritmo de Dijkstra para determinar las rutas más cortas entre nodo de
origen y los demás nodos en la red.
2. El algoritmo de Floyd para determinar la ruta más corta entre dos nodos
cualesquiera en la red.
Para resolver este tipo de problemas y determinar la ruta más corta desde el origen, el
algoritmo que se presenta utiliza un procedimiento de rotulación para encontrar
la distancia más reducida desde el nodo de origen hasta cada uno de los demás.
Conforme se ejecutan los pasos del procedimiento de rotulación se elabora un rótulo
o etiqueta para cada nodo, el consta de dos números encerrados entre corchetes.
El primer número del rotulo de un nodo especifico señala la distancia desde el nodo 1
hasta ese nodo en tanto que el segundo indica el nodo precedente sobre la ruta. Se
coloca la etiqueta para cada nodo directamente encima o abajo del nodo. Por ejemplo,
un rotulo para un nodo específico podría ser como se muestra en la figura siguiente:
0, - A
B
6
Para los nodos rotulados, se dice también que el nodo ha sido etiquetado en forma
permanente o en forma tentativa. Es decir, cuando el algoritmo ha permitido determinar
la distancia más corta desde el nodo 1 hasta el nodo específico, se dice que tal nodo ha
sido rotulado en forma permanente. Sin embargo, si no se ha determinado todavía la
distancia más corta desde el nodo 1 hasta el nodo específico con rotulo, se dice que el
nodo tiene una marcación tentativa.
Pasos a Seguir:
➢ Paso 1: Asignar al nodo 1 al rotulo [0, I]; la I indica el nodo inicial y el 0, que la
distancia del nodo 1 hacia sí mismo es cero.
➢ Paso 2: Determinar rótulos tentativos para los nodos a los que puede
llegarse en forma directa desde el nodo 1. El primer número de cada marcación
es la distancia directa entre el nodo 1 y el nodo en cuestión, a la cual se le llama
valor de distancia. El segundo es el valor del nodo precedente señala el nodo que
antecede la ruta.
➢ Paso 3: Identificar el nodo con la etiqueta tentativa que tenga al menor
valor de distancia, y considerarlo como rotulado permanente.
Ejemplo Propuesto:
Usted debe hacer un viaje en auto a otra ciudad ha visitado. Estudia un plano para
determinar la ruta más corta a su destino. Según la ruta que elija hay otras 5 ciudades
(llamadas A, B, C, D, E) por las que puede pasar en el camino. El plano, esta los km de
cada carretera que es una conexión directa entre dos ciudades sin que otra intervenga.
7
Estas cifras se resumen en la siguiente tabla donde un guion indica que no hay conexión
directa sin pasar por otras ciudades.
(10)
D
(60) B DESTINO
ORIGEN
(20) E
C
Solución:
[110, A]
(10)
D
(60) B DESTINO
ORIGEN
(20) E
C
8
En la interacción anterior se etiquetó permanentemente al nodo “B” entonces se
deberá etiquetar temporalmente los nodos a los que va dirigido en este caso serían
los nodos “D” y “E” sumando la distancia del nodo ya permanente más la distancia del
nuevo nodo temporal.
De entre los nodos etiquetados se debe elegir el nodo con la menor distancia en
este caso en el nodo “C” con una distancia de 60 km.
El nodo “C” se eligió como nodo permanente en ese sentido ahora debemos etiquetar
temporalmente en nodo “E” y después elegir el nodo de menor distancia como nodo
permanente en este caso será el nodo “E” que viene del nodo “C” con una distancia de
70 km.
Prosiguiendo se selecciona como etiqueta permanente el nodo “D” con una distancia de
105km.
Ahora el nodo que debemos etiquetar temporalmente será el nodo destino y de buscar
el nodo con la menor distancia sin etiquetas permanentes, en este caso etiquetaremos el
nodo destino con lo que nuestro ejemplo está terminado.
La ruta más corta entre origen y nuestro destino es pasando de nuestro origen a la
ciudad “C” y de la ciudad “C” pasar a la ciudad “E” para terminar pasando de la
ciudad “E” a nuestro destino con lo cual hacemos un recorrido de 150 km.
[40, Origen] A
[110, A]
[105, B] [150, E]
(10) [165, D]
D
(60) B DESTINO
ORIGEN
(20) E
C [90, B]
[60, Origen]
[70, C]
[50, A]
[50, Origen]
9
1.2. ALGORITMOS DE FLOYD
Este algoritmo es más general que el Dijkstra porque determina la distancia entre dos
nodos cualesquiera en la red.
Representa una red de n nodos como una matriz cuadrada con n filas y n columnas. La
entrada (i, j) de la matriz de la distancia dij del nodo i al nodo j, la cual es finita si i está
vinculado directamente a j, e infinita en caso contrario.
Pasos a Seguir:
Ejemplo:
10
2
1 (6) 5
Solución:
❖ Interacción: 0
D0 S0
1 2 3 4 5 1 2 3 4 5
1 - 3 10 1 - 2 3
2 3 - 5 2 1 - 4
3 10 - 6 15 3 1 - 4 5
4 5 6 - 4 4 2 3 - 5
5 4 - 5 4 -
❖ Interacción: 1
Establecer k =1. La fila y columna pivotes se muestran por primera fila y la primera
columna ligeramente sombreadas en color verde en la matriz D 0. Las celdas de color
naranja d23 y d32, son las únicas que la operación triple pude mejorar. Por lo tanto, D 1 y
S1 se obtienen desde D0 y S0 como sigue:
1. Reemplace d23 con d21 y d13=3+10]=13 y establezca S23=1.
2. Reemplace d32 con d31+ d12=10 +3=13 y establezca S32=1.
D1 S1
1 2 3 4 5 1 2 3 4 5
1 - 3 10 1 - 2 3
2 3 - 13 5 2 3 - 4
3 10 13 - 6 15 3 10 - 4 5
4 5 6 - 4 4 2 3 - 5
5 4 - 5 1 4 -
11
❖ Interacción 2:
D2 S2
1 2 3 4 5 1 2 3 4 5
1 - 3 10 1 - 2 3
2 3 - 2 1 -
3 10 - 6 15 3 1 - 4 15
4 5 6 - 4 4 2 3 - 4
5 4 - 5 4 -
❖ Interacción 3:
Establecer k=3, como se muestra por la fila y columna sombreadas en d 2. Las nuevas
matrices son D3 y S3.
D3 S3
1 2 3 4 5 1 2 3 4 5
1 - 3 10 1 - 2 3
2 3 - 2 1 -
3 10 - 6 15 3 1 - 4 5
4 5 6 - 4 4 2 3 - 4
5 4 - 5 4 -
❖ Interacción 4:
D4 S4
1 2 3 4 5 1 2 3 4 5
1 - 3 10 1 - 2 3
2 3 - 2 1 -
3 10 - 6 10 3 1 - 4 4
4 5 6 - 4 4 2 3 - 4
5 4 - 5 4 -
12
❖ Interacción 5:
CAPITULO II
Este modelo se utiliza para reducir los embotellamientos entre ciertos puntos de
partida y destino en una red. Existe un flujo que viaja desde un único lugar de origen
hacia un único lugar destino a través de los arcos que conectan nodos intermedios.
Cada arco tiene una capacidad que no puede ser excedido. La capacidad no
necesariamente debe ser la misma para cada dirección del arco.
El problema consiste en encontrar la máxima cantidad de flujo total que pueda circular
a través de la red en una unidad de tiempo y el único requerimiento en ellos es
que para cada nodo (que no sea la fuente o destino) la relación de equilibrio debe
cumplirse:
13
2.1. FLUJO QUE SALE = FLUJO QUE ENTRA
Ejemplo:
Una ciudad es atravesada por una red inter estatal de carreteras de norte a sur que
le permite alcanzar un nivel de 15,000 vehículos/hora en el horario “punta”. Debido a
un problema de mantenimiento general, el cual exige cerrar dichas vías, un grupo de
ingenieros ha propuesto una red de rutas alternas para cruzar la ciudad de norte a
sur, la cual incorpora avenidas importantes.
Preguntas:
1. ¿Puede la red propuesta dar cabida a un flujo máximo de 15,000 v/h de norte a
sur?
2. ¿Cuál es el flujo máximo de vehículos que permite la red cada hora?
3. ¿Qué flujo se debe canalizar sobre cada rama?
14
Pasos a Seguir:
C=capacidad
i,j= índices de los nodos
k= flujo mínimo del camino.
Formula Para identificar el flujo mínimo = Cij,ji=[c;-k,cj+k]
Solución:
➢ Paso 1: Identificamos el 1y3 como la capacidad más alta que sale del
origen. Por lo que elegimos los nodos 1-3-6-7 que se determina mediante
la rama.
La red modificada es la siguiente:
➢ Paso 2: Seguimos eligiendo el flujo mayor que sale del nodo 1 y elegimos
los nodos: 1-2-5-7
15
➢ Paso 3: Utilizando la misma lógica anterior: esta bes elegimos los nodos 1-4-6-7.
16
➢ Paso 5: elegimos los nodos 1-2-3-5-7.
17
El siguiente cuadro demuestra la cantidad de vehículos que se puede transportar en los
distintos nodos.
18
▪ El flujo total que se puede trasportar de norte a sur es la cantidad total de 14000
vehículos por hora en momentos de hora punta.
CAPITULO III
El problema del agente viajero (PAV) o bien Traveling Salesman Problem (TSP) como
se conoce a nivel mundial. Es un problema que se estudia en investigación de
operaciones y de manera muy especial en la optimización combinatoria.
El objetivo es encontrar un recorrido completo que conecte todos los nodos de una red,
visitándolos tan solo una vez y volviendo al punto de partida, y que además minimice la
distancia total de la ruta. Este tipo de problemas tiene gran aplicación en el ámbito de la
logística y distribución, así como en la programación de curvas de producción.
El problema del agente viajero tiene una variación importante, y esta depende de
que las distancias entre un nodo y otro sean simétricas o no, es decir, que la distancia
entre A y B sea igual a la distancia entre B y A, puesto que en la práctica es muy poco
probable que así sea. La cantidad de rutas posibles en una red está determinada por la
ecuación:
(n-1)!
Es decir que en una red de 5 nodos la cantidad de rutas probables es igual a (5-1)! = 24,
y a medida que el número de nodos aumente la cantidad de rutas posibles crece
factorialmente. En el caso de que el problema sea simétrico la cantidad de rutas
posibles se reduce a la mitad, es decir:
( (n-1)!) / 2
Lo cual significa un ahorro significativo en el tiempo de procesamiento de rutas de gran
tamaño.
Clásicamente, el problema de TSP tiene que ver con hallar el recorrido más corto
(cerrado) en una situación de n ciudades, donde cada ciudad visitada exactamente una
19
vez antes de regresar al punto de partida. El modelo TSP asociado se define por
medio de dos datos:
o El número de ciudades, n.
o Las distancias dij entre las ciudades i y j (dij 5 q si las ciudades i y j no están
comunicadas).
Ejemplo:
Un viajero tiene que visitar cada una de las cuatro ciudades y lo quiere hacer de
tal manera que visite una sola vez partiendo de la ciudad 1 y regresando al final
del recorrido, viajando el menor tiempo posible.
20
Posibles Rutas:
A - B - D - C - A = 9 + 15 + 4 + 7 = 35 km
A - B - C - D - A = 9 + 10 + 4 + 8 = 31 km
A - C - B - D - A = 7 + 10 + 15 + 8 = 40 km
Rutas Simétricas:
A - D - C - B - A = 8 + 4 + 10 + 9 = 31 km
A - C - D - B - A = 7 + 4 + 15 + 9 = 35 km
- D - B - C - A = 8 + 15 + 10 +7 = 40 km
Comienza con la elección de cualquier vértice como punto inicial; a partir del
vértice inicial se va hacia el vértice cuya arista tenga el menor peso posible, en
caso de existir más de uno, se escoge uno arbitrariamente; se sigue el proceso en
forma sucesiva hasta que todos los vértices hayan sido escogidos. Desde el
último vértice se regresa al punto inicial.
21
Ejemplo Propuesto:
Un viajero tiene que visitar cada una de las cuatro ciudades y lo quiere hacer de
tal manera que visite una sola vez partiendo de la ciudad 1 y regresando al final
del recorrido, viajando el menor tiempo posible.
En la siguiente iteración habrá que considerar los vecinos más cercanos al nodo
C (se excluye A por ser el nodo de origen):
22
nodo B con el nodo A, así entonces la ruta solución por medio del vecino más
próximo sería A, C, D, B, A = 7, 4, 15, 9 = 35 km.
Este es un caso en el que a pesar de tener una red compuesta por pocos nodos, el
método del vecino más cercano no proporciona la solución óptima, la cual
calculamos con el método de fuerza bruta como 31 km.
Ejemplo Práctico:
A
DE
C1 C2 C3 C4 C5 C6
C1 0 8 X 3 X 4
C2 8 0 1 5 9 X
C3 X 1 0 7 2 21
C4 3 5 7 0 X 3
C5 X 9 2 X 0 35
C6 4 X 21 3 35 0
C2
5 KM
1 KM
3 KM C4
C1
3 KM C3 2 KM
C5
C6
GRAFO:
23
SOLUCIONES POSIBLES:
SOLUCIÓN ÓPTIMA:
La solución óptima de este problema para recorrer todos los puntos sin pasar dos veces
por el mismo es de 33 km.
El Problema del Agente Viajero se utiliza más que todo para acortar las distancias que
hay entre ciudades, por lugares a los cuales se debe llegar por medio de
un transporte cualquiera, pero que este mismo viaje debe requerir la mínima cantidad
de dinero gastado posible.
24
CONCLUSIONES
25
BIBLIOGRAFÍA
26