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

Post on 27-Jan-2016

215 views 0 download

Transcript of 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, 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 ?