Está en la página 1de 8

CONTECSI 1

7, 8 Y 9 DE SEPTIEMBRE 2005
INSTITUTO TECNOLGICO DE LEN
ConTECSI
PRIMER CONGRESO NACIONAL DE TECNOLOGAS
COMPUTACIONALES Y SISTEMAS DE INFORMACIN
Len, Gto., 7, 8 y 9 de Septiembre del 2005

Evaluacin del Desempeo de Metaheursticas


Aplicadas al VRPTW
Laura Cruz, Guadalupe Castilla, Juan A. Herrera, Carlos Camacho

Departamento de Estudios de Posgrado e Investigacin en Ciencias de la Computacin,


Instituto Tecnolgico de Cd. Madero, Juventino Rosas y Jess Urueta Col. Los Mangos,
Cd. Madero, Tam. {lauracruzreyes, jgvaldez50, juanarturo_, camachoaca}@hotmail.com

Resumen En el Problema del Enrutado de Vehculos, perteneciente a la clase NP-duro, debe


determinarse un conjunto de rutas para una flotilla de vehculos, visitando cierta cantidad de clientes
geogrficamente dispersos y satisfaciendo sus demandas. Esta investigacin aborda una variante que
incluye Ventanas de Tiempo, incorporando periodos de servicio a cada cliente, y restringiendo la
capacidad del vehculo y el tiempo de atencin del cliente. A diferencia del enfoque tradicional que
trata de establecer un balance entre el nmero de vehculos y el tiempo de viaje, este trabajo se centra
en disminuir el nmero de vehculos asignando tantos clientes como sea posible a una misma unidad,
situacin deseable en muchas empresas. Se expone el desarrollo y comparacin del rendimiento
obtenido por cuatro algoritmos metaheursticos para resolver un conjunto de instancias estndar:
GRASP, Recocido Simulado, Algoritmo Gentico y Sistema de Colonia de Hormigas, obtenindose con
ste ltimo una ventaja del 14% con respecto a la mejor solucin reportada.

Abstract In the Vehicle Routing Problem, which belongs to NP-hard class, a set of routes for a
fleet of vehicles must be determinate, visiting a specific number of clients geographically dispersed and
satisfying their demands. This research studies one variant with Time Windows, adding periods of
service time for each client, and restricting the vehicle load capacity and the specific time to attend the
client. Different from traditional approach, which try to establish balance between the vehicles
number and traveling time, this work is centered on minimize the total number of vehicles, assigning as
clients as possible to one vehicle, this situation is desirable for many companies. This document exhibit
development and performance evaluation for four metaheuristics algorithms to solve a well-known
benchmark: GRASP, Simulated Annealing, Genetic Algorithm and Ant Colony System, getting with
the last one 14% of improvement against the best reported solution.

Palabras clave Algoritmos Genticos, GRASP, Recocido Simulado, Sistema de Colonia de Hormigas,
VRP.

I. INTRODUCCIN

L A PROGRAMACIN y enrutado de vehculos ha sido de gran inters para la comunidad


cientfica en los ltimos 50 aos debido a los beneficios que traera el poder encontrar una
solucin ptima, pese a la complejidad inherente que esta situacin involucra.
El Problema del Enrutado de Vehculos (Vehicle Routing Problem VRP) perteneciente a la
clase NP-duro [1], es el nombre que comprende toda una clase de problemticas, en las que una
configuracin de rutas para una flotilla de vehculos (asociada a uno o ms centros de embarque)
debe ser determinado, visitando un conjunto de clientes dispersos (Figura. 1).
CONTECSI 2
7, 8 Y 9 DE SEPTIEMBRE 2005
INSTITUTO TECNOLGICO DE LEN

Clientes

Centro de
Embarque
Clientes

Figura 1. Ejemplo de VRP.

El objetivo primordial del VRP, como lo plante Dantzing [2] por primera vez (llamndolo The
Truck Dispatching Problem El Problema del Envo de Camiones), es satisfacer las demandas
conocidas de los clientes mediante uno o varios circuitos que inician y terminan en el centro de
embarque. Como cada camin es asociado a una ruta o circuito, se persigue minimizar la cantidad
de vehculos empleados.
El presente trabajo forma parte de un proyecto para solucionar problemas de programacin,
enrutado y carga de vehculos que se desarrolla para el sector productivo nacional. A pesar de que
existen herramientas comerciales, stas no satisfacen por completo las necesidades de muchas
compaas. El sistema de solucin que esta en proceso de desarrollo contempla adems de la
formacin de rutas, la distribucin del producto dentro de los vehculos, respetando restricciones de
peso (de las camas) y balanceo de la carga del vehculo para lograr estabilidad. Dicho sistema
logstico utiliza un enfoque de solucin metaheurstico. ste artculo reporta los resultados iniciales
de la investigacin con el objetivo de identificar la viabilidad de cuatro de los algoritmos heursticos
ms conocidos.
La seccin 2 presenta una descripcin formal del VRP, en la seccin 3 se detallan las cuatro
tcnicas implementadas, la seccin 4 esboza la experimentacin y finalmente las conclusiones son
expuestas en la seccin 5.

II. EL VRP
El VRP se compone por un centro de embarque, una flotilla de m vehculos disponibles y un
conjunto de n clientes a visitar, los cuales se relacionan geogrficamente mediante un grafo G(V, E),
donde:
V = {v0 , v1 , v2 ,..., vn } es el conjunto de vrtices vi , 1 i n , que representan los
clientes y v0 el centro de embarque.
- Todo cliente tiene una demanda qi a satisfacer por el centro de embarque.
E = {(vi , v j ) | vi , v j V i j} es el conjunto de arcos.
- Cada arco tiene asociado un valor cij que representa el costo de transporte de vi
a vj .
La tarea a resolver es determinar un conjunto R de rutas de costo total mnimo, que inician y
terminan en el centro de embarque, donde cada vrtice vi V \ {v0 } es visitado slo una vez y la
longitud de cada ruta debe ser menor o igual a L (umbral de longitud definido con base en el tiempo
CONTECSI 3
7, 8 Y 9 DE SEPTIEMBRE 2005
INSTITUTO TECNOLGICO DE LEN

de entrega). El objetivo primordial es obtener una configuracin con la mnima cantidad de


vehculos satisfaciendo las demandas de todos los clientes.
Debido al alto nivel de relajacin con que cuenta la definicin original de VRP, se han
desarrollado a lo largo del tiempo diversas variantes de este problema, cada una de las cuales
propone una restriccin adicional al planteamiento, incrementando al mismo tiempo tanto la
dificultad como la cercana con un modelo real. A continuacin se describen dos de las variantes
ms comunes que se encuentran en la literatura.

A. VRP Capacitado
(Capacitated VRP CVRP). Esta variante analizada por [3] cuenta con un nmero ilimitado de
vehculos, cada uno de los cuales poseen una misma capacidad de carga que es mayor a la demanda
de cualquier cliente. La restriccin incorporada es que la suma de la demanda de los clientes que
son visitados en una trayectoria no debe exceder la capacidad del vehculo. El objetivo es encontrar
un conjunto de rutas tal que minimice la distancia total recorrida.

B. VRP con Ventanas de Tiempo


(VRP with Time Windows VRPTW). [4] aborda el VRPTW cuya descripcin es similar al
CVRP, la diferencia es que adiciona ventanas de tiempo en los clientes (lapsos de tiempo dentro de
los cuales es posible atender a los vehculos) y un tiempo de servicio global en el centro de
embarque. El problema es multiobjetivo manipulndose de manera jerrquica:
Minimizar el nmero de vehculos utilizados.
Minimizar el tiempo total de viaje y de espera necesario para proveer a todos los clientes.
Por lo que una solucin con x cantidad de vehculos y wx tiempo de viaje es preferida sobre otra
con y cantidad de vehculos y wy tiempo de viaje, si x < y, inclusive si wy < wx.
Sobre esta ltima variante se centra el presente trabajo, para su solucin se desarrollaron las tres
metaheursticas descritas en la siguiente seccin. Debido a que para el proyecto en el que se labora
actualmente la reduccin del nmero de vehculos a emplear es apremiante, a causa de las distintas
erogaciones que stos producen a una compaa, el objetivo de los algoritmos implementados se
enfoca sobre la utilizacin extenuante de cada unidad mvil, es decir asignar tantos clientes a visitar
a una misma ruta como sea posible, minimizando en primera instancia el nmero de vehculos y
dejando la disminucin del tiempo de viaje para un trabajo futuro.

III. DESCRIPCIN DE METAHEURSTICAS IMPLEMENTADAS PARA VRPTW


Casi cualquier mtodo heurstico necesita una solucin inicial para poder comenzar su proceso de
bsqueda y optimizacin. La rutina constructiva utilizada para la creacin de una configuracin
inicial de rutas en los algoritmos de Recocido Simulado, Sistema de Colonia de Hormigas y
Algoritmo Gentico implementados fue el enfoque del Vecino ms Cercano (Nearest Neighbour
NN), el procedimiento se esboza en la Figura 2.

A. Algoritmo GRASP
El Procedimiento de Bsqueda vido, Aleatorio y Adaptativo (Greedy Randomized Adaptative
Search Procedure GRASP) es un proceso iterativo, donde cada ciclo consta de dos fases:
Construccin, la solucin inicial tentativa es creada en esta fase.
Procedimiento de bsqueda local, cuya tarea es tratar de mejorar la solucin encontrada
en la fase anterior mediante un procedimiento de intercambio hasta lograr un ptimo
local.
CONTECSI 4
7, 8 Y 9 DE SEPTIEMBRE 2005
INSTITUTO TECNOLGICO DE LEN

Algoritmo NN()
1. Seleccionar aleatoriamente un nodo vi V \ {v0 }
2. j = 1, k = i
3. while $vi V \ {v0 } sin visitar
4. if $v | d (v , v ) = min(d (v , v )) and factible
i k i k i
vi V

5. R j vi
6. else
7. R j v 0, j j + 1, Rj v0
8. endif
9. end

Figura 2. Pseudocdigo del NN

El algoritmo GRASP implementado para VRPTW crea una solucin inicial factible con base en
una Lista de Restringida de Candidatos (List Candidated Restricted LCR), donde se ubican todos
los nodos o clientes que pueden ser visitados sin violar las restricciones de carga (satisfacer la
demanda con la carga actual) y tiempo (atender al cliente dentro de su ventana de tiempo), con una
distancia relativamente cercana al nodo actual definida por un parmetro de aptitud de la lista de
candidatos. Si la LCR se vuelve vaca en algn momento dado, significa que ningn otro cliente
puede ser alcanzado por el vehculo actual, por lo que se debe cerrar la ruta regresando al centro de
embarque y comenzar una nueva en caso de que existan ms nodos sin visitar.
Debido a la complejidad del problema se elige la vecindad por intercambio de posicin entre dos
clientes elegidos aleatoriamente en la solucin.

B. Algoritmo Recocido Simulado


El Recocido Simulado (Simulated Annealing SA) se basa en una analoga con un proceso de la
mecnica estadstica para obtener estados de baja energa en un slido mediante un bao trmico,
esto se simula mediante el algoritmo de Metrpolis, basado en tcnicas de Monte Carlo, donde el
equilibrio trmico a una determinada temperatura se consigue mediante la generacin de un elevado
nmero de transiciones, utilizando la distribucin de Boltzmann para describir el equilibrio trmico.
El SA puede ser visto como un proceso iterativo de algoritmos de Metrpolis que se van ejecutando
con valores decrecientes del parmetro de control de temperatura.
La versin de SA implementada es montona y con la particularidad de incluir una bsqueda
local similar al GRASP. La temperatura inicial se calcula considerando soluciones 15% peores que
la actual aproximadamente el 40% de las veces.

C. Sistema de Colonia de Hormigas


La Optimizacin basada en Colonia de Hormigas (Ant Colony Optimization ACO) es un
enfoque inspirado en el comportamiento de las hormigas para encontrar los caminos ms cortos
entre las fuentes de comida y el hormiguero. Todos los algoritmos ACO emplean:
Informacin heurstica, que mide la predileccin por recorrer la arista comprendida entre vk y vi
(se denota por h ki ).
Informacin de los rastros de feromona artificial (tambin llamada funcin de visibilidad), que
calcula la preferencia aprendida del movimiento de vk a vi, este conocimiento adquirido se modifica
durante la ejecucin del algoritmo dependiendo de las soluciones encontradas (se denota por t ki ).
Uno los primeros algoritmos ACO desarrollados fue el Sistema de Hormigas (Ant System AS),
sin embargo para la presente investigacin se empleo una evolucin del AS, el Sistema de Colonia
de Hormigas (Ant Colony System ACS), el cual cuenta con las siguientes tres caractersticas
principales:
CONTECSI 5
7, 8 Y 9 DE SEPTIEMBRE 2005
INSTITUTO TECNOLGICO DE LEN

Manipula una regla de transicin denominada regla proporcional pseudo-aleatoria. Sea x


una hormiga situada en el nodo vk, q0[0,1] un parmetro de aleatoriedad y q un valor
aleatorio [0,1], el siguiente nodo i se elige aleatoriamente mediante la distribucin de
probabilidad de las expresiones 1 y 2:
Si q q0
pkix = arg max{t kihkib } Si vi V \ {v0} sin visitar (1)
vi V\{v0 }
sino
t kih kib
Si v i V \ {v 0 } sin visitar
p kix = t kih ki
b
(2)
v V \{v0 }
i
0 en otro caso
Donde b es la importancia relativa de la informacin heurstica. La regla tiene dos
posibilidades: cuando q q0 , utiliza el conocimiento disponible, eligiendo la mejor
opcin con respecto a la informacin heurstica y los rastros de feromona. Sin
embargo, si q > q0 se aplica una bsqueda explorativa, estableciendo un equilibrio
entre la indagacin de nuevas conexiones y el uso de la informacin aprendida.
Se realiza una actualizacin global de feromona fuera de lnea. Para llevarla a cabo slo
se considera aquella hormiga que gener la mejor solucin. La actualizacin se hace
primero evaporando los rastros de feromona en todas las aristas utilizadas por la mejor
hormiga y aadiendo un valor determinado por la efectividad de la solucin encontrada
(expresin 3).
t ki (1 - r )t ki + rDt ki (3)
donde r[0,1] es la tasa de evaporacin.
Las hormigas aplican una actualizacin en lnea paso a paso de los rastros de feromona
que favorece la generacin de soluciones distintas a las ya encontradas. Cada vez que una
hormiga viaja por una arista comprendida entre vk y vi aplica la expresin 4:
t ki (1 - r )t ki + rt 0 (4)
Para el ACS diseado se utiliza el inverso de la distancia de las aristas como la informacin
heurstica, el incremento en la actualizacin global (Dt ki) se realiza mediante el inverso de la
longitud de la solucin global ms corta generada por las hormigas, el rastro de feromona (t 0)
empleado en la actualizacin local es el inverso del producto de la longitud de la solucin global
ms corta generada y el nmero de nodos visitados.

D. Algoritmo Gentico
El Algoritmo Gentico (Genetic Algorithm GA) implementado utiliza un cromosoma de
longitud n, donde n representa el nmero de clientes involucrados en la solucin, dicho cromosoma
es una permutacin de los distintos clientes, al analizarla se construye la solucin que representa,
determinando la cantidad de vehculos a emplear y la distancia recorrida. La mutacin se realiza por
intercambio recproco de dos alelos del cromosoma.

IV. EXPERIMENTACIN
El rendimiento de los cuatro algoritmos desarrollados: GRASP, SA, ACS y GA fue verificado
con un conjunto ampliamente usado para validar modelos VRPTW, el benchmark de Solomon [5]
CONTECSI 6
7, 8 Y 9 DE SEPTIEMBRE 2005
INSTITUTO TECNOLGICO DE LEN

conformado por 56 instancias de 6 tipos diferentes (C1, C2, R1, R2, RC1, RC2) con 100 nodos cada
una. Las caractersticas de cada clase de instancia se muestran en la Tabla I.

TABLA I
CLASIFICACIN DE LAS INSTANCIAS DE SOLOMON.
Tipo de Localizacin de los
Caractersticas Adicionales
Instancia Clientes
Agrupados en cmulos Ventanas de tiempo apretadas y
C1 dentro de un rea. poca capacidad de carga en los
vehculos.
Agrupados en cmulos Ventanas de tiempo amplias y
C2 dentro de un rea. gran capacidad de carga en los
vehculos.
Uniformemente Ventanas de tiempo apretadas y
R1 distribuidos sobre un rea poca capacidad de carga en los
cuadrada. vehculos.
Uniformemente Ventanas de tiempo amplias y
R2 distribuidos sobre un rea gran capacidad de carga en los
cuadrada. vehculos.
Combinacin de cmulos Ventanas de tiempo apretadas y
RC1 y distribucin uniforme. poca capacidad de carga en los
vehculos.
Combinacin de cmulos Ventanas de tiempo amplias y
RC2 y distribucin uniforme. gran capacidad de carga en los
vehculos.

La experimentacin se realiz con lo siguientes valores de parmetros:


Para el GRASP la aptitud de la lista de candidatos fue 0.9, la bsqueda local se detiene
tras la generacin de 10 soluciones vecinas sin xito y la cantidad mxima de iteraciones
es 300.
En el SA la temperatura inicial y final fueron 100 y 15 respectivamente, la cantidad de
iteraciones 175 y el factor de enfriamiento geomtrico 0.995.
El ACS utiliz 10 hormigas por generacin, 5 generaciones de hormigas y 30 colonias,
q0 = 0.9 , b = 2 , r = 0.1 y el valor inicial de la informacin de feromona artificial fue
0.01.
El GA emplea una probabilidad de mutacin de 0.3%, una probabilidad de seleccin no
determinista de 99%, 70 individuos y 300 generaciones.
Los algoritmos fueron codificados en C# y probados en una computadora con Procesador Xeon
3.06 Ghz de velocidad, 3.87 Gb de RAM, bajo plataforma Windows Server 2003 y ejecutados 30
veces para cada instancia.
La Figura 3 grafica el rendimiento en cuanto a minimizacin de vehculos de GRASP, SA, ACS
y GA con cada uno de los seis tipos de instancias de Solomon.
La Tabla II esboza la desviacin estndar y tiempo de ejecucin promedio de cada algoritmo
desarrollado, los resultados se encuentran ordenados con base la desviacin estndar.
CONTECSI 7
7, 8 Y 9 DE SEPTIEMBRE 2005
INSTITUTO TECNOLGICO DE LEN

GRA SP GRA SP
30 14
SA SA
GA GA
12
25 A CS A CS

Cantidad de Vehculos
Cantidad de Vehculos
10
20
8
15
6
10
4

5 2

0 0
Instancias R1 Instancias R2

GRA SP GRA SP
18 9
SA SA
16 GA 8 GA
A CS A CS
14 7

Cantidad de Vehculos
Cantidad de Vehculos

12 6

10 5

8 4

6 3
4 2
2 1

0 0
Instancias C1 Instancias C2

GRA SP GRA SP
20 12
SA SA
18 GA GA
A CS 10 A CS
16
Cantidad de Vehculos
Cantidad de Vehculos

14 8
12
10 6
8
4
6
4
2
2
0 0
Instancias RC1 Instancias RC2

Figura 3. Rendimiento de los algoritmos implementados contra instancias de Solomon.

TABLA II
DESVIACIN ESTNDAR Y TIEMPO DE EJECUCIN PROMEDIO DE LOS
ALGORITMOS DESARROLLADOS PARA VRPTW.
Algoritmo Desviacin Tiempo de Ejecucin
Estndar Promedio Promedio
ACS 0.035 5.52 segundos
SA 0.220 33.67 segundos
GRASP 0.265 20.84 segundos
GA 0.527 56.42 segundos
CONTECSI 8
7, 8 Y 9 DE SEPTIEMBRE 2005
INSTITUTO TECNOLGICO DE LEN

La Tabla III muestra una comparacin de los cuatro algoritmos desarrollados contra cuatro de los
mejores mtodos conocidos, donde se provee una columna para el promedio de vehculos usados
por cada tipo de instancia, y la columna final muestra un promedio de vehculos empleados para el
conjunto total de instancias. Los mtodos considerados son: un heurstico determinista de Bsqueda
Variable en el Vecindario de Brysy [6], un Algoritmo Gentico Hbrido de Berger [7], un
algoritmo Gentico de Homberger [8] y un Sistema de Colonia de Hormigas Multiobjetivo de
Gambardella [9]. Los resultados de la Tabla III estn ordenados con base en el promedio general de
vehculos.

TABLA III
PROMEDIO DE MEJORES SOLUCIONES OBTENIDOS POR LOS ALGORITMOS DESARROLLADOS Y CUATRO DE LOS
MEJORES MTODOS CONOCIDOS PARA VRPTW.
Promedio
Algoritmo R1 R2 C1 C2 RC1 RC2
General
ACS 9.00 2.18 10.00 3.00 9.75 2.37 6.05
Brysy 11.92 2.73 10.00 3.00 11.50 3.25 7.06
Berger 11.92 2.73 10.00 3.00 11.50 3.25 7.06
Homberger 11.92 2.73 10.00 3.00 11.63 3.25 7.08
Gambardella 12.00 2.73 10.00 3.00 11.63 3.25 7.10
SA 13.62 5.42 10.76 4.00 13.10 6.23 8.85
GRASP 14.16 5.27 11.13 4.82 13.00 6.12 9.08
GA 13.79 6.24 12.99 5.45 14.34 7.05 9.98

V. CONCLUSIONES
El presente trabajo muestra el desarrollo y pruebas de cuatro metaheursticas: GRASP, SA, ACS
y GA para resolver el VRPTW, previamente explicado, con el objetivo de minimizar la cantidad de
vehculos a emplear. Con base en la experimentacin detallada, es posible concluir que el algoritmo
ms eficiente result ser ACS en contraste con GRASP, SA y GA implementados, pues en la
mayora de los casos logr obtener la mejor solucin, y en el resto estuvo dentro de los mejores
(Figura 3); adems los valores expuestos en la Tabla II permiten asegurar que la variabilidad de los
resultados (desviacin estndar promedio) ofrecidos por ACS es mnima.
Finalmente al comparar las metaheursticas implementadas con los mejores mtodos conocidos
en la literatura especializada (Tabla III), se observa que el ACS obtuvo una mejora de 1.01
vehculos (14%) sobre el mejor reportado para la solucin de instancias de Solomon.

REFERENCIAS

[1] M.W.P. Savelsbergh, Local search in routing problems with time windows, Annals of Operations Research, 1985, unpublished.
[2] G. B. Dantzing and J.H. Ramser, The Truck Dispatching Problem Management Sciences, 1959, unpublished.
[3] P. Shawn, Using Constraint Programming and Local Search Methods to Solve Vehicle Routing Problems, Proc. 4th Intl Vehicle
Routing Conference on Principles and Practice of Constraint Programming. Springer-Verlag, 1998, pp. 417-431.
[4] J.F. Cordeau et al., The VRP with Time Windows, tech. report, Mathematics and Industrial Engineer Department, Montreal
Polytechnique School, 2000.
[5] M. Solomon, Algorithms for the Vehicle Routing and Scheduling Problem with Time Window Constraints Operations Research,
1987, unpublished.
[6] O. Brysy, A Reactive Variable Neighborhood Search Algorithm for the Vehicle Routing Problem with Time Windows, tech. report
STF42 A01025, Optimization Department, SINTEF Applied Mathematics, 2001.
[7] J. Berger et al., A Parallel Hybrid Genetic Algorithm for the Vehicle Routing Problem with Time Windows, tech. report, Defence
Research Establishment Valcartier, 2001.
[8] J. Homberger and H. Gehring, Two Evolutionary Meta-heuristics for the Vehicle Routing Problem with Time Windows, tech. report
37297318, 1999.
[9] L.M. Gambardella et al., MACS-VRPTW: A Multiple Ant Colony System for Vehicle Routing Problems with Time Windows, tech.
report IDSIA-06-99, IDSIA, 1999.

También podría gustarte