Está en la página 1de 47

1

Mtodos Exactos y Heursticos para resolver


el Problema del Agente Viajero (TSP)
y el Problema de Ruteo de Vehculos (VRP)
Fernando Sandoya Snchez
ESCUELA SUPERIOR POLITECNICA DEL LITORAL
Guayaquil, Ecuador
Octubre 2007
2
Indice
Introduccin
Redes fisicas y grafos
El T.S.P.
El problema de ruteo de vehculos.
Clases de problemas VRP.
Mtodos heursticos para el VRP.
Heurstica de Clarke Wright
3
Introduccin
La distribucin de bienes
El problema de distribuir productos desde ciertos depsitos a
sus usuarios finales juega un papel central en la gestin de
sistemas logsticos y su adecuada planificacin puede
significar considerables ahorros. Esos potenciales ahorros
justifican en gran medida la utilizacin de tcnicas de
Investigacin Operativa como facilitadoras de la planificacin,
dado que se estima que el inadecuado manejo de la logstica y
el transporte incide en el 40% y hasta el 80% del costo final de
los bienes (Foro intenacional Logstica y facilitacin del
Comercio y el transporte, Quito: Octubre 2007)
4
La distribucin de bienes
La efectiva administracin de la distribucin presenta una
variedad de problemas de toma de decisiones a los tres niveles de
decisin (estratgico, tctico y operativo).
-Decisiones relativas a la localizacin de instalaciones (plantas,
almacenes o depsitos) son estratgicas,
-Los problemas de determinar el tamao de la flota y su
composicin, son identificadas como tcticas.
-Finalmente, las decisiones operativas incluyen las relativas a la
definicin de las rutas y la programacin de los vehculos.
Introduccin
5
Pero el inters que reviste el rea no es puramente prctico.
Los Problemas de Ruteo de Vehculos son Problemas de
Optimizacin Combinatoria y pertenecen, en su mayora, a la
clase NP-Hard. La motivacin acadmica por resolverlos
radica en que no es posible construir algoritmos que en tiempo
polinomial resuelvan cualquier instancia del problema (a no
ser que P = NP)
Introduccin
6
En ese sentido, las ltimas cuatro dcadas han visto un enorme
esfuerzo por resolver estos problemas.
En 1959, Dantzig realiz por primera vez una formulacin
del problema para una aplicacin de distribucin de
combustible.
Luego, Clarke y Wright propusieron el primer algoritmo que
result efectivo para su resolucin: el popular Algoritmo de
Ahorros.
Por ltimo metaheursticas: Recocido Simulado, Genticos,
Bsqueda tab, Genticos, Colonia de hormigas
Introduccin
7
Estos modelos y algoritmos deben su xito, en buena parte, a
la evolucin de los sistemas informticos. El crecimiento en el
poder de cmputo y la baja en sus costos, ha permitido
disminuir los tiempos de ejecucin de los algoritmos.
Por otro lado, el desarrollo de los Sistemas de Informacin
Geogrfica resulta fundamental para lograr una adecuada
interaccin de los modelos y algoritmos con los encargados de
realizar la planificacin.
Introduccin
8
REDES FISICAS Y GRAFOS
REALIDAD:
Red fsica,
Clientes, depsitos
Vas de
comunicacin:
carreteras,
etc.
9
ABSTRACCION:
Red matemtica: Grafo
pesado (orientado)
Nodos: Depsito y
Clientes
Arcos (Aristas)
El peso asignado a cada arco c
ij
= distancia ms corta entre
los nodos i, j en la red fsica (Dijkstra)
i
j
C
ij
REDES FISICAS Y GRAFOS
Ver: floyd-Warshal.nb
10
El T.S.P.
Un problema que es base de gran parte de los problemas de
distribucin fsica de bienes es el problema del agente viajero
(TSP por sus siglas en ingls).
El TSP se describe como sigue: un agente viajero desea
programar visitas a sus clientes, por lo que desea viajar lo
mnimo posible. As, se encuentra en el problema de determinar
una ruta que minimice la distancia total (o bien tiempo o costo)
necesaria para visitar todas las ciudades en su zona.
11
El T.S.P.
El T.S.P. sera equivalente a encontrar el ciclo Hamiltoniano de
costo mnimo: Partiendo de un depsito se debe recorrer todos los
vrtices y regresar al depsito con la menor distancia total
recorrida.
12
{ }
1 1
1
1

. . 1; 1, 2,...,
1; 1, 2,...,
0,1
n n
ij ij
i j
n
ij
j
n
ij
i
ij
Min z c x
s t x i n
x j n
x
= =
=
=
=
= =
= =

Formulacin en PROGRAMACION ENTERA del TSP:


Datos:
n: Nmero de ciudades a visitar
c
ij
: distancia (costo) de la ciudad i a la ciudad j
1 si el arco ( , ) est en el TOUR
0 si no
ij
i j
x

=

Pueden generarse subtours, no es


la formulacin para el TSP
,
1; , 1
n
ij
i S j S
x S S V S

>

Restriccin de eliminacin de
subtoures
El T.S.P.
13
Formulacin en PROGRAMACION ENTERA del TSP:
PROBLEMA: Complejidad NP de este problema, fenmeno de
explosin combinatoria
Muy difcil aplicar tcnicas exactas para encontrar la solucin
ptima, en su lugar se han desarrollado heursticas para
determinar buenas soluciones
El T.S.P.
14
Complejidad NP de este problema, fenmeno de explosin combinatoria:
Por ejemplo, por exploracin exhaustiva del conjunto de soluciones:
Cada solucin (Un Tour o ciclo hamiltoniano) es una permutacin del conjunto
de vrtices V={1, 2, , n}
En total se tendran n! soluciones factibles posibles
Con n = 20 ciudades por visitar se requiere evaluar 20! Posibles tours,
imposible de realizar en un tiempo razonable.
771.468 aos 20
741.015 das 18
3.63243 horas 15
0.036288 segundos 10
1.2 10
-6
segundos 5
Tiempo n
El T.S.P.
Ver: TSP exhaustivo.nb
15
HEURSTICAS PARA RESOLVER EL TSP
Las ms sencillas estn basadas en el sentido comn, las
principales son las heursticas glotonas:
- Heurstica del vecino ms cercano
- Intercambio de aristas Or-opt
Heurstica del vecino ms cercano: Se va construyendo el
tour secuencialmente, a partir del depsito, eligiendo en
cada paso como el nodo siguiente al nodo ms cercano al
nodo actual.
El T.S.P.
16
Heurstica del vecino ms cercano:
Paso 1. Seleccionar un nodo inicial
Paso 2. Identificar al nodo ms cercano al ltimo agregado,
siempre que no haya sido agregado.
Paso 3. Repetir el paso 2 hasta incluir todos los nodos
La cota superior garantiza que la solucin del TSP aplicando
este algoritmo es a lo ms (log
2
n) +1/2
El T.S.P.
17
Problema del Agente Viajero (Traveling Salesman Problem TSP): Ejemplo
dat os 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
0 0 15 18 22 25 21 11 21 26 32 25 34 15 11 32 30 29 30 16 32 32 18 27 36 30 34
1 15 0 33 15 32 32 25 21 32 18 16 26 17 26 47 45 42 41 23 28 16 29 39 46 28 38
2 18 33 0 34 20 24 16 36 36 47 43 50 23 9 21 13 25 33 27 47 49 10 12 23 35 30
3 22 15 34 0 25 43 34 35 45 15 29 40 11 32 53 47 51 52 35 43 22 27 36 40 14 27
4 25 32 20 25 0 41 32 46 51 40 47 57 16 25 41 29 45 51 40 57 46 10 14 15 18 10
5 21 32 24 43 41 0 10 21 14 50 34 35 35 16 20 29 11 10 11 30 46 32 36 47 50 51
6 11 25 16 34 32 10 0 21 20 42 30 35 25 7 22 25 18 20 11 32 40 22 28 39 40 41
7 21 21 36 35 46 21 21 0 12 36 14 15 34 27 40 46 32 25 10 11 29 39 47 57 47 54
8 26 32 36 45 51 14 20 12 0 48 26 24 41 27 33 43 23 14 10 18 41 42 48 59 56 60
9 32 18 47 15 40 50 42 36 48 0 25 35 25 43 64 60 60 58 40 40 11 41 51 55 27 41
10 25 16 43 29 47 34 30 14 26 25 0 11 32 35 52 55 45 39 22 15 16 43 52 60 43 53
11 34 26 50 40 57 35 35 15 24 35 11 0 42 41 55 61 46 38 25 7 25 51 60 69 54 64
12 15 17 23 11 16 35 25 34 41 25 32 42 0 22 43 36 43 45 30 43 30 16 25 30 15 21
13 11 26 9 32 25 16 7 27 27 43 35 41 22 0 21 20 21 25 18 38 43 16 21 32 36 35
14 32 47 21 53 41 20 22 40 33 64 52 55 43 21 0 16 11 22 30 50 63 32 30 40 56 51
15 30 45 13 47 29 29 25 46 43 60 55 61 36 20 16 0 25 35 36 57 62 21 16 25 46 38
16 29 42 25 51 45 11 18 32 23 60 45 46 43 21 11 25 0 11 22 40 57 35 36 47 57 55
17 30 41 33 52 51 10 20 25 14 58 39 38 45 25 22 35 11 0 18 32 53 41 45 56 60 61
18 16 23 27 35 40 11 11 10 10 40 22 25 30 18 30 36 22 18 0 21 35 32 39 49 45 49
19 32 28 47 43 57 30 32 11 18 40 15 7 43 38 50 57 40 32 21 0 30 50 58 68 56 64
20 32 16 49 22 46 46 40 29 41 11 16 25 30 43 63 62 57 53 35 30 0 45 55 61 36 49
21 18 29 10 27 10 32 22 39 42 41 43 51 16 16 32 21 35 41 32 50 45 0 10 18 25 20
22 27 39 12 36 14 36 28 47 48 51 52 60 25 21 30 16 36 45 39 58 55 10 0 11 32 22
23 36 46 23 40 15 47 39 57 59 55 60 69 30 32 40 25 47 56 49 68 61 18 11 0 32 18
24 30 28 35 14 18 50 40 47 56 27 43 54 15 36 56 46 57 60 45 56 36 25 32 32 0 15
25 34 38 30 27 10 51 41 54 60 41 53 64 21 35 51 38 55 61 49 64 49 20 22 18 15 0
TABLA DE DISTANCIAS C
ij
El T.S.P.
18
Problema del Agente Viajero (Traveling Salesman Problem TSP): Ejemplo
0
1
2
3
4
5 6
7
8
9 10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Ubicacin de los clientes a visitar
El T.S.P.
19
Problema del Agente Viajero (Traveling Salesman Problem TSP): Ejemplo
0
1
2
3
4
5 6
7
8
9 10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Solucin por la heurstica del vecino mas cercano: costo total = 369.7
TOUR obtenido:
0, 6, 13, 2, 21, 4, 25, 24, 3, 12, 1, 10, 11, 19, 7, 18, 8, 5, 17, 16, 14, 15, 22, 23, 9, 20, 0
El T.S.P.
20
Problema del Agente Viajero (Traveling Salesman Problem TSP): Ejemplo
0
1
2
3
4
5 6
7
8
9 10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Solucin obtenida con una
metaheurstica: costo total = 316.9
El T.S.P.
21
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
El T.S.P. Otro ejemplo
22
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
COSTO TOTAL DEL RUTEO POR EL VECI NO MAS CERCANO = 675. 736
HHEURISTICA DEL VECINO MAS CERCANOL
El T.S.P.
23
HEURSTICAS DE INTERCAMBIO DE ARISTAS
La efectividad de esta heurstica est determinada por
que permite disminuir la formacin de cruces entre
aristas en el tour.
Heurstica 2-opt: Una ruta es mejorada borrando dos
arcos, dando la vuelta a uno de los caminos
resultantes y luego reconectndolos hasta que no
pueda obtenerse ninguna mejora adicional.
Heurstica 3-opt: similar a 2-opt pero con 3 aristas
El T.S.P.
24
EJEMPLO DE LA APLICACIN DE 2-OPT
RUTA 2-opt:
(1 9 8 7 6 5 4 3 2 10 11 1)
F. O.: 118.203
RUTA Original:
( 1 2 3 4 5 6 7 8 9 10 11 1)
F. O.: 135.63
1
2 3 4
5
6
7 8 9
10
11
El T.S.P.
25
EJEMPLO DE LA APLICACIN DE LA HEURISTICA DEL
VECINO MAS CERCANO E INTERCAMBIOS 2-OPT:
Recorriendo ptimamente el Ecuador:
En el notebook de MATHEMATICA: TSPecuador.nb, se
visualiza la aplicacin de las heursticas del vecino ms cercano y
de intercambio de aristas 2-opt al caso ecuatoriano (33 ciudades),
las distancias vienen dadas en km., tomadas de las distancias en
carretera.
El T.S.P.
Ver: TSPecuador.nb
26
El Problema de ruteo de vehculos
El VRP (Vehicle Routing Problem) es el m-TSP en el
cual se ha asociado una demanda a cada ciudad, y cada
vehculo tiene una cierta capacidad, y donde m
generalmente es desconocido y se determina como una
solucin del problema.
27
El Problema de ruteo de vehculos
El Problema de Rutas de Vehculos o VRP puede ser descrito de
la forma siguiente: Considrese un conjunto de puntos {2, 3, ...,
n} en los que hay que entregar unas determinadas cantidades de
mercanca q(i), i = 2, ..., n, desde un origen 1.
Para cumplir estos requerimientos se dispone de una flota de
vehculos de capacidad Q.
Se ha de disear un conjunto de rutas, de distancia total mnima,
de forma que cada ruta comience y finalice en el punto 1; la
carga que en cada momento ha de llevar cada vehculo no debe
de superar su capacidad;
Cada punto i, i = 2, ..., n, ha de ser visitado exactamente una
vez.
28
El Problema de ruteo de vehculos
Figura 1: Solucin para el VRP (4 rutas). representa un depsito
29
El Problema de ruteo de vehculos
Existen muchos algoritmos de solucin para el VRP.
En los ltimos aos han tomado importancia el desarrollo de
algoritmos basados en procesos denominados Metaheursticos:
-Recocido Simulado
-Genticos
-Bsqueda tab
-Memticos
-Colonia de hormigas
Gendreu y otros (1.991), Osman, (1.993), Campos y Mota (1.995),
Kantoravdis (1.995), Laguna (2000)
30
Clases de problemas VRP
Entrega o recoleccin pura.
El anterior pero con backhauling (primero entrega los
productos y despus efecta la recoleccin).
Combinacin de recoleccin y entrega.
Uno o varios depsitos
Carga partida (varios vehculos pueden atender a un cliente)
Con ventanas de tiempo (duras o suaves)
Los clientes son fijos con demanda conocida
La demanda de clientes es aleatoria
Los tiempos de viaje son estocsticos
El conjunto de clientes no es conocido con certeza. (Cada
cliente tiene una probabilidad p
i
de estar presente.
31
Clases de problemas VRP
Flota homognea (un solo tipo de vehculo)
Flota heterognea (mltiples tipos de vehculos)
Clientes con prioridad.
Se permite la satisfaccin parcial de la demanda.
Ubicacin de la demanda (en los nodos, en los arcos, mixtas)
Etc.
Combinaciones de ellos, por ejemplo: El Problema de Ruteo
de Vehculos con Ventanas de tiempo y con Carga y Descarga
Simultnea con flota heterognea
32
Por ejemplo el VRP con ventanas de tiempo (VRPTW)
sera:
Si al VRP agregamos una ventana de tiempo para cada
cliente, durante la cual el cliente debe ser servido por un
vehculo, se tiene el Problema de Ruteo de Vehculos con
Ventanas de Tiempo (VRPTW). Adems de las
restricciones de capacidad, ahora un vehculo tiene que
visitar a un cliente dentro de cierto intervalo de tiempo.
El vehculo puede llegar antes del inicio de la ventana de
tiempo del cliente, y en ese caso deber esperar para
realizar su servicio, pero ningn cliente puede ser servido
luego del fin de su ventana de tiempo.
Clases de problemas VRP
33
Clases de problemas VRP
El Problema de los m Agentes Viajeros (m-TSP), m
es fijado de antemano
34
Clases de problemas VRP
El VRP capacitado (o simplemente VRP)
35
Clases de problemas VRP
El VRP con flota heterognea
36
Clases de problemas VRP
El VRPTW
37
El VRP y todas sus variante es un problema de
optimizacin combinatoria duro, y puede
resolverse con tcnicas exactas, en un tiempo
prudencial, slo en casos relativamente pequeos.
Puesto que los enfoques exactos son en general
inadecuados, en la prctica se usan comnmente
las heursticas.
MTODOS HEURSTICOS PARA EL VRP
38
MTODOS HEURSTICOS PARA EL VRP
(cont...)
Atributos de buenas heursticas para el VRP
Precisin, Velocidad, Simplicidad, Flexibilidad
Heursticas Clsicas: Clarke & Wright, Jaikumar, de
barrido
Meta-heursticas: Genticos, colonia de hormigas,
Simulated annealing, tab, GRASP
39
HEURSTICA DE CLARKE WRIGHT
Es La heurstica clsica ms significativas para el VRP.
Esta heurstica es un procedimiento simple que realiza una
exploracin limitada del espacio de bsqueda y da una
solucin de calidad mas o menos aceptable en tiempo de
clculo moderado.
Las soluciones luego pueden ser mejoradas con los
algoritmos de mejora del TSP (como 2-opt)
HEURSTICA DE CLARKE WRIGHT
40
HEURSTICA DE CLARKE WRIGHT
Si en una solucin dos rutas diferentes (1, . . . , i, 1) y (1, j, . . .
,1) pueden ser combinadas formando una nueva ruta (1, . . . , i,
j, . . . , 1) como se muestra en la Figura, el ahorro (en distancia)
obtenido por dicha unin es:
s
ij
= c
i1
+ c
1j
c
ij
Pues en la nueva solucin los arcos (i, 0) y (0, j) no seran
utilizados y se agregara el arco (i, j). Se parte de una solucin
inicial en la cual todos los clientes son servidos por un solo
vehculo
41
HEURSTICA DE CLARKE WRIGHT
Paso 1 (inicializacin). Para cada cliente i construir la ruta (1, i,
1).
Paso 2 (clculo de ahorros). Calcular s
ij
para cada par de
clientes i y j.
Paso 3 (mejor unin). Sea s
ij
= max s
ij
, donde el mximo se
toma entre los ahorros que no han sido considerados an. Sean
r
i
y r
j
las rutas que contienen a los clientes i

y j

respectivamente. Si i

es el ltimo cliente de r
i
y j

es el
primer cliente de r
j
y la combinacin de r
i
y r
j
es factible,
combinarlas.
Paso 4 Eliminar s
ij
de futuras consideraciones. Si quedan
ahorros por examinar ir a 3, si no terminar.
42
HEURSTICA DE CLARKE WRIGHT
Se ha observado que utilizando la definicin original de ahorro
suele generarse algunas rutas circulares (ver Figura) lo cual
puede ser negativo. Para solucionar este problema algunos
autores proponen redefinir el ahorro como:
s
ij
= c
i1
+ c
1j
c
ij
Donde es el parmetro de forma.
Ver: VRP_ClarkeWright distacia restringida.nb
43
HEURSTICA DE CLARKE WRIGHT
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Ruteo inicial Ruteo generado por Clarke Wright
44
Solucin final: 1307.06
Solucin inicial: 19794.74
HEURSTICA DE CLARKE WRIGHT
Por ltimo, se puede efectuar un proceso de post-optimizacin de
cada ruta individual creada con Clarke Wright con los algoritmos de
TSP, por ejemplo con 2-OPT.
45
Conclusiones
Este tipo de mtodos y su implementacin en la
computadora pueden servir de ncleo para la
generacin de software de inters comercial
Se puede enriquecer el procedimiento planteado
haciendo modificaciones para bajar el tiempo de
computacin, especficamente en la forma de
generacin de la solucin inicial, lo cual permitira
efectuar ms iteraciones del mtodo tab.
El modelo no considera otras restricciones posibles
que pueden aparecer en aplicaciones reales, se puede
enriquecer el modelo considerando otro tipo de
restricciones o condiciones del problema
46
Conclusiones
En el mercado existen algunos productos comerciales para
computadoras personales que construyen rutas, su costo es
muchas veces elevado. El nmero y capacidad de esos
productos cada vez es mayor conforme los nuevos equipos de
cmputo reducen su precio y aumentan de capacidad.
Algunos avances recientes en bases de datos geogrficas
hacen que el diseo de rutas sea un rea de aplicacin de un
gran impacto real. Son sistemas de navegacin y mapas
digitalizados. Un auto o camin utiliza un terminal instalado
en el vehculo para accesar un mapa. El usuario teclea la
localizacin de sus destinos y el monitor flashea las
localizaciones. Dispositivos electrnicos que usan GPS ubican
al vehculo a medida que se mueve, por lo que es muy simple
elegir una ruta.
Las bases de datos geogrficas ubican la localizacin de calles
y carreteras por lo que es simple la seleccin de rutas ms
cortas.
GRACIAS

También podría gustarte