Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal
description
Transcript of Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal
Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con
dependencia temporal
Santiago Balseiro Irene LoiseauJuan Ramonet
Hoja de Ruta
Introducción al
Problema
Algoritmos
Interfaz Gráfica
Análisis del Caso Real
VRP
Académico
Económico
Interés
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”
VRP
• Grafo completo – G = (V, A)
• Clientes– di demanda
• Vehículos– C capacidad
• Arcos– cij costo
Clientes
Depósito
Clientes
Depósito
Clientes
Depósito
Clientes
Depósito
Clientes
Depósito
Clientes
Depósito
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, 2003Fleischman, Gietz, Gnutzmann, 2004Donati,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– xij
m será 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)
1m
ijm Mi j
x j N
1m
ij Om Mi j
x j D
(2)
(2')
min
o E
mij i
i D m M i Dj i
B x t
Un vehículo debe llegar a cada cliente
sujeto a:
1 , ,mi m ijt T B x i j A m M
1 , ,mi m ijt T x i j A m M
i i i i ia s t b s i V
1 ,mi i j ij
m M
w d w B x i j A
i Ek iw C i D
(4)
(5)
(6)
(7)
(8)
(9)
1 , ,m mi j ij j ijt s c t B x i j A m M
Selección del período según el instante de partida del cliente
Restricciones de las ventanas de tiempo
Cálculo de la carga de los vehículos
Restricciones de capacidad
1m
ijm Mj i
x i N
1m
ij Em Mj i
x i D
(3)
(3')
Un vehículo debe partir de cada cliente
Cálculo de los tiempos parciales
Nueva Formulación
• Variables de decisión– xij será 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)
1ij
i j
x j N
1ij O
i j
x j D
(2)
(2')
min
o E
ij ii D i Dj i
B x t
Un vehículo debe llegar a cada cliente
sujeto a:
1 ,mi m it T B p i V m M
1 ,mi m it T p i V m M
i i i i ia s t b s i V
1 ,i i j ijw d w B x i j A
i Ek iw C i D
(4)
(5)
(6)
(7)
(8)
(9)
2 , ,m m mi j ij j ij it s c t B x p i j A m M
Selección del período según el instante de partida del cliente
Restricciones de ventanas de tiempo
Cálculo de la carga de los vehículos
Restricciones de capacidad
1ij
j i
x i N
1ij E
j i
x i D
(3)
(3')
Un vehículo debe partir de cada cliente
Cálculo de los tiempos parciales
1mi
m M
p i V
(10)
Se testeó la formulación en problemas muy pequeños
Colonia de Hormigas
Ant Colony System para el VRP
• Hormigas agentes computacionales
Paso 1 Paso 4 Paso 8 Fin iteración
Hor
mig
a 1
Hor
mig
a 2
• k hormigas en paralelo k nuevas soluciones por iteración
Ant Colony System
¿Cómo escogen al próximo cliente?
si
0 en otro caso
ij iji
il ilij l Ni
j Np
• 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:
j1
i 5
2
j3
3
j2
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 01ij ij
1 , bsij ij bs i j
C
Ant Colony System
Multiple Ant Colony System
Objetivo jerárquicominimizar: 1ero: cantidad de vehículos
empleados2do: tiempo (o distancia)
Multiple Ant Colony System
Pos-Inserción
Hormigas: Etapa Constructiva
Actualización Global con ψACS-VEI
Colonia: ACS-VEI
Búsqueda Local
Pos-Inserción
Hormigas: Etapa Constructiva
Actualización Global con ψACS-TIME
Colonia: ACS-TIME
Mejora solución?
Si
No
Factible?
Si
No
Mejora solución?
Si
No
Factible?
No
Reiniciar ambas colonias con un vehículo menos
Si
Remplaza aψACS-TIME
Remplaza a ψACS-VEI
Activación Activación
Actualización Global con ψACS-TIME
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
Or-opt
4-opt*
2-opt
Heurísticas de Mejora
2-opt*
CROSS Exchange
Exchange2
Relocate2
Heurísticas de Mejora
¿Porqué tantos operadores?– ¿Son redundantes? Si!
Estrategia: aplicar primeros los de vecindario reducido y luego aquellos de vecindario extendido
01
23
01
23
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!
1
2
a
b
1
2
a
b
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
GrupoMejor Resultado MACS-TDVRPTW
GapVehículos
Distancia
Vehículos
Distancia
C1 10.0 828.4 10.0 828.4 0.0%
C2 3.0 589.9 3.0 589.9 0.0%
R1 11.9 1209.9 11.9 1210.6 0.1%
R2 2.7 951.7 2.7 952.5 0.1%
RC1 11.5 1384.2 11.5 1384.4 0.0%
RC2 3.3 1119.2 3.3 1119.4 0.0%
– 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
• 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 KENDALLKENDALL
Ubicación de los clientes
HIALEAH$0.69 / ft2mes
DORAL$0.77 / ft2mes
MIRAMAR$0.79 / ft2mes
KENDALL$0.65 / ft2mes
Alternativas
Evaluación
Procedimiento
Ordenes de Pedido
Software de Ruteo
RutasKilómetros
Horas
Gastos Simulados
Alternativas
Evaluación
Miramar
Doral
Hialeah
Kendall
0 20,000 40,000 60,000 80,000
Distancia [km]
Miramar
Doral
Hialeah
Kendall
0 1,000 2,000 3,000 4,000 5,000
Tiempo [hs]
Miramar
Doral
Hialeah
Kendall
0 100 200 300 400 500
Rutas
Evaluación
ActualKendall
Alquiler Depósito 63,360$ 66,240$ 5% 73,920$ 17% 75,840$ 20%
Costos Transporte Combustible 16,506$ 12,528$ -24% 13,158$ -20% 12,016$ -27%
Mantenimiento 5,463$ 4,147$ -24% 4,355$ -20% 3,977$ -27%
Gomas 1,626$ 1,234$ -24% 1,297$ -20% 1,184$ -27%
Salario Chóferes 60,699$ 54,827$ -10% 55,211$ -9% 54,858$ -10%
Total 147,655$ 138,977$ -6% 147,941$ 0% 147,876$ 0%
Alternativa AHialeah
Alternativa BDoral
Alternativa CMiramar
Gomas1%
Mantenimiento4%
Combustible11%
Transporte16%
Alquiler Depósito
43%
Salario Chóferes
41%
Fin