Presentación paper Ant Colony para el TDVRPTW, Balseiro

Download Report

Transcript Presentación paper Ant Colony para el TDVRPTW, Balseiro

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
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
Depósito
• 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:
2do:
cantidad de vehículos empleados
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
– xijm 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)
min B  
iDo
 x
j

i 
mM
m
ij

t
iDE
i
sujeto a:
(2)
(2')
 x
i

 j
mM
m
ij
 x
i   j  mM
m
ij
1
1
j  N
j  DO
Un vehículo debe llegar a cada
cliente
(3)
(3')
 x
j   i  mM
m
ij
 x
j

i 
mM
m
ij
1
1
i  N
i  DE
Un vehículo debe partir de cada
cliente
(4)
ti  s j  cijm  t j  B 1  xijm 
  i, j   A, m  M
(5)
ti  Tm  B 1  xijm 
  i, j   A, m  M
(6)
ti  Tm1xijm
i, j   A, m  M
(7)
ai  si  ti  bi  si
i V
(8)


wi  di  w j  B 1   xijm    i, j   A
 mM 
Cálculo de la carga de los vehículos
(9)
wi  Ck i
Restricciones de capacidad
i  DE
Cálculo de los tiempos parciales
Selección del período
según el instante de
partida del cliente
Restricciones de las ventanas de
tiempo
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.
min B  
(1)
iDo

j

i 
xij 
t
iDE
i
sujeto a:
(2)
(2')

i

 j

i   j 
xij  1
xij  1
j  N
j  DO
Un vehículo debe llegar a cada
cliente
(3)
(3')

j   i 

j

i 
xij  1
xij  1
i  N
Un vehículo debe partir de cada
cliente
i  DE
Cálculo de los tiempos
parciales
(4)
ti  s j  cijm  t j  B  2  xijm  pim 
(5)
ti  Tm  B 1  pim 
i  V , m  M
(6)
ti  Tm1 pim
i V , m  M
(7)
p
1
i V
(8)
ai  si  ti  bi  si
i V
Restricciones de ventanas de
tiempo
(9)
wi  di  w j  B 1  xij 
  i, j   A
Cálculo de la carga de los vehículos
(10)
wi  Ck i
i  DE
Restricciones de capacidad
mM
m
i
  i, j   A, m  M
Selección del período
según el instante de
partida del cliente
Se testeó la formulación en problemas muy
pequeños
Colonia de Hormigas
Ant Colony System para el VRP
Hormiga 1
• Hormigas agentes computacionales
Paso 4
Paso 8
Fin iteración
Hormiga 2
Paso 1
• k hormigas en paralelo
k nuevas soluciones por iteración
Ant Colony System
¿Cómo escogen al próximo cliente?
• Vecinos que cumplen restricciones
j2
j1
– Capacidad
– Horarios de Entrega
3
2
• Cada arco (i, j) tiene asociado:
i
5
j3
– τij
– ηij
feromona
visibilidad
• Calculan las probabilidades pij para cada destino j:
  ij ij 

pij    lN  il il 
i

0
si j  N i
en otro caso
Ant Colony System
• Actualización global, después de que todas las
hormigas construyeron sus soluciones
– Depositar feromona según la mejor solución
 ij  1      ij  
C
bs
  i, j    bs
• Actualización local
– La feromona se evapora cada vez que una
hormiga recorre un arco
 ij  1     ij    0
Ant Colony System
k = 1..Cantidad de Iteraciones
p = 1..Cantidad de Clientes
m = 1...Cantidad de Hormigas
HORMIGA
PASO
Calcular probabilidades
Escoger próximo cliente
y trasladarse
Evaporación local
m = 1...Cantidad de Hormigas
HORMIGA
ETAPA CONSTRUCTIVA
ETAPA ACTUALIZACIÓN
ITERACIÓN
Localizar hormigas en depósito
Pos-inserción
Búsqueda Local
Comparar solución
Actualización Global
Multiple Ant Colony System
Objetivo jerárquico
minimizar:
1ero:
cantidad de vehículos empleados
2do:
tiempo (o distancia)
MACSTDVRPTW
Objetivo
Múltiple
ACS-TIME
ACS-VEI
Objetivo
Único
Hormigas
Hormigas
Soluciones
Individuales
Multiple Ant Colony System
Colonia: ACS-VEI
Colonia: ACS-TIME
Activación
Activación
Hormigas: Etapa
Constructiva
Hormigas: Etapa
Constructiva
Pos-Inserción
Pos-Inserción
Si
Factible?
No
Mejora
solución?
Reiniciar ambas
colonias con un
vehículo menos
No
Factible?
Si
No
Si
Remplaza a
ACS-VEI
ψ
Actualización Global
ACS-VEI
con ψ
Actualización Global
ACS-TIME
con ψ
Búsqueda Local
No
Mejora
solución?
Si
Remplaza a
ψACS-TIME
Actualización Global
ACS-TIME
con ψ
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!
1
0
3
2
1
0
3
2
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
a
a
1
b
1
b
2
2
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
Grupo
Mejor Resultado
MACS-TDVRPTW
Vehículos Distancia
Vehículos Distancia
Gap
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
Presentación
• Proyecto
– Relocalización del
depósito
• Etapas
– Recolección de datos
– Validación
– Elección de las
alternativas
– Evaluación
KENDALL
Ubicación de los clientes
Alternativas
HIALEAH
MIRAMAR
$0.69 / ft2mes
$0.79 / ft2mes
DORAL
KENDALL
$0.77 / ft2mes
$0.65 / ft2mes
Evaluación
Procedimiento
Ordenes
de Pedido
Software de
Ruteo
Alternativas
Rutas
Kilómetros
Horas
Gastos
Simulados
Evaluación
Kendall
Hialeah
Doral
Miramar
0
20,000
40,000
60,000
80,000
Distancia [km]
Kendall
0
1,000
2,000
Kendall
Hialeah
Hialeah
Doral
Doral
Miramar
Miramar
3,000
Tiempo [hs]
4,000
5,000
0
100
200
300
Rutas
400
500
Evaluación
Alquiler Depósito
Costos Transporte Combustible
Mantenimiento
Gomas
Salario Chóferes
Total
$
$
$
$
$
$
Actual
Kendall
63,360
16,506
5,463
1,626
60,699
147,655
Salario
Chóferes
41%
Transporte
16%
Alquiler
Depósito
43%
$
$
$
$
$
$
Alternativa A
Hialeah
5%
66,240
12,528 -24%
4,147 -24%
1,234 -24%
54,827 -10%
-6%
138,977
$
$
$
$
$
$
Alternativa B
Doral
73,920 17%
13,158 -20%
4,355 -20%
1,297 -20%
-9%
55,211
0%
147,941
$
$
$
$
$
$
Alternativa C
Miramar
75,840 20%
12,016 -27%
3,977 -27%
1,184 -27%
54,858 -10%
0%
147,876
Mantenimiento
4%
Combustible
11%
Gomas
1%
Fin