400 likes | 816 Views
Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal. Santiago Balseiro Irene Loiseau Juan Ramonet. Hoja de Ruta. i. Introducción al Problema Algoritmos Interfaz Gráfica Análisis del Caso Real. VRP. Problema de Ruteo de Vehículos (VRP):.
E N D
Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal Santiago Balseiro Irene Loiseau Juan Ramonet
Hoja de Ruta i Introducción al Problema Algoritmos Interfaz Gráfica Análisis del Caso Real
VRP Problema de Ruteo de Vehículos (VRP): “Consiste en el servicio en un período de tiempo preestablecido de un conjunto de clientes mediante una flota de vehículos localizados en un depósito” Académico Interés Económico
VRP • Grafo completo • G = (V, A) • Clientes • di demanda • Vehículos • C capacidad • Arcos • cij costo
TDVRPTW • Problema de Ruteo de Vehículos con Ventanas de Tiempo y Dependencia Temporal • Ventanas de Tiempo: [ai, bi] • Tiempos de Servicio: si • Objetivo jerárquico • minimizar 1ero: cantidad de vehículos empleados 2do: tiempo (o distancia)
TDVRPTW Dependencia temporal ¿Es lo mismo ir al centro de la ciudad por la mañana que por la tarde?
TDVRPTW • TDVRPTW es NP-Hard • Encontramos muy pocos trabajos sobre este problema Malandraki (1989) Ichoua, Gendreau, Potvin, 2003 Fleischman, Gietz, Gnutzmann, 2004 Donati,Montemanni,Casagrande,Rizzolli, Gambardella, 2003
Proponemos acá un algoritmo basado en la metaheurística de Colonia de Hormigas reforzada por un conjunto de operadores de inserción y búsqueda local.
TDVRPTW Modelo para representar la dependencia temporal • Dividimos el horizonte de tiempo en periodos. • Fijamos para cada arco una velocidad por periodo Malandraki propuso una representación para el tiempo del viajes en el cual no se respetaba la condición de que un vehículo que salía después que otro llegara después.
TDVRPTW Ichoua et al. propusieron una nueva representación del tiempo de viaje
Formulación propuesta por Malandraki • Variables de decisión • xijmserá 1 si algún vehículo recorre el arco (i,j) en el intervalo de tiempo m • ti tiempo de partida del vehículo del nodo i • wi carga total entregada por el vehículo al llegar al nodo i. (1) sujeto a: (2) Un vehículo debe llegar a cada cliente (2')
(3) Un vehículo debe partir de cada cliente (3') Cálculo de los tiempos parciales (4) Selección del período según el instante de partida del cliente (5) (6) Restricciones de las ventanas de tiempo (7) Cálculo de la carga de los vehículos (8) (9) Restricciones de capacidad
Nueva Formulación • Variables de decisión • xijserá 1 si algún vehículo recorre el arco (i,j) • pim en el intervalo de tiempo m • ti tiempo de partida del vehículo del nodo i • wi carga total entregada por el vehículo al llegar al nodo i. (1) sujeto a: (2) Un vehículo debe llegar a cada cliente (2')
(3) Un vehículo debe partir de cada cliente (3') Cálculo de los tiempos parciales (4) (5) Selección del período según el instante de partida del cliente (6) (7) Restricciones de ventanas de tiempo (8) (9) Cálculo de la carga de los vehículos (10) Restricciones de capacidad
Ant Colony System para el VRP • Hormigas agentes computacionales • k hormigas en paralelo k nuevas soluciones por iteración
Ant Colony System ¿Cómo escogen al próximo cliente? • Vecinos que cumplen restricciones • Capacidad • Horarios de Entrega • Cada arco (i, j) tiene asociado: • τij feromona • ηij visibilidad • Calculan las probabilidades pij para cada destino j:
Ant Colony System • Actualización global, después de que todas las hormigas construyeron sus soluciones • Depositar feromona según la mejor solución • Actualización local • La feromona se evapora cada vez que una hormiga recorre un arco
Multiple Ant Colony System • Objetivo jerárquico • minimizar: 1ero: cantidad de vehículos empleados • 2do: tiempo (o distancia)
El algoritmo se inicia con una solución factible obtenida mediante 3 heurísticas: • Solomon II • Sequential nearest neighbor • Parallel sequential neighbor Para qué se usa esta solución inicial?
Heurísticas de Mejora • Vecindarios se exploran exhaustivamente • Buscar mejoras en el funcional • Clasificación • de una ruta • de dos rutas o multiruta Relocate1 Exchange1
Heurísticas de Mejora 2-opt Or-opt 4-opt*
Heurísticas de Mejora Relocate2 Exchange2 2-opt* CROSS Exchange
Heurísticas de Mejora ¿Porqué tantos operadores? • ¿Son redundantes? Si! Estrategia: aplicar primeros los de vecindario reducido y luego aquellos de vecindario extendido
Heurísticas de Inserción • Las hormigas generan soluciones con clientes sin servir. • 1era solución: Inserción directa Si falla, no se pueden acomodar más clientes? NO!
Heurísticas de Inserción • 2da solución: Búsqueda Local + Inserción • Mismos operadores que heurística de mejora • Distinto objetivo Si falla, no se pueden acomodar más clientes? NO!
Heurísticas de Inserción • Métrica MDL (minimun delay) • Cuantificar cuán difícil es insertar un cliente. • 3 causas que impiden servir un cliente • Capacidad • Ventanas de tiempo del cliente • Ventanas de tiempo de un cliente posterior • Evaluar numéricamente la penalidad por violar las restricciones
Heurísticas de Inserción • 3ra solución: Búsqueda Local + Inserción + MDL
Resultados • Instancias de Solomon, 1984 • 56 problemas • comparación con los mejores resultados disponibles • En 44 problemas encuentra la mejor solución • Diferencia promedio de 0.03%
Interfaz Gráfica • Visualización 3D • Información de las soluciones • Edición interactiva • Configuración del algoritmo • Integración a un módulo GIS
Presentación • Proyecto • Relocalización del depósito • Etapas • Recolección de datos • Validación • Elección de las alternativas • Evaluación Ubicación de los clientes
Evaluación Procedimiento x3 x3 Ordenes de Pedido Rutas Kilómetros Horas Software de Ruteo Gastos Simulados Alternativas