View
222
Download
0
Category
Preview:
Citation preview
Sistema de optimización para el ruteo dinámico de vehículos con ventanas de tiempo
Eidelman, Adrián Pablo
Valdez Lerena, AlejandroDirectora: Dra. Irene Loiseau
Introducción
Descripción general del problema Encontrar la mejor forma de organizar una
flota de vehículos de reparto para poder entregar un conjunto de pedidos que van ingresando de manera dinámica
Motivación Reducir los costos asociados a la cantidad de
vehículos utilizados y sus recorridos Brindar una mejor atención a los clientes
Caso real: Sushi Furusato
Situación actual Una persona dedicada a armar los recorridos
que deben realizar los vehículos para cumplir con las entregas
Desventajas El nivel de optimización depende de la
persona que se está encargando de organizar los pedidos
No se realiza un análisis sistemático de los posibles recorridos sino que se recurre a la intuición
Elementos del problema
Área de distribución Una cuadricula representa una abstracción del
mapa de calles Pedidos
Cada pedido está asociado a un cliente, tiene un tamaño fijo y una banda horaria donde debe realizarse la entrega
El conjunto de pedidos no se conoce inicialmente sino que pueden ingresar en cualquier momento
Elementos del problema
Rutas Es una secuencia de pedidos de entrega, parte y
termina en el depósito central. Para medir el recorrido se utiliza una métrica euclidiana.
Flota Conjunto homogéneo de vehículos donde todos tienen
la misma capacidad de transporte Un vehículo tiene asignado solo una ruta
Depósito Lugar desde donde parten todos los vehículos para
iniciar un recorrido de entrega y adonde vuelven luego de terminarlo
Elementos del problema
Factibilidad de una ruta Una ruta es factible cuando se puede realizar
el recorrido completo cumpliendo todas las ventanas de tiempo y sin exceder la capacidad del vehículo
Solución Es un conjunto de rutas factibles que utilizan
todos los pedidos que forman parte del sistema en un determinado momento
Objetivo del problema
Minimizar la cantidad de viajes necesarios para realizar las entregas
Minimizar el tiempo de espera entre entregas consecutivas de una ruta
Minimizar la distancia recorrida Maximizar la capacidad utilizada en cada
vehículo
Problema a tratar
Cantidad de vehículos ilimitada Limite en el tiempo de viaje para un producto Pedidos de tamaño variable Los vehículos tienen velocidad constante Los pedidos que ingresan son factibles
Nuestro enfoque
VRPTW dinámico es un problema NP-Hard No se conoce algoritmo que encuentre una
solución óptima en tiempo polinomial Estos problemas suelen abordarse mediante
el uso de técnicas heurísticas Proporcionan soluciones razonablemente
buenas en periodos cortos de tiempo, sin garantizar que la solución sea óptima
Nuestro enfoque
Utilizamos una heurística de búsqueda local Parte de una solución inicial y realiza
modificaciones intentando encontrar otras en las que se minimice el valor de una función objetivo
Utilizamos Búsqueda Tabú (Glover, 1986) como metaheurística para evitar caer en mínimos locales
Algoritmo propuesto
Solución inicial Inicialmente el conjunto de pedidos es vacío
Heurística de inserción de pedidos Características deseables
Debe ser rápida La solución resultante debe ser factible Debe minimizar el costo de la solución
Inserción de pedidos
Alternativas analizadas Realizar una búsqueda exhaustiva y en caso
de no poder agregar el pedido a ninguna ruta utilizar una ruta nueva.
Utilizar un algoritmo goloso Asignar una ruta nueva al pedido
Factor decisivo Aprovechar al máximo el tiempo de cómputo
disponible para optimizar la solución en general
Inserción de pedidos
Asignar el pedido a una ruta nueva Inserción en O(1) Permite que el algoritmo Tabú explore las
distintas formas de incorporar el pedido a la solución
Mantiene la factibilidad de la solución
Heurísticas de mejora
Estrategias a seguir para encontrar una solución nueva de menor costo a partir de la inicial
Intercambios Or-Opt (Or, 1976) Ampliamente utilizado en la bibliografía Se aplica a un par de rutas (origen, destino) Consiste en mover una secuencia de 1, 2 o 3
pedidos consecutivos desde la ruta de origen hacia algún punto de la ruta de destino
Intercambios Or-Opt
Ejemplo: El pedido 5 de la ruta 2 pasa al final de la ruta 1
Intercambios Or-Opt
Ejemplo: Los pedidos 3 y 4 pasan al inicio de la ruta
Heurísticas de mejora
Radio de acción Es la máxima amplitud angular que se le
permite tener a una ruta, tomando como origen de coordenadas el centro de distribución
Idea no encontrada en la bibliografía Valor determinado en base a la experiencia Permite restringir el conjunto de posibles
movimientos a analizar
Radio de acción
Ejemplo 1:
Radio de acción
Ejemplo 2:
Radio de acción
Un valor demasiado grande tenderá a producir rutas con recorridos extensos en distancia
Un valor demasiado chico tenderá a producir rutas con pedidos mas cercanos entre si, pero aumentará la cantidad de rutas de la solución
Permite que la metaheurística no explore movimientos de pedidos entre rutas que no tengan radios de acción que se intersecan
Esto permite no desperdiciar tiempo de computo en soluciones que seguramente no serán de buena calidad
Heurísticas de mejora
Selección de rutas a optimizar No es factible analizar todas las formas
posibles de acomodar los pedidos Se debe elegir subconjuntos de rutas para
analizar sus intercambios
Criterio de selección de rutas
Pasos Seleccionar aleatoriamente un conjunto de
rutas X de tamaño t que serán tratadas como rutas de origen. Priorizando las rutas con un solo pedido
Seleccionar aleatoriamente un conjunto de rutas Y de tamaño t que serán tratadas como rutas de destino (X e Y pueden tener elementos en común)
Implementación de la Búsqueda Tabú
Lista Tabú Guardamos los movimientos inversos a los realizados
Criterio de parada Quanto de tiempo disponible
Movimiento Or-Opt manteniendo la factibilidad de la solución
Vecindario Movimientos factibles entre las rutas de origen y
destino cuyos radios de acción se intersecten Tamaño O(t2)
Implementación de la Búsqueda Tabú
Característica adicional Manejo de múltiples soluciones
En cada quanto de tiempo, analizar el vecindario de la solución principal y luego utilizar el tiempo sobrante en el resto
Intensificación Al priorizar la solución principal al inicio de cada
quanto se intensifica la búsqueda en la zona más prometedora
Diversificación Mediante las múltiples soluciones se analiza
simultáneamente distintas formas de realizar las entregas
Implementación de la Búsqueda Tabú
Función objetivo Minimizar la cantidad de rutas utilizadas
Cada ruta tiene un “costo” de 10.000 unidades Minimizar la distancia total de todas las rutas
Cada unidad de distancia en el recorrido tiene un “costo” de 1 unidad
Minimizar el tiempo de espera de las motos durante su recorrido
Cada unidad de tiempo de espera tiene un “costo” de 1 unidad
Implementación
Módulos principales Dispatcher
Implementa el modelado del tiempo y la generación de eventos
Optimizador Implementa la metaheurística y el manejo de
múltiples soluciones Visualización
Permite comunicar el resultado de la simulación
Dispatcher
Necesidad de simular el avance del tiempo y el ingreso dinámico de pedidos
Escala de tiempo para poder realizar pruebas en tiempos más cortos
Utilización de un archivo de configuración que contiene los pedidos con sus características y su horario de ingreso al sistema
Implementa la política de salida de rutas
Dispatcher
Política de salida de rutas Los pedidos deben partir o se vencen sus ventanas de
tiempo Caso real: operador humano A falta de un operador humano que tome la decisión,
el sistema debe decidir cuando una ruta debe partir Problema intratable computacionalmente Política implementada
Las rutas parten lo más tarde posible pero asegurando que haya tiempo para cumplirlas
Para poder usar más tiempo en la optimización
Optimizador
Mantiene la lista de múltiples soluciones y se encarga de distribuir el tiempo disponible
Se prioriza la optimización de la solución principal y en caso de sobrar tiempo se analizan las demás
Implementa la Búsqueda Tabú y la Búsqueda Local Permite incorporar nuevas heurísticas
Visualización
Permite ver los pasos intermedios realizados por la Búsqueda Tabú y las rutas que deben ir saliendo
Primera versión con log de texto Complejo de seguir a simple vista
Segunda versión con generación de gráficos
Visualización
Visualización
Visualización
Resultados
Comparación con instancias VRP de Solomon Realizadas al principio del desarrollo Intención: Ver el comportamiento del algoritmo
teniendo en cuenta la distancia total de los recorridos
Resultados
Comparación con instancias de VRPTW Intención: Ver el comportamiento del algoritmo
respecto de las ventanas de tiempo, las políticas de salida de rutas y la cantidad total de rutas empleadas
Instancias encontradas solo priorizaban la longitud total de las rutas
No nos fue posible encontrar instancias de VRPTW dinámico
Resultados
Instancias de prueba generadas en forma aleatoria Evitar sesgo o error introducido manualmente Uso de distribución uniforme Generación de tres lotes con características
propias
Resultados
Características generales de los lotes utilizados Tamaño de los pedidos
Mínimo: 15 unidades Máximo: 29 unidades
Capacidad de los vehículos 200 unidades
Resultados
Definición de cota Necesaria para poder tener un valor de referencia con el
cual comparar Imposible calcular el valor exacto para las instancias Cota utilizada
Cantidad de vehículos necesarios para acomodar todos los pedidos existentes
Valor para las instancias: 200 / 22 ≈ 9 pedidos por vehículo Ventajas
Simple de calcular Es la mínima cota definible
Desventajas Poco realista No tiene en cuenta la distribución espacial ni temporal de los
pedidos
Resultados Lote A
200 instancias de 60 pedidos
Cantidad de rutas mínima según la cota 7
Cantidad de rutas para simulaciones con 60 pedidos
2
19
43
5154
20
9
1 10
10
20
30
40
50
60
8 9 10 11 12 13 14 15 16
Cantidad de rutas utilizadas
Can
tid
ad d
e si
mu
laci
on
es
Resultados
Lote A Muy pocas instancias se acercan a la cota
mínima definida Posibles causas
Que la heurística implementada no sea buena para el problema
Que la cantidad de pedidos no llegue a negar el efecto de la distribución espacial y temporal (que no es tenida en cuenta por la cota)
Que la cota esté demasiado alejada de instancias reales
Resultados
Lote B 179
instancias de 100 pedidos
Cantidad de rutas mínima según la cota 12
Cantidad de rutas para simulaciones con 100 pedidos
51
58
28
37
6
0
10
20
30
40
50
60
70
12 13 14 15 16
Cantidad de rutas utilizadas
Ca
nti
da
d d
e s
imu
lac
ion
es
Resultados
Lote B 30% de los resultados están en el valor de la cota Otro 30% se encuentra una ruta sobre el valor de la
cota El resto de las instancias no se alejan mucho más de
la cota El algoritmo se comporta de una manera sumamente
positiva para estas instancias a diferencia de lo que sucedía con el lote A
Estos nos hace descartar que la heurística no sea buena para el problema planteado
También nos permite descartar que la cota sea muy mala de por sí
Resultados
Lote C 54
instancias de 350 pedidos
Cantidad de rutas mínima según la cota 39
Cantidad de rutas para simulaciones con 350 pedidos
8
38
8
1
0
5
10
15
20
25
30
35
40
40 41 42 43
Cantidad de rutas
Ca
nti
da
d d
e s
imu
lac
ion
es
Resultados
Lote C El 99% de las resoluciones de las instancias
no supera en un 8% el valor de la cota Al igual que el lote B, este lote nos confirma
que la cota no es mala en sí misma y que el algoritmo funciona razonablemente bien
Resultados
Análisis de la cantidad de rutas promedio utilizadas
Cantidad de rutas promedio utilizadas según la cantidad de pedidos
11,213,4
41
7
12
39
0
5
10
15
20
25
30
35
40
45
60 100 350
Cantidad de pedidos
Can
tid
ad d
e ru
tas
pro
med
io
Promedio de rutas utilizadas Minimo ideal de rutas a utilizar
Resultados
Este último gráfico muestra que Bajo las condiciones de prueba, a partir de los
100 pedidos, el espacio desperdiciado en las rutas pasa a ser despreciable
El algoritmo se comporta razonablemente bien para instancias que superan este límite de pedidos
Conclusiones
En base a las pruebas realizadas podemos afirmar que la heurística implementada se comporta razonablemente bien
Es capaz de procesar varios cientos de pedidos de manera dinámica y con fuertes restricciones de tiempo de cómputo Tener en cuenta que las simulaciones corrían con una
fracción del tiempo real disponible Sería de mucha utilidad en casos reales donde haya
una gran cantidad de pedidos a repartir Confirmamos la eficacia de la Búsqueda Tabú para el
problema de VRPTW dinámico bajo las condiciones antes mencionadas
Trabajos futuros
Inclusión de un modelo matemático formal que ayude a comprender mejor el problema
Implementación de nuevas técnicas heurísticas para la resolución del problema como submódulos del sistema
Desarrollo de una interfaz gráfica que permita interactuar en tiempo real con el sistema
¡¡ Muchas gracias !!
¿ Preguntas ?
Recommended