|
Ejemplo Simple Por Permutaciones
¿Cuál es la ruta óptima que pasa por cada
punto una vez?
José Enrique González
Cornejo
01 de mayo 2009
|
El artículo central del presente
ejemplo son:
i) Ruta Optima;
ii)
Simulación Por Tramos, iii)
Simulación Por Permutaciones.
El ejemplo está diseñado por partes, para facilitar
la posterior construcción del
algoritmo con N puntos. Se
ilustra sólo con 4 puntos, cómo determinar
la ruta óptima que pasa exactamente una vez
por cada punto y regresa al origen. Este ejemplo fue
desarrollado por el autor, debido a las numerosas
visitas e impresiones que ha tenido el artículo Ruta
Optima, desde su
publicación en mayo del 2009. |
- Parte I: Sin regresar al punto de partida u origen
Supongamos tenemos 4 clientes. Sea P={1,2,3,4} los puntos donde
se encuentra los clientes, cuya Matriz de Costo o Distancia,
d (i, j) asociada al grafo G, es simétrica.
|

Grafo Completo G |
| |
1 |
2 |
3 |
4 |
| 1 |
0 |
|
|
|
| 2 |
21 |
0 |
|
|
| 3 |
28 |
15 |
0 |
|
| 4 |
29 |
10 |
17 |
0 |
Matriz de Costo, d(i,j)
Nótese que la diagonal es 0, dado que d(i,j)=0 cuando i=j.
d(i,j) = d(j,i). Es decir, costo de ida igual al de vuelta
|
Los 6 posible caminos tabulados por extensión los denotamos con letras.
Sea T={A,B,C,D,E,F}
los trayectos que parten desde el punto 1:
| A = |
{1, |
2, |
3, |
4} |
| B = |
{1, |
2, |
4, |
3} |
| C = |
{1, |
3, |
2, |
4} |
| D = |
{1, |
3, |
4, |
2} |
| E = |
{1, |
4, |
3, |
2} |
| F = |
{1, |
4, |
2, |
3} |
Nótese que el número de trayectos es (n-1)! , sin retorno a 1
donde n es el número de puntos
Asociando el costo d(i,j) a cada trayecto se tiene los costos por trayecto de
T:
| |
|
|
|
 |
| cA = |
21 |
15 |
17 |
53 |
| cB = |
21 |
10 |
17 |
48 |
| cC = |
28 |
15 |
10 |
53 |
| cD = |
28 |
17 |
10 |
55 |
| cE = |
29 |
10 |
15 |
54 |
| cF = |
29 |
17 |
15 |
61 |
Es decir, d(1,2)=21; d(2,4)=10; d(4,3)=17 =>
d(i,j) =
48
Ahora se busca en la columna Total el costo mínimo, para recorrer los 4
puntos partiendo del punto 1. El camino B presenta el costo mínimo de 48 unidades.

Por tanto, el algoritmo selecciona un punto de
partida, - en nuestro caso el punto 1-, y va armando todas las
trayectorias que recorran todos los puntos. Suma los costos
d(i,j) de cada tramo y finalmente determina la suma mínima.
Si la ruta óptima incorpora el retorno al
punto de partida, entonces existe una variación el el cálculo, dado
que debemos sumar los costos d(1,j)
| |
|
|
|
r1 |
 |
| cA = |
21 |
15 |
17 |
29 |
82 |
| cB = |
21 |
10 |
17 |
28 |
59 |
| cC = |
28 |
15 |
10 |
29 |
57 |
| cD = |
28 |
17 |
10 |
21 |
49 |
| cE = |
29 |
10 |
15 |
21 |
50 |
| cF = |
29 |
17 |
15 |
28 |
57 |

Nótese que con retorno al punto de partida
el número de combinaciones es n!
En efecto, al incorporar el retorno al punto de
partida el camino óptimo es D con un costo de 49 unidades.
Es decir, d(1,3)=28; d(3,4)=17; d(4,2)=10;d(2,1)=21 =>
d(i,j)=49 |