Está en la página 1de 49

Sistema de optimizacin para el ruteo dinmico de vehculos con ventanas de tiempo

Eidelman, Adrin Pablo Valdez Lerena, Alejandro Directora: Dra. Irene Loiseau

Introduccin
 Descripcin general del problema


Encontrar la mejor forma de organizar una flota de vehculos de reparto para poder entregar un conjunto de pedidos que van ingresando de manera dinmica Reducir los costos asociados a la cantidad de vehculos utilizados y sus recorridos Brindar una mejor atencin a los clientes

 Motivacin


Caso real: Sushi Furusato


 Situacin actual  Una persona dedicada a armar los recorridos que deben realizar los vehculos para cumplir con las entregas  Desventajas  El nivel de optimizacin depende de la persona que se est encargando de organizar los pedidos  No se realiza un anlisis sistemtico de los posibles recorridos sino que se recurre a la intuicin

Elementos del problema


 rea de distribucin


Una cuadricula representa una abstraccin del mapa de calles Cada pedido est asociado a un cliente, tiene un tamao 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

 Pedidos


Elementos del problema


 Rutas  Es una secuencia de pedidos de entrega, parte y termina en el depsito central. Para medir el recorrido se utiliza una mtrica euclidiana.  Flota  Conjunto homogneo de vehculos donde todos tienen la misma capacidad de transporte  Un vehculo tiene asignado solo una ruta  Depsito  Lugar desde donde parten todos los vehculos 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 vehculo Es un conjunto de rutas factibles que utilizan todos los pedidos que forman parte del sistema en un determinado momento

 Solucin


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 vehculo

Problema a tratar
 Cantidad de vehculos ilimitada  Limite en el tiempo de viaje para un producto  Pedidos de tamao variable  Los vehculos tienen velocidad constante  Los pedidos que ingresan son factibles

Nuestro enfoque
 VRPTW dinmico es un problema NP-Hard


No se conoce algoritmo que encuentre una solucin ptima en tiempo polinomial

 Estos problemas suelen abordarse mediante

el uso de tcnicas heursticas  Proporcionan soluciones razonablemente buenas en periodos cortos de tiempo, sin garantizar que la solucin sea ptima

Nuestro enfoque
 Utilizamos una heurstica de bsqueda local


Parte de una solucin inicial y realiza modificaciones intentando encontrar otras en las que se minimice el valor de una funcin objetivo

 Utilizamos Bsqueda Tab (Glover, 1986)

como metaheurstica para evitar caer en mnimos locales

Algoritmo propuesto
 Solucin inicial


Inicialmente el conjunto de pedidos es vaco Caractersticas deseables


  

 Heurstica de insercin de pedidos




Debe ser rpida La solucin resultante debe ser factible Debe minimizar el costo de la solucin

Insercin de pedidos
 Alternativas analizadas


 

Realizar una bsqueda 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 Aprovechar al mximo el tiempo de cmputo disponible para optimizar la solucin en general

 Factor decisivo


Insercin de pedidos
 Asignar el pedido a una ruta nueva
 

Insercin en O(1) Permite que el algoritmo Tab explore las distintas formas de incorporar el pedido a la solucin Mantiene la factibilidad de la solucin

Heursticas de mejora
 Estrategias a seguir para encontrar una

solucin nueva de menor costo a partir de la inicial  Intercambios Or-Opt (Or, 1976)
  

Ampliamente utilizado en la bibliografa 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 algn 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

Heursticas de mejora
 Radio de accin


  

Es la mxima amplitud angular que se le permite tener a una ruta, tomando como origen de coordenadas el centro de distribucin Idea no encontrada en la bibliografa Valor determinado en base a la experiencia Permite restringir el conjunto de posibles movimientos a analizar

Radio de accin
 Ejemplo 1:

Radio de accin
 Ejemplo 2:

Radio de accin
 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 solucin  Permite que la metaheurstica no explore movimientos de pedidos entre rutas que no tengan radios de accin que se intersecan  Esto permite no desperdiciar tiempo de computo en soluciones que seguramente no sern de buena calidad

Heursticas de mejora
 Seleccin 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 seleccin de rutas


 Pasos


Seleccionar aleatoriamente un conjunto de rutas X de tamao t que sern tratadas como rutas de origen. Priorizando las rutas con un solo pedido Seleccionar aleatoriamente un conjunto de rutas Y de tamao t que sern tratadas como rutas de destino (X e Y pueden tener elementos en comn)

Implementacin de la Bsqueda 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 solucin  Vecindario  Movimientos factibles entre las rutas de origen y destino cuyos radios de accin se intersecten  Tamao O(t2)

Implementacin de la Bsqueda Tab


 Caracterstica adicional  Manejo de mltiples soluciones

En cada quanto de tiempo, analizar el vecindario de la solucin principal y luego utilizar el tiempo sobrante en el resto  Intensificacin


Al priorizar la solucin principal al inicio de cada quanto se intensifica la bsqueda en la zona ms prometedora

 Diversificacin  Mediante las mltiples soluciones se analiza simultneamente distintas formas de realizar las entregas

Implementacin de la Bsqueda Tab


 Funcin objetivo


Minimizar la cantidad de rutas utilizadas




Cada ruta tiene un costo de 10.000 unidades Cada unidad de distancia en el recorrido tiene un costo de 1 unidad

Minimizar la distancia total de todas las rutas




Minimizar el tiempo de espera de las motos durante su recorrido




Cada unidad de tiempo de espera tiene un costo de 1 unidad

Implementacin
 Mdulos principales


Dispatcher


Implementa el modelado del tiempo y la generacin de eventos Implementa la metaheurstica y el manejo de mltiples soluciones Permite comunicar el resultado de la simulacin

Optimizador


Visualizacin


Dispatcher
 Necesidad de simular el avance del tiempo y

el ingreso dinmico de pedidos  Escala de tiempo para poder realizar pruebas en tiempos ms cortos  Utilizacin de un archivo de configuracin que contiene los pedidos con sus caractersticas y su horario de ingreso al sistema  Implementa la poltica de salida de rutas

Dispatcher
 Poltica 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 decisin, el sistema debe decidir cuando una ruta debe partir  Problema intratable computacionalmente  Poltica implementada


Las rutas parten lo ms tarde posible pero asegurando que haya tiempo para cumplirlas Para poder usar ms tiempo en la optimizacin

Optimizador
 Mantiene la lista de mltiples soluciones y se

encarga de distribuir el tiempo disponible  Se prioriza la optimizacin de la solucin principal y en caso de sobrar tiempo se analizan las dems  Implementa la Bsqueda Tab y la Bsqueda Local


Permite incorporar nuevas heursticas

Visualizacin
 Permite ver los pasos intermedios realizados

por la Bsqueda Tab y las rutas que deben ir saliendo  Primera versin con log de texto


Complejo de seguir a simple vista

 Segunda versin con generacin de grficos

Visualizacin

Visualizacin

Visualizacin

Resultados
 Comparacin con instancias VRP de Solomon  Realizadas al principio del desarrollo  Intencin: Ver el comportamiento del algoritmo teniendo en cuenta la distancia total de los recorridos

Resultados
 Comparacin con instancias de VRPTW


Intencin: Ver el comportamiento del algoritmo respecto de las ventanas de tiempo, las polticas 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 dinmico

Resultados
 Instancias de prueba generadas en forma

aleatoria
  

Evitar sesgo o error introducido manualmente Uso de distribucin uniforme Generacin de tres lotes con caractersticas propias

Resultados
 Caractersticas generales de los lotes

utilizados


Tamao de los pedidos


 

Mnimo: 15 unidades Mximo: 29 unidades 200 unidades

Capacidad de los vehculos




Resultados
 Definicin 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 vehculos necesarios para acomodar todos los pedidos existentes Valor para las instancias: 200 / 22 9 pedidos por vehculo Ventajas
 Simple de calcular  Es la mnima cota definible

Desventajas
 Poco realista  No tiene en cuenta la distribucin espacial ni temporal de los pedidos

Resultados
 Lote A


Cantidad de simulaciones

200 instancias de 60 pedidos Cantidad de rutas mnima segn la cota 7

Cantidad de rutas para simulaciones con 60 pedidos


60 54 51 50 43 40 30 20 10 2 0 8 9 10 11 12 13 14 15 16 Cantidad de rutas utilizadas 19 20

9 1 1

Resultados
 Lote A  Muy pocas instancias se acercan a la cota mnima definida  Posibles causas


Que la heurstica implementada no sea buena para el problema Que la cantidad de pedidos no llegue a negar el efecto de la distribucin espacial y temporal (que no es tenida en cuenta por la cota) Que la cota est demasiado alejada de instancias reales

Resultados
 Lote B


Cantidad de simulaciones

179 instancias de 100 pedidos Cantidad de rutas mnima segn la cota 12

Cant dad d

utas para simu acion s con 100 pedidos

70 60 51 50 40 30 20 10 0 12 13 14 15 16 6 28 37 58

Cantidad de rutas utilizadas

Resultados
 Lote B  30% de los resultados estn 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 ms de la cota  El algoritmo se comporta de una manera sumamente positiva para estas instancias a diferencia de lo que suceda con el lote A

Estos nos hace descartar que la heurstica no sea buena para el problema planteado  Tambin nos permite descartar que la cota sea muy mala de por s


Resultados
 Lote C


Cantidad de imulaciones

54 instancias de 350 pedidos Cantidad de rutas mnima segn la cota 39

Ca idad de rutas ara imulaciones con 35 edido


40 35 30 25 20 15 10 5 0 40 41 42 43 8 8 38

Cantidad de rutas

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
 Anlisis

Can idad de u as p

de la cantidad de rutas promedio utilizadas

Can idad de u as p edi u ili adas segn la can idad de pedidos


romedio de rutas utilizadas 45 40 edi 35 30 25 20 15 10 5 0 60 100 Can idad de pedidos 350 11 2 7 13 4 12 inimo ideal de rutas a utilizar 41

39

Resultados
 Este ltimo grfico 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 lmite de pedidos

Conclusiones
 En base a las pruebas realizadas podemos afirmar

que la heurstica implementada se comporta razonablemente bien  Es capaz de procesar varios cientos de pedidos de manera dinmica y con fuertes restricciones de tiempo de cmputo


Tener en cuenta que las simulaciones corran con una fraccin del tiempo real disponible

 Sera de mucha utilidad en casos reales donde haya

una gran cantidad de pedidos a repartir  Confirmamos la eficacia de la Bsqueda Tab para el problema de VRPTW dinmico bajo las condiciones antes mencionadas

Trabajos futuros
 Inclusin de un modelo matemtico formal

que ayude a comprender mejor el problema  Implementacin de nuevas tcnicas heursticas para la resolucin del problema como submdulos del sistema  Desarrollo de una interfaz grfica que permita interactuar en tiempo real con el sistema

Muchas gracias !!

Preguntas ?

También podría gustarte