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

Post on 05-Jan-2016

145 views 0 download

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

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