Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

39
Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal Santiago Balseiro Irene Loiseau Juan Ramonet

description

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):. - PowerPoint PPT Presentation

Transcript of Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Page 1: 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

Page 2: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Hoja de Ruta

Introducción al

Problema

Algoritmos

Interfaz Gráfica

Análisis del Caso Real

Page 3: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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”

Page 4: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 5: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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)

Page 6: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

TDVRPTW

Dependencia temporal

¿Es lo mismo ir al centro de la ciudad por la mañana que por la tarde?

Page 7: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 8: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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.

Page 9: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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.

Page 10: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

TDVRPTW

Ichoua et al. propusieron una nueva representación del tiempo de viaje

Page 11: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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:

Page 12: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 13: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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:

Page 14: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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)

Page 15: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Se testeó la formulación en problemas muy pequeños

Page 16: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Colonia de Hormigas

Page 17: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 18: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 19: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 20: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Ant Colony System

Page 21: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Multiple Ant Colony System

Objetivo jerárquicominimizar: 1ero: cantidad de vehículos

empleados2do: tiempo (o distancia)

Page 22: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 23: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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?

Page 24: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 25: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Heurísticas de Mejora

Or-opt

4-opt*

2-opt

Page 26: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Heurísticas de Mejora

2-opt*

CROSS Exchange

Exchange2

Relocate2

Page 27: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 28: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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!

Page 29: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 30: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 31: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Heurísticas de Inserción

• 3ra solución: Búsqueda Local + Inserción + MDL

Page 32: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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%

Page 33: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 34: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 35: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

HIALEAH$0.69 / ft2mes

DORAL$0.77 / ft2mes

MIRAMAR$0.79 / ft2mes

KENDALL$0.65 / ft2mes

Alternativas

Page 36: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Evaluación

Procedimiento

Ordenes de Pedido

Software de Ruteo

RutasKilómetros

Horas

Gastos Simulados

Alternativas

Page 37: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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

Page 38: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

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%

Page 39: Algoritmo de colonia de hormigas para el problema de ruteo de vehículos con dependencia temporal

Fin