Professional Documents
Culture Documents
El problema de la ruta ms corta determina la ruta ms corta entre un punto de origen y un punto de destino
en una red de transporte.
ALGORITMO DE LA RUTA MS CORTA
Algoritmo de Dijkstra
Los clculos del algoritmo avanzan de un nodo i a un nodo inmediatamente siguiente j, utilizando un
procedimiento especial de clasificacin. Digamos que Ui es la distancia ms corta del nodo 1 del punto de
origen al nodo i y defina dij (>=0) como la longitud del arco (i, j). Entonces la clasificacin para el nodo j se
define como
Algoritmo de Floyd
Recordemos que el algoritmo de Dijkstra nos permite determinar la ruta mas corta desde un nodo hacia los
otros, ahora veremos que el algoritmo de Floyd determina la ruta mas corta entre cualquier par de puntos.
La Idea del algoritmo de Floyd es:
Dados tres nodos i,j,k con distancias de conexin en sus arcos, es mas corto llegar a k desde i a travs de j
si:
dij + djk < dik
En este caso es mas barato reemplazar la ruta i k con i j k, este cambio es llamado: la operacin triple y
es aplicado sistemticamente a toda la red siguiendo los siguientes pasos:
Paso 0:
Defina la matriz de distancia inicial D0 y la matriz de secuencia S0, las diagonales estn marcadas con -
para indicar que estn bloqueados, si no existe una conexin entre nodos, colocar
Matriz Distancias (D)
d12
d13
d14
d21
d23
d24
d31
d32
d34
d41
d42
d43
Paso general k
Defina el rengln k y la columna k como el rengln y la columna pivote. Aplique la operacin triple a cada
elemento dij en Dk-1 para todas las i y j. Si satisface la condicin:
dik + dkj < dij , (i k, j k, i j)
Realice los siguientes cambios:
Cree Dk reemplazando dij en Dk-1 con dik + dkj
Cree Sk reemplazando sij en Sk-1 con k. Determine k = k + 1 y repita el paso k hasta que k = numero de nodos
1.