25
Automating the Packing Heuristic Design Process with Genetic Programming/Automatización del diseño heurístico Embalaje Proceso de Programación Genética Edmund K. Burke [email protected] University of Nottingham, School of Computer Science, Nottingham, UK Matthew R. Hyde [email protected] University of Nottingham, School of Computer Science, Nottingham, UK Graham Kendall [email protected] University of Nottingham, School of Computer Science, Nottingham, UK John Woodward [email protected] University of Nottingham, School of Computer Science, Nottingham, UK

Packing

Embed Size (px)

Citation preview

Automating the Packing Heuristic Design

Process with Genetic Programming/Automatización del diseño heurístico Embalaje

Proceso de Programación Genética

Edmund K. Burke

[email protected]

University of Nottingham, School of Computer Science, Nottingham, UK

Matthew R. Hyde

[email protected]

University of Nottingham, School of Computer Science, Nottingham, UK

Graham Kendall

[email protected]

University of Nottingham, School of Computer Science, Nottingham, UK

John Woodward

[email protected]

University of Nottingham, School of Computer Science, Nottingham, UK

ResumenLa literatura muestra que uno, dos y tres dimensiones de deposito de embalaje y mochila que son problemas difíciles de la Investigación Operativa. Muchas de las técnicas, incluyendo planteamientos concretos, heurística y metaheurística han sido investigados para resolver estos problemas y que a menudo no está claro el método a utilizar cuando se presenta con un nuevo ejemplo.

Este artículo presenta un enfoque que está motivado por el objetivo de la creación de sistemas informáticos que puedan diseñar métodos heurísticos. El objetivo general es explorar las posibilidades de automatizar el proceso de diseño heurístico. Se presenta un sistema de programación genética para generar automáticamente una buena calidad heurística para cada instancia. No es necesario cambiar la metodología dependiendo en el tipo de problema (problemas de la mochila y deposito embalaje en una, dos o tres dimensiones), y por lo tanto, tiene un nivel de generalidad incomparable con otros sistemas en el literatura.

Realizamos una amplia gama de experimentos y comparaciones con las mejores heurísticas diseñadas en la literatura. Tenga en cuenta que nuestro diseño metodogía heurística utiliza los mismos parámetros para todos los experimentos.

La contribución de este trabajo es presentar una metodología más general de embalaje que los actualmente disponibles, y para mostrar que, mediante el uso de esta metodología, un sistema de ordenador es posible para el diseño de heurísticas que son competitivas con la heurística el humana de la literatura firmado . Esto representa el primer algoritmo de embalaje en el literatura capaz de reclamar resultados competitivos humanos en una amplia variedad de embalaje tal dominios.

1. Hyper-Heuristica

● La HiperHeuristica es para “Elevar el nivel de la generalidad en que pueden operar los sistemas de optimizacion” [Burke, 2003a]. Hay dos tipos [Burke,2010b]:

1) Hyperheuristica elige heuristica:● Elegir inteligentemente la heuristica

● Los puntos fuertes de las heuristicas potencial% se pueden combinar

2) Hyperheuristica crea heuristica:● Generar automaticamente una heuristica

● Utilizar programación genética como hiper-heuristica para una instancia frente a un problema dado

● Se definen funciones y terminales utilizados como componentes de la heuristica [Burke, 2009b]

Embalaje Uni-Dimensional

● Para tubos o vigas

● Para diferentes longitudes

● Solución online [Rhee y Talagrand,1993], [Coffman, 1998], [Johnson,1974],[Kenyon, 1996] y offline [Yao, 1980],[Richey, 1991][Coffman, 2000],[Sieden, 2003].

● Online, se embala uno a uno, no se pueden mover una vez asignado el lugar.

● Offline se pueden ordenar y clasificar al poseer todas las dimensiones conocidas.

● Utilizacion de Algoritmos evolutivos operan en un espacio de soluciones candidatas [Falkenauer y Delchambre, 1992], [O'Neill, 2004].

Embalaje de Dos Dimensiones

● Para papel, metal, vidrio, textiles, madera.

● Encontrar el el numero minimo de hojas que se requieren para obtener todas las formas requeridas [Schneider, 1988],[Vasko, 1989],[Lagus,1996] para formas ortogonales.

● También hay soluciones para formas irregulares.

● Una Restricción común es la de guillotina. Corte total de un lado a otro y el resultado son 2 piezas. Este artículo no tiene esta limitación (excepciones en 6.1.2).

● Métodos:

– Programacion lineal [Gilmore y Gomory, 1961]

– Búsquedas de árbol [Christofides y Whitlock, 1977], [Beastley, 1985]

– Metodologías recientes son más exactas [Clautiaux, 2008], [Kenmochi, 2009], [Macedo,2010][Alvarez-Valdez, 2009]

– Enfoque Heuristico [Bengtsson, 1982], “abajo a la izquierda”, “mejor ajuste”

– Mochila 2D [Egeblad y Pisinger, 2009] y Algoritmo genetico para mochila 2D [Hadjiconstantinou y Iori, 2007], [Hwang, 1994] y Busqueda Tabu [Burke, 2006a]

Embalaje de Tres Dimensiones

● Para mercancias luego de su fabricación que deben transportarse en contenedores de tamaño estándar

● Objetivo: Maximizar la utilizacion del volumen de los recipientes o reducir el número de contendores que deben utilizarse para contener todos los bienes

● Mediante programación entera [Ivancic, 1989], con diferencias de realidad vs literatura[Bischoff y Ratcliff, 1995], con enfoque iterativo [Lim y Zhang, 2005] con arbol de busqueda y asignación de culpa, menor desperdicio de espacio a su alrededor [Ngoi, 1994], [Chua, 1998]

● Mochila 3D, con algoritmo genético hibrido con capas verticales [Bortfeldt y Gehring, 2001] y acumulación de multiples caras [Lim, 2003], con secuencias triples [Egebland y Pisinger, 2009], con grado de espeleologia o proximidad de una caja [Huang y He, 2009] logrando embalaje con mayor espeleología.

2. Descripción del problema

● Problema de la Mochila

– xj piezas

– wj pesos

– vj valor

– Capacidad c

– dj deposito

– Maximizar el valor de las piezas a ser embaladas

– En 2D y 3D, con rotación de piezas paralelas a borde de mochila y no impone guillotina

2. Descripción del problema

● Problema Depósito de Embalaje

– Similar a mochila, la diferencia es que todas deben ser embaladas

– Minimizar recipientes para almacenar piezas [Martello y Toth, 1990]

– n numero de piezas, yi variable binaria, xij indica que pieza j es embalado en depósito i

– Numero ilimitado de depósitos (bins ) disponibles

3. Representación 1D, 2D, 3D de Problema de Embalaje

● Esta permitido rotar las piezas en cualquier dirección, excepto cuando la instacia especifica solo ciertas rotaciones.

● Cada contenedor contiene dimensiones

● Ejemplo de una pieza colocada en una esquina

El depósito y los objetos en la esquina

● Un depósito se inicializa creando una esquina, inferior izquierda, por lo que la heuristica debe elegir que pieza colocar en esa esquina.

● Cuando se coloca la esquina se elimina, quedando disponibles tres esquinas más en coordenadas distintas.

● Una esquina no se crea cuando la pieza se encuantra en el borde exterior del recipiente.

● La informacion es mediente 3 planos ortogonales 2D : XY, XZ, YZ y el tamaño y los limites de las 3 superficies se definen por el alcance de las caras de las piezas o cara de contenedores.

Colocación válida de piezas

● Cada pieza es considerada por la heuristica en las 6 orientaciones de cada esquina, a menos que la instancia limite la orientación.

● Se busca la(s) orientaciones que se ajuste(n) con una de las 3 superficies posibles, se considera una orientación válida en esa esquina.

Extensión de las superficies de una esquina

● Si una pieza se coloca en una esquina y la pieza llega al limite de la superficie, significa que la superficie de una o más esquinas cercanas necesitan ser modificadas.

● Figura 7, extensión de planos XZ y YZ● Piezas de relleno

– Algunas esquinas con superficies que son pequeñas– Para cuelquier pieza en varias direcciones– Las esquinas son espacio despediciado– Si no se controlan estos rincones seran en potencia un gran

espacio perdido, por eso se crean las “piezas de relleno”

-Aumenta superficie XZ-Una PR nunca crea esquina, solo la elimina.

4. La Metodología de la Programación Genética

● Esto se manipula en función de su rendimiento. Ósea con una combinación de piezas, la orientación, la esquinas asignadas se conocen como “punto de decisión”.

● ¿Cómo se aplica la heurística?[Koza, 1992], [Banzhaf, 1998], [Koza y Poli, 2005]

– La heurististica (un individuo en la población de programación genética) opera por cada punto de decisión.

– Los individuos son estructuras de árbol

– Nodos internos (funciones)

– Nodos hojas (terminales)

Algoritmo 1

Funciones y Terminales

Fitness de una Heurística● Fitness del depósito de embalaje, es la calidad del

embalaje [Falkenauer y Delchambre, 1992]– n numero de bins– m numero de piezas– vj volumen de pieza– C capacidad de bin (volumen)– xij es 1 si pieza j esta en bin i, 0 en otros casos.– Esta funcion premia a los contenedores que están casi o

completamente llenos.– Esta función evita problemas de mesetas en el espacio de

búsquedas [Burke, 2006b].

● Fitness de la Mochila,

Parámetros de la programación genética

● Según [Koza, 1992]

● Paquete empleado: ECJ (Evolutionary Computation in Java)

5. Datasets● Resumen de 18 datasets utilizados

6. Resultados

● Se comparan los resultados de las instancias contra los resultados de la mejor heuristica en la literatura para esa instancia.

● Se utilizan estas ecuaciones:

● Se realizaron en cada caso 10 carreras con una semilla aleatoria distinta.

● La media de las 10 carreras de la instancia es InstanceAverage

● La relación de InstanceAverage sobre la mejor se calcula con IntanceRatio

● Ratio es el promedio de InstanceRatio de todos los casos del conjunto de datos.

Resultados por Dimensión

● Bin Packing (Min) yKnapsack (Max)

Literatura:1D – [Schwerin y Wascher, 1997]2D – [Bengstsson, 1982]3D – [???]

Literatura:2D – [Pisinger, 2009]3D – [Egenblad y Pisinger, 2009]

7. Un ejemplo de Heuristica Envolvente

● Ejemplo de heuristica, que se desarrolla de instancia BR5-0, los nombres de terminales se abrevian, donde X,Y y Z son coordenadas, V es la pieza, v es el volumen de la pieza y XZ es el nodo terminal.

8. Conclusiones

● Se corfirma que una hypereuristica busca le mejor solución de heuristica dentro del espacio de soluciones. Logrando un nivel de generalidad mayor.

● Este problema ha sido estudiado en la literauta muchas veces y se confirma su gran cantidad de literatura y variados data sets y su evolución constante cada vez con mejores resultados.

● Fue validada desde toda su multidimensionalidad la validez de la heuristca empleada, validando a la vez otro problema similar como el de la mochila.

Referencias

● Alvarez-Valdes, R., Parreno, F., and Tamarit, J. M. (2009). A branch and bound algorithm for the strip packing problem. OR Spectrum, 31(2):431–459.

● Baker, B. S., Coffman, E. G., and Rivest, R. L. (1980). Orthogonal packings in two dimensions. SIAM J. Comput., 9(4):846–855.

● Banzhaf, W., Nordin, P., Keller, R., and Francone, F. (1998). Genetic programming, an introduction: on the automatic evolution of computer programs and its applications. Morgan Kaufmann, San Francisco.

● Beasley, J. E. (1985). An exact two-dimensional non-guillotine cutting tree search procedure. Oper. Res., 33(1):49–64.

● Bengtsson, B. E. (1982). Packing rectangular pieces - a heuristic approach. The Comput. J., 25(3):353–357.

● ….

● Revisión de 71 papers

Demostración de Software