You are on page 1of 5

Capacitated Vehicle Routing Problem With

Time Windows
Carlos Andres Vargas Poblete
Universidad Tecnica Federico Santa Mara, Campus Santiago
carlos.vargasp@alumnos.usm.cl
http://www.usm.cl

1.

Definici
on del Problema

El Capacitated Vehicle Routing Problem With Time Windows, de aqu en


adelante CVRPTW, es una variante del problema de enrutamiento de vehculos
(VRP), el cual es un problema de optimizacion combinatoria NP-Hard [1] que
consiste en determinar las rutas que deben seguir los vehculos de una flota
para realizar la entrega de los productos requeridos por cada cliente. Como se
mencion
o anteriormente el CVRPTW es una extension del VRP, donde se le
agrega la condici
on de que cada lugar de entrega posee una ventana de tiempo
dentro de la cual el producto debe ser entregado.
Para realizar dichas entregas se deben tener en consideracion las siguientes
restricciones que posee el problema:
Todos los vehculos comienzan su recorrido desde el deposito o nodo central.
Los vehculos contin
uan su recorrido desde el u
ltimo nodo visitado.
Todos los vehculos al finalizar todas sus entregas vuelven al deposito.
No se puede sobrepasar la capacidad maxima de los vehculos.
Cada nodo puede ser visitado solo por un vehculo.
Los nodos deben ser visitados en la ventana de tiempo que tiene cada nodo.
Por otro lado, el objetivo de este problema puede variar dependiendo del
enfoque que le de cada investigador. Dentro de los mas utilizados podemos encontrar el minimizar costo total de distancia, costo total de tiempo, cantidad de
vehculos o balanceo de rutas.

2.

Estado del Arte

Con el paso de los a


nos se han realizado innumerables aproximaciones al problema con un solo objetivo, aunque desde hace aproximadamente 10 a
nos diferentes investigadores han comenzando a realizar aproximaciones multi-objetivo,
es decir, buscando la optimizacion de dos o mas objetivos simultaneamente. En

Capacitated Vehicle Routing Problem With Time Windows

2006 Beatrice Ombuki, Brian J. Ross, Franklin Hanshar [5] propusieron encontrar soluciones al problema mediante un algoritmo genetico y un ranking de
Pareto. Para esto consideraron como objetivos la minimizacion del n
umero de
vehculos y la distancia total. Luego de realizar reiterados experimentos con las
instancias provedas por Solomon, se obtuvieron resultados parcialmente comparables con los otros estudios realizados anteriormente, aunque vara seg
un la
prioridad que se le asigna a cada uno de los objetivos.
A
nos despues, en 2008, Abel Garcia-Najera y John A. Bullinaria [2] utilizan
para la resoluci
on del CVRPTW la estrategia de density restricted genetic algorithm. En su trabajo ellos consideran como objetivos minimizar el n
umero de
vehculos y la distancia recorrida por estos. Para este caso se inicializa con soluciones aleatorias factibles, las cuales se modifican mediante operadores de cruce
simple y distintos tipos de mutacion, los cuales son insercion, swap, inversion,
split y merge. Al igual que en el paper anterior para las pruebas se utilizaron
las instancias de Solomon, obteniendo soluciones similares a las de otros trabajos. De todas formas con este planteamiento si bien no se lograron las mejores
soluciones, si se logr
o encontrar soluciones con una distancia acumulado menor
aunque el n
umero de rutas sea mas grande.
El a
no 2009, Angel Mu
noz-Zavala, Arturo Hernandez-Aguirre y Enrique
Villa-Diharce [4] proponen la utilizacion del hybrid Particle Swarm Optimization
algorithm (PSO), donde consideraron 3 objetivos a minimizar: distancia o tiempo total, tiempo total de espera y el n
umero de vehculos. El algoritmo utilizado
presenta las siguientes caractersticas: operadores de perturbacion para mantener la diversidad (C-permutation y M-permutation), topologa del anillo ligado
individualmente para favorecer la exploracion y un manejo de restricciones. Una
vez m
as, en este estudio se utilizaron las instancias de Solomon. En este caso
los resultados obtenidos son competitivos con otros resultados alcanzados con
otros algoritmos, sin embargo este es uno de los pocos que considera 3 objetivos
a diferencia del resto que solo considera 2. Por otro lado, no se obtienen buenos
resultados para instancias muy grandes.
En 2013, Ra
ul Ba
nos, Julio Ortega, Consolacion Gil, Antonio Fernandez y
Francisco de Toro [1] utilizaron el metodo de Simulated Annealing with Multiple
Temperature Pareto(MT-PSA) y un metodo paralelizado (pMT-PSA), considerando como objetivos la minimizacion de la distancia recorrida por los vehculos
y el balance de cargas. El procedimiento utilizado para ir generando las soluciones comienza asignando la ruta de un vehculo con el cliente que abre primero su
ventana de tiempo. A continuacion se iran asignando a dicha ruta los siguientes
clientes que tengan una apertura de la ventana de tiempo y que cumplan con
las restricciones del problema. Esta implementacion es llamada time window based insertion heuristic (TWIH) y permite reducir intrnsecamente el n
umero de
vehculos asignados inicialmente. Para la diversificacion de las soluciones obtenidas se implementaron 10 operadores de b
usqueda, ademas se aplico un operador
de cruce tipicamente usado por algoritmos evolutivos multiobjetivo. Para la realizaci
on de las pruebas fueron utilizadas 56 instancias de Solomon, concluyendo

Capacitated Vehicle Routing Problem With Time Windows

que con el metodo paralelizado se obtienen soluciones de buena calidad, sin aumentar el coste computacional y disminuyendo el tiempo de ejecucion.
En los u
ltimos a
nos y debido a los buenos resultados que se han obtenido con
los algoritmos geneticos en las aproximaciones multi-objetivo de problema, en
el 2014 V.Sivaram Kumar, M.R.Thansekhar, R.Saravanan, S.Miruna Joe Amali
[3] implementan el Fitness Aggregated Genetic Algorithm (FAGA), el cual es un
algoritmo genetico con una aptitud de enfoque de agregacion y operadores especializados. Los operadores utilizados para mantener un mejor aggregate fitness
value (AFV) son el de cruce de mejor costo de ruta (cruces comunes generan
soluciones no factibles) y mutacion tipo swap. El objetivo de estos operadores es
seleccionar o reproducir las mejores soluciones (alto AFV) para la siguiente etapa y reducir extremadamente la reproduccion de las soluciones con baja AFV.
En este caso se hicieron pruebas con 2 objetivos, minimizar la distancia total y
el n
umero de vehculos, y luego agregaron un tercero, el balance de ruta. Para el
primer caso se obtuvieron resultados altamente competitivos y para el segundo
se logr
o equilibrar las rutas, sin afectar los otros dos objetivos.

3.

Modelo Matem
atico

El modelo para CVRPTW que se presenta a continuacion fue propuesto por


Kumar en [3], el cual fue escogido por ser uno de los u
ltimos acercamientos al
problema y por los resultados que con este se obtuvieron. En dicho trabajo se
consideraron 3 funciones objetivos, las cuales seran planteadas en este modelo
matem
atico.
3.1.

Variables

D R+ es la distancia total recorrida por los vehculos.


K R+ es el n
umero total de vehculos o rutas.
RB R+ es el balance de la ruta.
n R+ es el n
umero de funciones objetivo.
C R+ es la capacidad de los vehculos.
N R+ es la cantidad de clientes.
Nj R+ es el n
umero de clientes ya satisfechos para la ruta j.
dj R+ es la distancia o el largo de la ruta j.
dmax R+ es la distancia o largo maximo entre las rutas.
dmin R+ es la distancia o largo mnimo entre las rutas.
tmax R+ es el tiempo maximo que puede demorar un vehculo en una ruta.
a(i,j) R+ es el tiempo de llegada al nodo i por la ruta j.
w(i,j) R+ es el tiempo de espera en el nodo i por la ruta j.

Capacitated Vehicle Routing Problem With Time Windows

s(i,j) R+ es el tiempo de servicio en el nodo i por la ruta j.


e(i,j) R+ es el tiempo lmite inferior del nodo i asociado a la ruta j.
l(i,j) R+ es el tiempo lmite superior del nodo i asocidado a la ruta j.
q(i,j) R+ es la demanda del nodo i en la ruta j.
d(i,i+1),j R+ es la distancia recorrida desde i a i + 1 por la ruta j.
t(i,i+1),j R+ es el tiempo de viaje del nodo i al i + 1 por la ruta j.
3.2.

Restricciones

La capacidad de los vehculos no debe ser superada, por lo tanto la suma de


las demandas para una ruta deben ser menor o igual a la capacidad del vehculo.
Nj
X

q(i,j) C

j = 1, 2, ..., K

(1)

i=1

El vehculo no puede exceder el tiempo de la ventana del nodo, debido a esto


la suma del tiempo de llegada con el tiempo de espera en dicho nodo debe estar
entre los lmites inferior y superior del nodo.
e(i,j) (a(i,j) + w(i,j) ) l(i,j)

j = 1, 2, ..., K

(2)

Todos los vehculos tienen que volver al nodo central dentro del tiempo lmite
superior del nodo central, por lo tanto la suma del tiempo de viaje, espera y
servicio no puede exceder dicho tiempo.
Nj
X
(t(i,i+1),j + w(i,j) + s(i,j) ) tmax

j = 1, 2, ..., K

(3)

i=0

El tiempo de espera se define como 0 si el tiempo de llegada a un nodo esta


entre los lmites de tiempo inferior y superior de dicho nodo. En otro caso, si el
tiempo de llegada es menor que el lmite de tiempo inferior del nodo, el valor que
toma es la diferencia entre el lmite inferior de tiempo y el tiempo de llegada.

0
si e(i,j) a(i,j) l(i,j)
w(i,j) =
(4)
e(i,j) a(i,j) si a(i,j) es menor que e(i,j)
Distancia que se recorre por la ruta j entre los nodos i e i + 1, la cual
corresponde a la distancia euclidiana entre ellos.

1/2
d(i,i+1),j = t(i,i+1),j = (xi xi+1 )2 + (yi yi+1 )2

(5)

La demanda, la hora de llegada, el tiempo de espera y el tiempo de servicio


en el dep
osito o nodo central es cero.
q(0,j) = a(0,j) = w(0,j) = a(0,j) = 0 j = 1, 2, ..., K

(6)

Capacitated Vehicle Routing Problem With Time Windows

Todos los vehculos deben comenzar y terminar sus rutas en el deposito o


nodo central.
Nj + 1 = 0 j = 1, 2, ..., K
3.3.

(7)

Funciones Objetivo

Como primer objetivo se debe minimizar la distancia total recorrida por los
vehculos.
Nj
K
X
X
Min D =
dj donde dj =
d(i,i+1),j
(8)
j=1

i=0

Adem
as se busca que la cantidad de vehculos utilizados sea la cantidad
mnima posible.
Min K
(9)
Finalmente, como tercer objetivo (optativo para los estudios siguientes) se
busca balancear la ruta de los vehculos.
Min RB = dmax dmin

donde

(10)

dmax = max[dj ] j = 1, 2, ..., K

donde dmin = min[dj ] j = 1, 2, ..., K

4.

Bibliografa

Referencias
1. Ra
ul Ba
nos, Julio Ortega, Consolaci
on Gil, Antonio Fern
andez, and Francisco de Toro. A simulated annealing-based parallel multi-objective approach to vehicle routing
problems with time windows. Expert Systems with Applications, 40(5):1696 1707,
2013.
2. Abel Garcia-Najera and John A. Bullinaria. A multi-objective density restricted
genetic algorithm for the vehicle routing problem with time windows. UK Workshop
on Computational Intelligence, 2008.
3. V. Sivaram Kumar, M.R. Thansekhar, R. Saravanan, and S. Miruna Joe Amali.
Solving multi-objective vehicle routing problem with time windows by faga. Procedia
Engineering, 97:2176 2185, 2014. 12th Global Congress on Manufacturing and
Management {GCMM} - 2014.
4. Angel Mu
noz-Zavala, Arturo Hern
andez-Aguirre, and Enrique Villa-Diharce. Swarm
Intelligence for Multi-objective Problems in Data Mining, chapter Particle Evolutionary Swarm Multi-Objective Optimization for Vehicle Routing Problem with Time
Windows, pages 233257. Springer Berlin Heidelberg, Berlin, Heidelberg, 2009.
5. Beatrice Ombuki, Brian J. Ross, and Franklin Hanshar. Multi-objective genetic
algorithms for vehicle routing problem with time windows. Applied Intelligence,
24(1):1730.