500 likes | 865 Views
Sistema de optimizaci ó n para el ruteo din á mico de veh í culos con ventanas de tiempo. Eidelman, Adrián Pablo Valdez Lerena, Alejandro. Directora: Dra. Irene Loiseau. Introducción. Descripción general del problema
E N D
Sistema de optimización para el ruteo dinámico de vehículos con ventanas de tiempo Eidelman, Adrián Pablo Valdez Lerena, Alejandro Directora: 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
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
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
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
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
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 ?