1 / 49

Sistema de optimizaci ó n para el ruteo din á mico de veh í culos con ventanas de tiempo

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

suzanne
Télécharger la présentation

Sistema de optimizaci ó n para el ruteo din á mico de veh í culos con ventanas de tiempo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. Intercambios Or-Opt • Ejemplo: El pedido 5 de la ruta 2 pasa al final de la ruta 1

  16. Intercambios Or-Opt • Ejemplo: Los pedidos 3 y 4 pasan al inicio de la ruta

  17. 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

  18. Radio de acción • Ejemplo 1:

  19. Radio de acción • Ejemplo 2:

  20. 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

  21. 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

  22. 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)

  23. 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)

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. Visualización

  32. Visualización

  33. Visualización

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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

  39. Resultados • Lote A • 200 instancias de 60 pedidos • Cantidad de rutas mínima según la cota 7

  40. 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

  41. Resultados • Lote B • 179 instancias de 100 pedidos • Cantidad de rutas mínima según la cota 12

  42. 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í

  43. Resultados • Lote C • 54 instancias de 350 pedidos • Cantidad de rutas mínima según la cota 39

  44. 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

  45. Resultados • Análisis de la cantidad de rutas promedio utilizadas

  46. 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

  47. 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

  48. 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

  49. ¡¡ Muchas gracias !! ¿ Preguntas ?

More Related