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

49
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Page 15: 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.

Intercambios Or-Opt

Ejemplo: El pedido 5 de la ruta 2 pasa al final de la ruta 1

Page 16: 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.

Intercambios Or-Opt

Ejemplo: Los pedidos 3 y 4 pasan al inicio de la ruta

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

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

Page 18: 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.

Radio de acción

Ejemplo 1:

Page 19: 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.

Radio de acción

Ejemplo 2:

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

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

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

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

Page 22: 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.

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)

Page 23: 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.

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Page 31: 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.

Visualización

Page 32: 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.

Visualización

Page 33: 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.

Visualización

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

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

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

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

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

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

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

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

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

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

Page 39: 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.

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

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

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

Page 41: 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.

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

Page 42: 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.

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í

Page 43: 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.

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

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

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

Page 45: 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.

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

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

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

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

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

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

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

Page 49: 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.

¡¡ Muchas gracias !!

¿ Preguntas ?