Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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.
Ilustracin 6
Ilustracin 7
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)
(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.
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).
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]
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
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.
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.