Sistema de optimizaci - PowerPoint PPT Presentation

About This Presentation
Title:

Sistema de optimizaci

Description:

... para iniciar un recorrido de entrega y adonde vuelven luego de terminarlo ... vecindario de la soluci n principal y luego utilizar el tiempo sobrante en el resto ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 50
Provided by: ALE192
Category:

less

Transcript and Presenter's Notes

Title: Sistema de optimizaci


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 ?
Write a Comment
User Comments (0)
About PowerShow.com