1. 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
ekb@cs.nott.ac.uk
University of Nottingham, School of Computer Science, Nottingham, UK
Matthew R. Hyde
mvh@cs.nott.ac.uk
University of Nottingham, School of Computer Science, Nottingham, UK
Graham Kendall
gxk@cs.nott.ac.uk
University of Nottingham, School of Computer Science, Nottingham, UK
John Woodward
jrw@cs.nott.ac.uk
University of Nottingham, School of Computer Science, Nottingham, UK
2. Resumen
La 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.
3. 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]
4. 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].
5. 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]
6. 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.
7. 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
8. 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
9. 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
10. 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.
11. 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.
12. 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
13. 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)
16. 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,
17. Parámetros de la programación
genética
● Según [Koza, 1992]
● Paquete empleado: ECJ (Evolutionary Computation in Java)
19. 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.
20. Resultados por Dimensión
● Bin Packing (Min) y
Knapsack (Max)
Literatura:
1D – [Schwerin y Wascher, 1997]
2D – [Bengstsson, 1982]
3D – [???]
Literatura:
2D – [Pisinger, 2009]
3D – [Egenblad y Pisinger, 2009]
21. 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.
22.
23. 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.
24. 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