Você está na página 1de 16

A Guided Tabu Search for the Vehicle Routing Problem with twodimensional loading constraint

Se presenta una metodologa metaheurstica para el problema de rutas de vehculos capacitados con limitaciones de carga de dos dimensiones (2L-CVRP). 2L-CVRP es una generalizacin del problema de Ruteo de Vehculos con Capacidades, en los que se forma la demanda del cliente por un conjunto de dos dimensiones, elementos rectangulares, ponderados. El propsito de este problema es encontrar rutas de coste mnimo, empezando y terminando en un punto central, para satisfacer la demanda de los clientes. Por otra parte, los elementos transportados deben poder ser colocados en la superficie de carga de los vehculos. Se propone un algoritmo metaheurstico que incorpora la lgica de la Bsqueda Tab y bsqueda local guiada. Los aspectos de carga del problema se abordan con una coleccin de heursticas de empaquetado. Para acelerar el proceso de bsqueda, podemos reducir el rea explorado, y emplear una estructura de memoria para registrar la informacin de la carga factible. La eficacia del algoritmo metaheurstico propuesto fue probada en casos de referencia y condujo a varias de las nuevas mejores soluciones encontradas hasta el momento.

1. Introduccin
En este trabajo se aborda una variante de la versin estndar del problema de enrutamiento de vehculos (VRP) (Toth y Vigo, 2002), llamado el problema de enrutamiento de vehculos con capacidades limitadas de carga de dos dimensiones (2L-CVRP) (Iori et al., 2007; Iori, 2005; Gendreau et al., in press). Aunque 2L-CVRP es un problema prctico, que a menudo surge en el mbito de la logstica de transporte, slo recientemente los investigadores publicaron los enfoques de su primera solucin. La versin estndar del CVRP es un problema de optimizacin NP-completo, que consiste en determinar el conjunto ptimo de rutas para una flota homognea de vehculos necesarios para servir un conjunto de clientes con demandas (pedidos) conocidas. Las rutas diseadas deben originar y terminar en la estacin central y satisfacer totalmente a la demanda (peticin) de los clientes. Cada cliente debe ser visitado una nica vez por un slo vehculo. La demanda total del conjunto de clientes, cubiertos por una ruta, no debe superar la carga mxima de los vehculos. El problema examinado en el presente documento (2L-CVRP) es una generalizacin de CVRP, ya que considera la demanda de los clientes en forma de artculos en dos dimensiones, rectangular y pesado. El 2L-CVRP se puede reducir a la CVRP mediante el establecimiento de las dimensiones de los elementos iguales a cero y tratar slo con sus atributos de peso. El objetivo de la 2L-CVRP es generar un conjunto de rutas que respeten las limitaciones CVRP mencionadas, y adems garantizar la posible carga/descarga de los elementos en/de los vehculos. Se consideran dos versiones del 2L-CVRP: el irrestricto que slo se ocupa de que la carga sea posible en los vehculos, y el secuencial que tenga en cuenta las limitaciones de carga y descarga, tal como se describen en las secciones siguientes. Cargar los elementos de dos dimensiones en los vehculos est estrechamente relacionado con el problema de empaquetado bidimensional (2BPP). 2BPP es un problema NP-difcil de optimizacin combinatoria que tiene como objetivo empaquetar un conjunto dado de elementos rectangulares en el nmero mnimo de contenedores rectangulares idnticos (Baker et al., 1980; Chazelle, 1983; Martello and Vigo, 1998; Lodi et al., 1999; Burke et al., 2004; Fekete et al., 2007). El 2L-CVRP es un problema particularmente importante. Su importancia se puede atribuir al hecho de que se trata de un problema interesante, tanto desde el punto de vista terico como desde el punto de vista prctico. Desde el punto de vista terico, 2L-CVRP consta de dos problemas de optimizacin NP-difcil (CVRP y 2BPP), que adems es un reto NP-difcil de alta complejidad. En cuanto a su importancia prctica, 2L-CVRP tiene un valor comercial evidente. Una gran variedad de aplicaciones reales en el contexto de la gestin de distribucin consiste en el transporte de los elementos rectangulares que no se pueden apilar, debido a su peso o fragilidad (electrodomsticos, delicadas piezas de muebles, etc.) Para mejorar nuestro conocimiento, slo dos mtodos algortmicos se han propuesto para el 2L-CVRP. Iori (2007) ha desarrollado una metodologa exacta que utiliza un algoritmo branch-and-cut (ramificacin y corte) para

hacer frente a las caractersticas de enrutamiento del problema y un procedimiento de branch-and-bound (ramificacin y poda) para garantizar la carga de los artculos en el vehculo. Esta metodologa para la solucin exacta se aplica a los problemas con un mximo de 30 clientes y 90 artculos. Dado que, en condiciones prcticas, la magnitud del problema tiende a ser ms grande, Gendreau ha centrado su inters en los enfoques metaheursticos para resolver los grandes problemas 2L-CVRP. En particular, su metodologa algortmica emplea la Bsqueda Tab para los aspectos de enrutamiento del problema. Los clientes son reubicados a travs de la heurstica de GENI (Gendreau et al., 1992). Para garantizar la viabilidad de carga, se resuelve la parte bidimensional del problema (Martello et al., 2003). In their work, they provide 180 problem instances with diverse characteristics as far as the size of the customer set and the number of demanded items are concerned. Except for the CVRP with twodimensional constraints, researchers have recently addressed routing problem extensions considering the transportation of three-dimensional items (Gendreau et al., 2006; Moura and Oliveira, 2007). El propsito de este trabajo es presentar una metodologa metaheurstica eficaz y eficiente diseado para el llamado 2L-CVRP Bsqueda Tabu guiada (Guided Tabu search - GTS). En cuanto a los aspectos de enrutamiento del problema examinado, el algoritmo explora el espacio de soluciones mediante el empleo de una estrategia de bsqueda basado en Bsqueda Tab, guiada por un mecanismo de alteracin de la funcin objetivo. Este mecanismo de gua induce a la diversificacin y la ayuda en el proceso de bsqueda para cubrir vastas reas del espacio de soluciones. Para garantizar la carga posible de los elementos en los vehculos, contamos con heursticas de empaquetado que tienen como objetivo producir diversos diseos de embalaje. Para acelerar nuestra metodologa, la informacin de viabilidad de carga obtenida a travs del progreso de bsqueda se almacena en una estructura de memoria. El enfoque de solucin propuesta fue probado con xito en un giro de 180 datos de referencia 2L-CVRP conjunto presentado por Gendreau y encontraron varias nuevas y mejores soluciones.

2. El Problema
Despus de la descripcin de Gendreau (en prensa), 2L-CVRP se define de la siguiente manera: Sea G = (N, A) un grafo no dirigido, donde N es el conjunto de vrtices que contiene el almacn central y los clientes n, y A = {(i,j): i, j N, i j} es el conjunto de aristas del grafo. Con cada arco (i,j) A se asocia un costo cij que se corresponde con el coste exigido para la transicin de i a j. En el depsito central, una flota de vehculos homogneos vh est disponible. Cada vehculo tiene un soporte de carga mxima igual a Q y una superficie de carga rectangular de longitud L y anchura W. La demanda de cada cliente i se compone de un conjunto iti de mi elementos rectangulares de peso conocido. Cada item iik (k = 1, 2, , mi) del conjunto iti tiene longitud lik y ancho wik (que corresponde a la altura y el ancho en el trabajo de Gendreau (En prensa)). Ai denota la superficie total de todos los elementos de iti. Los artculos deben ser colocados en la superficie de carga sin ser girados: sus extremidades (l y w) deben ser paralelas a los bordes (L y W) de la superficie del vehculo, respectivamente. Este modelo de restriccin de los casos prcticos de carga automtica, fija la orientacin de carga. 2L-CVRP tiene como objetivo determinar el mnimo coste conjunto de rutas que satisfacen las siguientes restricciones: (a) el tamao del conjunto de rutas generada no exceda el nmero de vehculos disponibles vh (como mucho una ruta por vehculo), (b) cada ruta se inicia y termina en el depsito central, (c) la demanda de cada cliente est totalmente cubierta, (d) cada cliente es visitado una nica vez, (e) el peso total de todos los elementos exigidos por el conjunto de clientes cubiertos por una ruta no debe exceder la capacidad Q de los vehculos y (f) se debe poder cargar (sin superposiciones) todos los elementos exigidos por el conjunto de clientes cubiertos por una ruta en la superficie de carga L x W de los vehculos. Como se ha comentado anteriormente, este documento estudia dos versiones del 2L-CVRP: el 2L-CVRP irrestricto y el 2L-CVRP secuencial estudiado en el trabajo de Iori (2007). La versin irrestricta est formada por las 6 restricciones vistas anteriormente (a-f). La versin secuencial tiene una restriccin ms, llamada restriccin de secuencia e impone: no debe haber ningn elemento del cliente j, visitado despus del cliente i, entre los elementos del cliente i y la puerta de carga del vehculo. La restriccin de secuencia se plantea en la prctica, cuando no es posible mover elementos en el interior del vehculo, debido a su peso o fragilidad. En estos casos, la descarga de cada elemento debe llevarse a cabo sin ningn tipo de reposicionamiento de otros artculos.

Ilustracin 1 La Ilustracin 1 nos da ejemplos de cargas en las dos versiones: irrestricta y secuencial. En particular, la figura. 1 muestra una ruta visitando a tres clientes 1-3. Cliente 1 demanda los artculos I11, I12 e I13, el cliente 2 los artculos I21 y I22 y el cliente 3 demanda los artculos I31 y I32. La posicin (0, 0) corresponde a la esquina frontal izquierda de la superficie de carga. La posicin de un elemento se expresa como el par de coordenadas (wpos, Lpos) donde wpos indica la posicin del eje W y Lpos indica la posicin L-eje de la esquina del elemento frontal izquierda. En la carga A, por ejemplo, el elemento I22 se colocar en la posicin (0,0). La carga A es un empaquetado irrestricto posible, pero que viola la restriccin que plantea para la versin secuencial del problema. Para ser precisos, el elemento I32 impide la descarga de los artculos I12 y I22, mientras que el tem I31 impide la descarga del artculo I22. Por otro lado, la carga B es una carga posible tanto para la versin irrestricta como para la secuencial. Los artculos I11, I12 y I13 son las primeras en ser descargadas, seguido por I21 y I22, y finalmente I31 y I32.

3. El Algoritmo Propuesto
Debido a la alta complejidad tanto de VRP y las variantes de BPP, metodologas exactas pero inaplicables para casos a gran escala de 2L-CVRP, que a menudo surgen en la prctica, nuestro inters debe centrarse en las metodologas metaheursticas que son capaces de producir las mejores soluciones en tiempo de clculo razonable. Estudios analticos sobre enfoques de la solucin diseada para el VRP fueron publicadas por Gendreau (2002) y Cordeau (2004). Como se mencion en la primera seccin, en cuanto a los aspectos de enrutamiento del 2L-CVRP, nuestro marco algortmico explora el espacio de soluciones mediante el empleo de Bsqueda Tab combinado con un mecanismo de gua que se basa en los principios de Bsqueda Local Guiada (Voudouris y Tsang, 1996). Esta estrategia gua los controles de la funcin objetivo del problema, penalizando las caractersticas de baja calidad presentes en la solucin actual. En cuanto a las limitaciones de carga del problema, hemos diseado una heurstica de empaquetado que producen diversas estructuras de embalaje con el fin de generar una carga posible de los elementos en la superficie de carga.

3.1.Paquete de heursticas de empaquetado


Para determinar si una ruta-secuencia de los clientes es factible en trminos de las limitaciones de carga de los problemas examinados, se ha diseado cinco heursticas de empaquetado. Dada una secuencia de clientes rt, y su correspondiente juego de artculos ISrt, dichas heursticas tratan de generar diversas estructuras de embalajes con el fin de aumentar la probabilidad de obtener una carga posible. Si ninguna de las heursticas de embalaje puede producir una carga posible, se considera que la ruta examinada viola las restricciones de carga del problema. En particular, dada una ruta, el procedimiento de embalaje se inicia mediante la generacin de dos ordenamientos (OrdSeq, OrdUn) para todos los artculos exigidos por el conjunto de clientes cubiertos por esta ruta. El trmino visit order (orden de visita) denota la posicin de un cliente y de sus correspondientes artculos dentro de su ruta. Por ejemplo, en la ilustracin 1, el cliente 3 es el tercero a ser visitado por el vehculo, por lo tanto la orden de visita del

cliente 3 y sus artculos I31 y I32 es igual a 3. Las rdenes OrdSeq son ms adecuadas para el secuencial 2L-CVRP, y son producidas por la ordenacin de todos los elementos transportados por la ruta, por orden decreciente de visita, disminuyendo el rea de superficie de carga. Las rdenes OrdUn son ms adecuadas para la versin sin restricciones del problema (2L-CVRP) y se generan simplemente ordenando los elementos en funcin de la disminucin de la superficie de carga. Usando la primera heurstica de embalaje, y empezando por el primer elemento tras la ordenacin, se seleccionan los siguientes elementos a ser insertados en la superficie de carga. El trmino posList representa una lista de posiciones de carga disponibles para los elementos. En un principio, la nica posicin de carga disponible se encuentra en la esquina frontal izquierda (0, 0) del vehculo, por lo que posList = {(0, 0)}. Cada vez que un elemento se inserta, su posicin de carga, se borra de la posList, mientras que un mximo de cuatro nuevas posiciones de carga se generan y se agregan a la posList. De esta manera, las posiciones de los agujeros que se pueden crear entre los objetos colocados se almacenan en el posList y puede ser ms tarde, cubierta por los artculos siguientes. La Ilustracin 2 representa de forma esquemtica el mecanismo de insercin de un elemento: el artculo E es seleccionado para ser insertado en la posicin de carga (wC, LA). Cuando E se inserta, dicha posicin deja de estar disponible y se crean cuatro nuevas posiciones de carga. La primera se crea en la esquina trasera izquierda del elemento insertado (WC, LA + LE), la segunda en la esquina frontal derecha del elemento insertado (WC + WE, LA), la tercera posicin de carga se encuentra en el punto de proyeccin, a la izquierda, del borde posterior del elemento insertado (WD, LA + LE), y la cuarta posicin de carga disponible se crea en el punto de proyeccin del eje L sobre el borde derecho del elemento E (WC + WE, LB). La lista de posiciones disponibles se actualiza a medida se que inserta un elemento: posList = (posList - {(WC, LA)}) {(WC, LA + LE), (WC + WE, LA), (WD, LA + LE), (WC + WE, LB)}. Tenga en cuenta que cualquier entrada de posicin duplicado se elimina de posList. La posicin para la colocacin de un elemento es seleccionada de la lista de posiciones disponibles posList y no debe llevar a cualquier violacin de restriccin de carga (que se solapen o restriccin secuencial). Explicaremos enseguida, cmo la heurstica de empaquetado selecciona la posicin que se debe emplear. Si todos los artculos se encuentran en la superficie de carga, se considera que la ruta es factible en trminos de las limitaciones de carga del problema. Si, por otro lado, la insercin de un elemento en cualquier posicin disponible conduce a violacines de restriccin de carga, el mtodo vaca la superficie de carga, posList es igual a {(0, 0)}, y la heurstica de empaquetado siguiente se emplea desde el principio. Si ninguna de las cinco heurstica disponibles produce una carga posible, se aplica la heurstica de empaquetado a la segunda forma de ordenacin de los elementos. Si otra vez, no es posible obtener una carga factible, la ruta examinado se considera inviable con respecto a las limitaciones de carga. Tenga en cuenta que aunque OrdUn est diseado principalmente para hacer frente a la versin sin restricciones del problema, tiene xito en la produccin de patrones de carga secuencial en muchos casos que OrdSeq falla. Estos casos suelen ocurrir cuando se debe cargar en lo vehculos, pocos objetos pero todos de gran volmen.

Ilustracin 2

Como se mencion anteriormente, la posicin de carga de un elemento insertado es determinado por la heurstica de empaquetado que se est utilizando. Esta posicin debe ser factible, es decir, no debe dar lugar a solapamientos (para las versiones tanto problema sin restricciones y secuencial), o violacines de la restriccin de secuencia (para la versin secuencial). Cada una de las cinco propuestas de heursticas de empaquetado Heuri (i = 1 5) emplea un criterio distinto para la seleccin de la posicin de carga de un elemento: y Heur1: Llenado Inferior izquierdo respecto al eje W (Chazelle, 1983). Desde las posiciones de carga posibles de posList, la posicin seleccionada es la que tiene la mnimo coordenada en el eje W, desempatando por la mnima coordenada de eje L. El uso de esta heurstica, tiende a evolucionar en forma de franjas paralelas al eje L. Heur2: Llenado Inferior izquierdo respecto al eje L (Chazelle, 1983). Desde las posiciones de carga posibles de posList, la posicin seleccionada es la que tiene la mnima coordenada en el eje L, desempatando por la mnima coordenada de eje W. El uso de esta heurstica, tiende a evolucionar en forma de franjas paralelas al eje W.

Heur3: Mximo permetro de contacto (Lodi et al, 1999). Para cada una de las posiciones posibles de posList, se calcula el permetro total de contacto con el elemento insertado. El permetro total de contacto se evala como la suma de los bordes comunes del elemento insertado con los bordes de los elementos ya insertados, y los bordes de la superficie de carga del vehculo como se ve en la ilustracin 3: el permetro total de contacto del artculo C situado en la posicin (WA, 0) se demuestra por las lneas de puntos en negrita, y es igual a WC + LC + (WB - WA). La heurstica del Mximo permetro de contacto tiende a extenderse inicialmente los elementos por los bordes de la superficie de carga y luego rellenar la parte interior de la misma. y

Ilustracin 3

Ilustracin 4

Heur4: Mximo Permetro de contacto sin contar las paredes (Lodi et al, 1999). Como en el caso de la heurstica del permetro mximo de tocar, para cada una de las posiciones posibles de posList, se calcula el permetro total de contacto con el elemento insertado. En este caso, el permetro total de contacto se evala como la suma de los bordes comunes del elemento insertado con los bordes de los elementos ya insertados. Los bordes comunes del elemento y la superficie de carga no se tienen en cuenta. La evaluacin del permetro de contacto se puede observar en la ilustracin 4: el permetro total de contacto del elemento C situado en la posicin (WA , 0) se representa por las lneas punteadas en negrita y es igual a la LC + (WB WA). Se inserta el elemento en la posicin de carga que maximiza el valor del permetro de contacto. Siguiendo esta lgica, los elementos inicialmente tienden a llenar la parte interior de la superficie de carga, y luego cubrir los bordes de la misma. y y Heur5: Heurstica del rea mnimo. Para cada una de las posiciones posibles de posList, se calcula el rea de su superficie rectangular correspondiente, como se muestra en la ilustracin 5. El rea de la superficie rectangular

determinada por la posicin de carga (WA, 0) es igual a (W WA) x LA, el rea correspondiente a la posicin de carga (WB, LA) es igual a (W WB) x (L LA), y el rea de la superficie correspondiente a la posicin (0, LA + LB) es igual a W x (L LA LB). La posicin de carga seleccionada es la que ocupa la superficie mnima. Esta heurstica tiene por objeto lograr un alto grado de utilizacin de las superficies disponibles.

Ilustracin 5 La propuesta de cinco heursticas se emplea en el orden presentado. Primero las heursticas ms simples (Llenado inferior izquierdo respecto a los ejes W y L, respectivamente). Si no logran producir un empaquetado posible, seguimos por Mximo permetro de contacto, Mximo permetro de contacto sin contar las paredes y la heurstica del rea mnimo, que requieren operaciones adicionales para el clculo de los permetros de contacto, y las reas rectangulares, respectivamente. Los experimentos preliminares indicaron que la aplicacin de la heurstica en orden ascendente de complejidad, en general, reducen el tiempo de cmputo que exige el paquete heurstica de empaquetado. A seguir se presenta un pseudocdigo para la recogida de propuestas de la heurstica de empaquetado.

3.2.Construyendo la solucin inicial


La metodologa propuesta se basa en la heurstica BEST FIT DECREASING para el problema de empaquetado unidimensional. Se inicia con la construccin de una solucin inicial factible que va a actuar como punto de partida de la metaheurstica. Para construir esta solucin inicial, se emplea el siguiente procedimiento: todos los clientes se clasifican en orden decreciente segn el valor de ai (rea total de la superficie de sus artculos) y se generan nuevas rutas vh (una para cada vehculo disponible). Los clientes que sern insertados en las rutas se seleccionan sucesivamente. Se prueba la viabilidad de insercin de todos los clientes i, en todas las posiciones de todas las rutas. Si es la factible la insercin del cliente i en un conjunto de rutas Sfeas, para cada ruta p Sfeas se calcula la cantidad freeAreap - ai, donde freeAreap denota el rea total no ocupado de la superficie de carga del vehculo que ejecuta la ruta p. El cliente es asignado a la ruta que minimiza el valor de freeAreap - ai, y se inserta en el punto de ruta factible que conduce al mnimo incremento del coste. Debido al hecho de que la viabilidad de una solucin est determinada principalmente por las limitaciones de carga del problema, el algoritmo de construccin propuesto tiene como objetivo principal maximizar la utilizacin de la superficie de carga y en segundo lugar a minimizar la funcin objetivo del problema. Esta estrategia logr construir con xito soluciones iniciales factibles tanto para las instancias sin restricciones como para instancias secuenciales del problema 2L-CVRP.

3.3.Definicin de las estructuras de vecindad


La metodologa metaheurstica propuesta explora el espacio de bsqueda mediante la realizacin de movimientos para transitar de la solucin actual a una posterior. Contamos con tres tipos de movimiento, cada uno de ellos define una estructura de vecindad NSi (i = 1, 2, 3). El tamao de estas estructuras es reducido en nuestra estrategia de aceleracin presentada en la Seccin 3.5. En los siguientes prrafos proporcionamos una descripcin de los tres tipos de movimiento.

3.3.1. Movimiento Tipo 1 (NS1) - reubicacin de los clientes


Este tipo de movimiento (Waters, 1987) se traslada a un cliente desde la ruta actualmente asignado a otra ruta (Ilustracin 6). El movimiento se puede emplear para todo par de rutas y por cada posicin de insercin posible. Cuando el movimiento se realiza dentro de una sola ruta, el cliente cambia su posicin dentro de esta ruta.

Ilustracin 6

3.3.2. Movimiento Tipo 2 (NS2) la ruta de cambio


Este tipo de movimiento (Waters, 1987) intercambia las rutas que cubren un par de clientes (Ilustracin 7). Se emplea para cada par de ruta y para cada par de clientes visitados por los itinerarios a recorrer en el movimiento. Cuando el movimiento se realiza dentro de una sola ruta, los clientes intercambian sus posiciones dentro de esta ruta.

Ilustracin 7

3.3.3. Movimiento Tipo 3 (NS2) intercambio de rutas


Este tipo de movimiento (2-opt) (Croes, 1958; Lin, 1965) se puede emplear en cualquier ruta individual y entre cualquier par de rutas. Cuando se emplea dentro de una ruta, se eliminan dos arcos de la ruta, se generan dos arcos nuevos, y se invierte el tramo comprendido entre los arcos creados, como se muestra en la figura. 8.

Ilustracin 8

Cuando el movimiento se realiza entre dos rutas, cada ruta involucrada se divide en las secciones inicial y final, mediante la supresin de un par de arcos. La parte inicial de la primera ruta se conecta a la parte final de la segunda y viceversa. Para conectar las secciones divididas, se generan dos arcos. Estos arcos enlazan los ltimos clientes de las partes iniciales a los primeros clientes de las partes de terminacin, como se ve en la figura. 9.

Ilustracin 9 El coste de la implementacin de cualquier movimiento mv, siendo ED el conjunto aristas eliminadas y EG el conjunto de aristas creadas, se evala como    . (1)

3.4. Bsqueda Tab Guiada


La solucin inicial producida por el algoritmo de construccin es proporcionada por la metodologa metaheurstica propuesta llamada Bsqueda Tab Guiada (Guided Tabu Search - GTS). Este enfoque metaheurstico se basa en la metodologa conocida Bsqueda Tab (Tabu Search - TS) (Glover, 1986; Hertz, 2006) que ha demostrado ser muy eficaz para el VRP y sus variantes (Archetti et al, 2006; Brando, 2006; El Fallahi et al, 2008; Gendreau et al, 1994, 1999). La propuesta de Bsqueda Tab es controlada por un mecanismo de orientacin que incorpora la Bsqueda Local Guiada (Voudouris y Tsang, 1996), razn por la que se modifica peridicamente la funcin objetivo del problema. El propsito de este mecanismo de orientacin es doble: induce a la diversificacin, lo que ayuda el proceso de bsqueda a cubrir los dominios ms amplios del espacio de soluciones, y tiene como objetivo eliminar las caractersticas indeseables de la solucin final. El algoritmo GTS comienza con la solucin generada por el mtodo de construccin de la seccin 3.2. En cada iteracin, una de las tres estructuras de barrio (NS1-NS3) es estocsticamente seleccionada. Todas las estructuras comparten la misma probabilidad de ser seleccionada. El coste de realizar cada movimiento definido por la estructura de vecindad seleccionada se evala, de acuerdo con (1). Estos movimientos deben conducir a soluciones viables en relacin con la carga y la capacidad limitada del problema, y no deben ser tab, a menos que ellos mejoren la mejor solucin que se haya obtenido a travs de la bsqueda (criterio de aspiracin). La viabilidad de carga de las soluciones provisionales se comprueba mediante el paquete de heursticas de empaquetado descrito en la Seccin 3.1. El ms econmico de los movimientos examinados se lleva a cabo. Este criterio determinista puede hacer que se produzcan fenmenos cclicos. Para evitar estas situaciones, cuando un movimiento se lleva a cabo, su inversin se considera tab para las iteraciones tabuTenure. El procedimiento TS termina despus de la finalizacin de tabuIter iteraciones sin mejorar. Cada vez que guidFreq iteraciones del TS se han completado, se emplea el mecanismo gua propuesto. Este mecanismo de gua incorpora la lgica de la bsqueda local guiada (Guided Local Search) en el proceso de bsqueda tab (Tabu Search). Su principio consiste en localizar y eliminar las caractersticas de baja calidad presentes en la solucin candidata ampliando la funcin objetivo mediante el uso de trminos penalizacin. En la metodologa propuesta, as como en la mayora de los problemas de enrutamiento, aristas largas (costosas) se consideran las caractersticas indeseables de una solucin candidato. En particular, el arco de maximizacin de la siguiente funcin de utilidad (2) es seleccionado para ser penalizado

(2)

donde avgij es el coste medio de todas las aristas a que empiezan en los vrtices i y j en el conjunto A de aristas, y pij es el nmero de veces que el arco (i, j) ha sido seleccionada para ser penalizado. Al utilizar avgij, nuestra funcin de utilidad (2) mejora la estrategia de seleccin del arco ms utilizado simplemente penalizando al arco ms largo en la solucin (trabajo de Mester y Brysy (2007)). El trmino avgij refleja las posiciones de los clientes i y j en relacin a las posiciones de los clientes vecinos, dando lugar a una seleccin de arco ms equilibrada. El trmino arcPen denota el arco seleccionado que debe ser sancionado. El coste carcPen del arco penalizado se duplica para las siguientes guidFreq/2 iteraciones del cuerpo TS. El uso de esta poltica de penalizacin agresiva, fuerza el algoritmo a eliminar el arcPen de la solucin candidata por lo menos un nmero de iteraciones igual al horizonte de penalizacin (guidFreq/2). Si durante estas guidFreq/2 iteraciones, una solucin candidata que contiene arcPen mejora la solucin encontrada, el trmino de penalizacin se anula. Tras la finalizacin de guidFreq/2 iteraciones el coste de arcPen se restaura a su valor original. Para demostrar tanto la eficacia y el efecto de la diversificacin de los mecanismos rectores empleados en el GTS framework ejecutamos la metodologa propuesta para la instancia de referencia 18 - Clase 2 (presentados en la seccin 4.2) utilizando y no utilizando el mecanismo de orientacin. Fig. 10 ilustra las curvas de progreso indica obtenidos. La lnea gris corresponde al proceso de bsqueda con el mecanismo de gua, mientras que la lnea de negro muestra el proceso de bsqueda sin el mecanismo de orientacin. El mecanismo de gua ha reducido el coste de mejor solucin en 4,26% (1.068,82 con y 1.116,40 sin el mecanismo de gua). Adems, la bsqueda se ha diversificado, como la desviacin estndar de las soluciones candidatas con y sin el uso del mecanismo rector fue 44,57 y 40,53, respectivamente. Excepto por el mecanismo guiado que penaliza a un solo arco de la solucin, cada

vez que guidFreq iteraciones GTS se han realizado, tambin probamos las estrategias que implican la penalizacin de los mayores conjuntos de arco. Estas estrategias no logran alcanzar resultados de alta calidad, ya que no dej que la bsqueda se intensificase en las regiones prometedoras del espacio de soluciones.

Ilustracin 10 A seguir se presenta un pseudocdigo para la metodologa metaheurstica GTS propuesta.

3.5. Acelerando el proceso de Bsqueda


Para acelerar el proceso de bsqueda, se proponen dos estrategias para limitar el esfuerzo computacional requerido por el algoritmo GTS. La primera estrategia reduce el tamao de las vecindades a explorar en la bsqueda, en cada iteracin del GTS. Por cada vrtice i, se evala la cantidad avgi, donde avgi denota el coste medio de todos los arcos que empiezan en el vrtice i. Cada vrtice i est asociado a un conjunto de vrtices vecinos NVi, formado por todos los vrtices j tal que: cij avgi. Cuando se explora una vecindad, slo se tienen en cuenta los movimientos que conducen a la conexin de los vrtices i y j, tal que i NVj y j NVi. La mencionada poltica de

reducir el tamao de la vecindad se elimina en el caso de que los movimientos conecten el almacn a cualquier otro vrtice. La segunda estrategia de aceleracin se refiere a la eliminacin de todas las llamadas innecesarias al paquete de heursticas de empaquetado mediante el seguimiento de las rutas de carga factibles ya examinadas. Las limitaciones de carga que plantean el problema 2L-CVRP son manejadas por la aplicacin de los cinco algoritmos heursticos de empaquetado, que contribuyen drsticamente al esfuerzo global de cmputo requerido por la metodologa propuesta. Como el mtodo GTS se mueve de solucin a solucin, es necesario examinar la viabilidad de las rutas de tentativa, en funcin de las limitaciones que plantea la carga 2L-CVRP. Dado que la bsqueda tiene un carcter local, puede que en repetidas ocasiones se encuentren las rutas que ya han sido visitadas y se analiza su viabilidad de carga aplicando las heursticas del paquete de empaquetado de la seccin 3.1. Para estas rutas, volver a ejecutar la heurstica de empaquetado es innecesario, por lo tanto, para evitar estas llamadas duplicadas e innecesarias, siempre que la viabilidad de una ruta de carga se comprueba por primera vez, el resultado correspondiente se registra en una estructura de memoria, con el fin de estar disponibles para las futuras etapas de la bsqueda GTS. Para reducir el tiempo necesario para recuperar la informacin de viabilidad almacenada, esta estructura de memoria se ha diseado en forma de un rbol ordenado, como se muestra en la figura. 11. La figura ilustra el caso en que la heurstica de empaquetado es capaz de generar una ruta de carga viable para 0-2-3-1-0, mientras que las rutas 0-2-1-7-0 y 0-1-5-0 son inviables con respecto a las limitaciones de carga. A medida que el proceso de bsqueda se desarrolla, si alguna de estas tres rutas se vuelve a visitar, su viabilidad de carga va a ser determinado por el acceso a la estructura de memoria, en lugar de volver a aplicar las heursticas del paquete de empaquetado. El uso de la memoria de viabilidad de carga result en una disminucin notable del tiempo de cmputo que exiga GTS, que va desde 54% (casos 2L-CVRP de pequea escala) hasta el 33% (para las grandes casos). Tenga en cuenta que, como el proceso de bsqueda evoluciona, la memoria fsica necesaria para almacenar la informacin de carga puede superar los lmites de memoria disponibles (sobre todo en los casos de mayor 2LCVRP). Por lo tanto, la estructura de rbol puede necesitar ser peridicamente destruida (y reconstruida desde el principio), despus de la realizacin de un nmero de iteraciones GTS que depende de la cantidad de memoria fsica disponible en el sistema informtico en uso. Para nuestro sistema con 1 GB de RAM, ajustando el periodo de destruccin equivalente a 2.000 iteraciones GTS, no se ha producido ningn desbordamiento de la memoria, ni siquiera para el ms grande de casos con 255 clientes.

Ilustracin 11

4. Resultados de cmputo
El algoritmo propuesto fue codificado en Visual C #, ejecutado en un Pentium IV 2.4 GHz con 1 GB de RAM en Windows XP. Fue probado en 360 problemas 2LCVRP en total (180 para el secuencial y 180 para la versin sin restricciones del problema).

4.1. Casos de Referencia


Para probar el rendimiento y la solidez del algoritmo propuesto se le aplica a los 180 problemas de referencia 2L CVRP introducido por Iori et al. (2007) y Gendreau et al. (en prensa). Estos casos fueron derivados de 36 casos CVRP, descritos por Toth y Vigo (2002), al expresar la demanda de los clientes como un conjunto de

objetos de dos dimensiones, pesados y rectangulares. Para generar los conjuntos de tems antes mencionados, se introducen cinco clases de caractersticas de demanda (Iori et al, 2007; Iori, 2004.) y Clase 1: con cada cliente se asocia un nico elemento de anchura y longitud iguales a cero. Los problemas de la clase 1 se encuentran en ejemplos puros de CVRP, ya que toda secuencia de clientes es factible en trminos de las limitaciones de carga de los problemas examinados. Se utilizan para probar la eficacia de algoritmos en trminos de los aspectos de enrutamiento del problema examinado. y Clases 2-5: con cada cliente i, un conjunto de elementos de mi se genera. mi se distribuye uniformemente dentro de un rango determinado. Cada elemento se clasifica en una de las tres categoras de forma, es decir, vertical, horizontal y homognea, con igual probabilidad. Las dimensiones (anchura y longitud) de un elemento estn distribuidos uniformemente en los rangos determinados por categora de forma de este elemento. mi y los rangos de dimensiones se proporcionan en la tabla siguiente. Class 2 3 4 5 mi [1, 2] [1, 3] [1, 4] [1, 5] Vertical Length [0.4L, 0.9L] [0.3L, 0.8L] [0.2L, 0.7L] [0.1L, 0.6L] Homogneo Length [0.2L, 0.5L] [0.2L, 0.4L] [0.1L, 0.4L] [0.1L, 0.3L] Horizontal Length [0.1L, 0.2L] [0.1L, 0.2L] [0.1L, 0.2L] [0.1L, 0.2L]

Width [0.1W, 0.2W] [0.1W, 0.2W] [0.1W, 0.2W] [0.1W, 0.2W]

Width [0.2W, 0.5W] [0.2W, 0.4W] [0.1W, 0.4W] [0.1W, 0.3W]

Width [0.4W, 0.9W] [0.3W, 0.8W] [0.2W, 0.7W] [0.1W, 0.6W]

La longitud L y el ancho W de la superficie de carga son iguales a 40 y 20, respectivamente. Los costes de las aristas son evaluados como las distancias eucldeas entre los pares de vrtices. La tabla 4 resume las caractersticas de los 36 2L-CVRP casos para las clases 2-5. Para cada uno de los 36 problemas CVRP, se han creado cinco casos de acuerdo a las cinco clases antes expuestas (un caso por clase), lo que resulta en los 180 (36x5) 2LCVRP casos. Para garantizar la viabilidad de los problemas de referencia, el tamao de la flota de vehculos disponibles vh se determin por medio de una heurstica de empaquetado. El algoritmo de GTS se aplica a todos los 180 casos, tanto para el sin restricciones cuanto para las versiones secuencial del problema examinado.

it: nmero de tems; r%: rea total de tems/rea total de carga disponible (%); cus: nmero de clientes

4.2. Parmetro de ajuste


La estructura algortmica propuesta, descrita en la seccin 3, contiene tres parmetros, el ajuste de los cuales se determin a travs de un procedimiento de calibracin que involucra tanto la versin sin restricciones cuanto la versin secuencial del problema examinado. Para probar la robustez del algoritmo GTS, lo aplicamos para resolver 30 casos de referencia, para cada versin del problema. En particular, para los casos con diversos tamaos de conjuntos de clientes y caractersticas de los artculos, se realiz 30 problemas de prueba (casos 6, 12, 18, 24, 30 y 36, clases 1-5) para llevar a cabo los experimentos de anlisis de sensibilidad. Como no existe una correlacin evidente entre los parmetros de calibracin, se ha valorado cada uno de ellos por separado, dentro de los rangos de valores relativos de ancho, y se ha registrado el desempeo de la metodologa GTS. El procedimiento de calibracin realizado se resume en la Tabla 5.

El parmetro tabuTernure expresa el horizonte de la memoria empleada por el procedimiento de TS. Para evitar los fenmenos cclicos, el inverso de un movimiento realizado es declarado tab para un determinado nmero de iteraciones igual a tabuTenure. Hemos variado el parmetro tabuTenure de 3 a 9 iteraciones TS por tipo de movimiento. Dado que la metodologa GTS explora tres estructuras de vecindad, el parmetro examinado fue valorado en [9, 27], con incrementos de 6. El algoritmo se aplic 200 veces, para los 30 problemas de prueba, y para ambas versiones del problema. Los resultados medios obtenidos se presentan en la Tabla 6. La metodologa GTS ha demostrado ser relativamente insensible al valor de tabuTenure, ya que el porcentaje de desviacin entre los mejores y peores resultados medios obtenidos fueron de 0,40% y 0,57%, para las versiones sin restricciones y secuencial, respectivamente. El valor 21 produjo soluciones de alta calidad para cinco de los seis casos examinados (6, 12, 24, 30 y 36), para la versin sin restricciones. Para la versin secuencial del problema, aunque el valor de 21 alcanz el coste medio mnimo, el 15 alcanz la solucin de menor coste en tres (12, 18 y 36) de los seis casos examinados, seguido por 21 que minimiza el coste solucin para los casos 6 y 30. La diferencia porcentual entre las puntuaciones medias obtenidas mediante la fijacin de tabuTenure a los 15 y 21 fueron marginales (sin restricciones: 0,12% y secuencial: 0,14%). Por lo tanto, para lograr un entorno robusto para las dos versiones del problema fijamos tabuTenure = 18, que corresponde a 6 iteraciones GTS por tipo de movimiento. El parmetro GuidFreq controla la frecuencia de aplicacin del mecanismo de orientacin que modifica la funcin objetivo del problema. Cuanto menor sea el valor de guidFreq, ms diversificada es la bsqueda realizada. Para lograr una interaccin satisfactoria entre la intensificacin y diversificacin del proceso de bsqueda GTS, se realiz el siguiente procedimiento de calibracin para el parmetro guidFreq: Se aplic el algoritmo GTS 200 veces, para resolver los 30 problemas de prueba antes mencionados, para las dos versiones del problema, guidFreq ha tomado los valores {5, 10, 15, 20, 25}. Los resultados se resumen en la Tabla 6. El porcentaje de desviacin entre las medias de los mejores y peores resultados es igual a 2.15% y 2.03%, para las versiones sin restricciones y secuencial, respectivamente, indicando que la metodologa GTS es bastante sensible al parmetro guidFreq. En particular, el

establecimiento de guidFreq a 20 dio lugar a la obtencin de soluciones de alta calidad para nueve de los doce casos examinados (tanto para la versin sin restricciones como para la secuencial). Por lo tanto, guidFreq se fij a 20. En cuanto a la condicin de terminacin del algoritmo GTS, se realizaron pruebas tomando los siguientes valores para el parmetro tabuIter{5000, 7000, 10000, 15000}. Para instancias pequeas, de hasta 100 clientes, rara vez el proceso de bsqueda lleg a una mejor solucin despus de la finalizacin de 5000 iteraciones. Para los problemas de mayor escala (casos 28-36), una disminucin significativa del coste de la solucin se ha observado ocasionalmente despus de 10.000 y 15.000 iteraciones, debido a un tiempo de clculo excesivo. Para enlazar el tiempo de clculo requerido por la metodologa GTS en lmites razonables, se fija el valor de tabuIter a 7000, por lo que se consigue el equilibrio entre la calidad de la solucin y el esfuerzo computacional.

4.3. Resultados en los casos de referencia


Para probar empricamente la eficacia del algoritmo GTS, se aplica dicho algoritmo a los 180 problemas de referencia de Iori (2007) y Gendreau, tanto para la versin sin restricciones cuanto para la secuencial. Dado que los investigadores slo han abordado recientemente 2L-CVRP, el conjunto de datos anteriormente mencionado es el nico disponible en la literatura. Los resultados obtenidos por el algoritmo GTS se resumen y se comparan con los obtenidos por la Bsqueda Tab de Gendreau (denotada por TS_G) en las tablas 7-9. La Tabla 7 muestra los resultados obtenidos en las instancias de CVRP pura (clase 1), mientras que las tablas 8 y 9 resumen los resultados medios obtenidos en las instancias de referencia de las clases 2-5, para las versiones sin restricciones y secuencial, respectivamente. Para las instancias CVRP puras, la metodologa propuesta mejora los valores solucin obtenidos por el mtodo TS_G en 1,54% en promedio.

Como se observa en las tablas 8 y 9, el algoritmo GTS produce soluciones con mayor calidad media que el TS_G. En particular, para la versin sin restricciones del problema, la metodologa GTS logra una mejora media del 1,84% de las mejores soluciones obtenidas para las instancias de las clases 2-5. Para la versin secuencial del problema, el algoritmo GTS logra una mejora media de 1,62%. En cuanto al esfuerzo computacional exigido, el algoritmo propuesto obtuvo las soluciones finales en periodos de tiempo satisfactorio. Los resultados obtenidos para todos los problemas de prueba se exponen en las tablas A1 y A2 del apndice.

5. Conclusiones
En el presente trabajo, estudiamos una generalizacin del VRP, en el que la demanda de los clientes se compone de elementos rectangulares, de dos dimensiones, con un peso asignado. Este problema se llama problema de enrutamiento de vehculos con restricciones de carga en dos dimensiones (2L-CVRP) y tiene como objetivo generar las rutas de coste mnimo, y que el empaquetado de los objetos transportados en las superficies de carga de los vehculos sea factible. El 2L-CVRP es de inters terico particular, ya que combina dos problemas de optimizacin combinatoria frecuentemente estudiados, es decir, el problema de enrutamiento de vehculos, y el problema de embalaje en dos dimensiones bin. A pesar de 2L-CVRP tiene varias aplicaciones reales en el campo de la logstica de transporte, slo recientemente la primera solucin que se acerca se han publicado. En cuanto a las caractersticas del embalaje de los problemas examinados, el algoritmo hace uso de un paquete de heursticas de embalaje, produciendo diversas estructuras de embalaje con el fin de aumentar la probabilidad de obtener una carga factible. Los aspectos de enrutamiento del problema son atendidos por un mtodo de bsqueda tab que incorpora la lgica de la bsqueda local guiada, empleando un mecanismo de gua que controla la funcin objetivo del problema. Este mecanismo orientador diversifica drsticamente la

bsqueda llevada a cabo por tratar de eliminar las caractersticas de baja calidad de la solucin final. Para limitar el esfuerzo computacional que exige el algoritmo propuesto, contamos con dos estrategias de aceleracin. En primer lugar, el tamao de las vecindades exploradas se reduce, y en segundo lugar, se utiliza una estructura de memoria en forma de rbol para grabar la posibilidad de carga de las rutas visitadas, a fin de eliminar todas las llamadas innecesarias al paquete de heursticas de embalaje.

Você também pode gostar