Introducción:Los objetivos de Desarrollo Sostenible
Sandoya fernando métodos exactos y heurísticos para el vrp jornadas
1. “Métodos Exactos y Heurísticos para resolver
el Problema del Agente Viajero (TSP)
y el Problema de Ruteo de Vehículos (VRP) ”
Fernando Sandoya Sánchez
ESCUELA SUPERIOR POLITECNICA DEL LITORAL
Guayaquil, Ecuador
Octubre 2007
1
2. Indice
Introducción
Redes fisicas y grafos
El T.S.P.
El problema de ruteo de vehículos.
Clases de problemas VRP.
Métodos heurísticos para el VRP.
Heurística de Clarke Wright
2
3. Introducción
La distribución de bienes
El problema de distribuir productos desde ciertos depósitos a
sus usuarios finales juega un papel central en la gestión de
sistemas logísticos y su adecuada planificación puede
significar considerables ahorros. Esos potenciales ahorros
justifican en gran medida la utilización de técnicas de
Investigación Operativa como facilitadoras de la planificación,
dado que se estima que el inadecuado manejo de la logística y
el transporte incide en el 40% y hasta el 80% del costo final de
los bienes (Foro intenacional Logística y facilitación del
Comercio y el transporte, Quito: Octubre 2007)
3
4. Introducción
La distribución de bienes
La efectiva administración de la distribución presenta una
variedad de problemas de toma de decisiones a los tres niveles de
decisión (estratégico, táctico y operativo).
-Decisiones relativas a la localización de instalaciones (plantas,
almacenes o depósitos) son estratégicas,
-Los problemas de determinar el tamaño de la flota y su
composición, son identificadas como tácticas.
-Finalmente, las decisiones operativas incluyen las relativas a la
definición de las rutas y la programación de los vehículos.
4
5. Introducción
Pero el interés que reviste el área no es puramente práctico.
Los Problemas de Ruteo de Vehículos son Problemas de
Optimización Combinatoria y pertenecen, en su mayoría, a la
clase NP-Hard. La motivación académica 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)
5
6. Introducción
En ese sentido, las últimas cuatro décadas han visto un enorme
esfuerzo por resolver estos problemas.
•En 1959, Dantzig realizó por primera vez una formulación
del problema para una aplicación de distribución de
combustible.
•Luego, Clarke y Wright propusieron el primer algoritmo que
resultó efectivo para su resolución: el popular Algoritmo de
Ahorros.
Por último metaheurísticas: Recocido Simulado, Genéticos,
Búsqueda tabú, Genéticos, Colonia de hormigas 6
7. Introducción
Estos modelos y algoritmos deben su éxito, en buena parte, a
la evolución de los sistemas informáticos. El crecimiento en el
poder de cómputo y la baja en sus costos, ha permitido
disminuir los tiempos de ejecución de los algoritmos.
Por otro lado, el desarrollo de los Sistemas de Información
Geográfica resulta fundamental para lograr una adecuada
interacción de los modelos y algoritmos con los encargados de
realizar la planificación.
7
8. REDES FISICAS Y GRAFOS
REALIDAD:
Red física,
Clientes, depósitos
Vías de
comunicación:
carreteras,
etc.
8
9. REDES FISICAS Y GRAFOS
ABSTRACCION:
j
Red matemática: Grafo
Cij pesado (orientado)
i Nodos: Depósito y
Clientes
Arcos (Aristas)
El peso asignado a cada arco cij = distancia más corta entre
los nodos i, j en la red física (Dijkstra)
Ver: floyd-Warshal.nb
9
10. El T.S.P.
Un problema que es base de gran parte de los problemas de
distribución física de bienes es el problema del agente viajero
(TSP por sus siglas en inglés).
El TSP se describe como sigue: un agente viajero desea
programar visitas a sus clientes, por lo que desea viajar lo
mínimo 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.
10
11. El T.S.P.
•El T.S.P. sería equivalente a encontrar el ciclo Hamiltoniano de
costo mínimo: Partiendo de un depósito se debe recorrer todos los
vértices y regresar al depósito con la menor distancia total
recorrida.
11
12. El T.S.P.
Formulación en PROGRAMACION ENTERA del TSP:
Datos:
n: Número de ciudades a visitar
cij: distancia (costo) de la ciudad i a la ciudad j
n n
Min z = ∑∑ cij xij
i =1 j =1
⎧1 si el arco (i, j ) está en el TOUR
n
xij = ⎨ s.t. ∑x ij = 1; i = 1, 2,..., n
⎩0 si no j =1
n
∑x
i =1
ij = 1; j = 1, 2,..., n
xij ∈ {0,1}
Pueden generarse subtours, no es
n
la formulación para el TSP
∑
i∈S , j∈S
xij ≤ S − 1; ∀S ⊂ V , S > 1
Restricción de eliminación de
subtoures 12
13. El T.S.P.
Formulación en PROGRAMACION ENTERA del TSP:
PROBLEMA: Complejidad NP de este problema, fenómeno de
explosión combinatoria
Muy difícil aplicar técnicas exactas para encontrar la solución
óptima, en su lugar se han desarrollado heurísticas para
determinar “buenas soluciones”
13
14. El T.S.P.
Complejidad NP de este problema, fenómeno de explosión combinatoria:
Por ejemplo, por exploración exhaustiva del conjunto de soluciones:
Cada solución (Un Tour o ciclo hamiltoniano) es una permutación del conjunto
de vértices V={1, 2, …, n}
En total se tendrían n! soluciones factibles posibles
Con n = 20 ciudades por visitar se requiere evaluar 20! Posibles tours,
imposible de realizar en un tiempo razonable.
n Tiempo
5 1.2 ×10-6 segundos
10 0.036288 segundos
15 3.63243 horas
18 741.015 días
20 771.468 años Ver: TSP exhaustivo.nb
14
15. El T.S.P.
HEURÍSTICAS PARA RESOLVER EL TSP
Las más sencillas están basadas en el sentido común, las
principales son las heurísticas glotonas:
- Heurística del vecino más cercano
- Intercambio de aristas Or-opt
Heurística del vecino más cercano: Se va construyendo el
tour secuencialmente, a partir del depósito, eligiendo en
cada paso como el nodo siguiente al nodo más cercano al
nodo actual.
15
16. El T.S.P.
Heurística del vecino más cercano:
Paso 1. Seleccionar un nodo inicial
Paso 2. Identificar al nodo más 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 solución del TSP aplicando
este algoritmo es a lo más ┌½(log2 n) ┐+1/2
16
22. El T.S.P. 11 50
33
4538
32
17 912 23
13 37 29
21
30 31
8
1
41
4
34 0 40 22
16
2
28
6
42 49
14
24
5 46 47 48
2620 343
39 27
35 36 15
10 7 18
25
44
19
H∗−−−− HEURISTICA DEL VECINO MAS CERCANO−−−−−−∗L
22
COSTO TOTAL DEL RUTEO POR EL VECINO MAS CERCANO = 675.736
23. El T.S.P.
HEURÍSTICAS DE INTERCAMBIO DE ARISTAS
La efectividad de esta heurística está determinada por
que permite disminuir la formación de “cruces” entre
aristas en el tour.
Heurística 2-opt: Una ruta es mejorada borrando dos
arcos, dando la “vuelta” a uno de los caminos
resultantes y luego reconectándolos hasta que no
pueda obtenerse ninguna mejora adicional.
Heurística 3-opt: similar a 2-opt pero con 3 aristas
23
24. El T.S.P.
EJEMPLO DE LA APLICACIÓN DE 2-OPT
1
9 8 7
6
5
10 2 3 4
11
RUTA Original: RUTA 2-opt:
( 1 2 3 4 5 6 7 8 9 10 11 1) (1 9 8 7 6 5 4 3 2 10 11 1)
F. O.: 135.63 F. O.: 118.203
24
25. El T.S.P.
EJEMPLO DE LA APLICACIÓN 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 aplicación de las heurísticas del vecino más 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.
Ver: TSPecuador.nb
25
26. El Problema de ruteo de vehículos
El VRP (Vehicle Routing Problem) es el m-TSP en el
cual se ha asociado una demanda a cada ciudad, y cada
vehículo tiene una cierta capacidad, y donde m
generalmente es desconocido y se determina como una
solución del problema.
26
27. El Problema de ruteo de vehículos
El Problema de Rutas de Vehículos o VRP puede ser descrito de
la forma siguiente: Considérese un conjunto de puntos {2, 3, ...,
n} en los que hay que entregar unas determinadas cantidades de
mercancía q(i), i = 2, ..., n, desde un origen “1”.
Para cumplir estos requerimientos se dispone de una flota de
vehículos de capacidad Q.
Se ha de diseñar un conjunto de rutas, de distancia total mínima,
de forma que cada ruta comience y finalice en el punto “1”; la
carga que en cada momento ha de llevar cada vehículo no debe
de superar su capacidad;
Cada punto i, i = 2, ..., n, ha de ser visitado exactamente una
vez.
27
28. El Problema de ruteo de vehículos
Figura 1: Solución para el VRP (4 rutas). representa un depósito
28
29. El Problema de ruteo de vehículos
Existen muchos algoritmos de solución para el VRP.
En los últimos años han tomado importancia el desarrollo de
algoritmos basados en procesos denominados Metaheurísticos:
-Recocido Simulado
-Genéticos
-Búsqueda tabú
-Meméticos
-Colonia de hormigas
Gendreu y otros (1.991), Osman, (1.993), Campos y Mota (1.995),
Kantoravdis (1.995), Laguna (2000)
29
30. Clases de problemas VRP
Entrega o recolección pura.
El anterior pero con backhauling (primero entrega los
productos y después efectúa la recolección).
Combinación de recolección y entrega.
Uno o varios depósitos
Carga partida (varios vehículos 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 estocásticos
El conjunto de clientes no es conocido con certeza. (Cada
cliente tiene una probabilidad pi de estar presente.
30
31. Clases de problemas VRP
Flota homogénea (un solo tipo de vehículo)
Flota heterogénea (múltiples tipos de vehículos)
Clientes con prioridad.
Se permite la satisfacción parcial de la demanda.
Ubicación de la demanda (en los nodos, en los arcos, mixtas)
Etc.
Combinaciones de ellos, por ejemplo: El Problema de Ruteo
de Vehículos con Ventanas de tiempo y con Carga y Descarga
Simultánea con flota heterogénea
31
32. Clases de problemas VRP
Por ejemplo el VRP con ventanas de tiempo (VRPTW)
sería:
Si al VRP agregamos una ventana de tiempo para cada
cliente, durante la cual el cliente debe ser servido por un
vehículo, se tiene el Problema de Ruteo de Vehículos con
Ventanas de Tiempo (VRPTW). Además de las
restricciones de capacidad, ahora un vehículo tiene que
visitar a un cliente dentro de cierto intervalo de tiempo.
El vehículo puede llegar antes del inicio de la ventana de
tiempo del cliente, y en ese caso deberá esperar para
realizar su servicio, pero ningún cliente puede ser servido
luego del fin de su ventana de tiempo.
32
33. Clases de problemas VRP
El Problema de los m Agentes Viajeros (m-TSP), m
es fijado de antemano
33
37. MÉTODOS HEURÍSTICOS PARA EL VRP
El VRP y todas sus variante es un problema de
optimización combinatoria duro, y puede
resolverse con técnicas exactas, en un tiempo
prudencial, sólo en casos relativamente pequeños.
Puesto que los enfoques exactos son en general
inadecuados, en la práctica se usan comúnmente
las heurísticas.
37
38. MÉTODOS HEURÍSTICOS PARA EL VRP
(cont...)
Atributos de buenas heurísticas para el VRP
Precisión, Velocidad, Simplicidad, Flexibilidad
Heurísticas Clásicas: Clarke & Wright, Jaikumar, de
barrido
Meta-heurísticas: Genéticos, colonia de hormigas,
Simulated annealing, tabú, GRASP
38
39. HEURÍSTICA DE CLARKE WRIGHT
HEURÍSTICA DE CLARKE WRIGHT
Es La heurística clásica más significativas para el VRP.
Esta heurística es un procedimiento simple que realiza una
exploración limitada del espacio de búsqueda y da una
solución de calidad mas o menos aceptable en tiempo de
cálculo moderado.
Las soluciones luego pueden ser mejoradas con los
algoritmos de mejora del TSP (como 2-opt)
39
40. HEURÍSTICA DE CLARKE WRIGHT
Si en una solución 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 unión es:
sij= ci1+ c1j – cij
Pues en la nueva solución los arcos (i, 0) y (0, j) no serían
utilizados y se agregaría el arco (i, j). Se parte de una solución
inicial en la cual todos los clientes son servidos por un solo
vehículo
40
41. HEURÍSTICA DE CLARKE WRIGHT
Paso 1 (inicialización). Para cada cliente i construir la ruta (1, i,
1).
Paso 2 (cálculo de ahorros). Calcular sij para cada par de
clientes i y j.
Paso 3 (mejor unión). Sea si∗j∗ = max sij , donde el máximo se
toma entre los ahorros que no han sido considerados aún. Sean
ri∗ y rj∗ las rutas que contienen a los clientes i∗ y j∗
respectivamente. Si i∗ es el último cliente de ri∗ y j∗ es el
primer cliente de rj∗ y la combinación de ri∗ y rj∗ es factible,
combinarlas.
Paso 4 Eliminar si∗j∗ de futuras consideraciones. Si quedan
ahorros por examinar ir a 3, si no terminar.
41
42. HEURÍSTICA DE CLARKE WRIGHT
Se ha observado que utilizando la definición 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:
sij= ci1+ c1j – λcij
Donde λ es el parámetro de forma.
Ver: VRP_ClarkeWright distacia restringida.nb
42
44. HEURÍSTICA DE CLARKE WRIGHT
Por último, se puede efectuar un proceso de post-optimización de
cada ruta individual creada con Clarke Wright con los algoritmos de
TSP, por ejemplo con 2-OPT.
Solución inicial: 19794.74
Solución final: 1307.06
44
45. Conclusiones …
Este tipo de métodos y su implementación en la
computadora pueden servir de núcleo para la
generación de software de interés comercial
Se puede enriquecer el procedimiento planteado
haciendo modificaciones para bajar el tiempo de
computación, específicamente en la forma de
generación de la solución inicial, lo cual permitiría
efectuar más iteraciones del método 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
45
46. Conclusiones …
En el mercado existen algunos productos comerciales para
computadoras personales que construyen rutas, su costo es
muchas veces elevado. El número y capacidad de esos
productos cada vez es mayor conforme los nuevos equipos de
cómputo reducen su precio y aumentan de capacidad.
Algunos avances recientes en bases de datos geográficas
hacen que el diseño de rutas sea un área de aplicación de un
gran impacto real. Son sistemas de navegación y mapas
digitalizados. Un auto o camión utiliza un terminal instalado
en el vehículo para accesar un mapa. El usuario teclea la
localización de sus destinos y el monitor flashea las
localizaciones. Dispositivos electrónicos que usan GPS ubican
al vehículo a medida que se mueve, por lo que es muy simple
elegir una ruta.
Las bases de datos geográficas ubican la localización de calles
y carreteras por lo que es simple la selección de rutas más
46
cortas.