phd thesis david alvarez
DESCRIPTION
Cutting and packing problemsTRANSCRIPT
i
ESTUDIO DE LOS PROBLEMAS DE CORTE Y EMPAQUETAMIENTO
David Álvarez Martínez
Departamento de Ingeniería Eléctrica
Programa de Postgrado en Ingeniería Eléctrica
Universidad Estadual Paulista - UNESP
Ilha Solteira – São Paulo – Brasil
12 de mayo de 2014
ii
ESTUDIO DE LOS PROBLEMAS DE CORTE Y EMPAQUETAMIENTO
David Álvarez Martínez
Rubén Augusto Romero Lázaro
Orientador
Tesis de Doctorado presentada al Programa
de Postgrado en Ingeniería Eléctrica de la
Facultad de Ingeniería de la Universidad
Estadual Paulista – Campus de Ilha
Solteira, como parte de los requisitos para
la obtención del título de Doctor en
Ingeniería Eléctrica.
Área de especialización: Automatización.
Departamento de Ingeniería Eléctrica
Programa de Postgrado en Ingeniería Eléctrica
Universidad Estadual Paulista - UNESP
Ilha Solteira – São Paulo – Brasil
12 de mayo de 2014
iii
Agradecimientos
Al profesor Rubén Augusto Romero Lázaro.
A los profesores Francisco Parreño Torres y Ramón Álvarez-Valdés Olaguíbel.
A los profesores del programa de postgrado: Marcos Julio Rider Flóres y Sergio
Azevedo de Oliveira.
A los profesores del programa de postgrado: Rafael Martí Cunquero y Enrique
Benavent López.
Al Banco Interamericano del Desarrollo y su Alianza para el Atraso.
A la Música.
iv
RESUMEN
En este trabajo estudiamos los problemas de corte y empaquetamiento con
restricciones prácticas que representan escenarios reales en la industria. El problema de corte
consiste en cortar un conjunto de piezas de un objeto,
mientras que el problema de empaquetamiento consiste en ubicar un conjunto de piezas
dentro de un objeto. Ambos problemas son duales debido a la relación que existe entre el
material y el espacio que este ocupa. Convencionalmente, se denominan problemas de corte a
los problemas donde las piezas se pueden representar en dos dimensiones y problemas de
empaquetamiento a los problemas donde las piezas requieren tres dimensiones para ser
representadas.
En el mundo real se presentan una gran cantidad de variaciones del problema. En este estudio
nos limitamos a estudiar los problemas con piezas y objetos con formas regulares,
restringiendo así los problemas de dos dimensiones al uso de rectángulos y a los problemas de
tres dimensiones al uso de paralelepípedos. Específicamente, los problemas de corte que son
estudiados en este trabajo son: el problema de la mochila bidimensional
(2D-SKP o 2D-SLOPP, del inglés Two-Dimensional Single Knapsack Problem y Two-
Dimensional Single Large Object Placement Problem, respectivamente): con y sin
restricciones de corte tipo guillotina, con y sin restricciones de piezas con beneficio, con y sin
restricciones de límites de ejemplares por pieza, y con y sin restricciones de orientación en las
piezas.
El segundo problema estudiado es el problema de embalaje (2D-BPP, del inglés Two-
Dimensional Bin Packing Problem): con restricciones de corte tipo guillotina, y con y sin
restricciones de orientación de las piezas. Y por último, el problema de empaquetamiento
estudiado en este trabajo es el problema de carga de un único contenedor (3D-SKP o 2D-
SLOPP, del inglés Three-Dimensional Single Knapsack Problem y Three-Dimensional Single
Large Object Placement Problem, respectivamente): con restricciones de orientación de las
cajas, con restricciones de resistencia de pesos de las cajas para su apilamiento, con
restricciones de límite de peso de la carga, con restricciones de estabilidad de la carga, y con
restricciones de múltiples destinos de la carga.
v
Estos tres problemas son de gran interés en la industria. Por lo que en la literatura
especializada existe una gran cantidad de trabajos. Diferentes metodologías tanto exactas
como aproximadas han sido propuestas, debido a la complejidad tanto matemática como
computacional de los problemas, las metodologías exactas solo alcanzan a resolver instancias
pequeñas del problema. En este estudio se proponen representaciones adecuadas de los
problemas y diferentes métodos de solución aproximados basados en técnicas metaheurísticas
de optimización.
Palabras clave: Metaheurísticas. Problemas de corte y empaquetamiento. Problema de carga
del contenedor. Problema de embalaje. Problema de la mochila.
vi
ABSTRACT
In this work we study the cutting and packing problems with practical constraints that
represent real world scenarios of the industry. The cutting problem consists in to cut a set of
pieces from an object, and the packing problem consists in to pack a set of items in an object.
The mentioned problems present a duality, due to the relation that exists between the mass
and the space that this one occupies. Commonly, we call cutting problems to the problems
where the pieces can be defined using just two dimensions and we call packing problems to
the problems where we need three dimensions to describe the pieces.
In the real world there are a big number of variations of this problem. In this study we only
carry out the problems where the pieces and the objects have a regular shape, bounding of that
way the two-dimensional problems to use just rectangular items and the three-dimensional
problems to use just parallelepiped pieces. Specifically, the cutting problems studied in this
work are: the Two-Dimensional Single Knapsack Problem, taking into account cutting pattern
constraints (guillotine and non-guillotine patterns), orientation of the pieces constraints,
associated costs to the pieces constraints and demanding types of pieces constraints.
The second problem that we work on is the Two-Dimensional Single Bin Size Packing
Problem, taking into account cutting pattern constraints (only guillotine patterns) and
orientation pieces constraints. The last problem is the Container Loading Problem (Three-
Dimensional Single Large Object Placement Problem) taking into account: orientation box
constraints, load-bearing strength constraints, cargo stability constraints (full support) and
multi-drop constraints.
All the previous problems have a big spectrum of application on the Industry, because of this;
there is a big amount of previous work on it. Different methodologies, exact and approximate
algorithms have been proposed as solution strategies. Due to the mathematical and
computational complexity of these problems, the exact algorithms cannot solve real world
instances of the problem. The approach of this study consists on presenting and/or adapting
different encodings and optimization algorithms.
Key-words: Bin Packing Problem. Container Loading Problem. Cutting and Packing
Problems. Knapsack Problem. Metaheuristics.
vii
viii
Lista de Figuras
Número Nombre de la figura Página
1. Problema de la mochila bidimensional. 18
2. Problema de embalaje. 19
3. Problema de carga del contenedor. 20
4. Estructura de la tesis. 25
5. Resumen de los tipos de problemas de corte y empaquetamiento. 29
6. Tipos básicos de los problemas de corte y empaquetamiento. 30
7. Tipos Intermedios de problemas (Problema de emplazamiento,
Problema de la Mochila y Problema de Embalaje). 31
8. Panorama de los tipos intermedios del problema; maximización de
la salida. 33
9. Panorama de los tipos intermedios del problema; minimización de
la entrada. 34
10. Patrón guillotina. 37
11. Patrón no guillotina. 37
12. Etapas de corte para alcanzar un patrón de solución. 38
13. Patrones de corte tipo guillotina de dos y tres etapas. 38
14. Patrón de corte tipo guillotina sin etapas (o de k-etapas, siendo k
un número relativamente grande). 38
15. Patrón de corte tipo guillotina de dos etapas. 39
16. Patrones de corte tipo guillotina por etapas sin y con recorte. 39
17. Patrón de corte no guillotina de primer orden, resultante de corte
estampado y cortes guillotina. 40
18. Patrón de corte no guillotina de primer orden, resultante de cortes
estampado anidados y cortes guillotina. 40
19. Patrón de corte de Orden Superior. 41
20. Patrones de corte bidimensionales. 41
21. Piezas con orientación fija o rotable. 41
22. Piezas con valor ponderado o no ponderado. 42
23. Piezas con ejemplares limitados e ilimitados. 42
ix
24. Características del problema de la mochila tenidas en cuenta en
este trabajo. 44
25. Límite máximo de peso soportado por el contenedor. 46
26. Distribución del peso dentro del contenedor. 46
27. Posibles orientaciones de verticales y horizontales de la pieza. 47
28. Límite de soporte de carga (lbs, del inglés load-bearing strength). 48
29. Escenario multi-drop. Subconjuntos de cajas deben ir a diferentes
clientes y la ruta de visita de estos ya está especificada. 50
30. Ejemplo de empaquetamiento multi-drop. Empaquetamiento del
escenario propuesto en la figura 2.25. 52
31. Estabilidad vertical (o estática) del patrón de carga. 53
32. Patrón de carga libre. 53
33. Carga/Descarga manual de un contenedor. 54
34. Carga/Descarga mediante tecnologías mecánicas o automáticas. 54
35. Patrón de carga guillotinado, representación de los cortes
paralelos al contenedor aplicados por etapas. 55
36. Modelamiento y disposición de piezas sobre la mochila. 64
37. Representación de la codificación. Tomada de (Beasley, 2004). 67
38. Esquema general de optimización propuesto para el problema de la
mochila. 70
39. Pieza, mochila y ubicación de una sobre la otra. 70
40. Representaciones/codificaciones de la ubicación de las piezas
sobre los espacios vacíos. 71
41. Elaboración de bloques: simples y compuestos. 72
42. Estrategias de selección de la pieza a ubicarse en el espacio vacío. 74
43. Esquema general de optimización para los problemas de corte. 75
44. Esquema general de optimización para los problemas de
empaquetamiento. 76
45. Representación de cortes y disposición de las piezas a través de un árbol de cortes.
77
46. Árbol de cortes tipo guillotina de dos niveles. 78
47. Ejemplo de un árbol de cortes. 78
48. Estampado sobre la mochila Nodo estampado no guillotina 79
x
representado gráficamente sobre la mochila.
49. Árbol de cortes con un nodo estampado, árbol de primer nivel. 80
50. Árbol de cortes de dos capas (dos niveles). 80
51. Dimensiones resultantes de los cinco espacios, producidos a través de cuatro cortes (nodo estampado). 80
52. Espacios máximos, tomado de (Parreño et al., 2008). 81
53. Capas vertical y horizontal generadas por alguna de las piezas que
se va a cortar o empaquetar. 82
54. Si la distancia entre la capa y el límite de sub-espacio es menor, se
dice que presenta un mejor ajuste (best-fit). 83
55. Cuando el índice es mayor, la capa generada presenta un mayor
aprovechamiento del espacio delimitado por la línea discontinua
denominado capa ideal.
83
56. Cálculo de la función objetivo, cuello de botella secuencial,
paralelización del cuello de botella. 84
57. Uso del procesador de las diferentes versiones: cálculo secuencial
y cálculo en paralelo. 85
58. Posición de la i-ésima partícula. 87
59. Velocidad de la i-ésima partícula 88
60. Algoritmo PSO. 90
61. Algoritmo híbrido de PSO, VNS y Factor de Turbulencia
(APSO+VNS+TF). 92
62. Solución propuesta para el caso 2SCUI1 que pertenece al
problema restricto, con dos etapas de corte y de piezas con valor
no ponderado.
109
63. Solución propuesta para el caso A2 que pertenece al problema
restricto, de piezas con valor no ponderado. 111
64. Solución propuesta para el caso CW9 que pertenece al problema
tipo guillotina restricto, con piezas de valor ponderado. 111
65. Multi-drop por Liu et al., (2011). 115
66. Vistas: superior, frontal, y lateral derecha, de la figura 4.1. 115
67. Multi-drop por Junqueira et al., (2012a). 116
xi
68. Empaquetamiento multi-drop según Junqueira con 𝛿 = 0. 117
69. Empaquetamiento multi-drop según Junqueira con 𝛿 = 𝑙𝑖. 117
70. Multi-drop por Christensen y Rousøe (2009) y Ceschia y Schaerf
(2013). 118
71. Escenarios de las restricciones de empaquetamiento de envíos
completos. 119
72. Ubicación de la caja i dentro del contenedor. 124
73. Ubicación de una caja sobre un espacio vacío y los tres espacios
vacios generados. 127
74. Procedimientos de administración de los espacios máximos:
creación, actualización y eliminación. 128
75. Elaboración de capas de cajas. 129
76. Actualización de la lista de espacios máximos. 130
77. Actualización de los espacios por cambio de cliente, según la
definición de multi-drop. 131
78. Primer movimiento de mejora. 133
79. Segundo movimiento de mejora. 134
80. Empaquetamiento inadecuado y adecuado. 161
81. El árbol de cortes y disposición de las piezas placa por placa. 167
xii
Lista de Tablas
Número Nombre de la tabla Página
1. Dimensiones de los sub-espacios. 79
2. Valores de los parámetros del algoritmo APSO+VNS+TF 93
3. Resultados del problema unconstrained non-staged weighted fixed. 94
4. Resultados del problema unconstrained non-staged unweigthed fixed. 95
5. Resultados del problema unconstrained non-staged unweigthed rotated. 95
6. Resultados del problema constrained non-staged weighted fixed. 96
7. Resultados del problema constrained non-staged weighted fixed. 96
8. Resultados del problema unconstrained two-staged rotated weighted y unweighted.
97
9. Resultados del problema constrained two-staged weighted fixed. 98
10. Resultados del problema constrained two-staged unweighted fixed. 99
11. Resultados del problema constrained two-staged unweighted fixed. 100
12. Resultados del problema constrained two-staged unweighted rotated. 101
13. Resultados del problema constrained two-staged unweighted rotated. 102
14. Resultados del problema unconstrained three-staged fixed weighted y unweighted.
103
15. Resultados del problema unconstrained three-staged rotated weighted y unweighted.
104
16. Resultados del problema constrained three-staged weighted fixed. 105
17. Resultados del problema constrained three-staged unweighted fixed. 106
18. Resultados del problema non-guillotine first-order unconstrained weighted fixed.
106
19. Resultados del problema non-guillotine first order unconstrained unweighted fixed.
107
20. Resultados del problema non-guillotine superior order unconstrained weighted fixed.
107
21. Resultados del problema non-guillotine superior order unconstrained unweighted Fixed.
108
22. Resultados del problema non-guillotine superior order constrained weighted fixed.
108
23. Resultados del problema non-guillotine superior order constrained unweighted fixed.
109
24. Resultados alcanzados por la metodología propuesta para los problemas de la mochila bidimensional.
110
25. Detalles del benchmarking. 136
xiii
26. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la definición y el algoritmo de Ceschia y Schaerf (2013).
138
27. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la definición y el algoritmo de Christensen y Rousøe (2009).
139
28. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la definición y el algoritmo de Liu et al. (2011) y el algoritmo SBIP presentado por Jin et al. (2004).
140
29. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la formulación y definición de Junqueira et al., con δik = 0.
140
30. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la formulación y definición de Junqueira et al., con δik = li.
141
31. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la definición y el algoritmo 3.2 de Liu et al. (2011).
141
32. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra el algoritmo de Alonso et al. (2014).
142
33. Solución obtenida para los problemas de embalaje sin rotación. 167
34. Solución obtenida para los problemas de embalaje sin rotación. 168
35. Mejor solución obtenida para el problema de embalaje con rotación. 169
36. Mejor solución obtenida para el problema de embalaje con rotación. 170
37. Comparación de los tiempos de cómputo del algoritmo propuesto. 171
38. Comparación con las metodologías más notables presentadas en la literatura. Fixed version.
172
39. Comparación con las metodologías más notables de la literatura. Rotated version.
173
40. Resultados del problema guillotine non-staged unconstrained weighted rotated.
175
41. Resultados del problema guillotine non-staged constrained weighted rotated.
175
42. Resultados del problema guillotine non-staged constrained unweighted rotated.
176
43. Resultados del problema guilltoine two-staged unconstrained fixed weighted y unweighted.
176
44. Resultados del problema guillotine two-staged constrained weighted rotated.
177
45. Resultados del problema guillotine three-staged constrained weighted y unweigthed rotated.
177
46. Resultados del problema non-guillotine first order unconstrained unweighted.
178
47. Resultados del problema non-guillotine superior order unconstrained weighted rotated.
178
48. Resultados del problema non-guillotine superior order unconstrained unweighted rotated.
179
xiv
xv
Tabla de Contenido
Título Página
Resumen iii
Agradecimientos iv
Lista de figuras viii
Lista de tablas xii
Tabla de contenido xvi
Capítulo 1. Introducción 17
1.1. Definición de los problemas 17
1.2. Motivación 20
1.3. Objetivos 21
1.3.1. Objetivo principal 21
1.3.2. Objetivos específicos 21
1.4. Alcance y contribuciones 22
1.5. Publicaciones científicas conectadas con la tesis 23
1.6. Organización del documento 24
Capítulo 2. Antecedentes, Clasificación y Revisión de la Literatura 26
2.1. Clasificación de Wäscher et al. (2007) 26
2.2. Descripción de las restricciones adicionales 36
2.2.1. Restricciones adicionales al problema de la mochila 36
2.2.2. Restricciones adicionales al problema de empaquetamiento en placas 44
2.2.3. Restricciones adicionales para el problema de carga del contenedor 45
Capítulo 3. Problema de la mochila bidimensional 56
3.1. Introducción 56
3.2. Descripción del problema 60
3.3. Modelo matemático 61
3.4. Metodología de solución 70
3.4.1. Codificación propuesta 76
3.4.2. Representación del espacio libre: espacios máximos residuales 81
3.4.3. Algoritmo heurístico constructivo de creación de capas 81
3.4.4. Cálculo de la función objetivo 83
3.4.5. Algoritmo híbrido cúmulo de partículas, búsqueda de vecindario variable y
algoritmos genéticos (APSO+VNS+TF)
86
xvi
3.5. Análisis de resultados 94
3.6. Conclusiones 112
Capítulo 4. Problema de carga del contenedor 114
4.1. Introducción 114
4.2. Descripción del problema 119
4.3. Modelo Matemático 121
4.4. Metodología de solución 126
4.5. Resultados computacionales 135
4.6. Conclusiones 143
Capítulo 5. Conclusiones y trabajos futuros 144
Bibliografía 146
Apéndice
Capítulo 6. Problema de embalaje 161
6.1. Introducción 161
6.2. Descripción del problema 164
6.3. Modelo Matemático 165
6.4. Metodología 166
6.5. Análisis de Resultados 168
6.6. Conclusiones 171
Resultados sin comparación 175
Artículo. Improved Particle Swarm Optimization for two-dimensional knapsack problems
Artículo. A GRASP algorithm for the multi-drop container loading problem
17
Capítulo 1.
Introducción
Los problemas de corte y empaquetamiento son problemas clásicos dentro de la
investigación operativa y tienen un gran espectro de aplicación en la industria. En este trabajo
son objeto de estudio tres diferentes problemas, dos de corte y uno de empaquetamiento.
1.1. Definición de los problemas
En los problemas de corte y empaquetamiento se definen dos elementos primordiales:
las piezas y los objetos, este trabajo se limita al estudio de piezas y objetos con forma regular.
Por lo que, en los problemas bidimensionales las piezas (también llamadas ítems) se definen
como pequeños rectángulos, lo cuales deben ser ubicados sobre objetos rectangulares de
mayor tamaño (también llamados láminas, tableros o placas). Mientras que en los problemas
tridimensionales las piezas se definen como pequeños paralelepípedos (llamadas en este
documento como cajas), las cuales son ubicadas dentro de un objeto que es un paralelepípedo
de mayor tamaño (llamado por comodidad como contenedor). La forma (o disposición) en
que se cortan o se empaquetan las piezas sobre los objetos, constituye lo que denominaremos
patrón.
En la práctica los problemas de corte y empaquetamiento son intuitivamente diferenciables,
pero como sabemos en estos problemas se desea alcanzar el patrón de corte o
empaquetamiento más eficiente que optimiza una función objetivo, bien sea maximizar el
valor de las piezas cortadas (o empaquetadas), o minimizar el número de materia prima u
objetos necesarios para el corte o empaquetamiento de las piezas. Matemática y
conceptualmente los patrones de corte y empaquetamiento son indiferenciables, es decir, son
equivalentes, lo que significa que existe una dualidad entre ellos. La dualidad entre el material
y el espacio que este ocupa (cortar material se puede ver como empacar el espacio que este
ocupa y viceversa, cortar el espacio que el material ocupa es lo mismo que empacar el
material).
Los problemas de corte y empaquetamiento son de interés tanto académico como industrial,
avanzar en la temática de corte y empaquetamiento óptimo beneficia: empresas de corte,
despacho y almacenamiento de materiales, dado que representa una estrategia de
mejoramiento importante permitiendo que estas pueden maximizar el uso de las materias
18
primas, factor que incide directamente en el costo final del producto. Industrias de corte de
madera, papel, metal, tela y vidrio, e industrias de transporte y almacenamiento de cajas y
pallets dentro de camiones o contenedores, son las beneficiadas en este tipo de estudio.
El primer problema en estudio, es el problema de la mochila bidimensional (2D-SKP), este
consiste en: cortar de un único objeto rectangular llamado mochila, un conjunto de pequeños
rectángulos llamados ítems. Teniendo como objetivo encontrar la ubicación de las piezas en la
mochila para ser cortadas, minimizando el espacio desperdiciado de la placa, sin sobreponer
las piezas y sin sobrepasar los límites de la placa. A este problema, se le han adicionado
restricciones prácticas que representen escenarios de la vida real, como lo son: con y sin
restricciones de corte tipo guillotina, con y sin restricciones de piezas con valor, con y sin
restricciones de límites de ejemplares por pieza, y con y sin restricciones de orientación en las
piezas (ver Figura 1).
Figura 1. Problema de la mochila bidimensional.
Surtido de piezas Mochila (placa, lámina, objeto)
Disposición de las piezas Corte de las piezas
19
Como anexo al problema de la mochila aparece el segundo problema en estudio, siendo el
problema de embalaje (2D-BPP), este consiste en: cortar de un conjunto de objetos
rectangulares, todo un conjunto de pequeños rectángulos. Teniendo como objetivo encontrar
la ubicación de las piezas sobre las placas para ser cortadas, minimizando el número de placas
necesarias para la disposición total de las piezas, sin sobreponer las piezas y sin sobrepasar los
límites de las placas. A este problema, se le han adicionado restricciones prácticas que
presenten escenarios de la vida real como lo son: restricciones de corte tipo guillotina, y con y
sin restricciones de orientación de las piezas (ver Figura 2).
Figura 2. Problema de embalaje.
Surtido de piezas Placas infinitas (o un número suficiente)
Disposición y corte de todas las piezas sobre las placas
El tercer y último problema en estudio, es el problema de carga del contenedor (3D-SLOPP),
este consiste en ubicar dentro de un contenedor, un conjunto de cajas. Teniendo como
objetivo maximizar el volumen ocupado por la carga, sin traslapar las cajas y sin sobrepasar
los límites del contenedor. A este problema, se le han adicionado restricciones prácticas que
presenten escenarios de la vida real como lo son: restricciones de orientación de las cajas,
restricciones de resistencia de pesos de las cajas para su apilamiento, restricciones de límite de
peso de la carga, restricciones de estabilidad de la carga, y restricciones de múltiples destinos
de la carga (ver Figura 3).
20
Figura 3. Problema de carga del contenedor.
Surtido de cajas Contenedor
Disposición de las cajas dentro del contenedor y cajas restantes que quedan por fuera (Patrón de carga)
1.2. Motivación
Este estudio está basado en una revisión del estado del arte de los problemas de corte y
empaquetamiento que puede ser un referente para la comunidad académica, proponiendo y
presentando tanto representaciones como metodologías para la solución de los problemas de
2D-SKP, 2D-BPP y 3D-SLOPP, estos tres problemas han sido demostrados NP-Duros por
Garey y Johnson (1979) y Beasley (2004) a través del problema clásico de la mochila
unidimensional.
Existe gran cantidad de estudios formales sobre los problemas de corte y empaquetamiento,
libros como: Brown (1971), Martello y Toth (1990), Dyckhoff y Finke (1992), y Dyckhoff et
al. (1997). Clasificaciones y tipologías como: Hinxman (1980), Dyckhoff (1990), Wäscher et
al. (2007) y Bortfeldt y Wäscher (2013). Y artículos de revisión como: Golden (1976),
21
Dowsland (1985), Dyckhoff et al. (1985), Haessler y Sweeney (1991), Dowsland y
Dowsland (1992), Morabito y Arenales (1992), Ram (1992), Sweeney y Paternoster (1992),
Cheng et al. (1994), Martello (1994a; 1994b), Bischoff y Wäscher (1995), Coffman et al.
(1996), Arenales et al. (1999), Hopper y Turton (2001a; 2001b), Hifi (2002b), Lodi et al.
(2002a), Wang y Wäscher (2002), Oliveira y Wäscher (2007). En los cuales se recalcan las
diferentes carencias y nuevos horizontes en la investigación sobre los problemas de corte y
empaquetamiento.
En la últimas dos décadas la industria y la academia ha aumentado la investigación y
desarrollo en las áreas de investigación operativa e ingeniería de la producción, creciendo así
el interés por metodologías de solución para problemas de corte y empaquetamiento, que
mejoren el desempeño tanto en calidad como en tiempo computacional, pero que incorporen
restricciones prácticas que representen situaciones reales en la industria.
1.3. Objetivos
1.3.1. Objetivo principal
El objetivo de este trabajo es desarrollar una metodología de solución para los
problemas de la mochila bidimensional, el problema de empaquetamiento en placas y el
problema de carga del contenedor, incluyendo restricciones prácticas de los escenarios reales
de los problemas. Restricciones de tipo de corte, beneficio de las piezas, límites de ejemplares
por pieza, y orientación en las piezas, en el problema de la mochila. Restricciones de corte
tipo guillotina y orientación de las piezas, en el problema de empaquetamiento en placas.
Finalmente, restricciones de orientación de las cajas, restricciones de resistencia de pesos de
las cajas para su apilamiento, restricciones de límite de peso de la carga, restricciones de
estabilidad de la carga, y restricciones de múltiples destinos de la carga, en el problema de
carga del contenedor.
1.3.2. Objetivos específicos
Revisar el estado del arte de los modelos matemáticos que formulen los problemas
de interés en este estudio con las restricciones prácticas deseadas.
Revisar el estado del arte de las metodologías de solución propuestas para este tipo de
problemas.
22
Utilizar o proponer representaciones que permitan la implementación de técnicas heurísticas
y metaheurísticas de optimización, para la resolución de los problemas de corte y
empaquetamiento que hacen parte de este estudio.
Implementar o desarrollar metodologías de solución para los problemas propuestos en este
estudio.
Validar las metodologías de solución desarrolladas utilizando las diferentes librerías de
casos de prueba presentadas en la literatura especializada.
1.4. Alcance y contribuciones
El alcance de este trabajo consiste en desarrollar diferentes metodologías de solución
para los problemas de: la mochila bidimensional, el problema de embalaje y el problema de
carga del contenedor. En donde el desempeño y calidad del estudio realizado será respaldado
por los resultados obtenidos por el conjunto de metodologías presentadas. Ya que todas las
implementaciones realizadas en este trabajo se compararon contra metodologías
representativas del estado del arte de optimización exacta y aproximada. Además de esto, se
efectúa un análisis de varianza de las soluciones obtenidas con cada una de las técnicas
propuestas. Con el fin de conocer la sensibilidad de los algoritmos propuestos y la calidad de
sus respuestas, que nos permita clasificar el conjunto de técnicas propuestas de acuerdo a su
desempeño.
Dentro de las metodologías propuestas se encuentran contribuciones como:
• El uso de una codificación de árboles de cortes para los problemas de corte
bidimensionales.
• El desarrollo de un algoritmo de optimización de cúmulo de partículas especializado
para los problemas de corte.
• La esquematización de una única metodología para dar solución a diferentes
problemas de la misma especie.
• La implementación y adaptación del algoritmo GRASP para dar solución al problema
de carga de contenedores con restricciones de empaquetamiento prácticas.
1.5. Publicaciones científicas conectadas con la tesis
Los capítulos presentados en esta tesis son basados en artículos ya publicados o
sometidos a evaluación tanto en revistas como en anuales de conferencias.
23
El diseño y el desarrollo de la representación en árboles de cortes y el algoritmo de
optimización cúmulo de partículas, para el problema de la mochila con restricciones de corte
tipo guillotina descrito en el capítulo 3, está basado en los siguientes tres artículos:
• D. Álvarez, E. M. Toro, R. A. Gallego, (2010), Problema de la mochila irrestricta
bidimensional guillotinada, Revista Ingeniería & Universidad, Universidad Javeriana,
Bogotá (Colombia), 14 (2): 327-344, julio-diciembre. ISSN 0123-2126.
• D. Álvarez, L. M. Escobar, R. A. Gallego, (2011), Unconstrained k-staged two-
dimensional guillotineable single knapsack problem, In Proceedings of the 43th
Brazilian Symposium on Operations Research, Ubatuba (Brazil), 43: 95-107, August.
ISSN 1518-1731.
• D. Álvarez, R. A. Romero, (2012), Particle swarm optimization with turbulence factor
for two-dimensional guillotine single knapsack problems, In Proceedings of the 44th
Brazilian Symposium on Operations Research/16th Latin Ibero American Conference
on Operations Research, Rio de Janeiro (Brazil), 44: 204-215, September. ISSN 1518-
1731.
El diseño y el desarrollo de la representación en árboles de cortes y el equipo asíncrono de
metaheurísticas para el problema de la mochila con restricciones de corte tipo no-guillotina
descrito en el capítulo 3, está basado en los siguientes dos artículos:
• D. Álvarez, L. M. Escobar, R. A. Romero, (2011), Equipo asíncrono de agentes
basados en recocido simulado aplicado al problema del agente viajero simétrico,
Revista Scientia et Technica, Universidad Tecnológica de Pereira, Pereira (Colombia),
49: 122-127, Diciembre. ISSN 0122-1701.
• D. Álvarez, L. M. Escobar, R. A. Romero, (2013), A hybrid algorithm of Particle
Swarm Optimization and Genetic Algorithms for the non-guillotine two-dimensional
single knapsack problem, Presented on the 26th European Conference on Operational
Research and Submitted for publication on a journal.
El diseño y el desarrollo de la representación en árboles de cortes y los algoritmos de
optimización cúmulo de partículas para el problema de empaquetamiento en placas descrito
en el capítulo 4, está basado en el artículo:
24
• D. Álvarez, E. M. Toro, R. A. Gallego, (2011), Estudio comparativo de algoritmos
basados en cúmulo de partículas para resolver el problema de empaquetamiento en
placas, Revista Ingeniería y Competitividad, Universidad del Valle, Cali (Colombia),
13 (1): 113-130, Mayo. ISSN 0123-3033.
El diseño y el desarrollo de la representación de los espacios máximos y el algoritmo Greedy
Randomized Adaptive Search Procedure para el problema de carga del contenedor descrito en
el capítulo 5, está basado en el artículo:
• D. Álvarez, F. Parreño, R. Álvarez-Valdés (2013), A heuristic approach to the
Container Loading Problem with multi-drop constraints, Presented on the
26th European Conference on Operational Research and Submitted for publication on
a journal.
1.6. Organización del documento
El resto del texto está organizado de la siguiente manera (ver Figura 4): en el Capítulo
2 se realiza un resumen de los antecedentes de los problemas de corte y empaquetamiento y se
detalla su clasificación y tipología, dando así una revisión inicial para el entendimiento
completo de los problemas trabajados en este estudio. Por último se justifica la elección de
estos problemas.
En el capítulo 3 es definido formalmente el problema de la mochila y cada una de las
restricciones tenidas en cuenta. Se presenta la revisión de las diferentes metodologías
propuestas en la literatura, cubriendo así métodos exactos, heurísticas y metaheurísticas. Es
proporcionada la formulación matemática representativa del problema. Se presenta la
metodología de solución propuesta, acompañada de un estudio computacional y la
comparación de resultados obtenidos con respecto a los de la literatura. Se realiza un análisis
y se presentan las conclusiones. Por otro lado, este mismo esquema de investigación y
solución realizado sobre el problema de embalaje y es presentado en los anexos de este
documento.
En el capítulo 4 donde se estudia el problema de carga del contenedor se realizan los mismos
pasos para al final presentar la metodología solución.
25
Finalmente el capítulo 5 concluye esta tesis, resumiendo las principales contribuciones
alcanzadas en este estudio, seguido de los posibles horizontes de investigación sobre esta
temática.
Figura 4. Estructura de la tesis.
26
Capítulo 2.
Antecedentes, Clasificación y Revisión de la Literatura
Desde la publicación de Gilmore y Gomory (1961; 1963) sobre los problemas de corte
y empaquetamiento, el número de investigadores e investigaciones en el mundo entero sobre
esta temática ha aumentado década tras década. Debido a la cantidad de trabajos publicados
en la literatura especializada ha sido difícil ordenar, clasificar y ponderar estos, para una
concertación de los problemas futuros con mayor importancia.
El primer intento de clasificar los problemas de corte y empaquetamiento es propuesto por
Dyckhoff (1990), tiempo después una tipología mejorada es presentada por
Wäscher et al. (2007). Y debido al interés ganado por el problema de carga de contenedores
Bortfeldt y Wäscher (2013) presentan una actualización a esta tipología.
En este documento se presenta la tipología de Wäscher et al. (2007) con el fin de aclarar
puntualmente los problemas atacados en este estudio y justificar la elección de estos.
2.1. Clasificación de Wäscher et al. (2007)
Recordando la estructura de los problemas de corte y empaquetamiento, estos están
compuestos por dos conjuntos de elementos: un conjunto de grandes objetos (entradas o
suministros) y un conjunto de pequeñas piezas (salidas o demanda), los cuales son definidos
geométricamente usando un número de dimensiones necesarias. Así, el problema consiste en
seleccionar algunas o la totalidad de las pequeñas piezas, para asignarlas y ubicarlas dentro de
un conjunto de los grandes objetos de tal forma que, se conserven las siguientes restricciones
geométricas: cada pequeña pieza debe encontrarse totalmente dentro del objeto y las pequeñas
piezas no se pueden traslapar. La forma o disposición en que se encuentran las piezas sobre
los objetos se denominada como patrón. Encontrar el patrón de corte o empaquetamiento más
eficiente con relación a una o más funciones objetivos dadas, resume el objetivo de los
problemas de corte y empaquetamiento.
Formalmente, cinco subproblemas pueden ser identificados, lo cuales deben ser resueltos
simultáneamente para alcanzar la solución óptima de un problema de corte o
empaquetamiento:
• Seleccionar los grandes objetos,
27
• Seleccionar las pequeñas piezas,
• Agrupar las pequeñas piezas,
• Asignar los subconjuntos de piezas en los grandes objetos,
• Ubicar las piezas en cada uno de los objetos seleccionados conservando las restricciones
geométricas.
Tipos especiales de problemas de corte y empaquetamiento pueden ser caracterizados por
propiedades adicionales. En particular, estos se pueden degenerar en el sentido que tal vez no
incluyan los subproblemas anteriormente mencionados.
Wäscher et al. (2007) para realizar su clasificación de los problemas de corte y
empaquetamiento utilizan cinco criterios:
• Dimensionalidad: que representa el número de dimensiones geométricas necesarias y
relevantes para describir las piezas y objetos.
• Clase de asignación: que representa el objetivo conceptual, teniendo dos posibles: la
maximización de la salida (output maximization) y la minimización de la entrada
(input minimization).
En la maximización de la salida, un conjunto de las piezas debe que ser asignado a un
conjunto dado de objetos. Pero de antemano se sabe que tal vez ni usando en su
totalidad el conjunto de objetos grandes, este sea suficiente para acomodar todas las
piezas. Por lo tanto, el objetivo es encontrar la disposición de piezas sobre los objetos,
que maximice el beneficio de las piezas asignadas.
En la minimización de la entrada, la totalidad de las piezas deben ser asignadas a al
conjunto de objetos grandes. A diferencia del anterior, el conjunto de objetos es
suficiente para ubicar todas las piezas. Por lo tanto, el objetivo es encontrar la
disposición de piezas sobre los objetos, que minimice el valor de los objetos
asignados.
• Surtido de las piezas: que representa cuán variado o diverso son las piezas con relación
a sus formas y medidas, pero teniendo en cuenta solo las dimensiones geométricas
relevantes. Las piezas pueden ser agrupadas en relativamente (con relación a número
total de piezas) pocas clases, en las cuales, las piezas tienen idénticas formas y
dimensiones. Por definición, se tratan como diferentes clases (o tipos como luego
28
serán mencionadas en este documento) de piezas, si estas tienen las mismas formas y
dimensiones pero sus orientaciones son diferentes. Para esto se distinguen tres casos
distintos: Piezas idénticas, Surtido débilmente heterogéneo y Surtido fuertemente
heterogéneo.
Un surtido de piezas idénticas se presenta cuando, todas las piezas tienen tanto formas
y dimensiones iguales, es decir, solo existe una clase (tipo) de pieza. En casos donde el
objetivo es la maximización de la salida, se asume que el único tipo de pieza
demandado tiene un número ilimitado de copias o ejemplares.
Un surtido débilmente heterogéneo se presenta cuando, la demanda de cada tipo de
pieza es relativamente grande, es decir, existe un número alto de copias o ejemplares
por tipo de pieza, y este puede ser o no restringido por un límite máximo.
Un surtido fuertemente heterogéneo se presenta cuando, el número de ejemplares de
cada tipo de pieza es relativamente bajo, llegando a ser casi un solo ejemplar por clase
de pieza.
• Surtido de los objetos: que representa cuán diversos son los objetos con relación a sus
formas y dimensiones, en especial, algunas o todas las dimensiones pueden ser fijas
(dadas) o variables (ilimitadas). Para esto se distinguen dos casos distintos: solo existe
un objeto o existen varios objetos.
Cuando solo existe un objeto puede ocurrir que este tenga todas sus dimensiones fijas
(es decir, sean dadas) o que una o más de sus dimensiones sean variables o ilimitadas.
Cuando existen varios objetos cada uno de estos tienen sus dimensiones fijas, es decir,
no existe el caso de varios objetos con dimensiones variables. Por otro lado, la
existencia de varios objetos significa que estos pueden ser al igual que las piezas
clasificados de nuevo en tres posibles categorías de surtido, que los objetos sean
idénticos, que su surtido sea débilmente heterogéneo o que su surtido sea fuertemente
heterogéneo.
• Forma de las piezas: que representa geométricamente como están definidas las piezas,
en los casos donde son relevantes y necesarias dos o tres dimensiones geométricas
para representar las piezas, se pueden identificar dos clases de piezas: las regulares
(rectángulos, círculos, paralelepípedos, cilindros, bolas, etc.) e las irregulares. En este
estudio nos limitamos al estudio de problemas donde las formas de las piezas son
regulares y en especial sus formas son rectangulares, lo que limita el problema a
trabajar con rectángulos y paralelepípedos, para los problemas de dos y tres
29
dimensiones respectivamente. Además de esto, en este trabajo los objetos también
deben tener forma rectangular. Por otro lado, se asume que todas las disposiciones de
las piezas sobre los objetos se realizan ortogonalmente, es decir, al momento de
disponer una pieza sus lados deben ubicarse paralelos a los del objeto.
Con estos cinco criterios podemos definir un esquema de los tipos de problemas de corte y
empaquetamiento. En la Figura 5 se ilustra la diferencia entre tipos de problemas “puros” de
corte y empaquetamiento, y extensiones del problema, los cuales se diferencian por incluir
aspectos adicionales que no hacen parte de las características inherentes del corte y
empaquetamiento.
Figura 5. Resumen de los tipos de problemas de corte y empaquetamiento.
Fuente: Tomado de Wäscher et al. (2007).
Dentro de los tipos de problemas puros de corte y empaquetamiento vemos que pueden ser
divididos entre: tipos básicos, tipos intermedios y tipos refinados del problema, a su vez una
suposición distinta de las clásicas, en cualquier criterio de clasificación convierte
30
automáticamente éste en una “variante” del problema. Por otro lado, los casos refinados luego
son definidos al aplicar otros criterios sobre los tipos básicos del problema.
Es importante detallar los tipos básicos de los problemas de corte y empaquetamiento debido
a que, basados en estos se definirán los tipos refinados, siendo estos sobre los que recaen los
problemas trabajados en este estudio. Para esto es necesario profundizar en los criterios de:
clase de asignación y surtido de las piezas.
Los problemas donde el objetivo es la maximización de la salida tienen en común que los
objetos son suministrados en cantidades limitadas y no son suficientes para acomodar todas
las piezas. Como el valor de las piezas ubicadas debe ser maximizado, todos los objetos
terminaran siendo usados. En otras palabras, generalmente hay un problema de selección de
las piezas, pero no uno de los objetos.
Mientras que, los problemas donde el objetivo es la minimización de la entrada tienen como
característica el hecho de que, el suministro de objetos es lo suficientemente grande como
para acomodar todas las piezas. La demanda de las piezas debe ser totalmente satisfecha, esto
significa que no existe problema de selección de las piezas. De esta forma, el valor de los
objetos necesarios para ubicar todas las piezas debe ser minimizado.
De acuerdo a lo anterior en la Figura 6 se ilustran los siguientes tipos básicos de problemas:
Figura 6. Tipos básicos de los problemas de corte y empaquetamiento.
Fuente: Adaptado de Wäscher et al. (2007).
31
Figura 7. Tipos Intermedios de problemas (Problema de emplazamiento, Problema de la
Mochila y Problema de Embalaje).
Fuente: Adaptado de Wäscher et al. (2007).
• Problema de empaquetado con ítems idénticos
Esta categoría de problemas consiste en asignar el mayor número posible de piezas idénticas a
un conjunto dado de objetos. Se nota que, debido al hecho de que todas las piezas son
idénticas, realmente no existe un problema de seleccionar y agrupar las piezas, ni existe un
verdadero problema de asignación de las piezas a los objetos. En otras palabras, la estructura
general anteriormente mencionada, se reduce al problema de ubicar las piezas a cada uno de
los objetos cumpliendo sus restricciones geométricas.
• Problema de emplazamiento
En la literatura, problemas de esta categoría son conocidos bajo distintos nombres. Por lo que
se define el término de Problema de emplazamiento, para definir la categoría de problemas en
la cual un surtido de piezas débilmente heterogéneo, debe ser asignado a un conjunto limitado
de objetos. El valor o el tamaño total (como un objetivo auxiliar) de las piezas ubicadas debe
ser maximizado, o alternativamente, las respectivas pérdidas deben ser minimizadas.
• Problema de la mochila
Esta categoría de problemas es caracterizada por un surtido de piezas fuertemente
heterogéneo, el cual debe ser ubicado en un conjunto de objetos. La disponibilidad de objetos
es limitada, de tal forma que, no todas las piezas podrán ser acomodadas. Por lo tanto, el valor
de las piezas ubicadas debe ser maximizado.
Surtido
heterogéneo
Objetos idénticos
Surtido de
los objetos
fuertemente
heterogéneos
Objetos
idénticos
Problema de la mochila con múltiples objetos idénticos
Problema de la mochila con múltiples objetos heterogéneos
Surtido
heterogéneo
Problema de emplazamiento Problema de emplazamiento con un solo objeto
Un objeto
Problema de emplazamiento con múltiples objetos idénticos Problema de emplazamiento con múltiples objetos heterogéneos
Varios
Problema de la mochila
Problema de la mochila con un solo objeto Varios
Un
Surtido de
los objetos
débilmente
heterogéneo
Problema de embalaje con objetos de múltiples tamaños
Problema de embalaje con objetos de un solo tamaño
Problema de embalaje con residuos
Problema de embalaje
Objetos
idénticos
32
Hemos enunciado anteriormente los tres problemas básicos que hace parte de los tipos de
problemas donde el objetivo es la maximización de la salida. Por otro lado, los tipos de
problemas donde el objetivo es la minimización de la entrada, se caracterizan porque el
suministro de objetos es lo suficientemente grande como para acomodar todas las piezas. El
conjunto de piezas demandadas debe ser satisfecho en su totalidad, por lo que no existe el
problema de seleccionar las piezas. Mientras que, el valor de los objetos necesarios para
acomodar todas las piezas debe ser minimizado. Dentro de esta categoría se encuentran los
siguientes problemas:
• Problema de dimensión abierta
Esta categoría de problemas consiste en acomodar la totalidad del conjunto de piezas sobre
uno o más objetos. Los objetos son dados, pero su extensión en al menos una dimensión
puede ser considerada variable (indefinida o ilimitada). En otras palabras este problema
implica la decisión de fijar la dimensión variable del objeto. Por otro lado, solo el conjunto de
objetos necesarios para acomodar todas las piezas representan las “entradas” en el sentido
general de la estructura de los problemas de corte y empaquetamiento. De esta manera, el
valor de la entrada (o una medida auxiliar como la extensión, el tamaño o el volumen) es el
que debe ser minimizado.
• Problema de corte de estoque
Esta categoría de problemas requiere que un surtido de piezas débilmente heterogéneo deba
ser ubicado en su totalidad en una selección de objetos de mínimo valor, número o tamaño
total. A diferencia del problema anterior, la extensión de los objetos es dada (fija) en todas sus
dimensiones geométricas. Se resalta que no se hace ninguna suposición con respecto al
surtido de los objetos. El cual podría ser como ya lo hemos visto: un surtido de objetos
idénticos, un surtido de objetos débilmente heterogéneo y un surtido de objetos fuertemente
heterogéneo.
• Problema de embalaje
Esta categoría de problemas es caracterizada por un surtido de piezas fuertemente
heterogéneo. Nuevamente, las piezas deben ser asignadas a un conjunto de objetos idénticos,
un surtido de objetos débil o fuertemente heterogéneo. Por tanto, el valor, el número o el
tamaño total (u otro objetivo auxiliar) de los objetos necesarios, debe ser minimizado.
33
Figura 7. Panorama de los tipos intermedios del problema; maximización de la salida.
Fuente: Adaptado de Wäscher et al. (2007).
Los anteriores seis problemas enunciados conforman los tipos básicos de problemas de corte y
empaquetamiento (ver Figura 6). Pero para esclarecer y detallar los problemas tenidos en
cuenta en este estudio es necesario continuar con la estructura de clasificación, pasando así a
los tipos intermedios del problema. Por lo que continuaremos al adicionar el criterio de
surtido de los objetos. Centrándonos ahora solo en tres tipos básicos de problemas: problema
de emplazamiento, problema de la mochila y problema de embalaje (ver Figura 7).
Surtido de las piezas
Características
de los objetos
Idénticas Débilmente
Heterogéneas
Fuertemente
Heterogéneas
Todas las
dimensiones
fijas
Un único
objeto
Problema de
empaquetado de
ítems idénticos
Problema de
emplazamiento en
un único objeto
Problema de una
única mochila
Identical Item
Packing Problem
Single Large
Object Placement
Problem
Single Knapsack
Problem
IIPP SLOPP SKP
Objetos
idénticos
Problema de
emplazamiento en
múltiples objetos
idénticos
Problema de
múltiples
mochilas idénticas
Multiple Identical
Large Object
Placement Problem
Multiple Identical
Knapsack Problem
MILOPP MIKP
Objetos
Heterogéneos
Problema de
emplazamiento en
múltiples objetos
heterogéneos
Problema de
múltiples
mochilas
heterogéneas Multiple
Heterogeneous
Large Object
Placement Problem
Multiple
Heterogeneous
Knapsack Problem
MILOPP MIKP
34
En el problema de emplazamiento podemos encontrar que exista uno o más objetos. Si solo
existe un solo objeto, esto representa que no existe el problema de seleccionar objetos, debido
a que es el único que hace parte de la entrada y por lo tanto será asignado. Esta categoría de
problemas es llamada como: problema de emplazamiento en un único objeto. Por otro lado, si
existe más de un objeto, implicará la inclusión del problema de seleccionar los objetos, estos a
su vez pueden ser un surtido de objetos idénticos o un surtido de objetos heterogéneos, estas
categorías de problemas son llamadas como: problema de emplazamiento en múltiples objetos
idénticos y problema de emplazamiento en múltiples objetos heterogéneos.
Figura 9. Panorama de los tipos intermedios del problema; minimización de la entrada.
Surtido de las piezas
Características
de los objetos
Débilmente
Heterogéneas
Fuertemente
Heterogéneas
Todas las
dimensiones
fijas
Objetos
idénticos
Problema de corte de
estoque en objetos de
idénticos tamaños
Problema de embalaje en
objetos de un único tamaño
Single Stock Size
Cutting Stock Problem
Single Bin Size
Bin Packing Problem SSSCSP SBSBPP
Objetos
débilmente
heterogéneos
Problema de corte de
estoque en múltiples objetos
Problema de embalaje en
objetos de múltiples
Multiple Stock Size
Cutting Stock Problem
Multiple Bin Size
Bin Packing Problem MSSCSP MBSBPP
Objetos
fuertemente
heterogéneos
Problema residual de corte
de estoque
Problema residual de
embalaje Residual
Cutting Stock Problem
Residual
Bin Packing Problem RCSP RBPP
Un único objeto con
dimensiones variables
Problema de dimensión abierta Open Dimension Problem
ODP Fuente: Adaptado de Wäscher et al. (2007).
En el problema de mochila podemos encontrar que exista uno o más mochilas (u objetos).
Una vez más, si solo existe una mochila, esto representa que no existe el problema de
seleccionar objetos, debido a que es la única que hace parte de la entrada, por lo tanto siempre
35
será asignada. Esta categoría de problemas es llamada como: problema de una única mochila.
Por otro lado, si existe más de una mochila, implicará la inclusión del problema de seleccionar
los objetos, estos a su vez pueden ser, un surtido de mochilas idénticas o un surtido de
mochilas heterogéneas, estas categorías de problemas son llamadas como: problema de
múltiples mochilas idénticas y problema de múltiples mochilas heterogéneas.
En el problema de embalaje podemos encontrar que exista uno o más tamaños diferentes de
los ob jetos. Si solo ex iste un tamaño de objeto es llamado como: problema de embalaje en
objetos de un único tamaño. Por otro lado, si existe más de un tamaño de objeto, puede ser
que el surtido de los tamaños de los objetos sea débil o fuertemente heterogéneo, estas
categorías de problemas son llamadas como: problema de embalaje en objetos de múltiples
tamaños y problema residual de embalaje.
Por otro lado, las Figuras 8 y 9 ilustran todos los tipos intermedios de los problemas de corte
y empaquetamiento. Por lo tanto, solo nos resta la definición de los tipos “refinados”. Estos
son alcanzados al incluir los criterios de dimensionalidad y forma de las piezas. Obteniendo
así subcategorías que se caracterizan al adicionar el adjetivo (dimensionalidad y forma) al
nombre del tipo intermedio del problema.
Como hemos dicho anteriormente este problema se limita al estudio de problemas donde las
piezas tiene forma regular y las dimensiones relevantes para describir las piezas y objetos son
dos o tres dimensiones. Por lo tanto, los tipos refinados de los problemas tenidos en cuenta en
este estudio son:
• El problema bidimensional de una única mochila rectangular, 2D-SLOPP la sigla en
inglés de Two-Dimensional, rectangular Single Large Object Packing Problem. Que
por facilidad llamaremos como problema de la mochila.
• El problema de embalaje en objetos bidimensionales rectangulares de un único
tamaño, 2D-SBSBPP la sigla en inglés de Two-Dimensional, rectangular Single Bin
Size Bin Packing Problem. Que bautizaremos en este documento como: problema de
empaquetamiento en placas.
• El problema de emplazamiento tridimensional en un único objeto rectangular, 3D-
SLOPP la sigla en inglés de Three-Dimensional, rectangular Single Large Object
Packing Problem. Este es también conocido como problema de carga del contenedor
(en inglés Single Container Loading (Packing) Problem).
36
Estos tres problemas elegidos tienen un gran interés debido a sus bien conocidas aplicaciones
en el problema de la industria. Esto quiere decir, que son problemas que se deben solucionar
día a día en empresas que trabajen en el corte, empaquetamiento, transporte y almacenamiento
de mercancías. Aunque en la literatura existe una vasta cantidad de trabajos sobre estos
problemas, pocos trabajos presentan o incluyen en sus metodologías restricciones prácticas
que representen situaciones reales de los problemas, es decir, muchos estudios se dedican solo
a resolver los tipos “refinados” estándar (First-Level Standard Problems), a diferencia de los
trabajos anteriores, en este se pretende incluir el mayor número de restricciones prácticas,
pero conservando la estructura general de los problemas de corte y empaquetamiento. De tal
forma que, estos problemas no recaigan en situaciones especiales o simples variantes. Por lo
tanto, los problemas estudiados en este trabajo pertenecen a los tipos refinados estándar de
segundo nivel (Second-Level Standard Problems). A continuación definiremos el conjunto de
restricciones adicionales tenidas en cuenta en este estudio.
2.2. Descripción de las restricciones adicionales
Como fue enunciado anteriormente tres diferentes tipos de problemas serán estudiados
en este trabajo, además de sus versiones estándar, es adicionado un conjunto de restricciones
prácticas, encontradas en situaciones reales de los problemas.
2.2.1. Restricciones adicionales al problema de la mochila
Al igual que en la clasificación enunciada anteriormente las restricciones adicionales que se
tienen en cuenta se pueden dividir por criterios: patrones de corte y empaquetamiento, y
características de las piezas.
• Patrones de corte o empaquetamiento bidimensional
Morabito y Arenales (1996) clasifican los patrones de empaquetamiento en: patrones
guillotina y no guillotina (ver Figura 20). Un corte tipo guillotina es aquel que al aplicarse
sobre un rectángulo produce dos nuevos rectángulos, es decir, si el corte va de un extremo al
otro del rectángulo original; en otro caso se denomina del tipo no guillotina. Un patrón es de
tipo guillotina si se puede obtener por sucesivos cortes de tipo guillotina (ver Figura 10), es
decir, los patrones están condicionados por una tecnología de corte que solo tiene un grado de
libertad (una dimensión geométrica) que solemos llamar guillotina. Por otro lado, un patrón es
no guillotina si es obtenido por sucesivos cortes de guillotina y no guillotina (ver Figura 11).
37
Figura 10. Patrón guillotina.
Figura 11. Patrón no guillotina.
Figura 12. Etapas de corte para alcanzar un patrón de solución.
(a) Mochila original.
(b) Primera etapa de corte en dirección horizontal.
(c) Segunda etapa de corte en dirección vertical.
(d) Piezas obtenidas luego de dos etapas de corte.
Algunos procesos de corte industrial también limitan la manera de producir patrones de corte
guillotina. En la primera etapa los cortes son realizados paralelos a uno de los lados de la
38
mochila (o lámina), luego, en la siguiente etapa, ortogonal a los cortes previos y así
sucesivamente. Esto es denominado como corte por etapas (ver Figura 12). Si existe un límite
máximo impuesto al número de etapas de corte, denotado como k, el patrón guillotina es
llamado de k-etapas (ver Figura 13), de lo contrario se dice que es “sin etapas” (el patrón
guillotina sin etapas, es equivalente a, un patrón guillotina de k-etapas definiendo k lo
suficientemente grande, ver Figura 14).
Figura 13. Patrones de corte tipo guillotina de dos y tres etapas.
(a) Patrón de corte tipo guillotina de 2-etapas (b) Patrón de corte tipo guillotina de 3-etapas.
Figura 14. Patrón de corte tipo guillotina sin etapas (o de k-etapas, siendo k un número
relativamente grande).
Usualmente en la industria el mayor número de aplicaciones encontradas es cuando el número
de etapas de corte es igual a dos (k = 2, ver Figura 15). Además de esto, en el corte por etapas
es definido el uso del “recorte”, el cual es realizado si al final de las etapas de corte, las piezas
en sus dimensiones demandadas no han sido alcanzadas, y es necesario un proceso de recorte
para obtener la pieza. Por lo tanto, al corte por etapas puede ser o no adicionado el proceso de
recorte (ver Figura 16).
39
Figura 15. Patrón de corte tipo guillotina de dos etapas.
(a) Primera etapa de corte en dirección horizontal,
(b) Segunda etapa de corte en dirección vertical,
(c) Piezas obtenidas luego de dos etapas de corte.
Figura 16. Patrones de corte tipo guillotina por etapas sin y con recorte. (a) Patrón de corte
tipo guillotina de 2-etapas sin recorte, (b) Patrón de corte tipo guillotina de 2-etapas con
recorte.
Por otra parte, algunos procesos industriales no están condicionados al uso de guillotinas para
el corte bidimensional, teniendo así una tecnología para realizar los patrones de corte con dos
grados de libertad (dos dimensiones geométricas). Obteniendo así, corte tipo no guillotina y a
su vez los patrones de corte no guillotina, en los cuales podemos encontrar dos tipos. El
primero, denominado patrón de primer orden, consiste en un patrón de corte generado a partir
del “corte estampado” (cuatro cortes ortogonales que producen cinco nuevos rectángulos)
ilustrado en la Figura 11. El mismo patrón junto con cortes tipo guillotina en cualquiera de los
rectángulos generados continua siendo un patrón de primer orden (ver Figura 17). Igualmente
un corte estampado de este tipo aplicado a cualquiera de los rectángulos generados (aplicación
40
recursiva del mismo) sigue generando un patrón de primer orden como se ilustra en la Figura
18.
Figura 17. Patrón de corte no guillotina de primer orden, resultante de corte estampado y
cortes guillotina.
Figura 18. Patrón de corte no guillotina de primer orden, resultante de cortes estampado
anidados y cortes guillotina.
El segundo tipo, denominado patrón de orden superior, es un patrón de corte no guillotina
que no puede ser alcanzado, empleando tanto cortes estampado como cortes tipo guillotina
como se ilustra en la Figura 19.
Figura 19. Patrón de corte de Orden Superior.
• Características de las piezas bidimensionales
Lodi et al. (1999) clasifican las características de las piezas en: su orientación, su valor (o
beneficio) y su demanda (o número de ejemplares requeridos). En diferentes escenarios de la
industria estás características pueden estar condicionadas, además de esto, varias
41
características a la vez pueden estar restrictas, es decir, cada combinación de estas genera un
tipo de problema.
Existen restricciones inherentes a la orientación de las piezas (la posibilidad de que las piezas
puedan rotar 90° o no, ver Figura 21). Pudiendo encontrar dos escenarios: las piezas pueden
rotar 90° (R, del inglés Rotated) o su orientación es fija (Fx, del inglés Fixed).
Figura 20. Patrones de corte bidimensionales.
Figura 21. Piezas con orientación fija o rotable.
Los valores de las piezas (beneficio que ofrece empacar una determinada pieza) pueden estar
relacionados directamente con su área o no (ver Figura 22). Existiendo dos escenarios que
42
inciden directamente en la función objetivo del problema: ítems con valores de beneficio
ponderados, es decir, diferente a su área (Wg, conocido en la literatura como Weighted output
maximization) o ítems con valores de beneficio igual a su área (Ug, conocido en la literatura
como Unweighted output maximization).
Figura 22. Piezas con valor ponderado o no ponderado.
La demanda de las piezas (o número de ejemplares existentes del mismo tipo de pieza) puede
estar o no limitada (ver Figura 23). Cuando no existe un límite máximo de copias por tipo de
pieza, se dice que el problema es tipo irrestricto (Uc, del inglés Unconstrained problem) y
cuando hay limitación del número de ejemplares por tipo de pieza, se dice que el problema es
tipo restricto (C, del inglés Constrained problem).
Figura 23. Piezas con ejemplares limitados e ilimitados.
• Delimitación del problema de la mochila trabajado en este estudio
Como hemos visto anteriormente, utilizamos la clasificación de Wäscher et al. (2007) para
dividir este estudio en tres tipos distintos de problema, en especial para el problema de la
mochila bidimensional que es el primero a ser trabajado en este documento, lo hemos
caracterizado usando las clasificaciones de Morabito y Arenales (1996) para describir los
patrones de corte y de Lodi et al. (1999) para detallar las características de las piezas. La
combinación de estás tres tipologías, genera una gran variedad de tipos de problemas. Ya que
un tipo de problema podría ser: aquellos que están condicionados a patrones de corte
43
guillotina de dos etapas sin recorte, las piezas tienen una orientación fija, el valor de las piezas
es ponderado (weighted) y la demanda de piezas es restricta. Utilizando una notación similar a
la usada en las clasificaciones, diríamos que el tipo de problema enunciado es: 2D-
2s|C|Wg|Fx|Wt|SKP, del inglés Two-dimensional Two-Staged Constrained Weighted Fixed
Single Knapsack Problem without trimming. Este tipo de problema en especial es uno de los
cuatro que hace parte del trabajo presentado por Silva et al. (2010). Como vemos el número
de combinaciones de tipos de problemas es alto, los estudios normalmente intentan resolver
entre cuatro u ocho tipos, pero también hay estudios que solo se centran a resolver un tipo.
En este trabajo se estudiaran cuarenta (ver Figura 24) tipos de problemas de la mochila
bidimensional, producto de la combinación entre: los patrones de corte tipo guillotina de dos
y tres etapas considerando el proceso de recorte, patrones de corte tipo guillotina sin etapas,
los patrones de corte tipo no guillotina de primer orden y orden superior, piezas con
orientaciones fijas y rotables, piezas con valores ponderados y no ponderados, y piezas con
demanda irrestricta e irrestricta.
Aunque al principio parezca ambicioso el tratar un número tan alto de tipos de problemas,
luego veremos que una metodología de solución adecuada puede resolver varios de estos, al
aplicar solo pequeños ajustes que hagan cumplir las condiciones del problema en cuestión.
Por otro lado, es importante mencionar que existe gran cantidad de trabajos sobre estos
problemas y la mayoría basados en aplicaciones reales de la industria, ya que se está
considerando un número suficiente de características para estudiar y resolver el problema
práctico.
2.2.2. Restricciones adicionales al problema de empaquetamiento en placas
En el problema de empaquetamiento en placas los criterios que se tienen en cuenta para
definir las restricciones adicionales son: los patrones de corte y empaquetamiento, y las
características de las piezas. Los patrones de corte y empaquetamiento son los mismos
utilizados para el problema de la mochila. Cabe anotar que en el problema de Bin Packing son
usadas otras características de las piezas, en especial, las restricciones de posicionamiento
entre piezas, ya que pueden existir condiciones donde una pieza no puede ser empacada a lado
de otra pieza dentro del mismo objeto. Esto ocurre al resolver el problema de
empaquetamiento en pallets, que es comúnmente reducido a un problema de bin-packing
bidimensional (o problema de embalaje) y se adicionan las restricciones de posicionamiento
44
entre piezas, debido a que, si por ejemplo se están empaquetando productos de
abastecimiento, no es permitido ubicar productos de aseo al lado (en el mismo pallet) de
productos alimenticios. Las restricciones de posicionamiento entre piezas son inherentes los
problemas de empaquetamiento en pallets o el problema de bin-packing tridimensional, como
veremos luego ambos no hacen parte de este estudio.
Figura 24. Características del problema de la mochila tenidas en cuenta en este trabajo.
Como los patrones de corte y empaquetamiento son los mismos definidos anteriormente, nos
resta enunciar cuales características de las piezas son tenidas en cuenta. En este estudio solo
se considera las restricciones de orientación de las piezas, es decir, si las piezas tienen una
orientación fija o si las piezas pueden rotar 90º. Por otro lado, es importante aclarar que el
problema de empaquetamiento en placas define en si una clase de problemas donde las
características de los objetos (placas) son: solo existe un tipo de objeto (todas las placas tiene
las mismas medidas, largo y ancho), el suministro de objetos se asume ilimitado (o lo
suficientemente para ubicar todas las piezas), si existe un solo tipo de objeto no hay
restricciones de posicionamiento de piezas dentro de las placas (en un objeto se puede ubicar
cualquier tipo de pieza) y si existe un solo tipo de objeto, todos los objetos tienen el mismo
valor, por lo tanto el objetivo del problema es minimizar el número de placas necesarias para
empacar todas las piezas.
• Delimitación del problema de embalaje trabajado en este estudio
En este trabajo se estudiarán solo dos tipos de problemas resultantes de la combinación entre:
los patrones de corte guillotina sin etapas y piezas con orientaciones fijas y rotables. Existen
pocos trabajos en la literatura sobre el problema de embalaje con restricciones de corte
guillotina y no debido a la poca aplicabilidad de este tipo de problema, sino que el problema
de empaquetamiento en placas ha sido más estudiado para resolver el problema de
45
empaquetamiento en pallets el cual por definición utiliza patrones de corte tipo no guillotina.
Por esta razón, el estudio del problema con patrones guillotina ha sido relevado a un segundo
lugar. Además de esto, este trabajo no se extiende al estudio del problema incluyendo
restricciones de corte tipo guillotina con etapas (2-etapas, 3-etapas, etc.), porque para este tipo
de problemas no se conocen escenarios reales.
2.2.3. Restricciones adicionales para el problema de carga del contenedor
Para los problemas de carga de contenedores aparece la clasificación presentada por Bortfeldt
y Wäscher (2013), la cual se divide en los criterios de: restricciones relacionadas con el
contenedor, restricciones relacionadas con las cajas, restricciones relacionadas con la carga,
restricciones de posicionamiento y restricciones relacionadas con el empaquetamiento.
• Restricciones relacionadas con el contenedor
Existen dos restricciones relacionadas con el contenedor: el límite de peso y la distribución
del peso. La restricción de límite de peso consiste que el peso total de las cajas empacadas no
sobrepase el máximo permitido por el contenedor (ver Figura 25). Mientras que las
restricciones de distribución del peso (o restricciones de balance de la carga) exigen que el
peso de la carga sea distribuido a lo largo del piso del contenedor, esperando que un
empaquetamiento con peso balanceado disminuyan las posibilidades de desplazamiento de la
carga mientras el contenedor se encuentra en movimiento (ver Figura 26).
Figura 25. Límite máximo de peso soportado por el contenedor.
• Restricciones relacionadas con las cajas
Existen tres restricciones relacionadas con las cajas: restricciones de cajas con prioridades de
empaquetamiento, restricciones inherentes a las orientaciones de las cajas y restricciones de
apilamiento de las cajas.
46
Las restricciones de cajas con prioridades de empaquetamiento se derivan de las condiciones
prácticas, donde, empacar una caja puede ser más deseable que la otra, por motivos (o
prioridades) como: plazos de entrega, requisitos relacionados con la frescura o la vida útil de
los productos. Para esto, se definen dos clases de prioridades: prioridades absolutas y
prioridades relativas. Las prioridades absolutas consisten en que una caja con este tipo de
prioridad siempre debe ser empacada, mientras que las cajas con prioridad relativa tienen un
valor (ponderado o no ponderado) de lo atrayente o beneficioso que resulta empacar este
producto.
Figura 26. Distribución del peso dentro del contenedor. (a) Distribución del peso
longitudinalmente (en especial cuando el contenedor representa el compartimiento de un
camión), (b) Distribución del peso lateralmente (en especial cuando el contenedor representa
el compartimiento de un avión).
Las restricciones inherentes a las orientaciones de las cajas se basan en que, en principio, cada
dimensión de una caja puede servir como altura, dando lugar a tres orientaciones verticales. Si
se fija una dimensión de la caja en particular, como la altura, la orientación vertical de la caja
estará definida. Por lo tanto, solo restan dos posibles dimensiones para alinear
horizontalmente a las paredes del contenedor (orientación horizontal de la caja). Obteniendo
así un total de seis orientaciones, según las cuales una caja puede ser empacada
ortogonalmente en un contenedor (ver Figura 27). Sin embargo, en la práctica, el número de
orientaciones permitidas de una caja puede ser restringido tanto en dirección vertical y
horizontal. En general existen dos casos más comunes: las cajas tienen una orientación fija
tanto vertical como horizontal (es decir, las cajas no pueden rotar) y que no haya ninguna
restricción en general con respecto a la orientación vertical y horizontal de las cajas (Bischoff
y Ratcliff, 1995).
47
Figura 27. Posibles orientaciones de verticales y horizontales de la pieza.
Orientación
Vertical Orientación Horizontal
Alto
Largo Ancho
Ancho
Largo Alto
Largo
Ancho Alto
48
Figura 28. Límite de soporte de carga (lbs, del inglés load-bearing strength).
Las restricciones de apilamiento de las cajas limitan como las cajas pueden ser puestas una
sobre otra, una aproximación general a esta restricción es limitar el peso máximo que se
puede aplicar por unidad de superficie a la cara soporte de la caja (ver Figura 28), esto quiere
decir, que cada cara de la caja tiene un límite de apilamiento (usualmente medido como peso
por unidad de área, kg/cm2). Pero ésta aproximación asume que la presión es aplicada
uniformemente sobre la superficie (cara) superior de la caja de soporte y no refleja el hecho
de que - debido a su construcción - la caja podría ser capaz de soportar una presión más alta
en los bordes que en el centro de su cara superior. Además, la rigidez de la cara superior de
una caja determina cómo se transmite realmente el peso de una caja que se coloca en la parte
superior de la misma. Si la cara superior de la caja situada por debajo está hecha de material
blando (como cartón), entonces el peso se transmite - más o menos – directamente hacia abajo
solo en la superficie (área) de contacto. Si la cara superior está compuesta de un material muy
rígido (como una placa de metal) entonces, el peso se distribuirá sobre toda la cara superior de
la caja de soporte (Bischoff, 2006).
• Restricciones relacionadas con la carga
Existen dos restricciones relacionadas con la carga: restricciones de envío completo y
restricciones de ubicación.
49
Las restricciones de envío completo se derivan de las condiciones prácticas, donde, las cajas
pueden estar agrupadas en subconjuntos por motivos de funcionalidad o administrabilidad.
Esto significa que empacar una caja de un subconjunto implica tener que empacar la totalidad
de las cajas pertenecientes a dicho subconjunto y de manera inversa, no empacar una caja de
un subconjunto exige no poder empacar ninguna caja de dicho subconjunto, esto suele
suceder en situaciones como el empaquetamiento de piezas de mobiliario (unidades de cocina,
armarios, etc.).
Las restricciones de ubicación surgen solamente en problemas con múltiples contenedores.
Exigiendo que los elementos de un subconjunto particular de cajas, tengan que ir en el mismo
contenedor, por ejemplo, cuando un subconjunto vaya a ser enviado al mismo destino o
cuando un cliente quiere recibir las piezas pedidas en un único envío y no como un envío de
piezas.
• Restricciones de posicionamiento
Las restricciones de posicionamiento condicionan la ubicación de las piezas dentro del
contenedor, ya sea en términos absolutos (es decir, donde las piezas deben o no ser empacadas
dentro del contenedor) o en términos relativos (es decir, donde las piezas deben o no ser
ubicadas con relación a otras piezas).
Las restricciones en términos absolutos demandan que ciertas piezas sean ubicadas (o no) en
una posición en particular o en un área en particular del contenedor. Estas restricciones son
normalmente impuestas por el tamaño, peso o el contenido de la caja. Por ejemplo, cajas
supremamente pesadas solo serán posibles de descargar si se ubican cerca de la puerta del
contenedor o al contrario, por limitaciones de maniobrabilidad una caja de grandes
extensiones y peso que impedirá el fácil acceso, será deseable ubicarla en la parte posterior
del contenedor.
Las restricciones en términos relativos pueden por un lado, demandar que un grupo de cajas
sea ubicado relativamente junto dentro del contenedor o al menos, a una cierta distancia una
de la otra, por ejemplo, cuando ese grupo de cajas representa un cliente, es deseable para una
fácil verificación y descargue de este. Por otro lado, estas restricciones también pueden
demandar que ciertas cajas (o grupo de cajas) no sean ubicadas juntas o en la proximidad de
estas. Dado que pueden afectarse las unas a las otras de manera negativa, por ejemplo,
posicionar alimentos en la proximidad de productos combustibles.
50
Dentro de las restricciones de posicionamiento aparecen los escenarios multi-drop, que resulta
ser una combinación de restricciones de posicionamiento en términos absolutos y relativos.
Una situación multi-drop se caracteriza por el hecho de que subconjuntos de cajas deben ir a
diferentes clientes y la ruta de visita de estos ya está especificada. Las cajas de un subconjunto
no solo deberá ubicarse en la proximidad de las otras, además el arreglo de todos los
subconjuntos dentro del contenedor deberá reflejar la secuencia de acuerdo a la ruta de
entrega, de tal forma que al alcanzar cada destino no sean necesarias operaciones ociosas de
descarga y recarga.
Figura 29. Escenario multi-drop. Subconjuntos de cajas deben ir a diferentes clientes y la ruta
de visita de estos ya está especificada.
La Figura 29 ilustra un escenario multi-drop a través de un grafo dirigido, donde los nodos
representan los clientes (los nodos Ci) y el punto de depósito (el nodo D), las aristas
representan el orden en que deben ser alcanzados los clientes, iniciando la ruta desde el
51
depósito. En este las cajas son agrupadas por clientes (o cajas con el mismo destino de
desembarque). La Figura 30 ilustra el proceso de empaquetamiento del escenario multi-drop
propuesto en la Figura 31, el embalaje se realiza en el sentido contrario de la ruta de visita de
los clientes, a la vez que se debe verificar y garantizar que no sean necesarias operaciones
ociosas de descarga y recarga de cajas.
• Restricciones relacionadas con el patrón de carga
Existen dos restricciones relacionadas con el patrón de carga: restricciones de estabilidad y
restricciones de complejidad. Ambas restricciones, se refieren a las propiedades deseables o
necesarias del arreglo final de las cajas dentro del contenedor.
Las restricciones de estabilidad del patrón de carga a menudo son consideras más importantes
que el mismo objetivo general de maximizar el espacio utilizado, debido a que un
empaquetamiento inestable puede resultar en daños a la carga e incluso puede llegar a herir al
personal encargado de las operaciones de carga y descarga de las cajas. En situaciones
prácticas, la estabilidad del patrón de carga puede ser alcanzado al adicionar soportes (o
amarraderas) o rellenando los espacios vacios restantes con un material como la espuma.
Con respecto a la estabilidad del patrón de carga, se pueden distinguir dos tipos: estabilidad
vertical y estabilidad horizontal. La estabilidad vertical (también llamada: estabilidad estática,
de Castro Silva et al. 2003) previene que las cajas caigan al suelo del contenedor o sobre la
superficie de otras cajas. Su contexto aparece cuando el contenedor no se encuentra en
movimiento y describe la capacidad del patrón de carga de resistir la fuerza de gravedad
(Junqueira et al. 2012).
Los problemas con estabilidad vertical suelen demandar que la base de cada caja debe estar
soportada (en totalidad o parcialmente) ya sea por el piso del contenedor o un espacio parejo
(es decir, un espacio con el mismo nivel de altura) proporcionado por las superficies
superiores de otras cajas. El soporte necesario puede exigir que el área de la base sea completa
o especificar una fracción mínima (ver Figura 31).
Cuando se demanda estabilidad de soporte completo (es decir, el 100% de la base de la caja
debe estar soportada) se puede garantizar la estabilidad vertical del patrón de carga. A
diferencia cuando se relaja el porcentaje de la base de la caja, esto puede derivar a alcanzar
52
patrones de carga inestables, y se requerirá el uso de amarras o rellenar los espacios vacios
resultantes con materiales como espuma, para poder garantizar la estabilidad vertical.
Figura 30. Ejemplo de empaquetamiento multi-drop. Empaquetamiento del escenario
propuesto en la Figura 29.
La estabilidad horizontal (o también llamada estabilidad dínamica) garantiza que las cajas no
se muevan significativamente mientras el contenedor está en movimiento. Por lo tanto, esta se
refiere a la capacidad del patrón de carga de resistir la inercia de las cajas (Junqueira et al.,
2012). La estabilidad horizontal completa es alcanzada cuando se garantiza que cada pieza
embalada está adyacente (horizontalmente al lado) de otra caja o de una pared del contenedor
(Bischoff y Ratcliff, 1995).
Las restricciones de complejidad del patrón de carga, garantizan que el embalaje pueda ser
alcanzado a través de la tecnología disponible. Por un lado, un patrón de carga puede no ser
aceptable para la carga de contenedores manual, porque esos patrones no siempre pueden ser
53
visualizados de manera que se entiendan correctamente por el personal de carga (ver Figura
32) y su embalaje puede tardar demasiado tiempo (ver Figura 33).
Figura 31. Estabilidad vertical (o estática) del patrón de carga. (a) Patrón de carga con
estabilidad vertical exigiendo soporte completo de la base de todas las cajas. (b) Patrón de con
estabilidad vertical exigiendo una fracción mínima de soporte de la base de las cajas, esto
permite que algunas cajas que sobresalgan (es decir, parte de su base quede colgando o sin
soporte).
Figura 32. Patrón de carga libre.
Tecnologías de embalaje mecánicas y automáticas más avanzadas, por otra parte, no siempre
son adecuadas para los patrones de carga complejos y pueden requerir la participación de
54
mano de obra adicional, representando más costos (ver Figura 34). Las restricciones de
complejidad reflejan las limitaciones de los recursos tecnológicos y humanos (Bischoff y
Ratcliff, 1995).
Figura 33. Carga/Descarga manual de un contenedor.
Figura 34. Carga/Descarga mediante tecnologías mecánicas o automáticas.
La restricción de complejidad considerada más frecuentemente, es la restricción de corte
guillotina. Un patrón tipo guillotina (más precisamente: diseño guillotinado, patrón de corte-
guillotinado) representa un tipo de patrón de carga que puede ser fácilmente descrito y
empacable. Se dice que un patrón de carga es guillotinado, si se puede obtener por una serie
de cortes paralelos a las caras del contenedor (ver Figura 35). La generación de los patrones
de guillotina no se aborda ampliamente en la literatura de carga de contenedores, debido a que
estos no siempre son adecuados, dado a que tienden a ser inestables (Wascher y Bortfeldt,
2013).
55
Figura 35. Patrón de carga guillotinado, representación de los cortes paralelos al contenedor
aplicados por etapas.
• Delimitación del problema de carga del contenedor trabajado en este estudio
En este trabajo se estudiarán el problema de carga del contenedor a medida que se incorporan
restricciones que representan condiciones prácticas del problema en la vida real. Comenzando
por la inclusión de las restricciones de orientación de las piezas que resulta ser la restricción
más tenida en cuenta en la literatura. Además de esto, agregar las restricciones de límite
máximo de peso de apilamiento entre cajas y con esta, la restricción de límite máximo de peso
de la carga. Manteniendo la estabilidad de la carga mediante las restricciones de estabilidad
vertical de soporte completo. Finalmente, adicionar las restricciones de embalajes multi-drop,
que son de gran interés en la industria pero aún han sido poco estudiadas y las metodologías
propuestas parecen no explotar todas las características de este tipo de embalaje. En general,
en la literatura solo se encuentra un trabajo que reúna todas estas restricciones prácticas
(Ceschia y Schaerf, 2013).
56
Capítulo 3.
Problema de la mochila bidimensional
El problema de corte óptimo es considerado clásico dentro de la investigación de
operaciones debido a su gran espectro de aplicación en la industria y su alta complejidad tanto
matemática como computacional. En este trabajo se presenta el problema de la mochila
bidimensional. Se describe el modelo matemático aplicado por diferentes grupos de
investigación que estudian esta temática. Se propone un tipo de codificación para ser aplicada
en este problema y se resuelve mediante un algoritmo de optimización que combina las
principales características de cúmulo de partículas, recocido simulado y algoritmos genéticos.
Para comprobar la eficiencia de la metodología presentada se tomaron casos de prueba de la
literatura especializada, se analizan y comparan los métodos de solución presentados con los
del estado del arte del problema.
3.1. Introducción
El problema de la mochila bidimensional es usado para resolver problemas de corte
que se presentan cuando el material utilizado es un objeto rectangular, donde se deben ubicar
piezas rectangulares más pequeñas, de las que se conoce el tamaño y un costo asociado, el
objetivo es maximizar el valor de las piezas cortadas.
Las características de este problema son las siguientes:
i) El costo asociado puede o no estar relacionado con el área de la pieza a ser ubicada; si
el costo es igual al área de la pieza se está resolviendo el problema sin pesos
(unweighted version) y si el costo es diferente del área del ítem el problema a resolver
es el problema con pesos (weighted version).
ii) La orientación de las piezas a ser ubicadas, es decir, la orientación de una pieza es fija
si una pieza de alto h y ancho w es diferente de una pieza de longitud w y alto h (fixed
version).Y si se considera que las dimensiones (h, w) y (w, h) representan las
dimensiones de la misma pieza, se está abordando un problema con rotación (rotated
version).
iii) Los patrones de corte pueden ser del tipo guillotina o no guillotina, en el tipo
guillotina se diferencian los de: con dos y tres etapas de corte (two-staged and three-
57
staged versions), y sin etapas de corte (non-staged version), además en estos se
permite un post-proceso de recorte (with trimming version). Mientras que en los no-
guillotina se diferencian los patrones de: primer orden (first order version) y orden
superior (superior order version).
iv) La demanda de piezas o el límite máximo del número de piezas a cortar de cada tipo
puede ser ilimitada (unconstrained version) o restricta (constrained version).
Para el problema de la mochila bidimensional con patrones tipo guillotina un resumen del
estado del arte es el siguiente: (Gilmore y Gomory, 1965; 1966) proponen un algoritmo
recursivo exacto sobre la base de la programación dinámica para resolver el problema. Este
algoritmo es aplicable a las versiones donde las piezas tienen valores ponderados y no
ponderados. (Herz, 1972) propone un método de búsqueda recursiva de árbol, su método es
más eficaz que el algoritmo de Gilmore y Gomory para el problema donde las piezas tienen
valores no ponderados, pero no se aplica a los casos con piezas con valores ponderados.
(Morabito et al., 1992) desarrollaron la heurística DH (de las siglas en ingles Depth-first
search y Hill-climbing strategies) basada en un proceso de búsqueda primero en profundidad
y estrategias de aceptación de empeoramientos. El algoritmo KD (de las siglas en inglés
Knapsack problem usando Dynamic programming) fue presentado por (Fayard y
Zissimopoulos, 1995) para resolver el problema basado en la solución de problemas de la
mochila unidimensional, resultando eficiente para problemas de gran tamaño. Este algoritmo
también usa una estructura de grafo, pero sólo considera el primer nivel del árbol, a diferencia
del DH que consiste en desarrollar un árbol limitado por un parámetro de profundidad (Herz,
1972; Christofides y Whitlock, 1977; Morabito et al., 1992).
(Hifi, 2001) presenta un algoritmo híbrido que combina el algoritmo DH y KD, esto permite
desarrollar un algoritmo general para el problema de la mochila bidimensional irrestricta
guillotinada. Este prueba su algoritmo para problemas de gran escala, tanto en problemas con
pesos como sin pesos, obteniendo excelente resultados.
(Hifi y Zissimopoulos, 1996) proponen un algoritmo recursivo exacto usando programación
dinámica basada en eficientes límites inferiores y superiores para resolver el problema
irrestricto. (Young-Gun y Kang, 2002) proponen una mejora al algoritmo de (Hifi y
Zissimopoulos, 1996) usando una cota superior más eficiente. Este es actualmente uno de los
algoritmos exactos con mejor desempeño para resolver el problema irrestricto.
58
Existen dos técnicas generales utilizadas para resolver los problemas restrictos: top-down y
bottom-up. (Christofides y Whitlock, 1977) propusieron originalmente el enfoque de top-
down, el cual genera todos los posibles patrones de solución en forma recursiva, dividiendo
cada placa en dos nuevas. La mayoría de los algoritmos exactos para el problema irrestricto
utilizan este enfoque. El enfoque de bottom-up genera todos los posibles patrones de corte
mediante la combinación de dos patrones horizontal o verticalmente construidos a partir de
otros dos patrones. El enfoque bottom-up requiere una gran cantidad de memoria, razón por
la cual la implementación de un algoritmo de este tipo es poco atractivo. Sin embargo,
(Young-Gun et al., 2003) propusieron un algoritmo que parte de una solución inicial de buena
calidad y utiliza el algoritmo constructivo bottom-up como estrategia para generar las ramas,
disminuyendo el número de nodos a explorar.
Por otro lado, un resumen del estado del arte del problema de la mochila bidimensional con
patrones de corte no guillotina es el siguiente: (Beasley, 1986) y (Hadjiconstantinou y
Christofides, 1995) presentan una formulación de programación lineal 0-1 para el problema
utilizando variables de decisión binarias para las posiciones donde serán cortadas las piezas de
la placa; desarrollaron relajaciones Lagrangeanas y las utilizaron como límites en los
procedimientos de búsqueda en el árbol correspondiente (los límites son mejorados usando la
optimización del subgradiente).
En (Tsai et al., 1993) y (Chen et al., 1995), el problema es formulado como un modelo lineal
binario utilizando las variables de decisión izquierda, derecha, arriba y abajo, relativas a la
posición de cada par de piezas que se cortarán de la mochila (con restricciones disyuntivas
para las opciones múltiples); en éstos se sugiere resolver los modelos empleando algoritmos
branch-and-bound explorando estructuras particulares de las mencionadas restricciones. Otra
formulación lineal binaria aparece en (Boschetti et al., 2002; Egeblad y Pisinger, 2009), y una
formulación binaria no lineal fue presentada en (Beasley, 2004).
Otra manera exacta de abordar el problema utilizando branch-and-bound basado en el
llamado enfoque de dos niveles (el primer nivel selecciona el conjunto de piezas a cortar sin
tener en cuenta la capa, el segundo nivel revisa si existe una capa de corte factible para las
piezas seleccionadas) (Baldacci y Boschetti, 2007; Caprara y Monaci, 2004; Fekete et al.,
2007).
59
El método presentado en (Fekete et al., 2007) está basado en un árbol de búsqueda de dos
niveles que combina el uso de una estructura de dato especial para caracterizar cortes factibles
con límites superiores.
En (Birgin et al., 2012), se utiliza el enfoque de particionamiento recursivo presentado en
(Birgin et al., 2010) para la carga de manufacturas en pallets para los cortes bidimensionales
ortogonales no guillotina (ponderado y no ponderado) sólo para generar patrones de primer
orden en los contenedores. Este enfoque recursivo de particionamiento combina versiones
refinadas de ambas heurísticas recursivas de cinco bloques presentadas en (Morabito y
Morales, 1998; 1999) y la estrategia de corte en forma de ele (L) presentadas en (Lins et al.,
2003; Birgin et al., 2005) para cortar rectángulos de rectángulos mayores y piezas en forma de
ele (L).
Diferentes heurísticas basadas en búsqueda local aleatoria, ubicación bottom-left, búsqueda en
grafos, etc., y diferentes metaheurísticas basadas en algoritmos genéticos, búsqueda tabú,
recocido simulado, GRASP, etc., para generar cortes bidimensionales no-guillotina para el
problema restricto e irrestricto se encuentran en la literatura. Algunos ejemplos recientes son
(Alvarez-Valdés et al., 2007; Gonçalves, 2007; Huang y Chen, 2007; Chen y Huang, 2007;
Bortfeldt y Winter, 2009; Egeblad y Pisinger, 2009; Wei et al., 2009).
Los métodos basados en métodos no lineales para empaquetamiento de rectángulos dentro de
regiones arbitrarias convexas, considerando diferentes tipos de restricciones de
posicionamiento han sido presentadas en (Birgin et al., 2006a; Birgin et al., 2006b; Birgin y
Lobato 2010; Mascarenhas y Birgin, 2010). La mayoría de estos estudios han sido
desarrollados para el problema restricto, que puede ser más interesante para ciertas
aplicaciones prácticas con relativa baja demanda de los ítems ordenados. Sin embargo, parte
de esos métodos podrían no funcionar bien cuando se resuelve el problema irrestricto,
especialmente aquellos cuyo comportamiento computacional es altamente dependiente en el
total del número de ítems ordenados. Por otro lado, el problema irrestricto es particularmente
interesante para aplicaciones del problema cutting-stock con producción de gran escala y con
ítems levemente heterogéneos (es decir, relativamente pocos tipos de piezas pero muchas
copias del mismo tipo), en el cual el problema utiliza el procedimiento de generación de
columnas, como lo indican muchos autores desde el estudio pionero (Gilmore y Gomory,
1965).
60
3.2. Descripción del problema
El problema de la mochila bidimensional estudiado en este trabajo se define como:
cortar de un rectángulo que se denomina mochila (placa, lámina u objeto) de alto H y ancho
W, un conjunto de rectángulos de cardinalidad n que se denominan piezas (ítems) de alto hi ,
ancho wi, número de ejemplares bi y costo asociado ci (donde i = 1,..., n). El objetivo es dado
por la Ecuación 1 y consiste en maximizar el costo asociado del conjunto de piezas cortadas,
zi es una variable entera que indica el número de ejemplares de la pieza i que deben ser
cortados.
1
n
i ii
max c z=
⋅∑ (1)
Sujeto a:
• Las piezas empacadas no deben superar los límites de la mochila. (2)
• Las piezas no deben sobreponerse entre ellas.
(3)
• 𝑧𝑖 ≤ 𝑏𝑖, las piezas asignadas no deben superar la demanda por tipos de piezas. (4)
Las Expresiones 1 – 4 representan el problema general, en este trabajo se estudian diferentes
variantes que son encontradas en la industria, las características de estas variantes pueden ser
incorporadas al adicionar expresiones o modificar alguna de estas.
Las características de este problema son las siguientes:
i) Valores de las piezas: si el costo asociado de la pieza no está relacionado con el área,
la Expresión 1 representa perfectamente esta variante. Por otro lado, si el costo
asociado de la pieza debe ser el área, debe ser agregada la Expresión 5.
𝑐𝑖 = ℎ𝑖 ∙ 𝑤𝑖 (5)
ii) La orientación de las piezas: si la orientación de las piezas es fija, no es necesario
agregar ninguna expresión. Por otro lado, si es permitido rotar las piezas 90 grados, se
debe realizar un pre-proceso que identifique las piezas i y k tales que ℎ𝑖 = 𝑤𝑘 y
𝑤𝑖 = ℎ𝑘, y para estas haga 𝑏𝑖 = 𝑏𝑖 + 𝑏𝑘 , (es decir, agrupar por tipos de pieza), además
se debe agregar la Expresión 6.
61
• Las piezas pueden rotar 90° (6)
iii) Los patrones de corte: para los patrones tipo guillotina se debe agregar la expresión
correspondiente. La Expresión 7 para los patrones tipo guillotina de dos etapas, la
Expresión 8 para los patrones tipo guillotina de tres etapas y la Expresión 9 para los
patrones tipo guillotina sin etapas. Por otro lado, para los patrones tipo no guillotina,
se debe agregar la Expresión 10 si se requiere un patrón de corte no guillotina de
primer orden, de lo contrario, si el patrón de corte es no guillotina de orden superior no
es necesario agregar ninguna expresión.
• Solo el uso de cortes guillotina son permitidos y máximo dos etapas de corte (7)
• Solo el uso de cortes guillotina son permitidos y máximo tres etapas de corte (8)
• Solo el uso de cortes tipo guillotina son permitidos. (9)
• Solo el uso de corte tipo guillotina y cortes tipo no guillotina de primer orden (10)
Esto significa que el tipo de patrón de corte es una restricción fuerte en este trabajo.
iv) La demanda de piezas o el límite máximo del número de piezas a cortar de cada tipo:
si no existe un límite máximo de ejemplares por tipo de pieza se debe modificar la
Expresión 4 por la Expresión 11. Por otro lado, si ha sido impuesto un límite máximo
bi de ejemplares por tipo de pieza no es necesario agregar ninguna expresión.
𝑧𝑖 ≤ 𝑀𝑖, donde Mi es un número lo suficientemente grande. 𝑀𝑖 = �𝑊∙𝐻𝑤𝑖∙ℎ𝑖
� (11)
3.3. Modelo matemático
Distintos modelos matemáticos para representar los mismos tipos de problema han
sido propuestos, con el fin de encontrar mejoras en la solución a través de un modelamiento
eficiente, es por esto que en este estudio se hace una revisión de los diferentes modelos y se
exponen solamente dos porque son los más cercanos a los problemas tratados, además de
presentar resultados satisfactorios para el problema de la mochila bidimensional.
(Gilmore y Gomory, 1961; 1963) presentan el primer modelo matemático para el problema de
corte y empaquetamiento unidimensional. (Gilmore y Gomory, 1965; 1966) estudian
62
cuidadosamente el problema de la mochila cuando este es aplicado para el corte de piezas en
una y dos dimensiones.
(Biro y Biros, 1985) caracterizan los patrones no guillotina usando teoría de grafos. (Beasley,
1986) estudió el problema de la mochila con patrones de corte tipo no guillotina, proponiendo
un modelo de programación lineal entera para determinar las coordenadas discretas a las
cuales los ítems pueden ser ubicados. Un modelo similar fue introducido por
(Hadjiconstantinou y Christofides, 1995). (Scheithauer y Terno, 1993) proponen modelos
para empaquetamiento de polígonos convexos y no convexos.
(Fekete y Schepers, 1997) usan la teoría de grafos para determinar un empaquetamiento
factible sin sobreponer las piezas. (Lodi et al., 2002; 2004) presentan un modelo que maneja
patrones formados por estantes (niveles), este modelo considera explícitamente restricciones
de corte tipo guillotina (pero solo una parte de los patrones guillotina son considerados).
(Beasley, 2004) presenta una nueva formulación de corte no guillotina. Una buena revisión de
los modelos existentes está disponible en (Lodi et al., 2004).
Un modelo matemático lineal entero-mixto para el problema de empaquetamiento
tridimensional en contenedores, con número polinomial de variables y restricciones, es
presentado por (Chen et al., 1995), este modelo puede ser visto como una extensión a la
técnica de modelamiento propuesta por (Onodera et al., 1991). Para un problema de ubicación
de bloques bidimensionales, el modelo se basa en la enumeración de todas las posibles
ubicaciones relativas de cada par de piezas. Los experimentos computacionales presentados
en (Chen et al., 1995) muestran sin embargo que el modelo propuesto es muy ineficiente en la
solución de instancias prácticas de empaquetamiento. La misma técnica fue usada por
(Daniels et al., 1994) para modelar el problema de empaquetamiento general (bidimensional)
de polígonos, en este mismo caso, el uso directo del modelo prueba ser ineficiente en la
práctica. (Ben et al., 2008) presentan un modelo basado en la caracterización y modelamiento
de los patrones guillotina para el problema de empaquetamiento en rollos infinitos (strip
packing problem), el cual puede ser fácilmente adaptado para el problema de la mochila.
Como se muestra en la revisión bibliográfica anterior no existen modelos matemáticos que
describan completamente todo los problemas de interés en este estudio. Pero algunos modelos
propuestos en la literatura son fácilmente adaptables, por otro lado, se sabe que estos modelos
no son satisfactorios en la resolución de casos prácticos del problema en la vida real (Beasley,
63
2004; Ben et al., 2008; Chen et al., 1995). El enfoque de este trabajo es una metodología
aproximada dado que el objetivo es resolver aplicaciones reales. Por esta razón el modelo
matemático es sólo ilustrativo.
A continuación, se presenta un modelo de programación lineal entera mixta para el problema
de empaquetamiento óptimo de la mochila bidimensional irrestricta basado en la
caracterización de los patrones de corte tipo guillotina y el uso de coordenadas donde pueden
ser ubicadas las piezas (ver Figura 36). Este es una adaptación del modelo presentado por
(Ben et al., 2008) para el problema de empaquetamiento óptimo guillotinado en rollos
infinitos (guillotinable strip packing problem).
Para obtener un modelo lineal entero, se usará el siguiente conjunto de variables binarias para
representar la ubicación de las piezas en la mochila:
( ), ,
1 si la pieza es empacada en , 0 de lo contrarioi j k
k i jz
=
Las siguientes variables de decisión intermedias también son necesarias para garantizar que
no existan traslapes entre piezas:
( ) ', , '
1 si la pieza en , , no excede (horizontalmente) con '0 de lo contrario
ii j i
i j x i iu
> =
( ) ', , '
1 si la pieza en , , no excede (verticalmente) y con '0 de lo contrario
ii j j
i j j jv
> =
Los siguientes tres conjuntos de variables binarias son necesarios para garantizar las
restricciones guillotina:
( ) ( )( )
( )1 1 2
1 1 2 '
' 1 1, ', ,
2 1
1, si no hay pieza entre , y ' 1, que exceda (consecuentemente,
un corte vertical en no cruza ninguna pieza empacada entre , y
' 1, ), '0, de lo contra
i
ii i j j
i j i j x
x i jp
i j i i
−
=− >
rio
( ) ( )( )
( )1 2 1
1 1 2 '
' 1 1, , , '
2 1
1, si no hay pieza entre , y , ' 1 que exceda (consecuentemente,
un corte horizontal en no cruza ninguna pieza empacada entre , y
, ' 1 ), j '0, de lo cont
j
ji i j j
i j i j y
y i jq
i j j
−
=− >
rario
64
( ) ( )1 2 1 2
1 1 2 2, , ,
1, si existe mínimo una pieza empacada entre , y , 0, de lo contrarioi i j j
i j i jd
=
La formulación completa del problema de empaquetamiento óptimo guillotinado de la
mochila bidimensional irrestricta (weighted fixed version) es la siguiente:
Figura 36. Modelamiento y disposición de piezas sobre la mochila.
( )
, ,1 1
1 2
1 2
, ,1 1
, ,1 1
, ,1 1
' , , , , '1
' , , , , '
Maximizar ,
sujeto a 0 ,0 ,
1 ,
1 ,
1 ,
1 , , ' ,
, ,
n n
k i j ki j
n
nn n
i j ki j
n n
i j ki kn n
i j kj k
n
i i k i j k i j ik
i i k i j k i j i
c z k
x x xy y y
z k
z j
z i
x x w z u W i j i i
x x w z u W i j
= =
= =
= =
= =
=
∀
≤ ≤ ≤ ≤
≤ ≤ ≤ ≤
≤ ∀
≤ ∀
≤ ∀
− − ≥ − ∀ ∀ ∀ >
− − ≥ ∀ ∀
∑∑
∑∑
∑∑
∑∑
∑
( )
( )2 2
1 2 1 2
1 1
1
' , , , , '1
' , , , , '1
, , , , , 1 1 2 1 2 11
' ,
1 , , ' ,
, , ' ,
1 1 , , , ,
n
kn
j j k i j k i j ikn
j j k i j k i j jk
i j n
i i j j i j ki i j j k
i i
y y h z v H i j j j
y y h z u H i j j j
d n z i j i i j j
=
=
=
= = =
∀ >
− − ≥ − ∀ ∀ ∀ >
− − ≥ ∀ ∀ ∀ >
− ≥ − ∀ ∀ ∀ > ∀ >
∑
∑
∑
∑∑∑
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
65
( )( )
2
1 1 2
1
2
1 1 2
1 1
2
1 1 2
1 1
1 2 1
, ', , ', , 1 1 2 1 11
' 1
, ', , , , 1 1 2 1 11
' 1
1 2 1 , ', , , , ' 1 1 2 1 1
, , , '
, , , ' ,
, , , ' ,
' 1 , , , ' ,
j n
i i j j i j kj j k
ji n
i i j j i j ki i j j k
ji
i i j j i j ii i j j
i i j j
p z i j j j i i
p z i j j j i i
i i j j p u i j j j i i
q z
= =
−
= = =
−
= =
≤ ∀ ∀ ∀ > ∀ >
≤ ∀ ∀ ∀ > ∀ >
− − + ≤ ∀ ∀ ∀ > ∀ >
≤
∑∑
∑∑∑
∑∑
( )( )
2
1
2
1 2 1
1 1
2
1 2 1
1 1
1 2 1 2 1 1 2
, ', 1 1 2 1 11
' 1
, , , ' , , 1 1 2 1 11
' 1
1 2 1 , , , ' , , ' 1 1 2 1 1
, , , , ', ,'
, , , ' ,
, , , ' ,
' 1 , , , ' ,
i n
i j ki i k
i j n
i i j j i j ki i j j k
i j
i i j j i j ii i j j
i i j j i i j ji
i j i i j j
q z i j i i j j
j j i i q v i j j i j j
d p
= =
−
= = =
−
= =
=
∀ ∀ ∀ > ∀ >
≤ ∀ ∀ ∀ > ∀ >
− − + ≤ ∀ ∀ ∀ > ∀ >
+
∑∑
∑∑∑
∑∑
{ }{ }{ }
2 2
1 2 1
1 1
1 2 1 2 1 2 1 2 1
, , , ' 1 1 2 1 2 11 ' 1
, ,1 1
, ,1 1
, ,
, , '
, , '
, , , , , ,
1 , , , ,
,
,
0,1 , , ,
0,1 , , ' ,
0,1 , , ' ,
, ,
i j
i i j ji j j
n n
i k i j kj k
n n
j k i j ki k
i j k
i j i
i j j
i i j j i i j j i
q i j i i j j
W x w z i
H y h z j
z i j k
u i j i i
v i j j j
d p q
+ = +
= =
= =
+ ≥ ∀ ∀ ∀ > ∀ >
≥ + ∀
≥ + ∀
∈ ∀ ∀ ∀
∈ ∀ ∀ ∀ >
∈ ∀ ∀ ∀ >
∑ ∑
∑∑
∑∑
{ }2 1 2, , , 2 1 2 10,1 , , , ,i j j i j i i j j∈ ∀ ∀ ∀ > ∀ >
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
En la formulación anterior, las Restricciones 15 - 17 garantizan que cada posición vertical u
horizontal sea ocupada por exactamente una pieza y que cada pieza sea empacada
exactamente una vez. Las Restricciones 18 - 21 tienen como objetivo evitar traslapes entre
piezas.
Las Restricciones 22 - 29 son restricciones guillotina para cada área rectangular. Si las
restricciones guillotina son satisfechas para cada área rectangular, entonces también se
cumple para todo el patrón de corte.
Finalmente, las Restricciones 30 y 31 garantizan que ninguna pieza exceda horizontalmente el
ancho W y que ninguna pieza exceda verticalmente la altura H, considerando que la función
66
objetivo es maximizar la sumatoria del costo asociado de las piezas empacadas en la placa
(ver Ecuación 12).
El modelo que representa la versión con valores de piezas no ponderados (unweighted
version) del problema, es igual al anterior, modificado solo en la función objetivo, es decir la
Ecuación 12 es reemplazada por la Ecuación 36.
, ,1 1
Maximizarn n
k k i j ki j
w l z k= =
∀∑∑ (36)
En este modelo existen muchas restricciones y variables binarias (cerca de 3n4/4 variables
binarias y cerca de 2n4 restricciones). Por otra parte, un grupo grande de restricciones
presentan un comportamiento donde solo una restricción esta activa y las otras son
redundantes (por ejemplo, existe siempre una restricción redundante entre 18 y 19).
Por esta razón, la relajación PL del modelo obtiene un límite inferior de mala calidad. El
modelo presenta una alta complejidad matemática que en la práctica lo hace inexplotable a
través del software y hardware actual disponible para la programación entera mixta (para más
detalle de este modelo ver (Ben et al., 2008)).
A continuación se presenta el modelo matemático del problema de la mochila bidimensional
no guillotina irrestricta presentado por (Beasley, 2004).
Se tiene una mochila de dimensiones L0 (largo de la mochila) y W0 (ancho de la mochila) un
número Qi de ejemplares idénticos de cada pieza i con un beneficio asociado vi (área de la
pieza cuando no se especifica, para la versión con valores no ponderados) y se define:
zip = 1, si la p-ésima copia (p = 1,…, Qi) de la pieza i es cortada de la mochila (L0, W0),
zip = 0, de lo contrario,
donde la posición de cualquiera pieza cortada es tomada con referencia al centro de la pieza,
es decir, sea
xip la coordenada x del centro de la p-ésima pieza copia de la pieza i;
yip la coordenada y del centro de la p-ésima pieza copia de la pieza i.
La Figura 37 ilustra la ubicación. Las coordenadas centrales están limitadas por las
Ecuaciones 37 y 38:
iiipi QpmiLLxL ,,1;,,1,2/2/ 0 ==−≤≤ (37)
67
iiipi QpmiWWyW ,,1;,,1,2/2/ 0 ==−≤≤ (38)
Buscando asegurar que se corte un número mínimo apropiado de piezas del cada tipo que se
tiene la Ecuación 39:
iiip PpPmiz ,,1;0;,,1,1 =>== (39)
Figura 37. Representación de la codificación.
Tomada de (Beasley, 2004).
Esta restricción simplemente expresa que arbitrariamente se eligieron cortar las primeras Pi
copias de la pieza i. Naturalmente, las piezas que son cortadas de la mochila rectangular (L0,
W0) no se pueden traslapar y considerando la Figura 37 donde se muestran dos piezas
traslapándose (la p-ésima copia de i, donde p es la cantidad de copias que se utilizarán de la
pieza i y la q-ésima copia de j, donde q es la cantidad de copias que se utilizarán de la pieza j)
esto se puede expresar como la condición que se requiere:
( ) 2/jijqip LLxx +≥− ó ( ) 2/jijqip WWyy +≥− (40)
Esto quiere decir que la diferencia entre las coordenadas x centrales es suficiente
( )( )2/ji LL +≥ para asegurar que las piezas no se traslapan, o que la diferencia entre las
coordenadas centrales y es suficiente ( )( )2/ji WW +≥ para asegurar que las piezas no se
traslapan. Esta restricción de superposición fue planteada en primer lugar por (Christofides,
1974) en el contexto del problema del rodillo (strip packing). Para simplificar la notación se
68
define ( ) 2/jiij LL +=α y ( ) 2/jiij WW +=β , luego la condición anterior (Expresión 40)
puede ser escrita de la siguiente manera:
0≥−− ijjqip xx α ó 0≥−− ijjqip yy β (41)
Por lo tanto, la restricción para prevenir traslape entre las piezas cortadas es:
[ ] ,0,max ≥−−−− jqipijjqipijjqip zzyyxx βα (42)
Teniendo ( )qpjiQqQpmjmi ji ≠≠==== ó ,,1;,,1;,,1;,,1
Donde zip zjq inactiva la restricción a menos que zip = zjq = 1 (es decir, a menos que la p-ésima
copia de la pieza i y la q-ésima copia de la pieza j sean cortadas).
La formulación completa del problema de corte y empaquetamiento bidimensional no
guillotina irrestricto es entonces:
Maximizar ∑∑= =
m
i
Q
pip
i
vz1 1
(43)
Sujeto a:
[ ] ,0,max ≥−−−− jqipijjqipijjqip zzyyxx βα ;,,1;,,1;,,1 iQpmjmi ===
( )qpjiQq j ≠≠= ó ,,1 , (44)
,1=ipz ,,,1;0;,,1 ii PpPmi =>= (45)
,2/2/ 0 iipi LLxL −≤≤ ,,,1;,,1 iQpmi == (46)
,2/2/ 0 iipi WWyW −≤≤ ,,,1;,,1 iQpmi == (47)
( ),1,0∈ipz ,,,1;,,1 iQpmi == (48)
Acerca de la formulación es importante anotar:
(a) Si la p-ésima copia de la pieza i no es cortada (zip = 0), entonces los valores de xip e yip
son irrelevantes como restricciones de traslape porque la Expresión 44 es
automáticamente satisfecha.
(b) La restricción de traslape presentada previamente (Expresión 44) contiene
redundancia, ya que si tuviéramos que escribir esta restricción de traslape completa
69
para cualquier ejemplo en particular, encontraríamos exactamente la misma ecuación
matemática apareciendo dos veces (por ejemplo, para i = 3, p = 1 y j = 7, q = 2 se
obtiene la misma ecuación que para i = 7, p = 2 y j = 3, q = 1).
(c) La formulación presentada anteriormente es válida sin importar si las dimensiones de
las piezas son o no enteras.
(d) Las coordenadas centrales (xip, yip) pueden tomar valores fraccionarios, o si se requiere
trabajar con coordenadas centrales sin una pérdida significativa de generalidad
simplemente se asegura que todas las dimensiones (Li, Wi), i = 0,1,…,m, sean enteras y
pares (se fija Li = 2Li y Wi = 2Wi, i = 0,1,…,m).
Debido a que la formulación presentada por (Beasley, 2004) es para el problema restricto, se
debe adaptar limitando de manera implícita el número de copias posibles de cada pieza
mediante la expresión
=
iii w
WlLQ .
La formulación del problema es no lineal, involucrando como sucede con la Expresión 44 la
maximización de dos términos modulares y el producto de dos variables binarias.
Utilizando ∑ 𝑄𝑖𝑛𝑖=1 , luego la formulación tiene 3M variables y O(M2) restricciones
(excluyendo los límites de las variables). La formulación presentada en (Beasley, 1986), el
número de variables y restricciones estaba en función del tamaño de la mochila rectangular
(L0, W0). La formulación presentada aquí, en términos del número de variables y restricciones
no involucra el tamaño de la mochila original. En términos generales se puede decir que la
formulación presentada es más compacta que la ofrecida en (Beasley, 1986), principalmente
debido a la representación no lineal de la restricción de traslape en la Expresión 44.
Debido a la gran cantidad de variantes del problema de la mochila tenidas en cuenta en este
trabajo, son ilustrados solamente dos modelos matemáticos y se hacen algunas indicaciones
de cómo pueden estos adaptarse a otras versiones del problema. En la literatura existe una
gran cantidad de formulaciones propuestas y muchas de estas son adaptables a los problemas
enunciados en este trabajo, pero incluso así, no para todas las versiones propuestas existe una
formulación matemática en la literatura. Lo que dificulta una comparación y una medida de
calidad de la metodología de solución propuesta en este trabajo. Por otro lado, las
formulaciones matemáticas están fuera del alcance de este estudio, por lo que se realizará una
comparación directa con los resultados alcanzados con otras metodologías de solución
(aproximadas) propuestas en la literatura.
70
3.4. Metodología de solución
Dado la diversidad de las variantes del problema propuesto en este trabajo, se tiene
como objetivo definir un esquema general de optimización para resolver todas las variaciones
propuestas. Siendo este uno de las contribuciones principales en este estudio.
El esquema general de optimización presentado en este trabajo está basado en el propuesto
por Zhu y Lim (2012) para resolver el problema de carga del contenedor. Esto hace que se
deban adaptar y proponer características de solución para las especificaciones del problema de
la mochila bidimensional. La Figura 38 ilustra los componentes del esquema de optimización
general.
Figura 38. Esquema general de optimización propuesto para el problema de la mochila.
1. Codificación y/o representación de los espacios (espacio resultante o aún vacio)
2. Construcción de bloques (bloques simples o compuestos)
3. Selección de uno de los espacios vacíos (definición de criterios de desempates)
4. Selección de uno de los bloques (simples o compuestos) de acuerdo a la función objetivo
5. Posicionamiento del bloque sobre el espacio seleccionado
6. Gerenciamiento de la solución construida
7. Refinamiento de la solución
La mayoría de las metodologías aproximadas presentadas en la literatura siguen
implícitamente este esquema (al menos parcialmente) o podrían encajarse en términos
generales. A continuación se describen cada uno de ítems del esquema propuesto.
Codificación y/o representación de los espacios
Consiste en cómo serán representadas: las piezas ubicadas en la mochilas y los espacios libres
restantes de esta (ver Figura 39).
Figura 39. Pieza, mochila y ubicación de una sobre la otra.
71
Diferentes representaciones y codificaciones han sido presentadas en la literatura, no existe
una que pueda ser llamada la mejor sobre las otras, debido a que dependiendo de la
codificación escogida se intentará explotar las características inherentes de esta, esto quiere
decir que no solo escoger la codificación garantiza el éxito de la propuesta, se debe velar por
sacar provecho de las ventajas y contrarrestar las desventajas del uso de esta. En la Figura 40
se ilustran algunas codificaciones (o representaciones) trabajadas en la literatura.
Figura 40. Representaciones/codificaciones de la ubicación de las piezas sobre los espacios
vacíos.
72
Construcción de bloques (bloques simples o compuestos)
Consiste en la creación de estructuras de piezas más complejas a partir de las piezas
originales, esto requiere un esfuerzo inicial adicional que es compensado al momento de
ubicar ya no una pieza y si una estructura de piezas. Debido a que en este trabajo el problema
se limita al estudio de piezas regulares, en especial a formas rectangulares, las estructuras más
complejas que se pueden elaborar son bloques con forma también rectangular. Los bloques
son divididos en dos clases: simples y compuestos, que se diferencian en el momento de su
fabricación. Los bloques simples consisten en formar estructuras rectangulares combinando la
demanda de un único tipo de pieza. Mientras que, los bloques compuestos se elaboran
combinando diferentes tipos de pieza que generan una estructura similar a un rectángulo.
Figura 41. Elaboración de bloques: simples y compuestos.
La Figura 41 ilustra la elaboración de bloques simples y compuestos dado un conjunto de
piezas demandadas. La creación de bloques simples se realiza juntando piezas del mismo tipo,
primero en dirección de una de sus dimensiones (sea largo o ancho) y luego su
complementaria, esto quiere decir, que se pueden obtener a lo sumo dos bloques simples por
cada tipo de pieza. Por otro lado, la elaboración de bloques compuestos puede realizarse de
73
diferentes maneras, suele fijarse un tipo de pieza e ir recorriendo los tipos restantes para
formar una estructura lo más rectangular posible, como no suelen coincidir las dimensiones de
unas piezas con los múltiplos de las otras, se debe definir un gap (un margen de pérdida, 2%
es recomendado por Zhu et al., (2002)) y relacionar esta información durante el proceso de
optimización.
Selección de uno de los espacios vacíos
Consiste en definir los criterios de selección del espacio vacío a ser llenado debido a que
durante el proceso se puede tener varios candidatos. Dependiendo del orden en que son
escogidos los espacios se obtendrán diferentes respuestas (soluciones o patrones de corte).
Existen diferentes criterios de selección:
(Wu, 2002) propone que la forma más eficiente es ir llenando los espacios más lejanos del
centro de la mochila (es decir, escoger los espacios más cercanos a las esquinas de la mochila)
y por ultimo llenar los espacios residuales del centro. Para esto se puede definir un índice o
una distancia de medición que comúnmente se calcula como: la distancia Euclidiana (o la
distancia Manhattan, etc.) entre las esquinas del espacio y las esquinas de la mochila original.
Otro criterio de selección es de acuerdo a su área (en este caso el índice de medición es el área
del espacio). Por sentido común, los espacios más pequeños (de menor área) deberían ser los
primeros en rellenarse.
Además de esto indiferente del criterio de selección, se debe pensar que suelen ocurrir
“empates”, es decir, más de un espacio es candidato (tiene el mejor índice de medición) a ser
el siguiente en rellanarse. Por lo que se debe definir un criterio de desempate, en algunos
casos se utiliza el criterio de selección complementario o también suele usarse un orden
lexicográfico de las dimensiones del espacio.
Selección de uno de los bloques de acuerdo a la función objetivo
Consiste en definir una estrategia de selección de la pieza (o bloque de piezas) a ubicarse en el
espacio vacío seleccionado. En la literatura existen diferentes estrategias como: escoger la
pieza que mejor encaje (best-fit) en el espacio vacío, escoger la pieza que ocupe mayor área
(max area) del espacio vacío, escoger la pieza que produzca mayor beneficio (best-profit),
escoger la pieza según una medida relativa o un índice de calidad especializado, etc. En la
Figura 42 se ilustran dos de las estrategias más usadas en la literatura.
74
Figura 42. Estrategias de selección de la pieza a ubicarse en el espacio vacío.
Posicionamiento del bloque sobre el espacio seleccionado
Consiste en escoger el lugar exacto donde debe ser ubicada la pieza (o el bloque) seleccionada
sobre el espacio vacío. Existen estrategias como: fijar una esquina del espacio vacío donde
siempre debe ser ubicada la pieza (como es realizado en la heurística constructiva de la
esquina inferior izquierda, bottom-left corner heuristic) o escoger una de las esquinas basado
en un criterio específico (por ejemplo, la esquina más cercana a una de las esquinas de la
mochila (Wu, 2002).
Gerenciamiento de la solución construida
Las cinco cuestiones anteriores involucran diferentes escenarios debido a la presencia de
diferentes criterios de ejecución de una misma tarea y decidir sobre cualquiera de ellos
afectará directamente el patrón de empaquetamiento (la solución) obtenido.
La mayoría de las metodologías propuestas suelen tomar únicamente decisiones deterministas,
basadas en límites inferiores y superiores o en la previsión de los posibles patrones (tree
search procedures). Por otro lado, existen metodologías propuestas que suele tomar
decisiones involucrando cierto grado de aleatoriedad, esto con el fin de ofrecer flexibilidad en
los patrones de corte (o empaquetamiento) que podrán ser alcanzados (algoritmos heurísticos
y metaheurísticos).
Esto quiere decir que, el gerenciamiento de la solución consiste en la definir una filosofía que
relacione cada uno de los criterios seleccionados. Además de proporcionar herramientas que
brinden flexibilidad en la elaboración de los patrones de corte y empaquetamiento.
75
Refinamiento de la solución
Dependiendo de la metodología propuesta es posible definir procedimientos que ayuden a
refinar o mejorar la solución obtenida.
Esta etapa es comúnmente aplicada en metodologías basadas en metaheurísticas, donde se
pueden encontrar rutinas como el algoritmo de re-encadenamiento de trayectorias (Path
relinking algorithm) o aplicar movimientos de mejora sobre las soluciones obtenidas.
Figura 43. Esquema general de optimización para los problemas de corte.
1. Representación de los espacios vacíos:
Uso de la codificación de árboles de corte para la subdivisión del problema y administración
de las restricciones de tipo de corte
• Uso de nodos simples con valores reales entre [-1, 1] para las restricciones guillotina.
• Uso de nodos estampados con valores reales entre [0, 1] para las restricciones no-
guillotina de primer orden.
2. Construcción de bloques:
No es generado ningún tipo de bloque y durante todo el proceso se maneja la información
pieza por pieza.
3. Selección de uno de los espacios vacíos:
Uso del criterio del espacio con menor área.
4. Selección de uno de los bloques:
Cálculo y selección del mejor bloque de los tres criterios: mayor área (o beneficio), mejor
ajuste y mejor índice de área (o beneficio).
5. Posicionamiento del bloque sobre el espacio seleccionado:
Fijación de la esquina inferior izquierda como punto de referencia para la ubicación de todos
los bloques.
6. Gerenciamiento de la solución construida:
Uso de un algoritmo PSO mejorado para encontrar los valores óptimos del árbol de cortes.
Uso de un algoritmo constructivo de generación de capas para la ubicación de las piezas
dentro de los sub-espacios.
7. Refinamiento de la solución:
No es realizado ningún refinamiento sobre las soluciones parciales, ni la solución final.
Esquema de optimización propuesto
Uno de los objetivos de este trabajo era definir un esquema único de optimización para las
diferentes variantes del problema de la mochila bidimensional. Pero debido a las diferencias
76
filosóficas que existen entre las variantes del problema se han definido dos esquemas: uno
para los problemas de corte (todas las variantes del problema tipo guillotina y no-guillotina de
primer orden) y otro para los problemas de empaquetamiento (todas las variantes del
problema no-guillotina de orden superior). Las Figuras 43 y 44 ilustran el esquema de
optimización para los problemas de corte y empaquetamiento, respectivamente.
Figura 44. Esquema general de optimización para los problemas de empaquetamiento.
1. Representación de los espacios vacíos:
Uso de la codificación de árboles de corte para la subdivisión del problema.
• Uso de nodos mixtos.
Uso de los espacios máximos para la ubicación directa de las piezas y bloques de piezas sobre
los sub-espacios.
2. Construcción de bloques:
Elaboración de bloques compuestos, con un margen de pérdida (gap) del 2%.
3. Selección de uno de los espacios vacíos:
Uso del criterio del espacio más cercano a una de las esquinas.
4. Selección de uno de los bloques:
Cálculo y selección del mejor bloque de los tres criterios: mayor área (o beneficio), mejor
ajuste y mejor índice de área (o beneficio).
5. Posicionamiento del bloque sobre el espacio seleccionado:
Uso de la esquina ganadora (en la selección de espacios) como punto de referencia para la
ubicación del bloque seleccionado.
6. Gerenciamiento de la solución construida:
Uso de un algoritmo PSO mejorado para encontrar los valores óptimos del árbol de cortes.
Uso de un algoritmo constructivo de generación de capas para ubicación de las piezas dentro
de los sub-espacios.
7. Refinamiento de la solución:
No es realizado ningún refinamiento sobre las soluciones parciales, ni la solución final.
A continuación se presentan uno a uno los elementos utilizados en el esquema de
optimización propuesto.
3.4.1. Codificación propuesta
Wong et al., (1988) presentan una estructura de codificación de datos para el problema de
diseño de planta (VLSI, Very Large Scale Integration) denominada árbol de cortes. Una de
las grandes ventajas de la representación en árbol de cortes es la generación de patrones de
77
corte tipo guillotina y no guillotina de primer orden. Diferentes metodologías propuestas han
corroborado la efectividad de la codificación en árbol de cortes, en especial las presentadas
por (Kröger, 1995), (Cui, 2007a y 2007b) y (Toro et al., 2008).
Figura 45. Representación de cortes y disposición de las piezas a través de un árbol de cortes.
Un árbol de cortes se define como: un árbol con raíz, donde cada nodo interno (padre)
representa la posición y la forma como se realiza el corte sobre el material (horizontal o
vertical), mientras los nodos hoja (nodos terminales) representan las dimensiones de los sub-
espacios generados para cortar las piezas agrupadas (ver Figura 45).
La Figura 46 ilustra un árbol de cortes para el problema, en este el nodo raíz (nivel 1) indica
cómo y dónde un corte perpendicular al largo de la mochila debe realizarse. La jerarquía del
árbol denota que el nodo (hijo) izquierdo representa un corte perpendicular al ancho del sub-
espacio resultante de la izquierda y el nodo (hijo) derecho hará un nuevo corte perpendicular
al ancho del sub-espacio resultante de la derecha, esto para el segundo nivel. Luego, en el
tercer nivel son obtenidos los sub-espacios 1 y 2 al lado izquierdo y los sub-espacios 3 y 4 al
lado derecho. En cada sub-espacio generado serán ubicadas por capas las piezas.
Por lo tanto, el árbol de cortes contiene en sus nodos internos la información sobre la
orientación de los cortes (sea perpendicular al largo o al ancho) y la distancia la cual el corte
debe ser realizado. Por otro lado, los nodos hojas contienen las dimensiones de los sub-
espacios resultantes.
78
Figura 46. Árbol de cortes tipo guillotina de dos niveles.
Figura 47. Ejemplo de un árbol de cortes.
79
Como ejemplo, la Figura 47 presenta un árbol de cortes sobre una mochila de 1000 unidades
de largo y 500 unidades de ancho. Las dimensiones de los espacios resultantes son
presentadas en la Tabla 1. Note que cada nodo del árbol de cortes, excepto las hojas, contiene
la orientación (representado a través del signo, positivo si es perpendicular al largo y negativo
si es perpendicular al ancho) y la distancia de los cortes (representada a través de un número
del 0 al 1, donde este es la proporción). Por lo tanto, el nodo raíz indica que un corte
perpendicular al largo al 50% de la mochila debe realizarse, dividiendo esta en dos nuevos
sub-espacios (note que este fue un corte tipo guillotina) ambos de dimensiones iguales, 500
unidades de largo y 500 unidades de ancho. Así sucesivamente, el árbol guía el proceso de
corte y en las hojas finalmente se almacenarán los sub-espacios.
Tabla 1. Dimensiones de los sub-espacios. Sub-espacio Largo Ancho
1 500 200 2 500 300 3 500 350 4 500 150
Por otro lado, para asegurar que los sub-espacios creados presenten cortes de tipo no
guillotina se define un nodo estampado (cuatro cortes que generan cinco sub-espacios, ver
Figura 48). Para representar la estructura que genera los sub-espacios se define un árbol misto
(entre 5-ario y binario) donde un nodo padre (nodo interno) puede representar un nodo
estampado o un nodo guillotina, mientras los nodos hoja continúan representando las
dimensiones de los sub-espacios resultantes.
Figura 48. Estampado sobre la mochila Nodo estampado no guillotina representado
gráficamente sobre la mochila.
80
Figura 49. Árbol de cortes con un nodo estampado, árbol de primer nivel.
Figura 50. Árbol de cortes de dos capas (dos niveles).
Figura 51. Dimensiones resultantes de los cinco espacios, producidos a través de cuatro cortes (nodo estampado).
Por ejemplo, la Figura 49 (primer nivel) ilustra un árbol de cortes. Una ventaja de este tipo de
codificación es que cualquier conjunto de valores del árbol produce un patrón de corte
factible. La Figura 50 ilustra un árbol de cortes de dos capas con 6 nodos estampados y 25
sub-espacios resultantes. La Figura 51 ilustra las dimensiones de los sub-espacios resultantes.
ee
S1 S2 S3 S4S5
Primera Capa
81
Luego de obtener las dimensiones de los sub-espacios se debe dar paso a la ubicación de las
piezas, para esto se utiliza una heurística de creación de capas, la cual utiliza una
representación del espacio libre llamada espacios máximos no disjuntos (en orden para
conservar las restricciones de corte tipo guillotina y corte tipo no guillotina de primer orden se
utiliza una representación de espacios máximos residuales disjuntos).
3.4.2. Representación del espacio libre: espacios máximos residuales
Un espacio máximo, como su nombre lo indica, consiste en una sub-mochila rectangular de
tamaño lo máximo posible, identificable en el espacio libre restante de la mochila después de
ubicar una pieza (o una capa de estas). En la Figura 52 se muestran los espacios máximos en
la mochila que están siendo llenados y luego actualizados o eliminados. Cabe anotar que estos
son no disjuntos, por lo que en las versiones de corte tipo guillotina y no guillotina de primer
orden los espacios “máximos” seleccionados y definidos deben ser disjuntos.
Figura 52. Espacios máximos, tomado de (Parreño et al., 2008).
3.4.3. Algoritmo heurístico constructivo de creación de capas
Se trata de un constructivo (Parreño et al., 2008), cuya estrategia de empaquetamiento
consiste en ir llenando a través de la construcción de capas de piezas desde una esquina
seleccionada. En la Figura 53 se muestra cómo se construye una capa a partir de alguna de las
piezas disponibles.
82
La especificación del algoritmo constructivo es la siguiente:
1) Se identifican los espacios máximos disponibles en la mochila y se elige uno
dependiendo del criterio de esquinas seleccionado. En caso de empate, se selecciona el
sub-espacio con menor área.
Figura 53. Capas vertical y horizontal generadas por alguna de las piezas que se va a cortar o
empaquetar.
2) Una vez elegido el sub-espacio se genera una capa vertical y una horizontal para cada
uno de los tipos de piezas que se van a cortar o empaquetar. Se elige la pieza que
presente la mejor medida de los siguiente criterios:
a) Máximo beneficio: Se elije la pieza que genere la capa (sea vertical u horizontal) el
mayor beneficio. La configuración ganadora, se adiciona en el sub-espacio
máximo que se está llenando. En la versión con valores de piezas no ponderados la
configuración seleccionada se basa en el área que ocupa y en la versión ponderada
sería el beneficio asociado a la capa.
b) Mejor ajuste: Se elige la capa que queda más cerca de los límites del sub-espacio
máximo que se está llenando. En la Figura 54 se ilustra.
c) Índice área: En este trabajo se propone otro criterio para seleccionar las piezas que
se adicionarán, denominado índice área, que consiste en relacionar el área ocupada
por la capa que produce una pieza con el área de la capa ideal que sería equivalente
a una capa con distancia de ajuste 0. En la Figura 55 se ilustra la relación.
12
3
4
Piezas Capa Horizontal
3 3 3
Capa Vertical
3
3
3
3
83
Figura 54. Si la distancia entre la capa y el límite de sub-espacio es menor, se dice que
presenta un mejor ajuste (best-fit).
U Figura 55. Cuando el índice es mayor, la capa generada presenta un mayor aprovechamiento
del espacio delimitado por la línea discontinua denominado capa ideal.
3) Una vez elegida la pieza y la orientación de la capa se actualizan los sub-espacios
máximos y se regresa al paso uno hasta que no existan espacios máximos libres.
Cabe resaltar que para los problemas con restricciones de corte tipo guillotina por etapas, solo
es permitido la creación de capas en un único sentido (vertical u horizontal), el cual debe
corresponder a la orientación del nodo de corte que produjo el sub-espacio.
3.4.4. Cálculo de la función objetivo
En los sub-espacios generados por el árbol de cortes se debe realizar la ubicación de las
piezas, este proceso se realiza mediante el algoritmo heurístico constructivo haciendo uso de
la representación de espacios libres máximos, garantizando los patrones de corte y a la vez
que se corten la mayor cantidad de piezas por sub-espacio (para la versión donde las piezas
tiene valor no ponderado) ó el conjunto de piezas que genere mejor beneficio (para la versión
donde las piezas tiene valor ponderado).
Capa Horizontal Capa Vertical
4 4 4444
Distancia de ajuste
Aju
ste
4444
Áre
a C
apa
Áre
a C
apa
Idea
l
Índice Área = Área Capa / Área Capa Ideal
84
El algoritmo heurístico con los tres diferentes criterios mencionados, ubicará capas de piezas
en los sub-espacios. La función objetivo será calculada sumando el área ocupada o el costo
asociado de las piezas ubicadas en todos los sub-espacios en los que se ha dividido la mochila
original.
Los diferentes criterios empleados para decidir la forma de llenar dichos sub-espacios en cada
iteración, representan diferentes esfuerzos computacionales. Aplicarlos simultáneamente
genera un cuello de botella notable especialmente cuando es incrementado el número de
iteraciones en el contexto de la metaheurística. Por esta razón en este trabajo se acude al
recurso computacional ofrecido por el procesamiento paralelo (ver Figura 56).
Figura 56. Cálculo de la función objetivo, cuello de botella secuencial, paralelización del
cuello de botella.
El procesamiento paralelo es una técnica que permite la realización de múltiples tareas de
manera simultánea, bien sea aprovechando momentos de inactividad de un solo procesador
para lograr dicha simultaneidad en las mismas o integrando varios procesadores para realizar
diferentes tareas en el mismo instante de tiempo. Esta forma de ejecución se puede realizar en
uno o muchos procesadores de una misma máquina (empleando OpenMP, librería de C++
para este propósito) o en uno o muchos procesadores distribuidos en varias máquinas
85
interconectadas a través de una red (utilizando MPI igualmente para C++). Para el trabajo
desarrollado se eligió la paralelización de tareas en una sola máquina, dado que si se cuenta
con equipos con varios núcleos (como en este caso que se disponía de un procesador i7) se
presenta un mejor rendimiento al evitar la latencia inherente a las redes de datos que
comunican procesadores distribuidos en diferentes equipos (Álvarez et al., 2011).
Esta simultaneidad es posible gracias a que la librería OpenMP permite dividir un único curso
de eventos en varios cursos simultáneos, denominados hilos de ejecución. Estos hilos de
ejecución se ejecutan de manera síncrona a nivel de tareas (todos inician y terminan al mismo
tiempo) y asíncrona a nivel de bits (inician y terminan en momentos diferentes) de manera
automática por la librearía OpenMP (ver Figura 57).
Figura 57. Uso del procesador de las diferentes versiones: cálculo secuencial y cálculo en
paralelo.
86
3.4.5. Algoritmo de optimización
La codificación propuesta en este estudio garantiza la factibilidad en cuanto a las restricciones
de patrones de corte. Por lo tanto, es necesario encontrar los valores óptimos de los cortes que
dividen la mochila, para esto se propone el siguiente algoritmo:
3.4.6. Algoritmo híbrido cúmulo de partículas, búsqueda de vecindario variable y
algoritmos genéticos (APSO+VNS+TF)
El algoritmo propuesto en este trabajo utiliza diferentes técnicas de optimización, combinando
características de optimización con cúmulo de partículas (PSO) con búsqueda de vecindario
variable (VNS), y el operador de mutación de los algoritmos genéticos. El primero es
considerado el algoritmo principal, el segundo fue utilizado como un limitador de las
características de las partículas que deben ser actualizadas y el concepto de mutación es
utilizado como el factor de turbulencia de vuelo de las partículas (Álvarez, 2010).
El algoritmo PSO es una metaheurística perteneciente al grupo de los algoritmos evolutivos y
su estrategia se fundamenta en el comportamiento social de los animales tales como las
bandadas de aves, bancos de peces o enjambres de abejas, los cuales actúan como si fueran un
solo individuo. En estos grupos de animales se establecen relaciones entre los individuos, se
crean jerarquías dependiendo de las características de los mismos, existiendo un líder grupal
reconocido y seguido por los demás miembros del grupo. El papel de líder puede cambiar si
existe otro individuo con mejores características que el líder existente. Cuando el grupo se
organiza para realizar una tarea, el líder guía a los demás individuos hacia una región
promisoria, sin embargo, los demás miembros del grupo durante su recorrido pueden inferir
sobre una nueva dirección con el objetivo de tener un mejor éxito en la misión.
En PSO la exploración del espacio de solución se realiza a través de una población de
individuos conocidos como partículas, donde cada uno de ellas representa una posible
solución del problema. La ubicación de cada partícula sobre la región de búsqueda está
determinada mediante su posición, la cual, representa el valor que toman las variables de
decisión del problema ( Kennedy y Eberhart, 2001).
Cada partícula cambia de posición de acuerdo a su velocidad teniendo en cuenta la mejor
solución encontrada por ésta a lo largo del proceso (pbest) y a la información del líder del
cúmulo (gbest). El operador pbest (individual best) compara la posición actual de una
partícula con la mejor posición que ha presentado durante el proceso de búsqueda. Mientras
87
que el operador gbest (global best) estudia el comportamiento del grupo, almacenando la
posición del líder actual del cúmulo (ver Figura 60).
Población inicial
Las técnicas heurísticas dependiendo de la complejidad matemática del problema, generan la
población inicial de forma aleatoria o utilizando métodos constructivos basados en factores de
sensibilidad cuya finalidad consiste en iniciar la búsqueda en una región atractiva, con el fin
de disminuir tiempo y esfuerzo computacional. El caso de estudio presentado en este trabajo
inicia con un conjunto de partículas generadas de forma aleatoria. Sin embargo, a medida en
que se estudian sistemas grandes y de alta complejidad matemática cobra fuerza el uso de
población inicial generada con base en métodos constructivos.
Una población está constituida por k partículas y cada una de estas en el estado i representa
una alternativa de solución, la cual es interpretada en el problema a través de la posición de la
partícula. Cada partícula se representa mediante un vector cuyas posiciones indican los
valores de las variables del problema (ver Figura 58a) y simbolizan un punto dentro del
espacio de solución. Inicialmente se generan n partículas con valores aleatorios dentro del
rango de las variables y a través de la función objetivo se determina la calidad de la solución.
Figura 58. Representación de la i-ésima partícula.
(a) Vector Posición de la i-ésima partícula.
(b) Ejemplo de una partícula que representa un árbol de dos niveles.
(c) Vector posición (notación prefija) del árbol de cortes ilustrado en la Figura 47.
88
En este trabajo cada partícula representa un árbol de cortes (ver Figura 58b), para mejor
abstracción en este documento usamos una representación vectorial de las variables: posición
y velocidad de la partícula. Estos vectores pueden entenderse como la notación prefija de los
árboles de cortes utilizados (ver Figura 58c).
Selección del líder En PSO, durante cada iteración, debe seleccionarse el líder del grupo comparando los valores
de la función objetivo de cada partícula con la función objetivo del líder, siendo éste último
aquella partícula que posee el mejor valor (incumbente global). Durante el proceso de
optimización, cada vez que una partícula mejore el valor de su función objetivo, se debe
actualizar el valor de su mejor ubicación local pbest y cada vez que exista un cambio de líder,
se debe actualizar el valor de la mejor ubicación global gbest.
Función de velocidad La velocidad permite actualizar la posición de cada partícula. El vector de velocidad
representa el gradiente de cada individuo dentro del cúmulo, es decir, guía a las partículas
durante el proceso de búsqueda.
Figura 59. Velocidade da i-ésima partícula.
1 2i i i inv v v v=
Al igual que la posición, la velocidad se representa a través de un vector cuyas dimensiones
deben ser iguales (ver Figura 59). La velocidad contiene información de la experiencia local y
colectiva del grupo. Para calcular la velocidad de cada partícula se usa la Expresión (49).
( ) ( ) ( )( ) ( )( )1 1 21i i iiv t w v t c rand pbest x t c Rand gbest x t−+ = ⋅ + ⋅ ⋅ − + ⋅ ⋅ − (49)
Donde:
Velocidad actual (vi-1): Dirección de vuelo que presenta una partícula. Se asume que al
comienzo del proceso las partículas parten del reposo.
Factor de inercia (w): Factor de ponderación que actúa sobre la velocidad actual de la
partícula. Un valor elevado representará continuar con la trayectoria que viene trazando la
partícula, mientras que un valor pequeño significa la libertad en tomar nuevas trayectorias.
89
Constantes de aceleración c1 y c2: Valores que direccionan a las partículas hacia su mejor
ubicación local o global respectivamente. La adecuada calibración de estos valores permite
que la población no se homogenice durante el proceso (Shi y Eberhart, 1998).
Rand y rand: Valores aleatorios pertenecientes a una distribución de probabilidad uniforme.
Actualización de la posición
Para determinar la nueva posición de las partículas se aplica la Ecuación 50:
( ) ( ) ( )1 1i i ix t x t v t+ = + + (50)
Como la posición actualizada de las partículas debe satisfacer las restricciones de las variables
del problema, es necesario definir un rango de valores para las velocidades, evitando de esta
manera sobrepasar el límite impuesto. Además de esto, para las restricciones de corte tipo
guillotina de dos etapas, los nodos de corte sin hijos deberán conservar la dirección de corte
de sus nodos padres.
Factor de turbulencia de vuelo
En PSO la velocidad de la partícula i está dada por ( )iNii vvV ,,1 = la cual es actualizada a
través de la Expresión 49. Durante el desarrollo inicial del PSO (Kennedy y Eberhart, 1995),
una variable estocástica llamada “locura” se utilizó para alterar las partículas, de esta forma se
agrega la Expresión 51:
3,, : rvv jiji += φ (51)
Donde φjiv , es la velocidad del j-ésima característica de la partícula iX y 3r es la variable de
locura aleatoria. El parámetro de locura es utilizado para mantener la diversidad en la
población. En este trabajo se introduce esta variable dentro del PSO a través del operador
mutación, propio de los algoritmos genéticos. Para mantener el diseño del PSO, este término
es referido como una turbulencia (equivalente a una perturbación), porque refleja el cambio
en el vuelo de las partículas cuando quedan fuera de control.
Criterio de parada
Los algoritmos de optimización precisan de un criterio que les permita decidir cuándo
finalizar la exploración del espacio de solución. Entre los criterios de parada más empleados
en dichos algoritmos se encuentran:
Si durante un número de iteraciones no se ha mejorado la incumbente, se escoge esta
solución y se da por finalizado el proceso.
90
Hasta cumplir un número máximo de iteraciones.
Siendo la última opción la considerada en este trabajo.
Descripción del algoritmo
El procedimiento empleado por el algoritmo PSO es presentado en la Figura 60.
Figura 60. Algoritmo PSO.
Inicio t = 1 población = GeneraciónPoblaciónInicial(tamañopoblación)
gbest = SeleccionarLíder(población)
Si t = 1
pbesti = Di
gbest = max(pbesti)
De lo contrario
Si f.o.(Di(t)) < f.o.(pbesti)
pbesti = Di
Si f.o.(Di(t)) < f.o.(gbest)
pbesti = Di
Fin Si
Fin Si Fin Si
velocidad = CalcularVelocidad(población,pbest,gbest,c1,c2,w)
población = ActualizarPosición(población,velocidad)
t = t + 1
Si el criterio de parada se satisface
Se finaliza el algoritmo
De lo contrario
Volver a la etapa de Selección de Líder
Fin Si Fin
91
Hibridación del algoritmo
En este trabajo el VNS (Variable Neighborhood Search, propuesto por Mladenović y Hansen,
1997) es incluido dentro del PSO con el propósito de definir cuáles características deben ser
actualizadas por las Ecuaciones 49 y 50. Por lo tanto, el conjunto vecindario liN (donde,
Di ,,2,1 = ) es definido como el número i de características que deben cambiar de valor en
la partícula l.
i=1, entonces, N1 = {una característica aleatoria debe cambiar su valor}
i=2, entonces, N2 = {dos características aleatorias deben cambiar su valor}
i=k, entonces, Nk = {k características aleatorias deben cambiar su valor}
Por lo tanto, el conjunto resultante de vecindarios es { }DNNNN ,,, 21 =
El operador de mutación comúnmente usado en los algoritmos genéticos es introducido en el
algoritmo propuesto intentando emular el factor de turbulencia de vuelo, en este trabajo se
presenta una adaptación de la Ecuación para actualizar la variable umbral del algoritmo de
optimización aceptando el umbral (Threshold Accepting Algorithm, Dueck y Scheuer, 1990).
El mecanismo de turbulencia consiste en permitir grandes cambios durante las primeras
iteraciones, como el algoritmo aceptando el umbral permite la pérdida de calidad para la
función objetivo al comienzo del proceso (debido a la relajación de los umbrales). Con el
avance del proceso, la turbulencia se volverá más determinista. El factor de turbulencia es
definido como la modificación del valor del nodo del árbol, a través del mecanismo mostrado
en la Ecuación 52.
1 12
knode i node i randTotalIterations
ε = + − ⋅ − +
(52)
La Ecuación 52 está compuesta por: el valor actual del nodo i del árbol, rand es un número
aleatorio con distribución uniforme en el intervalo [ ]1,0 , k es la iteración actual,
TotalIterations es el número total de iteraciones y ε es el porcentaje mínimo para generar un
cambio en el árbol, donde ),max(/100 WL=ε . En este trabajo se introduce el operador de
mutación presentado en los algoritmos genéticos, haciendo uso del parámetro llamado taza de
mutación, permitiendo la mutación de partículas en cada iteración.
92
Dado que el algoritmo PSO presenta algunas similitudes con los algoritmos evolutivos como
los algoritmos genéticos, diferentes autores han propuesto la inclusión del operador mutación
en el algoritmo PSO.
Figura 61. Algoritmo híbrido de PSO, VNS y Factor de Turbulencia (APSO+VNS+TF).
Estas operaciones híbridas normalmente se implementan en cada generación (Andrews,
2006), (Carlisle y Dozier, 2000) o en un intervalo prefijado (Liang y Suganthan, 2005) o son
controladas por una función de adaptación definida. En este estudio, en cada generación del
Inicio Inicializar población y parámetros Para l = 1 hasta NúmeroTotalCiclos Para i = 1 hasta TamañoPoblación
Si ( ) ( )ii pbestfxf < , entonces
ii xpbest =
1NN i =
Si ( ) ( )gbestfxf i < , entonces ixgbest = Fin Si De lo contrario
ii NSiguienteN =
Fin Si Para iNk∈
( ) ( )ki
ki
kki
ki
kki
ki xgbestrandcxpbestrandcwvv −+−+= − 22111
ki
ki
ki vxx += −1
Siguiente k Si rand < Taza de Mutación Drandrandc ⋅=_
( )
+−⋅−+= εlCiclosNúmeroTota
lrandxx randci
randci 12
1__
Fin Si Siguiente i Siguiente l Fin
93
algoritmo PSO, la población tiene la probabilidad de utilizar el operador de mutación. La
Figura 61 muestra el pseudocódigo del algoritmo APSO+VNS+TF.
Calibración de parámetros
El ajuste de parámetros es de gran relevancia en el proceso de implementación de una técnica
metaheurística porque de este depende directamente la calidad de las respuestas encontradas
en la solución de un problema específico. En general no existe un método exacto y eficiente
para realizar la calibración de parámetros de las diferentes técnicas metaheurísticas,
comúnmente estos algoritmos son calibrados a través de la combinación de una búsqueda
exhaustiva y un análisis estadístico de la calidad de los resultados.
Zhan et al. (2009) presentan un rango de valores reducido para los parámetros del algoritmo
PSO, el cual reduce considerablemente el espacio de búsqueda de los valores óptimos.
Además de esto, en este trabajo se conserva la filosofía del operador de mutación de los
algoritmos genéticos, donde la probabilidad de que ocurra una mutación en la población es
muy pequeña.
La Tabla 2 muestra los valores de los parámetros utilizados en este trabajo, estos son tomados
de (Álvarez et al. 2011).
Tabla 2. Valores de los parámetros del algoritmo APSO+VNS+TF
Parámetro Valor
Tamaño de la población 100
Número de iteraciones totales 100
c1(Conocimiento Individual) 2.05
c2(Conocimiento Colectivo) 2.05
w(Inercia) 0.6
Número de niveles del árbol de cortes 3
Tasa de mutación 0.03
94
3.5. Análisis de resultados
Los sistemas de prueba usados en este estudio fueron tomados de la literatura
especializada, metodologías aproximadas y exactas son usadas en la solución de dichos
problemas. Los problemas seleccionados son variados en cuanto a la complejidad matemática
y son diseñados especialmente para cada tipo de problema.
En primera instancia para los problemas con patrones de corte tipo guillotina, sin un número
de etapas de corte, con un número de ejemplares restricto (Constrained version) han sido
seleccionado veintiséis casos. Quince de estos para la versión de piezas con valores
ponderados, CHW1 y CHW2 tomado de (Christofides y Whitlock, 1977), TH1 y TH2 de
(Tschöke y Holthöfer, 1996) y el grupo de instancias de CW1- CW11 tomadas de (Hifi,
1997a). Once casos para la versión de piezas con valores no ponderados, CU1- CU11
tomados de (Hifi, 1997b). Estos veintiséis casos presentan diferentes tipos de mochilas con
distribuciones entre 25 y 50 tipos de piezas, todos estos pertenecen a la categoría de
problemas de corte con media y alta complejidad matemática.
Tabla 3. Resultados del problema unconstrained non-staged weighted fixed.
ID Unconstrained Non-staged Weighted Fixed Problem MSR Tiempo (seg) APSO+VNS+TF Tiempo (seg)
W1 162,867 2.01a 162,867 25 W2 35,159 0.21ª 35,159 25 W3 234,108 8.90a 234,108 37
UW1 6036 0.01b 6036 29 UW2 8468 0.03a 8468 33 UW3 6302 0.02b 6302 28 UW4 8326 0.01b 8326 39 UW5 7780 0.04b 7780 54 UW6 6615 0.04b 6615 43 UW7 10,464 0.09b 10,464 57 UW8 7692 0.14b 7692 60 UW9 7038 0.23b 7038 68
UW10 7507 0.30b 7507 61 UW11 15,747 0.03a 15,747 33
(a) DPH algorithm, Song et al., (2010);
(b) Young-Gun et al., (2003).
95
Tabla 4. Resultados del problema unconstrained non-staged unweigthed fixed.
ID Unconstrained Non-staged Unweigthed Fixed Problem MSR Tiempo (seg) APSO+VNS+TF Tiempo (seg)
GCUT1 90.34 0a 90.34 9 GCUT2 96.86 0a 96.86 17 GCUT3 97.66 0a 97.66 31 GCUT4 98.72 0a 98.72 48 GCUT5 98.40 0a 98.40 11 GCUT6 95.60 0a 95.60 23 GCUT7 97.03 0a 97.03 29 GCUT8 98.65 0a 98.65 53 GCUT9 97.11 0a 97.11 12
GCUT10 98.20 0a 98.20 20 GCUT11 98.01 0a 98.01 31 GCUT12 98.00 0a 98.00 49 GCUT13 99.98 1.5b 99.98 50
(a) SDP algorithm, Cintra et al., (2008);
(b) DPH algorithm, Song et al., (2010).
Tabla 5. Resultados del problema unconstrained non-staged unweigthed rotated.
ID Unconstrained Non-staged Unweigthed Rotated Problem MSR* Tiempo (seg) APSO+VNS+TF Tiempo (seg)
GCUT1 93.02 0 93.02 16 GCUT2 96.98 0 96.98 30 GCUT3 98.60 0 98.60 55 GCUT4 99.62 0.01 99.62 87 GCUT5 98.40 0 98.40 19 GCUT6 96.38 0 96.38 39 GCUT7 98.35 0 98.35 53 GCUT8 99.11 0.02 99.11 97 GCUT9 97.11 0 97.11 15
GCUT10 98.20 0 98.20 40 GCUT11 98.01 0.02 98.01 56 GCUT12 98.87 0.03 98.87 91 GCUT13 100 110.20 100 100
(*) Las mejores soluciones reportadas (MSR) son del algoritmo SDP de Cintra et al. (2008).
Sesenta y tres casos de prueba fueron seleccionados para los problemas con dos etapas de
corte. Cincuenta casos para la versión de piezas con valores no ponderados, 2SCUI1-
2SCUI50 tomados de (Cui, 2007a). Trece casos para la versión de piezas con valores
ponderados, tomados de (Hifi y Roucairol, 2001). Estos 63 casos presentan diferentes tipos de
96
mochila con distribuciones entre cinco y cuarenta tipos de piezas, y estos pertenecen a la
categoría de problemas de corte de pequeña y mediana complejidad matemática.
Tabla 6. Resultados del problema constrained non-staged weighted fixed.
ID Constrained Non-staged Weighted Fixed Problem MSR Tiempo (seg) APSO+VNS+TF Tiempo (seg)
CW1 6402 5a 6402 74 CW2 5354 7a 5354 68 CW3 5689 27b 5687 104 CW4 6175 47b 6175 94 CW5 11,644 1269b 11,644 100 CW6 12,923 891b 12,651 162 CW7 9898 11c 9898 134 CW8 4605 341b 4504 184 CW9 10,748 121b 10,748 144 CW10 6515 182b 6515 142 CW11 6321 1375b 6321 124 TH1 4620 N/Ad 4620 86 TH2 9700 N/Ad 9560 54
CHW1 2892 N/Ad 2730 26 CHW2 1860 N/Ad 1860 68
(a) FHZ98 algorithm, Fayard et al., (1998); (b) MP_AOG algorithm, Morabito and Pureza, (2007); (c) MP algorithm, Morabito and Pureza, (2007); (d) ATP2 algorithm, Alvarez-Valdes et al., (2002).
Tabla 7. Resultados del problema constrained non-staged weighted fixed.
ID Constrained Non-staged Unweighted Fixed Problem MSR Tiempo (seg) APSO+VNS+TF Tiempo (seg)
CU1 98.64 <1a 98.64 101 CU2 99.43 <1a 99.43 105 CU3 99.84 6b 99.58 201 CU4 98.62 35b 98.49 181 CU5 98.75 768a 98.75 190 CU6 99.65 10a 99.65 252 CU7 95.85 1800b 95.85 276 CU8 97.65 21a 97.51 269 CU9 97.78 20b 97.78 243 CU10 98.94 1800b 98.90 241 CU11 99.31 1293b 99.04 470
(a) MP_AOG algorithm, Morabito and Pureza, (2007);
(b) MP algorithm, Morabito and Pureza, (2007).
97
Tabla 8. Resultados del problema unconstrained two-staged rotated weighted y unweighted.
Unconstrained Two-staged Rotated Problem ID MSR* Tiempo (seg) APSO+VNS+TF Tiempo (seg)
Unweigthed
UU1 98.42 2 98.42 50 UU2 99.21 1 99.21 56 UU3 98.41 4 98.41 50 UU4 99.05 7 99.05 71 UU5 99.64 11 99.64 92 UU6 98.81 11 98.81 72 UU7 99.01 14 99.01 98 UU8 98.98 1 98.98 106 UU9 99.32 22 99.32 116
UU10 99.16 30 99.16 106 UU11 99.49 27 99.49 56 LUU1 99.99 1653 99.99 141 LUU2 99.99 3062 99.99 141 LUU3 99.99 7417 99.99 167 LUU4 99.99 14,234 99.99 221
Weighted
UW1 6539 2 6539 33 UW11 17,700 3 17,700 37 UW2 9348 4 9348 45 UW3 6500 4 6500 56 UW4 7748 1 7748 59 UW5 8398 7 8398 45 UW6 6894 12 6894 59 UW7 11,585 16 11,585 62 UW8 8088 22 8088 69 UW9 7527 21 7527 56
UW10 8172 32 8172 74 LUW1 171,079,321 1600 171,079,321 155 LUW2 325,725,070 2911 325,725,070 158 LUW3 433,859,655 7012 433,859,655 320 LUW4 568,436,545 13,636 568,436,545 450
(*) Todas las mejores soluciones reportadas (MSR) son de Hifi, (2001).
Cuarenta casos de prueba fueron seleccionados para los problemas con tres etapas de corte.
Veinte casos para la versión de piezas con valores no ponderados y veinte casos para la
versión con valores ponderados, 3SCUI1- 3SCUI20 tomados de (Cui, 2008). Estos cuarenta
casos presentan diferentes tipos de mochila con distribuciones entre cincuenta y cien tipos de
piezas, estos pertenecen a la categoría de problemas de corte de alta complejidad matemática.
98
Tabla 9. Resultados del problema constrained two-staged weighted fixed.
ID Constrained Two-Staged Weighted Fixed Problem MSR Tiempo (seg) APSO+VNS+TF Tiempo (seg)
HH 10,689 0.01ª 10,689 6 2 2535 1.5ª 2535 9 3 1740 0.05a 1740 23
A1 1820 <0.01c 1820 20 A2 2315 0.11ª 2315 18
STS2 4620 0.1c 4620 34 STS4 9468 0.03ª 9468 22 CHL1 8360 1.45ª 8360 31 CHL2 2235 0.07ª 2235 10 CW1 6402 0.1c 6402 27 CW2 5354 0.13ª 5354 34
Hch12 9630 1.27ª 9630 33 Hch19 5100 5.15b 5100 37
(a) ALGO1_ESGA algorithm, Hifi y M'Hallah, (2005);
(b) ALGO1_SGA algorithm, Hifi y M'Hallah, (2005);
(c) Hifi y Roucairol, (2001).
En segunda instancia, para los problemas con patrones de corte tipo guillotina, sin un número
de etapas de corte, con un número de ejemplares irrestricto (Unconstrained version) han sido
seleccionado veinte y siete casos de prueba. Trece casos para la versión de piezas con valores
no ponderados, GCUT1-GCUT13 tomados de (Cintra et al., 2008) y catorce casos de prueba
seleccionados para la versión de piezas con valores ponderados, W1-W3 y UW1-UW11
tomados de (Song et al., 2010). Estos veinte y siete casos presentan diferentes tipos de
mochila con distribuciones entre diez y sesenta tipos de piezas, estos pertenecen a la categoría
de problemas de corte de alta complejidad matemática.
Treinta casos de prueba fueron seleccionados para los problemas con dos y tres etapas de
corte. Quince casos para la versión de piezas con valores ponderados, UW1-UW11 y UWL1-
UWL4 y quince casos para la versión de piezas con valores no ponderados UU1-UU11 y
UUL1-UUL4. Estos treinta casos presentan diferentes tipos de mochila con distribuciones
entre veinticinco y doscientas piezas, pertenecientes a la categoría de problemas de corte de
alta complejidad matemática, estos casos de prueba son tomados de la librería presentada por
(Hifi, 2001) y que se encuentra disponible en (Hifi, 1997b). Veintidós de estos son los
mismos que son usados para los problemas con tres etapas de corte, tanto para las versiones
con valores ponderados y no ponderados (correspondientemente, UW1-UW11 y UU1-UU11).
99
Tabla 10. Resultados del problema constrained two-staged unweighted fixed.
ID Constrained Two-Staged Unweigthed Fixed Problem MSR Tiempo (seg) APSO+VNS+TF Tiempo (seg)
2SCUI1 98.03 <1 98.93 43 2SCUI2 97.48 <1 98.17 42 2SCUI3 98.04 <1 98.92 43 2SCUI4 95.59 <1 98.53 41 2SCUI5 98.36 <1 98.36 42 2SCUI6 98.06 <1 98.49 43 2SCUI7 98.31 <1 98.91 43 2SCUI8 98.50 <1 98.9 43 2SCUI9 97.31 <1 98.53 43
2SCUI10 98.11 <1 98.64 42 2SCUI11 96.29 <1 97.98 42 2SCUI12 97.14 <1 97.79 42 2SCUI13 97.96 <1 98.91 43 2SCUI14 96.17 <1 96.98 44 2SCUI15 98.20 <1 98.71 43 2SCUI16 96.71 <1 98.27 43 2SCUI17 94.78 <1 97.14 45 2SCUI18 96.80 <1 97.78 43 2SCUI19 98.32 <1 99.19 42 2SCUI20 94.84 <1 96.61 41 2SCUI21 98.21 <1 98.21 40 2SCUI22 95.68 <1 96.32 45 2SCUI23 96.82 <1 97.73 42 2SCUI24 94.95 <1 95.98 43 2SCUI25 96.02 <1 98.27 44
Tabla 11. Resultados del problema constrained two-staged unweighted fixed.
En tercera instancia para los problemas con patrones de corte tipo no guillotina de primer
orden, con un número de ejemplares irrestricto, fueron seleccionados veintidós casos de
prueba, once casos para la versión de piezas con valores ponderados (UW1-UW11) y once
casos para la versión de piezas con valores no ponderados (UU1-UU11). También presentada
por (Hifi, 2001) y disponibles en línea en (Hifi, 1997b).
Por último, para los problemas con patrones de corte tipo no guillotina de orden superior, con
un número de ejemplares irrestricto, fueron seleccionados veinte casos de prueba, diez casos
para la versión de piezas con valores no ponderados (ATP10 – ATP19) y diez casos para la
versión de piezas con valores ponderados (ATP20 – ATP29), disponibles en (Álvarez-Valdés
et al. 2002). Para los problemas con un número de ejemplares restricto, fueron seleccionados
100
veintidós casos de prueba, doce casos para la versión de piezas con valores ponderados
(Beasley1 – Beasley12) disponibles en (Beasley, 2004) y diez casos para la versión de piezas
con valores no ponderados (Lai&Chan1- Lai&Chan3; Jakobs1 – Jakobs5; Leung1-Leung2)
disponibles en (Lai y Chan, 1997; Jakobs, 1996; Leung et al. 2003).
ID Constrained Two-Staged Unweigthed Fixed Problem MSR* Tiempo (seg) APSO+VNS+TF Tiempo (seg)
2SCUI26 96.07 <1 98.05 43 2SCUI27 94.34 <1 98.31 43 2SCUI28 96.63 <1 98.51 44 2SCUI29 96.77 <1 98.39 45 2SCUI30 98.27 <1 98.27 41 2SCUI31 94.72 <1 97.78 41 2SCUI32 97.00 <1 97.57 42 2SCUI33 97.97 <1 98.31 42 2SCUI34 97.83 <1 98.09 42 2SCUI35 96.70 <1 97.31 42 2SCUI36 94.35 <1 97.52 43 2SCUI37 94.67 <1 97.36 43 2SCUI38 98.04 <1 98.08 43 2SCUI39 96.75 <1 98.98 44 2SCUI40 97.78 <1 98.21 45 2SCUI41 98.84 <1 98.84 47 2SCUI42 96.92 <1 98.30 43 2SCUI43 96.05 <1 97.41 42 2SCUI44 96.82 <1 97.33 43 2SCUI45 96.84 <1 96.84 43 2SCUI46 95.60 <1 97.63 42 2SCUI47 96.12 <1 97.29 41 2SCUI48 97.86 <1 98.76 45 2SCUI49 98.27 <1 98.27 42 2SCUI50 96.74 <1 98.22 41
(*) Todas las mejores soluciones reportadas (MSR) son de Cui, (2007).
101
Tabla 12. Resultados del problema constrained two-staged unweighted rotated.
ID Constrained Two-Staged Unweigthed Rotated Problem MSR Tiempo (seg) APSO+VNS+TF Tiempo (seg)
2SCUI1 98.73 1 99.43 73 2SCUI2 98.21 1 98.55 71 2SCUI3 98.79 1 98.92 71 2SCUI4 98.03 1 98.53 72 2SCUI5 98.36 1 98.61 70 2SCUI6 98.70 1 99.43 70 2SCUI7 98.98 1 99.06 76 2SCUI8 98.67 1 98.93 76 2SCUI9 98.42 1 98.54 77 2SCUI10 99.07 1 99.07 70 2SCUI11 98.44 2 98.44 70 2SCUI12 97.98 1 98.54 71 2SCUI13 98.78 1 98.91 70 2SCUI14 98.14 1 98.14 70 2SCUI15 98.93 1 99.15 70 2SCUI16 98.75 1 98.75 72 2SCUI17 98.33 1 98.33 75 2SCUI18 98.44 1 98.44 76 2SCUI19 98.86 1 99.19 76 2SCUI20 96.96 1 97.17 70 2SCUI21 98.78 1 98.78 72 2SCUI22 97.40 1 97.40 71 2SCUI23 98.43 1 98.81 76 2SCUI24 97.45 2 97.45 70 2SCUI25 97.77 1 98.49 75
Existe gran cantidad de librerías para los problemas presentados en este estudio, pero luego de
ser analizadas muchas caen en la categoría de problemas de empaquetamiento perfecto, es
decir, los casos prueba son desarrollados a partir de la solución óptima del problema, lo cual
hace que metodologías exactas parezcan un buen método de solución. Además de esto, las
bases de datos utilizadas en este estudio no necesariamente presentan un óptimo global en su
límite inferior, que hacen que las metodologías exactas renuncien en su proceso de
optimización debido al costo computacional.
102
Tabla 13. Resultados del problema constrained two-staged unweighted rotated.
ID Constrained Two-Staged Unweigthed Rotated Problem MSR* Tiempo (seg) APSO+VNS+TF Tiempo (seg)
2SCUI26 98.18 1 98.32 74 2SCUI27 97.23 1 98.31 73 2SCUI28 98.90 1 98.90 69 2SCUI29 99.45 1 99.45 67 2SCUI30 98.27 1 98.36 74 2SCUI31 98.07 1 98.42 75 2SCUI32 98.13 1 98.67 71 2SCUI33 99.30 1 99.30 72 2SCUI34 99.20 1 99.20 71 2SCUI35 98.39 1 98.39 71 2SCUI36 97.92 1 98.37 72 2SCUI37 98.26 1 98.26 76 2SCUI38 98.89 1 98.98 73 2SCUI39 98.76 1 98.98 74 2SCUI40 98.28 1 98.28 72 2SCUI41 99.15 1 99.40 71 2SCUI42 99.17 1 99.17 72 2SCUI43 98.34 1 98.34 71 2SCUI44 98.13 1 98.20 71 2SCUI45 98.73 1 98.73 72 2SCUI46 97.84 1 98.13 73 2SCUI47 97.68 2 98.17 71 2SCUI48 98.57 1 98.76 76 2SCUI49 98.85 2 98.85 69 2SCUI50 97.99 1 98.43 68
(*) Todas las mejores soluciones reportadas (MSR) son de Cui, (2007).
103
Tabla 14. Resultados del problema unconstrained three-staged fixed weighted y unweighted.
Unconstrained Three-staged Fixed Problem ID MSR* Tiempo (seg) APSO+VNS+TF Tiempo (seg)
Unweigthed
UU1 96.50 380 96.50 25 UU2 99.21 1349 99.21 30 UU3 97.52 3148 96.82 26 UU4 98.19 3787 97.39 36 UU5 99.15 10,906 99.15 46 UU6 98.79 10,843 98.79 35 UU7 98.84 11,055 98.61 50 UU8 98.98 10,968 98.98 54 UU9 99.20 10,960 99.20 59
UU10 99.01 11,320 98.30 57 UU11 99.76 15,353 99.73 24 LUU1 N/A N/A 99.95 76 LUU2 N/A N/A 99.96 75 LUU3 N/A N/A 99.98 89 LUU4 N/A N/A 98.42 130
Weighted
UW1 6036 390 6036 17 UW11 15,747 798 15,747 19 UW2 8468 894 8468 23 UW3 6226 946 6226 28 UW4 8326 4284 8326 28 UW5 7780 5592 7780 22 UW6 6615 10,977 6615 29 UW7 10,464 11,101 10,464 31 UW8 7692 11,252 7692 35 UW9 7038 11,058 7038 28
UW10 7507 11,732 7507 37 LUW1 N/A N/A 158,363,374 76 LUW2 N/A N/A 257,372,669 77 LUW3 N/A N/A 261,252,077 160 LUW4 N/A N/A 473,754,165 226
(*) Todas las mejores soluciones reportadas (MSR) son de Hifi, (2001). El marcador N/A
significa que no están disponibles.
104
Tabla 15. Resultados del problema unconstrained three-staged rotated weighted y
unweighted.
Unconstrained Three-staged Rotated Problem ID MSR* Tiempo (seg) APSO+VNS+TF Tiempo (seg)
Unweighted
UU1 98.42 451 98.42 54 UU2 99.21 1579 99.21 61 UU3 99.03 3480 99.03 52 UU4 99.05 4415 98.97 73 UU5 99.64 11,152 99.64 99 UU6 98.81 11,063 98.81 79 UU7 99.46 11,742 98.67 105 UU8 99.37 11,244 98.98 111 UU9 99.36 11,540 99.2 126
UU10 99.22 13,039 99.16 112 UU11 99.88 19,793 99.86 61 LU1 N/A N/A 99.99 151 LU2 N/A N/A 99.99 149 LU3 N/A N/A 99.99 182 LU4 N/A N/A 99.98 241
Weighted
UW1 6696 1024 6696 44 UW11 18,200 2269 18,200 50 UW2 9732 2451 9732 48 UW3 7188 2632 7188 60 UW4 8452 5174 8452 82 UW5 8398 6262 8398 61 UW6 6937 11,400 6937 88 UW7 11585 11,900 11,585 92 UW8 8088 12,016 8088 104 UW9 7527 12,375 7527 92
UW10 8172 12,086 8172 82 LUW1 N/A N/A 171,836,653 159 LUW2 N/A N/A 326,399,541 162 LUW3 N/A N/A 433,882,185 331 LUW4 N/A N/A 568,690,356 461
(*) Todas las mejores soluciones reportadas (MSR) son de Hifi, (2001). El marcador N/A
significa que no están disponibles.
105
En las Tablas 3 - 23 han sido seleccionados los valores objetivos de las mejores soluciones
reportadas en la literatura. No siempre un algoritmo logra obtener las mejores soluciones para
todas las instancias, en la mayoría de estas se encuentra un empate, es decir, diferentes
algoritmos han llegado a la misma solución. En este trabajo se le da crédito al primer autor en
reportar la mejor respuesta en el menor tiempo posible. De esa forma la columna MSR (Mejor
Solución Reportada) siempre permite compararnos con la mejor solución reportada en la
literatura para cada caso de prueba.
Tabla 16. Resultados del problema constrained three-staged weighted fixed.
ID Constrained Three-Staged Weighted Fixed Problem MSR Tiempo (seg) APSO+VNS+TF Tiempo (seg)
3SCUI1 631,863 6ª 631,852 51 3SCUI2 4,544,395 68ª 4,544,395 65 3SCUI3 1,833,000 10c 1,833,000 83 3SCUI4 4,339,083 9c 4,339,083 64 3SCUI5 2,676,651 4b 2,676,651 53 3SCUI6 4,245,663 4b 4,245,663 53 3SCUI7 4,305,010 15c 4,305,010 87 3SCUI8 3,610,441 16ª 3,608,015 76 3SCUI9 7,446,330 9b 7,446,330 60
3SCUI10 6,038,211 3600a 6,038,211 74 3SCUI11 1,168,284 4a 1,162,898 56 3SCUI12 2,567,171 4c 2,567,171 69 3SCUI13 2,795,973 4b 2,795,973 52 3SCUI14 3,152,403 3c 3,152,403 53 3SCUI15 5,018,587 12b 5,018,587 87 3SCUI16 2,157,408 9b 2,157,408 81 3SCUI17 6,881,547 18a 6,854,864 56 3SCUI18 7,548,827 114a 7,548,827 54 3SCUI19 5,704,261 11b 5,704,261 70 3SCUI20 5,726,840 1293a 5,676,748 84
aVEA, Cui, (2008); bVHA1, Cui, (2008); cVHA2, Cui, (2008).
106
Tabla 17. Resultados del problema constrained three-staged unweighted fixed.
ID Constrained Three-Staged Unweigthed Fixed Problem MSR Tiempo (seg) APSO+VNS+TF Tiempo (seg)
3SCUI1 99.78 1b 99.78 95 3SCUI2 99.73 7b 99.73 94 3SCUI3 99.83 1c 99.83 147 3SCUI4 99.84 10b 99.84 101 3SCUI5 99.77 5c 99.77 82 3SCUI6 99.69 5b 99.69 87 3SCUI7 99.79 15b 99.79 153 3SCUI8 99.82 8b 99.82 134 3SCUI9 99.75 10b 99.75 111
3SCUI10 99.77 13b 99.77 124 3SCUI11 99.67 5ª 99.65 79 3SCUI12 99.78 4ª 99.78 90 3SCUI13 99.72 4b 99.72 85 3SCUI14 99.61 3c 99.61 90 3SCUI15 99.84 13b 99.84 145 3SCUI16 99.82 10b 99.82 149 3SCUI17 99.72 8b 99.72 109 3SCUI18 99.59 8b 99.59 98 3SCUI19 99.77 12b 99.77 134 3SCUI20 99.75 14b 99.75 150
aVEA algorithm, Cui, (2008) ; bVHA1algortihm, Cui, (2008) ; cVHA2 algorithm, Cui, (2008) .
Tabla 18. Resultados del problema non-guillotine first-order unconstrained weighted fixed. Non-guillotine First Order Unconstrained Weighted Fixed Problem
APSO+VNS+TF Tiempo (seg) MSR*
UW1 6036 92 6036 UW2 8720 135 8720 UW3 6652 106 6652 UW4 8326 132 8326 UW5 7780 109 7780 UW6 6615 141 6803 UW7 10,464 131 10,464 UW8 7692 155 7692 UW9 7038 131 7128
UW10 7507 169 7507 UW11 15,920 174 16,400
(*) Todas las mejores soluciones reportadas (MSR) son de (Birgin et al., 2012).
107
Tabla 19. Resultados del problema non-guillotine first order unconstrained unweighted fixed.
Non-guillotine First Order Unconstrained Unweighted Fixed Problem APSO+VNS+TF Tiempo (seg) MSR*
UU1 245,205 103 245,205
UU2 595,288 136 595,288
UU3 1,081,136 85 1,088,154
UU4 1,178,295 104 1,191,071
UU5 1,870,038 140 1,870,038
UU6 2,950,760 128 2,950,760
UU7 2,932,092 164 2,943,852
UU8 3,969,784 153 3,969,784
UU9 6,100,692 144 6,100,692
UU10 11,955,852 183 11,955,852
UU11 13,141,175 137 13,157,811
(*) Todas las mejores soluciones reportadas (MSR) son de (Birgin et al., 2012).
Tabla 20. Resultados del problema non-guillotine superior order unconstrained weighted
fixed.
Non-guillotine Superior Order Unconstrained weighted Fixed Problem
APSO+VNS+TF Tiempo (seg) MSR*
ATP20 5,545,818 155 5,545,818
ATP21 3,484,406 212 3,491,545
ATP22 4,145,317 188 4,153,426
ATP23 3,480,665 244 3,546,535
ATP24 3,923,776 188 3,948,037
ATP25 3,507,615 245 3,507,615
ATP26 2,683,689 247 2,683,689
ATP27 2,438,174 280 2,438,174
ATP28 3,969,356 225 4,065,011
ATP29 3,652,858 276 3,652,858
(*) Todas las mejores soluciones reportadas (MSR) son de (Alvarez-Valdes et al., 2007).
108
Tabla 21. Resultados del problema non-guillotine superior order unconstrained unweighted
Fixed.
Non-guillotine Superior Order Unconstrained Unweighted Fixed Problem
APSO+VNS+TF Tiempo (seg) MSR* ATP10 3,585,612 132 3,589,703
ATP11 4,188,915 133 4,188,915
ATP12 5,148,302 170 5,156,065
ATP13 3,498,302 165 3,498,302
ATP14 4,463,550 102 4,463,550
ATP15 6,047,188 148 6,047,188
ATP16 7,566,719 156 7,566,719
ATP17 4,535,302 179 4,535,302
ATP18 5,825,956 121 5,825,956
ATP19 6,826,674 213 6,826,674 (*) Todas las mejores soluciones reportadas (MSR) son de (Alvarez-Valdes et al., 2007).
Tabla 22. Resultados del problema non-guillotine superior order constrained weighted fixed.
Non-guillotine Superior Order Constrained Weighted Fixed Problem
APSO+VNS+TF Tiempo (seg) MSR*
Beasley1 164 106.35 164 Beasley2 225 127.19 230 Beasley3 220 146.76 247 Beasley4 268 190.1 268 Beasley5 301 98.21 358 Beasley6 229 119.84 289 Beasley7 430 123.21 430 Beasley8 820 201.74 834 Beasley9 924 107.94 924
Beasley10 1452 116.01 1452 Beasley11 1688 159.21 1688 Beasley12 1801 185.45 1865
(*) Todas las mejores soluciones reportadas (MSR) son de (Egeblad y Pisinger, 2009).
109
Tabla 23. Resultados del problema non-guillotine superior order constrained unweighted fixed.
Non-guillotine Superior Order Constrained Unweighted Fixed Problem
APSO+VNS+TF Tiempo (seg) MSR*
Lai&Chan1 80,000 89 80,000 Lai&Chan 2 76,000 96 79,000 Lai&Chan 3 154,600 99 160,000
Jakobs1 5447 85 5600 Jakobs2 5455 72 5600 Jakobs3 5328 136 5400 Jakobs4 3978 114 4050 Jakobs5 2871 186 2925 Leung1 16,196 148 16,500 Leung2 18,628 140 19,200
(*) Todas las mejores soluciones reportadas (MSR) son de (Alvarez-Valdes et al., 2007).
Todos los algoritmos fueron desarrollados en C++ ® y ejecutados sobre un ordenador con
unas especificaciones de un procesador Pentium i7 de 2,99 GHz por núcleo de procesamiento
y una memoria RAM de 4 GB.
Figura 62. Solución propuesta para el caso 2SCUI1 que pertenece al problema restricto, con
dos etapas de corte y de piezas con valor no ponderado y orientación fija. Cui (2007) alcanza
un valor de función objetivo de 98.03%, mientras que, el valor presentando en este trabajo
alcanza un 98.93%.
110
Tabl
a 24
. Res
ulta
dos a
lcan
zado
s por
la m
etod
olog
ía p
ropu
esta
par
a lo
s pro
blem
as d
e la
moc
hila
bid
imen
sion
al.
111
Figura 63. Solución propuesta para el caso ATP11 que pertenece al problema restricto, de
piezas con valor no ponderado. El valor objetivo presentando en este trabajo es de 4188,915.
Figura 64. Solución propuesta para el caso CW9 que pertenece al problema tipo guillotina
restricto, con piezas de valor ponderado. El valor objetivo presentando en este trabajo es de
10,748.
En la Tabla 24 se ilustra el resumen de los resultados obtenidos por la metodología de
solución propuesta. Debido a que no se tiene un certificado de optimalidad de todos los casos
presentados en la literatura, en este estudio se mide el desempeño a través del número de
112
soluciones óptimas alcanzadas y el tiempo promedio computacional tomado por el algoritmo
de optimización.
Por cuestiones de dimensión los resultados restantes no son ilustrados en este documento y se
encuentran disponibles en el sitio web del grupo de investigación:
Uhttp://www.dee.feis.unesp.br/lapsee/arquivos/sistemastestes/knapsack_problem2D.htmUl
Además de las soluciones gráficas, obtenidas por el algoritmo propuesto. Algunos ejemplos
ilustrados en este documento son las Figuras 62, 63 y 64.
3.6. Conclusiones
Se desarrolló una metodología de solución para los problemas de la mochila
bidimensional, que utiliza una codificación de árbol de cortes y hace uso de la representación
de los espacios máximos para administrar los espacios residuales, mientras el proceso general
es administrado mediante un algoritmo híbrido de cúmulo de partículas, búsqueda en
vecindario variable y algoritmos genéticos. Esta metodología logra ser flexible y robusta para
solucionar la gran variedad de variantes del problema propuestas en este trabajo, además de
alcanzar resultados satisfactorios.
Se utilizó un tipo de codificación en árbol, llamada árbol de cortes, el cual se encarga de sub-
dividir el problema original en pequeños sub-problemas de la misma especie. Esto se logra
gracias a que en los nodos padre del árbol se representan las distancias y orientaciones de los
cortes que deben realizarse sobre la mochila, mientras en los nodos hoja se almacenan las
dimensiones de las mochilas de los sub-problemas resultantes. Esta filosofía de recursividad
presenta un buen desempeño y gran flexibilidad para este tipo de problemas.
Fue implementado un algoritmo de optimización que combina las principales características
de cúmulo de partículas, búsqueda en vecindario variable y algoritmos genéticos. El primero
se considera como el algoritmo principal, el segundo hace el papel de limitador de las
características de la solución que deben actualizarse en cada iteración, esto hace que aumente
mejore el proceso de exploración y el tercero se usa como mecanismo de perturbación
especializado para realizar búsquedas locales, efectuando cambios aleatorios-controlados en
las soluciones usando el operador mutación de los genéticos y que ayuda a representar el
concepto de factor de turbulencia de vuelo, propio del algoritmo PSO.
113
Los tiempos de cómputo requeridos por la metodología en algunas veces son menores a los
reportados en la literatura especializada, sin embargo debido a las diferencias entre las
arquitecturas de cómputo y lenguajes de programación no se puede concluir con base en este
índice. A pesar de lo anterior, los tiempos de cómputo utilizados por la metodología propuesta
son razonables.
Este problema es aplicable en diversos sectores de la economía, entre los que destacan los
sectores de industria, transporte y comercio. Así por ejemplo, su aplicación se presenta en la
industria textil, metalmecánica, papelera, vidriera, transporte y almacenaje de mercancías,
entre otras.
La metodología propuesta es aplicable a problemas como: bin packing, strip packing, entre
otros. También puede ser extensible a problemas de empaquetamiento en tres dimensiones.
114
Capítulo 4.
Problema de carga del contenedor
El problema de carga de contenedores es un problema clásico en la investigación
operativa y de gran importancia y aplicabilidad en la industria, a pesar de esto no es común
que la comunidad académica incorpore en sus estudios todas las características importantes
que representan situaciones prácticas de estos problemas, como lo son: orientación de las
cajas, límites de apilamiento de las cajas, límite de peso de la carga, estabilidad de la carga y
carga con diferentes destinos.
Este problema comúnmente es denominado como Problema de carga del contenedor con
restricciones de multi-drop. El problema consiste en maximizar el volumen total ocupado de
la carga empacada, de tal forma que, se cumplan las restricciones de empaquetamiento y la
restricción de multi-drop que impone que, las cajas que alcanzan su destino final deben
descargarse sin reorganizar la carga que aún debe permanecer.
Para esto, se utiliza la representación de los espacios-máximos junto a un algoritmo
constructivo aleatorizado, que permite construir soluciones que cumplen en su totalidad las
restricciones impuestas. El algoritmo está basado en la metaheurística GRASP e incluye un
conjunto de movimientos de mejora, los cuales están directamente relacionados a las
restricciones del problema presentadas en este trabajo. Como lo son: construir torres, bloques
o filas y compactar soluciones por cliente.
Por último, se presenta y se discute un estudio computacional extenso de los resultados
obtenidos, utilizando las distintas bases de ejemplos tanto reales como de prueba presentadas
en la literatura especializada.
4.1. Introducción
El problema de carga de contenedores consiste en ubicar de forma óptima un conjunto
de cajas dentro de un contenedor, este problema tiene un gran espectro de aplicación en la
industria, a pesar de esto, existen pocos estudios que incluyan todas las características que
representan las restricciones prácticas para este problema, como: orientación de las cajas,
115
límite de apilamiento de las cajas, límite de peso de la carga, estabilidad de la carga y
múltiples destino para la carga.
Figura 65. Multi-drop por Liu et al., (2011).
Figura 66. Vistas: superior, frontal, y lateral derecha, de la Figura 65.
116
En este trabajo, consideramos todas las restricciones anteriormente mencionadas.
Formalmente, este problema es conocido como el problema de emplazamiento tridimensional
(Single Large Object Placement Problem, SLOPP) o el problema de la mochila
tridimensional (Single Knapsack Problem SKP) con múltiples destinos (multi-drop). El
objetivo del problema es maximizar el valor de la carga empacada, pero garantizando todo el
conjunto de restricciones. Específicamente, la restricción de múltiples destinos se refiere al
hecho de que ha sido establecida para el contenedor (o camión) una ruta de visita para el
conjunto de destinos (clientes), lo que especifica el orden de descarga de las cajas empacadas,
restringiendo así que el conjunto de cajas que va para diferentes clientes debe ir ubicado de
forma tal que permita la descarga de las cajas de un cliente sin tener que mover las cajas de
otros clientes.
Figura 67. Multi-drop por Junqueira et al., (2012a).
En los trabajos anteriores que consideran la restricción de multi-drop se presenta una
discusión debido a que cada uno de ellos define y especifica lo que representa un escenario
multi-drop. Dentro de los artículos que se resaltan están: Liu et al., (2011) definen un
empaquetamiento multi-drop imponiendo restricciones de ubicación de la carga basados en
las definiciones de invisibilidad e inalcanzabilidad de las cajas empacadas (ver Figura 65),
donde una caja es invisible si la totalidad de la cara frontal delantera de esta no se puede ver
desde la puerta del contenedor y es inalcanzable si está ubicada fuera de los límites de alcance
del sistema de descarga (ya sean los brazos y altura de un trabajador o un montacargas, ver
Figura 66).
Junqueira, et al. (2012a), definen un empaquetamiento multi-drop imponiendo restricciones
de ubicación al introducir una frontera imaginaria (o plano de separación a lo largo del
contenedor) que separa las cargas empacadas de cada cliente, esta se establece a partir de la
117
caja más cercana a la puerta del contenedor, generando así una especie de cortina o pared
virtual (ver Figura 67). Luego, define un parámetro 𝛿 que representa la longitud del brazo del
hombre que descarga o la de la grúa. Donde, 𝛿 son las unidades de longitud más allá de la
frontera que hay entre cajas de clientes consecutivos (ver Figuras 68 y 69).
Figura 68. Empaquetamiento multi-drop según Junqueira con 𝛿 = 0.
Figura 69. Empaquetamiento multi-drop según Junqueira con 𝛿 = 𝑙𝑖.
Christensen y Rousøe (2009) y Ceschia y Schaerf (2013), presentan una definición de lo que
es un empaquetamiento multi-drop factible, el cual consiste en que al momento de descargar
las cajas de un cliente encima de estas no haya ninguna caja que aún no ha sido descargada y
118
además debe existir un corredor libre entre las cajas y la puerta del contenedor (es decir, la
cara frontal delantera de las cajas es totalmente visible desde la puerta, ver Figura 70).
Figura 70. Multi-drop por Christensen y Rousøe (2009) y Ceschia y Schaerf (2013).
Las diferencias entre autores en el tratamiento de las restricciones de multi-drop, dificulta la
generación de una metodología de solución general. Por lo que en este trabajo, al momento de
comparar con trabajos anteriores es adaptado el algoritmo para que cumpla el mismo
escenario y se pueda realizar una comparación justa.
Esto sucede también en el manejo de las restricciones de envío completo, donde este puede
ser restricto o irrestricto. Para esto el algoritmo propuesto ha sido adaptado tanto a la versión
del problema resuelta por Christensen y Rousøe (2009) y Ceschia y Schaerf (2013) en donde
los pedidos del cliente deben ser enviados en su totalidad (ver Figura 71b), tanto a la versión
resuelta por Liu et al.(2011) y Junqueira et al. (2012a) en donde no es necesario empacar la
totalidad de la demanda de cada cliente, ya que se considera que es posible enviar las cajas
restantes en otro contenedor (ver Figura 71d). Cabe anotar también, que existe además una
variante de la versión irrestricta que se aplica en el problema de ruteamiento de vehículos con
restricciones de empaquetamiento tridimensional (3L-CVRP la sigla en inglés de three-
dimensional loading capacitated vehicle routing problem), en este no es permitido visitar un
119
cliente más de una vez, esto implica que, aun existiendo espacio libre en el contenedor si la
totalidad de la demanda del cliente no se logra empacar este cliente no se podrá despachar
(ver Figura 71c.). Como acontece en Gendreau et al. (2006), Tarantilis et al. (2009), Bortfeldt
(2012) y Ceschia et al. (2013).
Figura 71. Escenarios de las restricciones de empaquetamiento de envíos completos.
En la Figura 71 se ilustra un ejemplo de los escenarios de las restricciones de
empaquetamiento de envíos completos. Donde se tiene la demanda de los tres clientes, Figura
71a, y un contenedor bidimensional de dimensiones (6, 2). En la Figura 71b se tiene la
solución óptima para la versión restricta alcanzando un valor de función objetivo igual a 10.
La Figura 71c es la solución óptima (de la variante irrestricta I) usando las cajas de los
clientes 1 y 3, alcanzando un valor objetivo igual a 11. Y finalmente en la Figura 71d se
ilustra una de las soluciones óptimas de la variante menos restricta (irrestricta II) en donde se
logra alcanzar un valor objetivo de 12 unidades (en este caso un empaquetamiento sin
perdidas), pero se acaba utilizando parcialmente las demandas de los clientes, lo que
representa penalidades o compensaciones monetarias con estos mismos.
4.2. Descripción del problema
El problema de carga del contenedor estudiado en este trabajo se define como:
empaquetar dentro de un paralelepípedo que se denomina contenedor con dimensiones (L, W
y H, largo, ancho y alto, respectivamente), un conjunto de paralelepípedos de diferentes tipos
(i=1,…,n) que se denominan cajas con dimensiones (li, wi, hi), número de ejemplares qi,
orientaciones de posicionamiento oij (j=1,2,3), un peso wi, un límite de soporte de peso por
cara bij (j=1,) y un destino di (cliente o secuenciador de descarga). Donde el objetivo es dado
por la Ecuación 53 y consiste en encontrar un empaquetamiento ortogonal de las cajas de
120
forma tal que se maximice el volumen de utilización del contenedor, zi es una variable entera
que indica el número de ejemplares de la caja i que deben ser empacados.
𝑚𝑎𝑥�𝑙𝑖 ∙ 𝑤𝑖 ∙ ℎ𝑖 ∙ 𝑧𝑖
𝑛
𝑖=1
(53)
Sujeto a:
• Las cajas empacadas no deben superar los límites del contenedor. (54)
• Las cajas no deben sobreponerse entre ellas.
(55)
• 𝑧𝑖 ≤ 𝑞𝑖, las cajas asignadas no deben superar la demanda por tipos de piezas
(56)
Las Expresiones 53 – 56 representan el problema general, en este trabajo se estudian las
diferentes restricciones que representa los escenarios reales encontrados en la industria. Las
características de este problema son las siguientes:
i) Soporte completo: La base de cada caja tiene que estar ubicado en el suelo del
contenedor o completamente en la superficie de otra caja.
ii) Orientaciones de posicionamiento: Cada caja tiene un conjunto de orientaciones
permitidas, debido a su contenido o su estructura. Las orientaciones son denotadas por
oij, donde i=1,…, n representa el tipo de caja y j=1, 2, 3 la orientación, que definen la
dimensión de la caja que puede ser posicionada hacia arriba: oi1 = 1 si la dimensión l
(largo) de la caja puede ser ubicada en posición vertical y 0 si no se puede erguir, oi2 =
1 si la dimensión w (ancho) de la caja puede ser ubicada en posición vertical y 0 si no
se puede erguir, finalmente, oi3 = 1 si la dimensión h (alto) de la caja puede ser
ubicada en posición vertical y 0 si no se puede erguir. Al menos uno de estos
parámetros debe ser 1 para cada tipo de caja.
iii) Límites de apilamiento: Cada caja ubicada en una de sus orientaciones permitida
puede soportar un peso máximo bij sobre su superficie, expresado en gr/cm2, donde
i=1,…, n representa el tipo de caja y j=1, 2, 3 la orientación. Como Bischoff (2006)
señala, existen diferentes formas en las cuales el peso de la caja es transmitido hacia
abajo sobre las cajas que la están soportando. En la práctica, el peso es transmitido
dependiendo de la rigidez de la superficie en contacto: entre más rígido es, más
esparcido es el peso sobre toda la superficie. Cuando son usados materiales blandos
121
como cartón, el peso de la caja en la parte superior es transmitido hacia abajo
solamente en el área de contacto. En este trabajo se asume esta última situación e
además cuando una caja k es puesta encima de otra caja i, su peso wk será dividido por
el área de su base para calcular la presión, pk en gr/cm2, ejercida sobre las cajas que la
están soportando. Si esta presión pk excede el límite de apilamiento de la caja inferior,
bij, el empaquetamiento es infactible. De otra manera, el límite de apilamiento de la
caja i será reducido por pk.
iv) Multi-drop: Se un contenedor carga cajas de diferentes destinos D, y se tiene un orden
de visita de estos, las cajas deberían ser cargadas de tal forma que reflejen el orden de
entrega establecido, evitando que cajas de un destino posterior deban ser movidas para
descargar las cajas de los destinos anteriores (primeros en secuencia de descarga). Esta
es una definición informal porque existen diferentes alternativas de descargar las cajas
sin mover las cajas de los clientes posteriores (como ha sido ilustrado en la sección
4.1).
v) Envíos completos: Cuando en un contenedor existen cargamentos de diferentes
clientes D, puede ser exigido el embarque completo del pedido de cada cliente. Esto
combinado con la restricción de multi-drop implica que, en la secuencia de
empaquetamiento no sería posible colocar una caja del cliente j hasta que todas las
cajas del cliente i hayan sido empacadas (j > i). Por otro lado, cuando no es exigido un
envío completo del pedido de los clientes, es posible empacar elementos del cliente j
aún cuando hay elementos del cliente i sin empacar. Estos últimos (las cajas no
entregadas a un cliente) acaban siendo reflejados en multas o compensaciones
monetarias por parte de la empresa que no logra enviar todos los ítems requeridos.
4.3. Modelo matemático
Debido a la alta complejidad del problema de carga del contenedor y que pertenece a
la familia de problemas NP-Hard, existen pocos modelos de programación entera mixta para
resolver el problema. Pero cabe anotar que en la literatura existen modelos pertenecientes al
problema bidimensional de corte y empaquetamiento que pueden ser adaptados al CLP.
El modelo propuesto por Chen et al. (1993) parece ser el más representativo para la
comunidad académica alrededor de este problema, Chen et al., formula un modelo de
programación entera mixta para el problema de carga del contenedor y múltiples
122
contenedores, con el cual logra resolver óptimamente problemas de pequeño porte y
demuestra así, que el modelo presenta soluciones factibles del problema. La validación de este
modelo es hecho usando tan solo seis cajas y se ha impuesto un límite de tiempo de 900
segundos. Pero su conclusión final acaba afirmando que es necesario un mejor procedimiento
de solución a la hora de resolver instancias de tamaño real del problema. Lamentablemente,
ninguna de las consideraciones reales abordadas en este trabajo es tenida en cuenta en el
modelo de Chen et al., exceptuando las restricciones de orientación de las cajas. Pero cabe
destacar que este modelo es extensible a los problemas donde la restricción de distribución de
peso es impuesta.
Por otro lado, Junqueira et al. (2012a; 2012b y 2013) presenta modelos de programación
entera mixta donde se incluyen restricciones como: la estabilidad vertical y horizontal de la
carga, los límites de apilamiento de las cajas y carga con múltiples destinos. Los cuales vienen
a representar debidamente el problema de este trabajo. Este modelo es una adaptación del
modelo de Beasley (1985), que es un modelo de programación lineal entera 0-1 formulado
para resolver el problema de corte bidimensional. Los modelos formulados por Junqueira son
probados usando pocas cajas y se resuelven imponiendo un límite de tiempo de 3600
segundos. Logrando alcanzar para la mayoría de las instancias de prueba soluciones óptimas y
factibles. Infelizmente, se concluye también que para resolver instancias de tamaño real del
problema es necesario mejorar el procedimiento de solución.
Cabe anotar también que existen otras transformaciones en la literatura, la mayoría inspiradas
en modelos matemáticos planteados para los problemas de corte y empaquetamiento
bidimensional: Scheithauer (1998) presenta dos relajaciones del problema tridimensional: una
relajación por barras y una relajación por capas para resolver el CLP. Tsai et al. (1993),
presenta un modelo de programación lineal entera mixta 0-1 para el problema de carga de
pallets. Hadjiconstantinou e Christofides (1995), presentan un modelo de programación lineal
entera 0-1 para el problema de la mochila bidimensional que acaba siendo adaptable al CLP.
Beasley (2004) presenta un modelo de programación no lineal entera mista 0-1 para resolver
el problema de la mochila bidimensional que también puede ser transformado para describir el
CLP. También es interesante el modelo para empaquetamiento de polígonos convexos y no
convexos presentado por Scheithauer y Terno (1993), el modelo de Padberg (2000) que es un
extensión del modelo de Fasano (1999) y el modelo propuesto por Martins (2003) que logra
un buen desempeño para el problema de carga de pallets.
123
En este trabajo se transcribe el modelo presentado por Junqueira et al. (2012a) ya que sirve
para ilustrar la complejidad matemática y computacional del problema cuando se agregan las
restricciones que representan las condiciones reales de este en la industria. En el texto original
se muestra primero la adaptación que realiza Junqueira del modelo propuesto por Beasley,
llevándolo de dos dimensiones a tres. Luego, este modelo resultante comienza a ser
manipulado para representar cada una de las restricciones prácticas de empaquetamiento. En
este caso solo es transcrito el modelo resultante de la manipulación realizada para agregar la
restricción de orientación de las cajas.
Índices:
i: índice para los tipos de cajas;
p, s: índices para las posiciones en relación al eje x;
q, t: índices para las posiciones en relación al eje y;
r, u: índices para las posiciones en relación al eje z;
Parámetros:
m : número total de tipos de cajas disponibles;
v : valor de la caja i;
Pi: número mínimo de ejemplares de la caja i que deben ser empacados dentro del contenedor;
Qi: número máximo de ejemplares de la caja i que deben ser empacados;
(li, wi, hi): largo, ancho y alto, respectivamente, de la caja i;
(L, W, H): largo, ancho y alto, respectivamente, del contenedor;
aipqrstu: función binaria, que es igual a 1 si la caja i , es empacada con su canto inferior frontal
izquierdo en la posición (p, q, r), impidiendo que cualquier otra caja ocupe la
posición (s, t, u) dentro de ella; de lo contrario, ella es igual a 0;
Note que la variable aipqrstu no es una variable de decisión del modelo, es una función que
puede ser computada a priori (es decir, antes de la resolución del modelo) de la siguiente
forma:
𝑎𝑖𝑝𝑞𝑟𝑠𝑡𝑢 = �
1, si 0 ≤ 𝑝 ≤ 𝑠 ≤ 𝑝 + 𝑙𝑖 − 1 ≤ 𝐿 − 1, 0 ≤ 𝑞 ≤ 𝑡 ≤ 𝑞 + 𝑤𝑖 − 1 ≤ 𝑊 − 1 y
0 ≤ 𝑟 ≤ 𝑢 ≤ 𝑟 + ℎ𝑖 − 1 ≤ 𝐻 − 10, de lo contrario
�
Esto quiere decir que, si aipqrstu=1, significa que la posición (s, t, u) está ocupada por la caja i
colocada con su esquina inferior frontal izquierda en la posición (p, q, r) del contenedor (ver
la Figura 72). De lo contrario, si aipqrstu=0, significa que esta posición está fuera de la caja i.
124
Variables de decisión:
xipqr : variable binaria, que es igual a 1 si la caja i es empacada con su esquina inferior frontal
izquierdo en la posición (p, q, r), tal que i=1,…,m, 0 ≤ 𝑝 ≤ 𝐿 − 𝑙𝑖, 0 ≤ 𝑞 ≤ 𝑊 − 𝑤𝑖 y
0 ≤ 𝑟 ≤ 𝐻 − ℎ𝑖; de lo contrario, ella es igual a 0;
Figura 72. Ubicación de la caja i dentro del contenedor.
Las posibles posiciones sobre el largo L, el ancho W y la altura H del contenedor, donde la
caja puede ser ubicada, pueden ser definidas por medio de conjuntos. Herz (1972) y
Christofides y Whitlock (1977) muestran que en un patrón de empaquetamiento dado, cada
caja empacada puede ser movida para abajo y/o hacia el frente y/o para la izquierda, hasta que
sus caras inferior, frontal y lateral izquierda queden adyacentes a las demás cajas o al propio
contenedor. Estos patrones son llamados patrones normalizados o combinaciones cónicas, que
permiten, sin pérdida de la generalidad reducir los conjuntos originales X, Y y Z y Xi, Yi y Zi
(ver las Ecuaciones 57 - 59 y 60 - 62, respectivamente).
125
𝑋 = �𝑝�𝑝 = � 𝜀𝑖 ∙ 𝑙𝑖𝑚
𝑖=1, 0 ≤ 𝑝 ≤ 𝐿 − 𝑚𝑖𝑛𝑖(𝑙𝑖), 0 ≤ 𝜀𝑖 ≤ 𝑏𝑖 y entero, 𝑖 = 1,⋯ ,𝑚� (57)
𝑌 = �𝑞�𝑞 = � 𝜀𝑖 ∙ 𝑤𝑖𝑚
𝑖=1, 0 ≤ 𝑞 ≤ 𝑊 −𝑚𝑖𝑛𝑖(𝑤𝑖), 0 ≤ 𝜀𝑖 ≤ 𝑏𝑖 y entero, 𝑖 = 1,⋯ ,𝑚� (58)
𝑍 = �𝑟�𝑟 = � 𝜀𝑖 ∙ ℎ𝑖𝑚
𝑖=1, 0 ≤ 𝑟 ≤ 𝐻 −𝑚𝑖𝑛𝑖(ℎ𝑖), 0 ≤ 𝜀𝑖 ≤ 𝑏𝑖 y entero, 𝑖 = 1,⋯ ,𝑚� (59)
𝑋𝑖 = {𝑝 ∈ 𝑋|0 ≤ 𝑝 ≤ 𝐿 − 𝑙𝑖} 𝑖 = 1,⋯ ,𝑚 (60)
𝑌𝑖 = {𝑞 ∈ 𝑌|0 ≤ 𝑞 ≤ 𝑊− 𝑤𝑖} 𝑖 = 1,⋯ ,𝑚 (61)
𝑍𝑖 = {𝑟 ∈ 𝑍|0 ≤ 𝑟 ≤ 𝐻 − ℎ𝑖} 𝑖 = 1,⋯ ,𝑚 (62)
Tratamiento para adicionar las restricciones de orientaciones de las cajas:
Las distintas orientaciones de las cajas ocurren en situaciones donde el personal encargado de
realizar la carga de las cajas, se enfrenta por ejemplo a instrucciones como “este lado arriba”
escritas sobre el embalaje. Siendo este un escenario intermedio que describe la posibilidad de
que una determinada caja deba ser rotada en torno al eje de su base (el eje z), pudiendo ser
ubicada, por lo tanto, con una de sus dos orientaciones posibles. En un escenario extremo, una
determinada caja podría ser rotada en torno de todos sus ejes (los ejes, x, y y z), pudiendo ser
colocada con una de sus seis orientaciones posibles.
Debido a esto una manera de manipular el modelo consiste en considerar un tipo de caja, con
una orientación diferente, como siendo una caja diferente. Así, en el caso extremo habrá seis
posibles orientaciones, el número de tipos de cajas pasará a ser 6m, a diferencia de los
originalmente m tipos de cajas. De esta forma se obtiene el siguiente modelo.
Modelo:
max����𝑣𝑖 ⋅ 𝑥𝑖𝑝𝑞𝑟𝑟∈𝑍𝑞∈𝑌𝑝∈𝑋
6𝑚
𝑖=1
(63)
Sujeto a:
����𝑎𝑖𝑝𝑞𝑟𝑠𝑡𝑢 ⋅ 𝑥𝑖𝑝𝑞𝑟𝑟∈𝑍𝑞∈𝑌𝑝∈𝑋
≤ 16𝑚
𝑖=1
𝑠 ∈ 𝑋, 𝑡 ∈ 𝑌,𝑢 ∈ 𝑍 (64)
� ���𝑥𝑖𝑝𝑞𝑟𝑟∈𝑍𝑞∈𝑌𝑝∈𝑋
≤ 𝑏𝑗
6𝑗
𝑖=6 𝑗=5
𝑗 = 1,⋯ ,𝑚 (65)
𝑥𝑖𝑝𝑞𝑟 ∈ {0,1} 𝑖 = 1,⋯ ,6𝑚 (66) 𝑝 ∈ 𝑋𝑖 ,𝑞 ∈ 𝑌𝑖 , 𝑟 ∈ 𝑍𝑖
Sobre la formulación presentada se destaca que la función objetivo representada por la
Ecuación 63 busca maximizar el beneficio generado por el valor de las cajas empacadas.
126
Mientras que la Ecuación 64 se encarga de garantizar que no existan traslapes entre las cajas y
a su vez el uso de los conjuntos reducidos (ver Ecuaciones 57 - 59) garantiza que las cajas no
excedan los límites del contenedor. Por otro lado, la Ecuación 65 vela porque no se asignen
más ejemplares que los demandados, teniendo en cuenta también las copias realizadas de las
cajas para incluir las diferentes orientaciones de estas. Por último, la Ecuación 66 define la
variable de decisión en este caso binaria, fijada en su conjunto reducido (ver Ecuaciones 60 –
62).
Aunque solo fue ilustrado una de las manipulaciones del modelo presentadas por Junqueira et
al. (2012a), se logra percibir la complejidad de este y a medida que son incorporadas más
restricciones prácticas, el modelo deja de ser viable para dar resolución a instancias del
problema con un tamaño real. Para más detalles sobre el modelo y sus manipulaciones el
lector es convidado a ver Junqueira et al. (2012a; 2012ba; 2013).
4.4. Metodología de solución
En este trabajo se propone un algoritmo GRASP (Greedy randomized adaptive search
procedure) basado en la representación de los espacios-máximos, el cual en la fase de
construcción permite obtener soluciones totalmente factibles a través del control en la
generación y actualización de los espacios-máximos, satisfaciendo así las restricciones de:
orientación de las cajas, límite de apilamiento de las cajas, límite de peso de la carga,
estabilidad de la carga y patrones multi-drop (carga con múltiples destinos). La estrategia de
búsqueda tipo GRASP, permite aleatorizar la elección del tipo y la cantidad de cajas a ubicar
en cada espacio-máximo. Por otra parte, en la fase de búsqueda local se realizan movimientos
de mejora como: la compresión de cargamentos por cliente, y el vaciado y rellenado
determinista.
GRASP
El algoritmo GRASP fue desarrollado por Feo y Resende (1989) para resolver problemas de
optimización combinatoria difíciles. Diferentes estudios demuestran su calidad y robustez,
para una introducción y actualización el lector es invitado a leer Resende y Ribeiro (2003).
El GRASP es un procedimiento iterativo que combina una fase constructiva y una fase de
mejora. En la fase constructiva una solución es construida paso a paso, agregando elementos a
una solución. La fase es iterativa, golosa, aleatoria y adaptativa. Más adelante es descrito: el
procedimiento constructivo utilizado, la estrategia de aleatorización que se encuentra
127
embebida en el proceso constructivo, los movimientos desarrollados para la fase de mejora, y
una fase de diversificación la cual está incluida en la estructura iterativa.
Figura 73. Ubicación de una caja sobre un espacio vacío y los tres espacios vacios generados.
Algoritmo constructivo
El algoritmo constructivo de este trabajo es basado en la fase constructivo propuesta por
Parreño et al. (2010) para el problema clásico de carga del contenedor. Ambos algoritmos se
diferencian especialmente en la restricción de estabilidad vertical que en este trabajo debe ser
garantizada a través de patrones de empaquetamiento con soporte completo (full support) y
que debido a que la carga está divida en clientes se debe realizar un tratamiento especial a las
estructuras de actualización de los espacios restantes y utilizables (vacios). Siendo esta última
la parte más laboriosa por causa de que la gerencia de los espacios vacios deja de ser trivial y
ahora puede suceder que algunos deban ser eliminados o recortados.
El algoritmo constructivo trabaja sobre la base de los espacios máximos. En este caso, cada
caja seleccionada es empacada en un nuevo espacio y esto genera tres nuevos espacios
máximos (ver Figuras 73 y 74). El algoritmo constructivo usa una lista actualizada S de los
espacios máximos y una lista B de las cajas del cliente actual que aún no deben ser
empacadas. Los pasos del algoritmo constructivo son definidos a continuación.
128
Figura 74. Procedimientos de administración de los espacios máximos: creación,
actualización y eliminación.
Paso 0: Inicialización de S, es creada una lista de los espacios máximos vacios donde serán
ubicadas las cajas seleccionadas. Sea la lista B=B1, B2,…,Bn, el conjunto de cajas del cliente
que restan por ser empacadas.
Paso 1: Escoger un espacio máximo de S. Dado que la lista S contiene los espacios máximos
vacios, los cuales representan los paralelepípedos vacios más grandes y disponibles para
ubicar las cajas. Dado que existen varios candidatos se debe determinar un mecanismo de
selección con base en algún criterio de calidad o estrategia de empaquetamiento, en este
trabajo se proponen dos criterios de selección: escoger el espacio máximo con mínima
distancia a la cara de atrás del contenedor y escoger el espacio máximo con mínima distancia
al techo del contenedor. En caso de empates entre varios candidatos se usa el criterio restante
para romper empates. El primer criterio representa la idea de ir llenado el contenedor de atrás
hacia adelante, mientras que el segundo intenta ir apilando las cajas.
Además de esto, del espacio elegido es seleccionada la esquina inferior más cercana a una de
las esquinas inferiores traseras del contenedor, como punto de anclaje (o referencia) a la hora
de ubicar las cajas en espacio vacío. Este proceso es diferente cuando se resuelve la versión de
Liu et al. (2011), donde se exige la alcanzabilidad por parte del montador de carga, en este
caso se debe verificar como y donde puede ser ubicada la caja (o capa de cajas) para satisfacer
la restricción de alcanzabilidad.
129
Figura 75. Elaboración de capas de cajas. Ejemplo de las seis posibles capas elaboradas al
combinar los distintos ejes y teniendo doce ejemplares del mismo tipo de pieza.
Paso 2: Escoger las cajas a empacar. Una vez que el espacio máximo S’ ha sido seleccionado,
se debe tomar de la lista ordenada B la primera caja i que quepa dentro de S’. Si existen varios
ejemplares de la caja i, se debe generar cada una de las posibles capas. Esto consiste en
empacar las cajas en arreglos de columnas o filas combinando los diferentes ejes (ver Figura
75).
Como en Parreño et al. (2010), dos criterios son considerados para seleccionar una de las
configuraciones de cajas:
- Escoger la capa de cajas que produce el mayor incremento en la función objetivo (max
volume). Este es un criterio goloso en el cual el espacio es llenado con la capa de mayor
volumen de ocupación de las cajas.
- Escoger la capa de cajas que mejor encajan en el espacio máximo (best-fit). Este es un
criterio en el cual se computan las distancias entre cada cara de la capa de cajas y cada cara
del espacio máximo y se ordenan las distancias de cada configuración en orden no-
decreciente. Para seleccionar la configuración con menor distancia (que mejor se ajusta al
espacio).
130
Figura 76. Actualización de la lista de espacios máximos.
Paso 3: Actualizar la lista S. A menos que la caja (o la capa) quepa exactamente en el espacio
S, el empacar producirá nuevos espacios máximos vacíos que reemplazará S’ en la lista S. Por
otra parte, como los espacios máximos no son disjuntos, la caja (o la capa) empacada puede
interceptarse con otros espacios máximos los cuales pueden ser reducidos o eliminados (ver
Figura 76).
131
Figura 77. Actualización de los espacios por cambio de cliente, según la definición de multi-
drop.
Una vez los nuevos espacios máximos han sido adicionados y algunos de los ya existentes
modificados, debe ser verificada la lista y serán eliminados las posibles inclusiones. La lista B
es también actualizada y los espacios máximos que no puedan ubicar ninguna de las cajas que
aún restan por empacar deberán ser eliminados de S. Si 𝑆 = ∅ o 𝐵 = ∅ se da por terminado
esta fase. De lo contrario, si aún existen cajas por empacar del cliente actual se debe regresar
al paso 1.
132
Paso 4: Actualizar la lista S para un nuevo cliente. Cuando el cliente actual ha sido empacado,
los espacios máximos deben ser actualizados dependiendo del tipo de criterio de multi-drop
(ver Figura 77):
- Visible. Deben ser removidos de la lista todos los espacios máximos que son completamente
invisibles desde la puerta del contenedor. También deben ser actualizados (modificados) los
espacios máximos que tienen una parte visible y otra invisible.
- Alcanzables. Además del criterio de visibilidad, deben ser removidos o actualizados todos
los espacios que son inalcanzables.
Aleatorización
Para cada tipo de caja y cada orientación permitida, es construida una capa, de acuerdo al
criterio de seleccionado (max volume o best-fit). Cada una de estas es llamada como:
configuración o candidato. Con todo el conjunto de posibles capas es construida una lista
restricta de candidatos y es seleccionado uno de estos al azar. En este trabajo es usada una
Lista Restricta de Candidatos (RCL, del inglés Restricted Candidate List) según el valor: esto
quiere decir que los candidatos son ordenados según su valor de calidad. Si el valor de la
función objetivo del candidato es mayor que un umbral (𝛿), el candidato es ubicado en la lista.
A través del proceso de construcción de capas se tiene un Cmin y un Cmax, el menor y el mayor
valor de todos los candidatos y el valor de cada candidato C. El candidato es aceptado dentro
del RCL si satisface 𝑐 ≥ 𝑐𝑚𝑖𝑛 + 𝛿(𝐶𝑚𝑎𝑥 − 𝐶𝑚𝑖𝑛). El parámetro 𝛿 ∈ [0,1] controla el tamaño
de la lista de candidatos. Si 𝛿 = 0, todas las configuraciones irán a la lista y podría ser una
selección completamente aleatoria. En contraste, 𝛿 = 1 significaría una selección
completamente golosa. Debido a que solo el mejor de los candidatos sería el único elemento
dentro de la lista y siempre saldría escogido. Para valores de 0 < 𝛿 < 1, el número de
configuraciones que entran en la lista no estaría predefinido, dependiendo de los valores
relativos de los candidatos.
Movimientos de mejora
En este trabajo son considerados dos movimientos de mejora, uno para la solución global y
otro para la solución intermedia en el intercambio de clientes:
El primer movimiento consiste en eliminar el último k % de cajas empacadas de la solución
(por ejemplo, 50%). El valor de k es escogido aleatoriamente entre [30, 90]. Las cajas
133
removidas más las cajas que no han sido usadas son empacadas a través del algoritmo
constructivo determinístico (𝛿 = 1). En este movimiento el algoritmo constructivo usa ambas
funciones objetivo: configuración con mayor volumen y configuración que mejor ajuste. Para
vaciar y rellanar de nuevo el contenedor, la solución tendrá que remover cajas tanto del
primer cliente (en orden de descarga) como de clientes anteriores (ver Figura 78).
Figura 78. Primer movimiento de mejora. Mejora realizada al final de obtener una solución.
Vaciado y rellenado determinista.
El segundo movimiento consiste en aplicar la mejora anterior cada vez que se pretende
realizar un cambio de cliente. Como esto podría llevar a obtener las mismas soluciones, se
desarrolló una función de evaluación de calidad de las soluciones basada en el área (W x L)
ocupada por las cajas en la solución parcial, con el fin de dar prioridad a las soluciones con un
mejor índice de apilamiento (ver Figura 79).
134
Figura 79. Segundo movimiento de mejora. Mejora realizada al final de cada solución parcial
(cambio de cliente). Vaciado y rellenado, priorizando soluciones más apiladas.
La fase de mejoramiento solo es llamada si la solución de la fase constructiva es considerada
promisoria, esto es, si esta es considerada un “buen punto” de comienzo para mejorar la mejor
solución obtenida por el algoritmo en la iteración actual. Solo son tenidas en cuenta las
soluciones que estén por encima de un umbral. Al principio, el umbral toma el valor de la
primera solución obtenida por el algoritmo constructivo. Luego, si en una iteración el valor de
esa solución supera el umbral, este debe ser actualizado y la solución entraría a la fase de
mejoramiento. Si la solución es menor que el umbral, el contador de rechazos (niter) es
incrementado. Cuando el número de soluciones rechazadas es mayor que el número maxFilter
(máximos rechazos), el umbral es reducido de acuerdo a la Expresión 67.
𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 = 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 − 𝜆(1 + 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑) (67)
Donde 𝜆 es fijada en 0.2 y maxFilter = 5, como sugieren Parreño et al. (2010).
135
Fase de construcción basada en memoria
Cuando se resuelve la variante irrestricta del problema se puede modificar la fase de
construcción.
Cada elemento en la fase de construcción es evaluado de acuerdo al volumen, en este caso
este valor es alternado por la combinación lineal de una función golosa y una función de
diversificación que aumenta cada vez que un elemento aparece más seguido en el conjunto de
soluciones de elite. Esto significa que algunas cajas de un cliente o algunos clientes no sean
tenidos en cuenta a la hora de empacar. Dado que el algoritmo empaca en orden según el
cliente, es decir, luego de haber empacado el cliente i comenzará a empacar el cliente i+1 y
así continuará. Puede ocurrir que se obtengan mejores empaquetamientos si se logran empacar
cajas que se han quedado fuera, dejando de empacar cajas de los clientes iniciales.
Durante un número de iteraciones Iterm es almacenada la información relacionada al área
usada de la base del contenedor de una solución parcial, cada vez que un cliente es atendido
(empacado) esta área es dividida por el volumen total del pedido del cliente. Para cada cliente
es computada la diferencia entre el área usada en la iteración actual y sus predecesoras, con
este valor se obtiene una estimación del área del contenedor usada por este cliente. Está
información es usada para seleccionar los clientes y las cajas que serán mejor no tener en
cuenta a la hora de empacar. Vale la pena resaltar que es solo una estimación de cuán apilable
son las cajas de este cliente.
Por lo tanto, para cada cliente tenemos un indicador y entre más grande es este número
significa que su pedido requiere de mayor área del suelo del contenedor para ser empacado.
Con base a esto, se remueve un porcentaje de cajas para las próximas iteraciones. El
porcentaje depende de la calidad de la mejor solución actual obtenida (MSAO) por el
algoritmo, es removida máximo un valor aleatorio entre (0,3*(Volumen total – Volumen
MSAO), 0,7*(volumen total – Volumen MSAO)). Este valor es ajustado a la mitad de la
diferencia entre el volumen total demandado de la instancia del problema y el volumen de la
mejor solución actual obtenida. Esto significa que en las próximas iteraciones se resolverá el
problema con menor volumen demandado y el orden de empaquetamiento puede haber sido
alterado (en caso de que todas las cajas de un cliente hayan sido removidas).
136
Es seleccionado un cliente con el mayor valor y se remueven aleatoriamente cajas de este
cliente hasta ser alcanzado el porcentaje predefinido, si este porcentaje no es alcanzado
removiendo las cajas de un cliente, se pasa al siguiente cliente con indicador y así se continúa.
4.5. Resultados computacionales
El algoritmo desarrollado fue codificado en C++ y ha sido ejecutado usando una
máquina con las siguientes descripciones: un procesador Intel Core i7-2600 ® con 3.40 GHz
y una memoria RAM de 12GB. Se desarrolló un estudio computacional extenso utilizando
casos de estudio y problemas reales presentados en la literatura (ver Tabla 25). Como punto
de referencia son usados los casos de prueba generados por Bischoff y Ratcliff (1995). Estos
700 problemas son divididos en siete clases (BR1,…, BR7) cada una con 100 instancias, el
número de tipos de cajas en cada clase va desde 3 hasta 20 tipos diferentes (BR7, la séptima
clase). Además de esto, en este trabajo se extiende hasta el uso de las clases BR8-BR15 que
presenta instancias con demanda de piezas fuertemente heterogéneas, desarrolladas también
por Bischoff y Ratcliff (1995). El número de tipos diferentes de cajas está en un rango de 30 a
100 (BR8 a BR15, respectivamente).
En estos casos las cajas han sido generadas independientemente de las dimensiones del
contenedor, por lo que no es garantizado que todas las cajas demandadas de una instancia
puedan ser colocadas dentro del contenedor. El peso de cada caja es proporcional a su
volumen, es decir, la densidad de todo el material de la caja se asume igual a 1. Los límites de
apilamiento para cada cara de la caja son definidos aleatoriamente usando una distribución
normal. Todas las instancias están disponibles en la página Web del ESICUP:
http://paginas.fe.up.pt/~esicup/tiki-index.php?page_ref_id=6 (accedido en febrero 3, de
2014).
Además de esto, para realizar estudios sobre la restricción de multi-drop, Christensen y
Rousøe (2009) haciendo uso de las 700 instancias (BR1-BR7) declaran un número de clientes
2, 5, 10 o 50 y asignan cada caja a un cliente usando una función aleatoria uniforme. La
asignación es realizada independientemente para cada número de clientes, lo que acaba
generando así 3500 instancias para el estudio del problema multi-drop.
En este estudio, el algoritmo propuesto es comparado con el procedimiento exacto
desarrollado por Junqueira et al. (2012a) usando 16 instancias que ellos han generado.
También son usadas las instancias presentadas por Ceschia y Schaerf (2013), filtrándolas para
137
hacer uso solo de las instancias con un único contenedor, estos casos de prueba se encuentran
disponibles en la página Web: http://satt.diegm.uniud.it/3Dpacking/ (accedida en junio 14, de
2013).
Tabla 25. Detalles del benchmarking.
Trabajo Restricciones Instancias
Orie
ntac
ión
de
las p
ieza
s
Lím
ites
de
apila
mie
nto
Lím
ites d
e pe
so
Esta
bilid
ad d
e la
ca
rga
Mul
ti-dr
op
Enví
o co
mpl
etod
Can
tidad
Descripción Fuente
Liu, et al.
(2011) X X X
U2 100 thpack7 Bischoff y Ratcliff (1995)a
Junqueira, et al.
(2012a) X X X U2
8
Randomly
generated
instances
Junqueira, et al. (2012a)
8 Real-world
instances
Christensen y Rousøe
(2009)b
Christensen and
Rousøe (2009) X X X R 3500 thpack1-7 Bischoff y Ratcliff (1995)c
Ceschia y
Schaerf (2013) X X X X X R 117
Real-world
instances Ceschia y Schaerf (2013)
(a) Conjunto de instancias adaptadas para incluir restricciones multi-drop
(b) Instancias adaptadas para no incluir restricciones de límite de apilamiento de las cajas
(c) Conjunto de 500 instancias adaptadas para incluir multi-drop y así generar 3500 instancias
(d) Envío completo: R, restricto, U1, irrestricto tipo 1 y U2, irrestricto tipo 2.
Por último, son usados los cien (100) problemas propuestos por Liu et al. (2011), la
asignación utilizada en este estudio es diferente a la usada por los autores, debido a que sus
datos no se encuentras disponibles. Sin embargo, siguiendo el proceso de elaboración
propuesto por los autores, es elaborado un conjunto de 100 problemas y son reportados
únicamente los promedios, a pesar de que no es posible eliminar el sesgo en los resultados.
Las instancias generadas utilizan la clase BR7 pero en este caso cada ejemplar de un diferente
tipo de pieza es asignado a un cliente aleatorio.
En este trabajo se fija un número máximo de iteraciones igual a 50.000. En todas las Tablas
presentadas a continuación (Tablas 26-32) el promedio corresponde al porcentaje de volumen
utilizado.
138
Comparación con otros algoritmos heurísticos (versión restricta)
Se presenta primero en la Tabla 26 la comparación con Ceschia y Schaerf (2013) dado a que
es el trabajo que más restricciones prácticas presenta, para esto son separadas 23 instancias de
las 117 propuestas, dado que solo estás utilizan un único contenedor.
Tabla 26. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la
definición y algoritmo de Ceschia y Schaerf (2013).
Observaciones Nombre de la
Instancia
𝑉𝑜𝑙𝑢𝑚𝑒𝑛𝑃𝑎𝑐𝑘𝑒𝑑𝐿 ∙ 𝑊 ∙ 𝐻
Ceschia y Schaerf GRASP
Todas las cajas
empacadas
Baja tasa de
volumen para
empacar
CS2843 44.54 44.54 CS3048 48.37 48.37 CS3152 69.85 69.85 CS3182 77.15 77.15 CS3291 69.82 69.82 CS3388 36.38 36.38 CS3556 42.83 42.83 CS3695 41.50 41.50 CS3941 70.26 70.26
CS2000 79.08 86.66 CS2805 67.37 69.85 CS2822 73.03 75.62 CS2899 79.00 85.67 CS3056 50.17 60.70 CS3074 71.00 75.31 CS3122 67.31 69.18 CS3142 71.66 75.93 CS3151 65.02 70.06 CS3203 83.72 86.21 CS3207 67.59 72.75 CS3314 80.42 80.42 CS3432 75.60 80.16 CS3915 49.58 62.02
Promedio 70.04 75.04
Tiempo computacional medio (seg) 18.66
139
En la Tabla 27 se ilustran los resultados del algoritmo propuesto comparado con el algoritmo
de Christensen y Rousøe (2009). Su algoritmo fue implementado en C++ y todos las pruebas
fueron ejecutadas en una máquina Linux con un procesador AMD® de 2.4GHz 64 bit y una
memoria RAM de 2GB. Ellos han ajustado un tiempo límite de 60 segundos. La Tabla
muestra que los resultados obtenidos por el algoritmo propuesto son competitivos con los
mejores resultados reportados para esta clase de problemas. Queda ilustrado que no solo la
calidad de la solución depende del número de clientes sino también el número de tipos de
cajas. Cuando solo se tienen 3 tipos de cajas (BR1) la calidad de la solución cae un 13% de 1
a 50 clientes. Cuando el número de tipos de cajas existentes es 20 (BR7) la diferencia llega a
ser del 30%. No es una sorpresa que los problemas más difíciles sean los que tengan muchos
clientes y muchos tipos de cajas.
Tabla 27. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la
definición y algoritmo de Christensen y Rousøe (2009).
Número
de
clientes
Conjunto de instancias (100 casos por grupo)
GRASP Christensen
y Rousøe
BR1 BR2 BR3 BR4 BR5 BR6 BR7 Promedio Promedio
1 92.47 92.75 92.76 92.22 91.68 91.01 89.62 91.79 89.07 2 91.77 90.76 89.47 88.56 87.78 86.69 85.51 88.65 85.96 5 88.56 86.02 83.15 81.36 80.14 78.30 76.12 81.95 78.52 10 85.28 81.43 77.82 76.14 74.47 72.45 70.22 76.83 72.64 50 79.32 73.96 68.98 66.87 64.85 63.25 60.61 68.26 64.45
Promedio 87.48 84.98 82.44 81.03 79.78 78.34 76.42 81.50
78.13 Tiempo computacional medio (seg) 47.81 60
Para esta versión se comparó con los resultados reportados por Liu et al. (2011) y el algoritmo
SBIP presentado por Jin et al. (2004). Estos ejecutaron sus pruebas sobre una máquina con
procesador Intel Core 2 Duo E8400® de 3.00 GHz y con una memoria RAM de 2 GB. La
Tabla 28 muestra que el algoritmo propuesto es superior al de Liu et al., pero inferior a la
implementación del algoritmo de Jin et al. Es importante resaltar los bajos porcentajes de
volumen de utilización, esto se debe a que se está resolviendo la versión 3D-SKP (three-
dimensional single knapsack problem), ya que la demanda de piezas es fuertemente
heterogénea (un ejemplar por tipo de caja y cliente).
140
Tabla 28. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la
definición, y algoritmo de Liu et al. (2011) y el algoritmo SBIP presentado por Jin et al.
(2004).
Instancias BR7 - Modificadas 𝑉𝑜𝑙𝑢𝑚𝑒𝑛𝑃𝑎𝑐𝑘𝑒𝑑
𝐿 ∙ 𝑊 ∙ 𝐻
SBIP - LIU Alg 3.1 - Liu GRASP
Promedio 49.90 48.78 49.52
Tiempo (seg) 63.76 51.98 84.11
Tabla 29. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la
formulación y definición de Junqueira et al., con δik = 0.
δik = 0
Nombre Nombre
del archivo
Número
de cajas
Número
de tipos L
𝑉𝑜𝑙𝑢𝑚𝑒𝑛𝑃𝑎𝑐𝑘𝑒𝑑∑ 𝑥𝑖 ∙ 𝑦𝑖 ∙ 𝑧𝑖𝑛𝑖=1
Junqueira,
et al. GRASP
A1 6_n10m01b2d2_05md 20 1 15 1 1 20 1 12 0.95 0.95
A5 1_n10m05b2d2_02md 41 5 15 1 1 41 5 12 0.779 0.955
A10 1_n10m10b2d2_04md 99 10 15 1 1 A20 1_n10m20b2d2_09md 89 20 15 1 1
89 20 12 0.928 0.984 B1 6_n10m01b2d1_07md 50 1 15 1 1 B5 1_n10m05b2d1_10md 813 5 15 1 1
B10 1_n10m10b2d1_06md 1000 10 15 1 1 B20 1_n10m20b2d1_05md 674 20 15 1 1
Tiempo computacional medio (seg) 42.75 5.85
Envíos completos irrestrictos En las Tablas 29 y 30 son ilustrados los resultados de la versión del algoritmo en la cual no
son empacadas en orden todas las cajas de cada cliente. Primero se realiza la comparación con
el algoritmo exacto presentado por Junqueira et al. (2012a), las pruebas de este fueron
ejecutadas en una máquina con un procesador Intel Core i7® de 2.8 GHz y con una memoria
141
RAM de 8.0 GB, fue fijado un tiempo límite de 3600 segundos. Estos han generado un
conjunto de instancias, con ellas prueban ambos valores del parámetro 𝛿𝑖 (𝛿𝑖 = 0 𝑦 𝛿𝑖 = li).
Tabla 30. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la
formulación y definición de Junqueira et al., con δik = li.
δik = li
Nombre Nombre
del archivo
Número
de cajas
Número
de Tipos L
𝑉𝑜𝑙𝑢𝑚𝑒𝑛𝑃𝑎𝑐𝑘𝑒𝑑∑ 𝑥𝑖 ∙ 𝑦𝑖 ∙ 𝑧𝑖𝑛𝑖=1
Junqueira,
et al. GRASP
A1 6_n10m01b2d2_05md 20 1 15 1 1 A5 1_n10m05b2d2_02md 41 5 15 1 1
41 5 12 0.9 1 A10 1_n10m10b2d2_04md 99 10 15 1 1 A20 1_n10m20b2d2_09md 89 20 15 1 1 B1 6_n10m01b2d1_07md 50 1 15 1 1 B5 1_n10m05b2d1_10md 813 5 15 1 1 B10 1_n10m10b2d1_06md 1000 10 15 1 1 B20 1_n10m20b2d1_05md 674 20 15 1 1
Tiempo computacional medio (seg) 863.45 10.31
Tabla 31. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra la
definición, y el algoritmo 3.2 de Liu et al. (2011).
Instancias BR7 - Modificadas 𝑉𝑜𝑙𝑢𝑚𝑒𝑛𝑃𝑎𝑐𝑘𝑒𝑑
𝐿 ∙ 𝑊 ∙ 𝐻
Alg 3.2 - Liu GRASP
Promedio 53.18 53.27
Tiempo (seg) 51.98 84.11
Esta comparación es realizada por dos razones, primero porque el trabajo de ellos representa
otra definición del multi-drop y segundo porque es un modelo exacto (presentado en la
sección 4.3) y permite verificar las soluciones obtenidas por el algoritmo heurístico propuesto
en este trabajo. Para estas instancias fue fijado en 3 el número de clientes o destinos.
La Tabla 31 muestra los resultados presentados por Liu et al. (2011). Estos en su trabajo
proponen dos algoritmos (algoritmos 3.1 y 3.2), en el segundo algoritmo los autores relajan la
142
restricción de “empacar cajas en el orden estricto” y así pueden ubicar cajas que no están en el
orden previamente establecido.
Tabla 32. Comparación de resultados obtenidos por el algoritmo GRASP propuesto contra el
algoritmo de Alonso et al. (2014).
Clase GRASP Alonso et al. Clase GRASP Alonso et al.
BR1 82.52 81.4 BR8 83.74 85.5 BR2 86.66 85.7 BR9 82.41 84.8 BR3 88.42 87.3 BR10 81.38 84.0 BR4 88.10 86.9 BR11 80.07 82.8 BR5 87.40 86.6 BR12 78.88 81.3 BR6 86.91 86.3 BR13 77.65 80.2 BR7 85.53 85.7 BR14 76.58 78.9
BR15 75.48 78.0
Promedio (BR1-BR7)
86.51 85.7 Promedio (BR8-BR15)
79.52 83.7
Tiempo (seg) 13.5 9.8 Tiempo (seg) 102.8 64.7
Promedio (BR1-BR15)
82.8 83.5
Restricciones de límite de apilamiento con un único cliente
Aunque las características principales del algoritmo propuesto intentan explotar al máximo las
restricciones de multi-drop, este también puede ser comparado con otros algoritmos
propuestos en la literatura, como el algoritmo de Alonso et al. (2014) para resolver la variante
del problema de carga del contenedor con restricciones de límite de apilamientos. Para esto
son usados los mismos casos de prueba presentados en Bischoff y Rafcliff (1995).
Alonso et al. (2014) presentan un algoritmo GRASP que utiliza diferentes funciones
objetivos. Mientras que su representación de espacios vacios está basada en la propuesta por
Ngoi (1994). Estos han ejecutado sus pruebas en una máquina con un procesador Intel Core
Duo T6500 ® de 2.1GHz y una memoria RAM de 4GB. La Tabla 32 muestra que los
resultados obtenidos por el algoritmo propuesto en este trabajo son de buena calidad, ya que
se está comparando contra la mejor referencia en la literatura y además este es un algoritmo
143
adaptado para esa variante del problema. Cabe destacar que entre más heterogéneos son las
instancias el comportamiento del algoritmo propuesto decrece.
4.6. Conclusiones
Se desarrolló una metodología de solución para el problema de carga de contenedores,
que hace uso de la representación de los espacios máximos para administrar los espacios
residuales, el proceso de optimización es administrado por un algoritmo constructivo
aleatorizado, que permite generar soluciones factibles y logra ser flexible y robusto para
solucionar las diferentes definiciones de empaquetamiento multi-drop en la literatura.
Resolver variantes del problema de carga de contenedores involucrando restricciones y
condiciones reales representa un alto grado de dificultad no solo por la complejidad innata de
los problemas de empaquetamiento sino también debido al poco consenso de la comunidad
académica y las diferentes interpretaciones que cada autor basado en su pericia da a las
características del problema.
El algoritmo propuesto es flexible y puede ser adaptado a otras restricciones de
empaquetamiento como distribución del peso de la carga dentro del contenedor y
empaquetamiento de cajas con peso no proporcional a su volumen (la densidad del material es
un parámetro del sistema). Además de esto, el algoritmo es combinable con problemas como
ruteo de vehículos con restricciones de empaquetamiento tridimensional.
144
Capítulo 5.
Conclusiones y trabajos futuros
En esta investigación se estudiaron diferentes algoritmos de optimización de la familia de las
metaheurísticas para solucionar los problemas de: corte óptimo en la mochila bidimensional
(2D-SKP o 2D-SLOPP, del inglés Two-Dimensional Single Knapsack Problem y Two-
Dimensional Single Large Object Placement Problem, respectivamente): con y sin
restricciones de corte tipo guillotina, con y sin restricciones de piezas con beneficio, con y sin
restricciones de límites de ejemplares por pieza, y con y sin restricciones de orientación en las
piezas. El segundo problema estudiado es, el problema de carga de un único contenedor (3D-
SKP o 2D-SLOPP, del inglés Three-Dimensional Single Knapsack Problem y Three-
Dimensional Single Large Object Placement Problem, respectivamente): con restricciones de
orientación de las cajas, con restricciones de resistencia de pesos de las cajas para su
apilamiento, con restricciones de límite de peso de la carga, con restricciones de estabilidad
de la carga, y con restricciones de múltiples destinos de la carga. Por último, el problema de
embalaje (2D-BPP, del inglés Two-Dimensional Bin Packing Problem): con restricciones de
corte tipo guillotina, y con y sin restricciones de orientación de las piezas.
Se realizó la revisión bibliográfica de los modelos matemáticos de los problemas de corte y
empaquetamiento óptimo bidimensional y tridimensional guillotinado y no guillotinado. Los
problemas estudiados en esta tesis han sido analizados por más de seis décadas sin embargo
no se ha llegado a un consenso general que determine un modelo matemático definido y que
incluyan las diferentes características que den solución a situaciones prácticas del problema
en la vida real. En especial para los problemas de corte se encuentran deficiencias al adicionar
los patrones de corte tipo guillotina por etapas, mientras para los problemas de
empaquetamiento, las formulaciones matemáticas presentan debilidades al adicionar las
restricciones de carga con múltiples destinos.
Para los problemas de corte se utilizaron los conceptos de tres técnicas metaheurísticas
(optimización con cúmulo de partículas, búsqueda en vecindario variable y algoritmos
genéticos) y con base en estos se implementó un algoritmo híbrido para resolver los
problemas de la mochila bidimensional y el problema de embalaje. Para el problema de carga
145
de un único contenedor, se utilizaron los conceptos de la técnica metaheurística GRASP para
administrar un algoritmo constructivo aleatorio.
Se revisaron diferentes codificaciones y representaciones propuestas en la literatura para
resolver los problemas de corte bidimensional. En este trabajo fue adaptada una codificación
en árbol de cortes para dividir el problema original en sub-problemas. Se seleccionó además
una representación de los espacios máximos para el tratamiento de los espacios residuales.
Mientras que, para los problemas de empaquetamiento se adaptó la representación de espacios
máximos en tres dimensiones para cumplir con las restricciones del problema.
El análisis de resultados realizado en esta investigación demuestra el desempeño de los
algoritmos propuestos para resolver los casos de prueba de la literatura especializada
(presentados para los problemas de este trabajo). Tanto en tiempos computacionales, como
calidad de resultados se obtiene un comportamiento aceptable por parte de la metodología de
solución propuesta.
Trabajos futuros propuestos en esta investigación.
Ampliar la representación de espacios máximos utilizada, en el estudio de problemas de
empaquetamiento óptimo tridimensional y adaptarla para el problema de empaquetamiento
óptimo de cajas en contenedores usando pallets.
Usar otras técnicas metaheurísticas de optimización utilizando la codificación y
representación propuesta con el fin de mejorar la calidad de los resultados.
Utilizar una metodología exacta para realizar el ajuste óptimo de parámetros de las técnicas
metaheurísticas de optimización propuestas en este trabajo.
Aplicar esta metodología de solución en problemas de la vida real, lo cual se logra a través del
uso información real presentada en la industria.
146
Referencias bibliográficas
ALONSO, M.T.; ALVAREZ-VALDES, R.; TAMARIT, J.M. PARREÑO, F.; A Reactive
GRASP algorithm for the container loading problem with load-bearing constraints.
European Journal of Industrial Engineering, Article in press, 2014.
ÁLVAREZ, D.; TORO, E. M.; GALLEGO, R. A.; Problema de la mochila irrestricta
bidimensional guillotinada, Revista Ingeniería & Universidad, 14 2: 327-344, 2010.
ÁLVAREZ, D.; TORO, E. M.; GALLEGO, R. A.; Estudio comparativo de algoritmos
basados en cúmulo de partículas para resolver el problema de empaquetamiento en
placas, Revista Ingeniería y Competitividad, Universidad del Valle, Cali
(Colombia), 13 (1): 113-130, Mayo. ISSN 0123-3033. 2011.
ÁLVAREZ, D.; ESCOBAR, L. M.; ROMERO, R. A.; Equipo asíncrono de agentes basados
en recocido simulado aplicado al problema del agente viajero simétrico, Revista
Scientia et Technica, 49: 122-127, 2011.
ALVAREZ-VALDÉS, R.; PARAJÓN, A.; TAMARIT, J. M.: A tabu search algorithm for
large-scale guillotine unconstrained two-dimensional cutting problems. Computers &
Operations Research. 29, 925–947, 2002.
ALVAREZ-VALDÉS, R.; PARREÑO F.; TAMARIT J. M.; A tabu search algorithm for a
twodimensional non-guillotine cutting problem. European Journal of Operational
Research, 183:1167–1182, 2007.
ANDREWS, P. S.; An investigation into mutation operators for particle swarm optimization,
IEEE CONGR. EVOL. COMPUT., Proceedings… Vancouver, BC, Canada, pp.
1044–1051, 2006.
ARENALES, M.; MORABITO, R.; YANASSE, H.; Cutting and packing problems. Pesquisa
Operacional, v. 19, n. 2, p. 107-299, 1999.
BALDACCI, R.; BOSCHETTI, M.A.; A cutting-plane approach for the two dimensional
orthogonal non-guillotine cutting problem. European Journal of Operational
Research 1833, 1136-1149, 2007.
147
BEASLEY, J. E.; Algorithms for unconstrained two-dimensional guillotine cutting. Journal
Operations Research Society., 36, 297–306, 1985.
BEASLEY, J. E.; An exact two-dimensional non-guillotine cutting tree-search procedure.
Operations Research, 33:49–64, 1986.
BEASLEY, J. E.; A population heuristic for constrained two-dimensional nonguillotine
cutting. European Journal of Operational Research, vol. 156, pp. 601- 627, 2004.
BEKRAR, A.; KACEM, I.; CHU, C.; SADFI, C.; An improved heuristic and an exact
algorithm for the 2D strip and bin packing problem, International Journal Product
Development, Vol. 10, Nos. 1/2/3, 217-240, 2010.
BEN, S.; CHU, C.; ESPINOUSE, M. L.; Characterization and modelling of guillotine
constraints, European Journal of Operational Research, Vol. 191, pp. 112–126,
2008.
BERKEY, J. O.; WANG, P. Y.; Two-dimensional finite bin packing algorithms, Journal of
the Operational Research Society, Vol. 38, pp. 423–429, 1987.
BINKLEY K. B.; HAGIWARA, M.; Applying self-adaptive evolutionary algorithms to two-
dimensional packing problems using a four corners’ heurístic, European Journal of
Operational Research, Vol. 183, pp. 1230–1248, 2007.
BIRGIN, E. G.; LOBATO, R. D.; Orthogonal packing of identical rectangles within isotropic
convex regions, Computers & Industrial Engineering 59 4, 595-602, 2010.
BIRGIN, E. G.; LOBATO, R. D.; MORABITO, R.; An effective recursive partitioning
approach for the packing of identical rectangles in a rectangle, Journal of the
Operational Research Society 61 2, 306-320, 2010.
BIRGIN, E. G.; LOBATO, R. D.; MORABITO, R.; Generating unconstrained two-
dimensional non-guillotine cutting patterns by a recursive partitioning algorithm.
Journal of the Operational Research Society 63, pp. 183-200, 2012.
BIRGIN, E. G.; MARTÍNEZ, J. M.; MASCARENHAS, W. F.; RONCONI, D. P.; Method of
sentinels for packing items within arbitrary convex regions, Journal of the
Operational Research Society 57 6, 735-746, 2006a.
148
BIRGIN, E. G.; MARTÍNEZ, J. M.; NISHIHARA, F. H.; RONCONI, D. P.; Orthogonal
packing of rectangular items within arbitrary convex regions by nonlinear
optimization, Computers & Operations Research 33 12, 3535-3548, 2006b.
BIRGIN, E. G.; MORABITO, R.; NISHIHARA, F. H.; A note on an L-approach for solving
the manufacturer's pallet loading problem, Journal of the Operational Research
Society 56 12, 1448-1451, 2005.
BIRO, M.; BOROS, E.; Network flows and non-guillotine cutting patterns, European
Journal of Operational Research, Vol. 16, pp. 215–221, 1984.
BISCHOFF, E. E.; Three-dimensional packing of items with limited load bearing strength
European Journal of Operational Research, 168, 952-966, 2006.
BISCHOFF, E. E.; MARRIOTT, M.D.; A comparative evaluation of heuristics for container
loading. European Journal of Operational Research, vol. 44, pp. 267–276, 1990.
BISCHOFF, E. E.; RATCLIFF, M. S. W.; Issues in the development of approaches to
container loading. Omega, 234, 377–390, 1995.
BISCHOFF, E. E.; WÄSCHER, G.; Cutting and packing. European Journal of Operational
Research, v. 84, n. 3, p. 503-505, 1995.
BORTFELDT, A.; A hybrid algorithm for the capacitated vehicle routing problem with three-
dimensional loading constraints. European Journal of Operational Research, 399,
2248-2257, 2012.
BORTFELDT, A.; GEHRING, H.; A hybrid genetic algorithm for the container loading
problem. European Journal of Operational Research, vol. 131, pp. 143–161, 2001.
BORTFELDT, A.; WÄSCHER, G.; Constraints in container loading - A state-of-the-art
review, European Journal of Operational Research, 2291, 1-20, 2013.
BORTFELDT, A.; WINTER, T.; A genetic algorithm for the two-dimensional knapsack
problem with rectangular pieces. International Transactions in Operational
Research, 16:685–713, 2009.
149
BOSCHETTI M. A.; MINGOZZI A.; Hadjiconstantinou, E.; New upper bounds for the two
dimensional orthogonal non-guillotine cutting stock problem. IMA Journal of
Management Mathematics, 13:95–119, 2002.
BROWN, A. R.; Optimum packing and depletion: the computer in space - and resource
usage problems. London: Macdonald and Co.; New York: American Elsevier, 107p.
1971.
CAPRARA, A.; MONACI, M.; On the two-dimensional knapsack problem. Operations
Research Letters, vol. 32, pp. 5–14, 2004.
CARLISLE, A.; DOZIER, G.; Adapting particle swarm optimization to dynamic
environments, INT. CONF. ARTIF. INTELL., Proceedings… Las Vegas, NV, pp.
429–434, 2000.
CESCHIA, S.; SCHAERF, A.; Local search for a multi-drop multi-container loading
problem. Journal of Heuristics, DOI: 10.1007/s10732-011-9162-6, 2013.
CESCHIA, S.; SCHAERF, A.; STÛTZLE, T.; Local search techniques for a routing-packing
problem Computers and Industrial Engineering, Article in press, 2013.
CHEN, M.; HUANG, W.; A two-level search algorithm for 2D rectangular packing problem,
Computers & Industrial Engineering 53, 123–136, 2007.
CHEN, C. S.; LEE, S. M.,; SHEN Q. S.; An analytical model for the container loading
problem. European Journal of Operational Research, 80:68–76, 1995.
CHENG, C. H.; FEIRING, B. R.; CHENG, T. C. E.; The cutting stock problem - a survey.
International Journal of Production Economics, v. 36, n. 3, p. 291-305, 1994.
CHRISTENSEN, S. G.; ROUSØE, D.M.; Container loading with multi-drop constraints.
International Transactions in Operational Research, 16, 727-743, 2009.
CHRISTOFIDES, N.; Optimal cutting of two-dimensional rectangular plates, CAD74.
Proceedings… pp. 1–10, 1974.
CHRISTOFIDES, N.; WHITLOCK, C.; An algorithm for two-dimensional cutting problems.
Operations Research. 25, 30–44, 1977
150
CHARALAMBOUS, C.; FLESZAR, K.; A constructive bin-oriented heuristic for the two-
dimensional bin packing problem with guillotine cuts, Computers & Operations
Research, Volume 38, Issue 10, 1443–1451, 2011.
CINTRA, G.F.; MIYAZAWA, F.K.; WAKABAYASHI, Y.; XAVIER E.C.; Algorithms for
two-dimensional cutting stock and strip packing problems using dynamic
programming and column generation, European Journal of Operational Research,
191, 61–85, 2008
COFFMAN, E.; GAREY, M.; JOHNSON, D.; Approximation algorithms for bin packing:
a survey. In: HOCHBAUM, D. S. Approximation algorithms for NP-hard problems.
Boston: PWS Publishing, p. 46-93. 1996.
CUI, Y.; An exact algorithm for generating homogenous two-segment cutting patterns.
Engineering Optimization. 39, 365–380, 2007a.
CUI, Y.; An exact algorithm for generating homogenous T-shape cutting patterns,
Computers & Operations Research, Vol. 34, pp. 1107-1120, 2007b.
CUI, Y.; Heuristic and exact algorithms for generating homogenous constrained three-staged
cutting patterns. Computers & Operations Research. 35, 212–225, 2008.
DANIELS, K.; MILENKOVIC, V. J.; LI, Z.; Multiple containement methods, Technical
Report 12-94, Center for Research in Computing Technology, Division of Applied
Sciences, Harvard University, 1994.
DE CASTRO SILVA, J.L.; SOMA, N.Y.; MACULAN, N.; A greedy search for the tree-
dimensional bin packing problem: the packing stability case. Internat. Transactions in
Operational Research, Vol. 10, pp. 141–153. 2003.
DELL'AMICO, M.; MARTELLO, S; VIGO, D.; A lower bound for the non-oriented two-
dimensional bin packing problem. Discrete Applied Mathematics 118, 13–24. 2002.
DOWSLAND, K.; Some experiments with simulated annealing techniques for packing
problems, European Journal of Operational Research, Vol. 68, pp. 389–399, 1993.
DOWSLAND, W. B.; Two and three dimensional packing problems and solution methods.
New Zealand Operational Research, v. 13, n. 1, p. 1-18, 1985.
151
DOWSLAND, K. A.; DOWSLAND, W. B.; Packing problems. European Journal of
Operational Research, v. 56, n. 1, p. 2-14, 1992.
DUECK, G.; SCHEUER, T.; Threshold accepting: A general purpose optimization algorithm
appearing superior to simulated annealing, Journal Computat. Phys., vol. 90, pp.
161–175, 1990.
DYCKHOFF, H.; A typology of cutting and packing problems. European Journal of
Operational Research, 44:145–159, 1990.
DYCKHOFF, H.; FINKE, U.; Cutting and packing in production and distribution:
typology and bibliography. 1. ed. Heidelberg: Springer-Verlag, 1992. 248p.
DYCKHOFF, H.; KRUSE, H. -J.; ABEL, D.; GAL, T.; Trim loss and related problems.
Omega, v. 13, n. 1, p. 59-72, 1985.
DYCKHOFF, H.; SCHEITHAUER, G.; TERNO, J.; Cutting and packing. In:
DELL’AMICO, M.; MAFFIOLI, F.; MARTELLO, S. Annotated bibliographies in
combinatorial optimization. New York: John Wiley & Sonsp. 393-414, 1997.
DYSON, R. G.; GREGORY, A. S.; The cutting stock problem in the flat glass industry.
Operational Research Quartely 25 41-53. 1976.
EGEBLAD, J.; PISINGER, D.; Heuristic approaches for the two- and three-dimensional
knapsack packing problem. Computers and Operations Research, 36:1026–1049,
2009.
FAROE, O.; PISINGER, D.; ZACHARIASEN, M.; Guided local search for the three-
dimensional bin-packing problem. INFORMS Journal on Computing, v. 15, n. 3, p.
267283, 2003.
FARLEY, A. A.; Mathematical programming model for cutting stock problems in the
clothing industry. Journal of the Operation Operation Research Society 39 41-53.
1988.
FARLEY, A. A.; The cutting stock problem in the canvas industry. European Journal of
Operation Research 44 247-255. 1990.
152
FASANO, G.; Cargo Analytical Integration in Space Engineering: A Three-Dimensional
Packing Model, in T.A.CIRIANI et al. editors Operational Research in Industry,
p.232-246, 1999.
FAYARD, D.; HIFI, M.; ZISSIMOPOULOS, V.; An efficient approach for large-scale two-
dimensional guillotine cutting stock problems. Journal of the Operational Research
Society. 49, 1270–1277, 1998
FAYARD, D.; ZISSIMOPOULOS, V.; An approximation Algorithm For Solving
Unconstrained Two-Space Knapsack problems, European Journal of Operations
Research, Vol. 84, pp. 618-632, 1995.
FEKETE, S.; SCHEPERS, J.; On more-dimensional packing III: Exact algorithms,
Technical Report ZPR97-290, Mathematisches Institut, UniversitYat zu KYoln, 1997.
FEKETE, S.; SCHEPERS, J.; VANDER VEEN J.; An exact algorithm for higher-
dimensional orthogonal packing. Operations Research, 55, pp. 569–587, 2007.
FEO, T.; RESENDE, M. G. C.; A Probabilistic Heuristic for a Computationally Difficult Set
Covering Problem. Operations Research Letters, 8:67-71, 1989.
FLESZAR, K.; Three insertion heuristics and a justification improvement heuristic for two-
dimensional bin packing with guillotine cuts, Computers & Operations
Research, Volume 40, Issue 1, Pages 463-474, 2013.
GAREY, M. R.; JOHNSON, D. S.; Computers and Intractability: A Guide to the Theory
of NP-Completeness, W. H. Freeman, San Francisco, Calif, USA, 1979.
GENDREAU, M.; IORI, M.; LAPORTE G.; MARTELLO, S.; A tabu search algorithm for a
routing and container loading problema. Transportation Science, 403, 342-350,
2006.
GILMORE, P. C.; GOMORY, R. E.; A linear programming approach to the cutting stock
problem, Operations Research, Vol. 9, pp.849-859, 1961.
GILMORE, P. C.; GOMORY, R. E.; A linear programming approach to the cutting stock
problem – part II, Operations Research, Vol. 11, pp. 863–888, 1963.
153
GILMORE, P. C.; GOMORY, R. E.; Multistage cutting problems of two and more
dimensions. Operations Research, 13, 94-120, 1965.
GILMORE, P. C.; GOMORY, R. E.; The theory and computation of knapsack functions.
Operations Research, 14, 1045-1074, 1966.
GOLDEN, B.; Approaches to the cutting stock problem. AIIE Transactions, v. 8, n. 2, p.
265-274, 1976.
GONÇALVES, J. F.; A hybrid genetic algorithm-heuristic for a two-dimensional orthogonal
packing problem, European Journal of Operational Research 183, 1212-1229,
2007.
HADJICONSTANTINOU, E.; CHRISTOFIDES, N.; An exact algorithm for general,
orthogonal, two-dimensional knapsack problems, European Journal of Operational
Research 83 1, 39-56, 1995.
HAESSLER, R. W.; SWEENEY, P. E.; Cutting stock problems and solution procedures.
European Journal of Operational Research, v. 54, n. 2, p.141-150, 1991.
HAESSLER, R. W.; TALBOT F. B.; Load planning for shipments of low density products.
European Journal of Operational Research, v. 44, n. 2, p. 289-299, 1990.
HERZ, J. C.; A recursive computing procedure for two-dimensional stock cutting. I.B.M. Ji
Research Dev., 16, 462-469, 1972
HIFI, M.; An improvement of Viswanathan and Bagchis exact algorithm for constrained two-
dimensional cutting stock. Computers & Operations Research. 24, 727–736, 1997a
HIFI, M.; Problem instances for the 2D Cutting/Packing Problems, [on line],
<ftp://cermsem.univ-paris1.fr/pub/CERMSEM/hifi/2Dcutting/>. 1997b.
HIFI, M.; Exact algorithms for large-scale unconstrained two and three staged cutting
problems. Computational Optimization and Applications. 18, 63–88, 2001.
HIFI, M.; Cutting and packing problems. Studia Informatica Universalis, v. 2, n. 1, p. 1-
161, 2002b.
HIFI, M.; M'HALLAH, R.; An Exact Algorithm for Constrained Two-Dimensional Two-
Staged Cutting Problems. Operations Research 531: 140-150, 2005.
154
HIFI, M.; ROUCAIROL, C.; Approximate and exact algorithms for constrained unweighted
two-dimensional two-staged cutting stock problems. Journal of Combinatorial
Optimization. 5, 465–494, 2001
HIFI, M.; ZISSIMOPOULOS, V.; A recursive exact algorithm for weighted two-dimensional
cutting. European Journal Operations Research, 91, 553–564, 1996.
HINXMAN, A. I.; The trim-loss and assortment problems: a survey. European Journal of
Operational Research, v. 5, n.1, p. 8-18, 1980.
HOPPER, E.; TURTON, B. C. H.; A review of the application of meta-heuristic algorithms to
2D strip packing problems, Artificial Intelligence Review, Vol. 16, pp. 257–300,
2001a.
HOPPER, E.; TURTON, B. C. H.; An empirical investigation of meta-heuristic and heuristic
algorithms for a 2D packing problem, European Journal of Operational Research,
Vol. 128, pp. 34–57, 2001b.
JAKOBS, S.; On genetic algorithms for the packing of polygons. European Journal of
Operational Research, 88:165–181, 1996.
JIN, Z.; OHNO, K.; DU, J.; An efficient approach for the three-dimensional container packing
problem with practical constraints. Asia-Pacific Journal of Operational Research,
21 3, 279-295, 2004.
JUNQUEIRA, L.; MORABITO, R.; YAMASHITA, D. S.; MIP-based approaches for the
container loading problem with multi-drop constraints. Ann Oper Res. 199:51–75,
2012a.
JUNQUEIRA, L.; MORABITO, R.; YAMASHITA, D. S.; Three-dimensional container
loading models with cargo stability and load bearing constraints, Computers &
Operations Research, Volume 39, Issue 1, Pages 74-85, 2012b.
JUNQUEIRA, L.; OLIVEIRA, J. F.; CARRAVILLA, M. A.; MORABITO, R.; An
optimization model for the vehicle routing problem with practical three‐dimensional
loading; International Transactions in Operational Research 20 5, 645-666, 2013.
155
KENNEDY, J.; EBERHART, R.; Particle Swarm Optimization. IEEE INTERNATIONAL
CONFERENCE ON NEURAL NETWORKS IV, LEARNING AND
CYBERNETICS. Proceedings..., 2002, Beijing. 1942-1948, 1995.
KENNEDY, J.; EBERHART, R. C.; A discrete binary version of the particle swarm
algorithm, CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS.
Proceedings... Piscataway, NJ: IEEE Service Center, pp. 4104-4109, 1997.
KENNEDY, J.; EBERHART, R.C.; Swarm Intelligence. Morgan Kaufmann. ISBN 1-55860-
595-9. 2001.
KIRKPATRICK, S.; GELATT, C.; VECCHI, M.: Optimization by simulated annealing.
Science. 220, 671–680, 1983.
KRÖGER, B.; Guillotineable bin packing: A genetic approach, European Journal of
Operational Research, 84, 645-661, 1995.
LAI, K. K.; CHAN, J. W. M.; A evolutionary algorithm for the rectangular cutting stock
problem. International Journal on Industrial Engineering, 4:130–139, 1997.
LEUNG, T.W.; YUNG, C. H.; TROUTT, M. D.; Application of mixed simulated annealing-
genetic algorithm heuristic for the two-dimensional orthogonal packing problem.
European Journal of Operational Research, 145:530–542, 2003.
LIANG, J. J.; SUGANTHAN, P. N.; Dynamic multi-swarm particle swarm optimizer with
local search, IEEE CONGR. EVOL. COMPUT. Proceedings... pp. 522–528, 2005.
LINS, L.; LINS, S.; MORABITO, R.; An L-approach for packing (l, w)-rectangles into
rectangular and L-shaped pieces. Journal of the Operational Research Society 54 7,
777-789, 2003.
LIU, W.-Y.; LIN, C.-C.; YU, C.-S.; On the three-dimensional container packing problem
under home delivery service. Asia-Pac Journal of Oper Res. 1-20, 2011
LODI, A.; MARTELLO S.; MONACI, M.; Two-dimensional packing problems: A Survey,
European Journal of Operational Research, Vol. 141, pp. 241–252, 2002.
156
LODI, A.; MARTELLO S.; VIGO, D.; Problem instances for the two-dimensional Bin
Packing Problem, [Online], Available:
<http://www.or.deis.unibo.it/research_pages/ORinstances/2BP.html>, 1997.
LODI, A.; MARTELLO S.; VIGO, D.; Heuristic and metaheuristic approaches for a class of
two-dimensional bin packing problems, INFORMS Journal Comput. Vol. 11, pp.
345–357, 1999.
LODI, A.; MARTELLO S.; VIGO, D.; Models and bounds for the two-dimensional level
packing problems, Journal of Combinatorial Optimization, Vol. 8, pp. 363–379,
2004.
MADSEN O.G.B.; Glass cutting in small firm. Mathematical Programming 17 85-90.
1979.
MARTELLO, S.; Knapsack, packing and cutting, Part I: one-dimensional knapsack problems.
INFOR, v. 32, n. 3, 1994a.
MARTELLO, S.; Knapsack, packing and cutting, Part II: multidimensional knapsack and
cutting stock problems. INFOR, v. 32, n. 4, 1994b.
MARTELLO, S.; TOTH, P.; Knapsack problems: algorithms and computer
implementations. West Sussex: John Wiley & Sons, 296p. 1990.
MARTELLO, S.; MONACI, M.; VIGO, D.; An exact approach to the strip-packing problem,
INFORMS Journal on Computing, vol. 15, no. 3, pp. 310–319, 2003.
MARTINS, G. H. A;. Packing in two and three Dimensions. Tese de Doutorado, Naval
Postgraduate School, Monterey, California, 2003.
MASCARENHAS, W. F.; BIRGIN, E. G.; Using sentinels to detect intersections of convex
and nonconvex polygons, Computational & Applied Mathematics 29 2, 247-267,
2010.
MLADENOVIĆ, N.; HANSEN, P.; Variable neighborhood search. Computers and
Operations Research. 24, 1097–1100, 1997.
MORABITO, R.; ARENALES, M.; Um exame dos problemas de corte e empacotamento.
Pesquisa Operacional, v. 12, n. 1, p. 1-20, 1992.
157
MORABITO, R.; ARENALES, M.; Staged and constrained two-dimensional guillotine
cutting problems: An AND/OR-graph approach, European Journal of Operational
Research Volume 94, Issue 3, 548–560, 1996.
MORABITO, R.; ARENALES, M.; ARCARO, V. F.; An and/or-graph approach for two-
dimensional cutting problems, European Journal of Operational Research 58 2,
263-271, 1992.
MORABITO, R.; GARCIA, V.; The cutting stock problem in a hardboard industry: A case
study Computers & Operations Research 25 6, 469-485, 1997.
MORABITO, R.; MORALES, S.; A simple and effective recursive procedure for the
manufacturer's pallet loading problem, Journal of the Operational Research
Society, 49, 819-828, 1998.
MORABITO, R.; MORALES, S.; A simple and effective recursive procedure for the
manufacturer's pallet loading problem, Journal of the Operational Research
Society, 50, 876 - 876, 1999.
MORABITO, M.; PUREZA, V.: Generation of constrained two-dimensional guillotine
cutting patterns via dynamic programming and and/or-graph search. Produção. 17,
033–051, 2007.
NGOI, B.K.A.; TAY, M.L.; CHUA, E.S.; Applying spatial representation techniques to the
container packing problema. International Journal of Production Research, 32,
111-123, 1994.
OLIVEIRA, J. F.; WÄSCHER, G.; Cutting and packing. European Journal of Operational
Research, v. 183, n. 3, p. 1106-1108, 2007.
ONODERA, H.; TANIGUCHI, Y.; TAMARU, K.; Branch-and-bound placement for building
block layout, 28TH ACM/IEEE DESIGN AUTOMATION CONFERENCE.
Proceedings...pp. 433–439, 1991.
PADBERG, M.; Packing small boxes into a big box. Mathematical Methods of Operations
Research, v. 52, n. 1, p. 1-21, 2000.
158
PARREÑO, F.; ALVAREZ-VALDES, R.; TAMARIT, J. M.; OLIVEIRA, J. F.; A Maximal-
Space Algorithm for the Container Loading Problem, INFORMS Journal on
Computing 20 3, 412-422, 2008.
PARREÑO, F.; ALVAREZ-VALDES, R.; TAMARIT, J. M.; OLIVEIRA, J. F.;
Neighborhood structures for the container loading problem: A VNS implementation.
Journal of Heuristics, 161: 1-22, 2010.
PUCHINGER, J.; RAIDL, G.R.; Models and algorithms for three-stage two-dimensional bin
packing, European Journal of Operational Research, Vol. 183, pp. 1304–1327,
2006.
RAM, B.; The pallet loading problem: a survey. International Journal of Production
Economics, v. 28, n. 2, p. 217-225, 1992.
RESENDE, M.G.C.; RIBEIRO, C.C.; Greedy Randomized Adaptive Search Procedures. In F.
Glover and G. Kochenberger, editors, Handbook of Metaheuristics, pages 219-249,
Kluwer, Boston, 2003.
SCHEITHAUER, G.; TERNO, J.; Modeling of packing problems, Optimization, Vol. 28,
pp.63-84, 1993.
SCHEITHAUER, G.; LP-based bounds for the container and multi-container loading
problem. International Transactions in Operations Research, 6:199–213, 1998.
SILVA, E.; ALVELOS, F.; VALERIO DE CARVALHO, J. M.; An integer programming
model for two- and three-stage two-dimensional cutting stock problems, European
Journal of Operational Research 205 3, 699-708. 2010.
SHI, Y.; EBERHART, R.C.; Parameter selection in particle swarm optimization.
EVOLUTIONARY PROGRAMMING VII EP98. Proceedings... pp. 591–600. 1998.
SONG, X.; CHU, C.B.; LEWIS, R.; NIE, Y.Y.; THOMPSON J.; A worst case analysis of a
dynamic programming-based heuristic algorithm for 2D unconstrained guillotine
cutting, European Journal of Operational Research, 202, 368–378, 2010.
SWEENEY, P.; PATERNOSTER, R.; Cutting and Packing Problems: A categorized,
application-orientated research bibliography. Journal of the Operational Research
Society, Vol. 43, pp. 691-706, 1992.
159
TARANTILIS, C.; ZACHARIDIS, E.E.; KIRANOUDIS, C.T.; A hybrid metaheuristic
algorithm for the integrated vehicle routing and three-dimensional container-loading
problem. IEEE Transactions on Intelligent Transportation Systems, 102, 255-271,
2009.
TORO, E.; GARCÉS, A.; RUIZ, H.; Solución al problema de empaquetamiento
bidimensional usando un algoritmo híbrido constructivo de búsqueda en vecindad
variable; recocido simulado, Revista Facultad de Ingeniería Universidad de
Antioquia, Vol. 46, pp. 119-131, 2008.
TSAI, R. D.; MALSTROM, E. M.; KUO, W. Three dimensional palletization of mixed box
sizes. IIE Transactions, v. 25, n. 4, p. 64-75, 1993.
TSCHÖKE, S.; HOLTHÖFER, N.; A new parallel approach to the constrained two-
dimensional cutting stock problem. Technical Report, University of Padeborn,
D.C.S. 33095 Padeborn. Germany, 1996.
VENKATESWARLU, P.; MARTYN, C.W.; The trim loss problem in a wooden drum
industry, Convention of Operation Research Society of India. Proceedings... 1992.
VIGO, D.; MARTELLO, S.; Exac solution of the two-dimensional finite bin packing
problem, Management Science, 44, 388-399, 1998.
VISWANATHAN, K.V.; BAGCHI, A.; Best-first search methods for constrained two-
dimensional cutting stock problems. Operations Research. 41, 768–776, 1993.
WANG, P. Y.; Two algorithms for constrained two-dimensional cutting stock problems.
Operations Research. 32, 573–586 1983.
WANG, P. Y.; WÄSCHER, G.; Cutting and packing. European Journal of Operational
Research, v. 141, n. 2, p. 239-240, 2002.
WÄSCHER, G.; HAUSSNER, H.; SCHUMANN, H.; An improved typology of cutting and
packing problems. European Journal of Operational Research, v. 183, n. 3, p.
1109-1130, 2007.
WEI, L.; ZHANG, D.; CHEN, Q.; A least wasted first heuristic algorithm for the rectangular
packing problem. Computers & Operations Research 365: 1608–1614, 2009.
160
WESTERNLUND, T.; ISAKSOON J.; HARJUNKOSKI I.; Solving a production
optimization problem in the paper industry. Report 95-146A, Process Desing
Laboratory, Abo Akademi University 1995.
WONG, D. F.; LEONG, H. W.; LIU, C. L.; Simulated Annealing for VLSI Design. Kluwer
Academic Publishers, 1988.
WU, Y.; An effective quasi-human based heuristic for solving the rectangle packing problem.
European Journal of Operational Research 141, 341–358, 2002.
WY, J.; KIM, B.; Two-staged guillotine cut, two-dimensional bin packing optimization with
flexible bin sizes for steel mother plate design. International Journal of Production
Research, 4822, 6799–6820. 2010.
YOUNG-GUN, G.; KANG, M.-K.; A new upper bound for unconstrained two-dimensional
cutting and packing. Journal Operations Research Society., 53, 587–591, 2002.
YOUNG-GUN, G.; KANG, M.-K.; SEONG, J.; A best-first branch and bound algorithm for
unconstrained two-dimensional cutting problems. Operations Research Letters, 31,
301–307, 2003.
ZHAN, Z.; ZHANG, J.; Li, Y.; CHUNG, H.S.H.; Adaptive particle swarm optimization.
IEEE Transactions on System, Man and Cybernetics – B, 39, 1362–1381, 2009.
ZHU, W.; LIM, A.; A new iterative-doubling Greedy–Lookahead algorithm for the single
container loading problem, European Journal of Operational Research 222 408–
417, 2012.
ZHU, W.; OON, W.-C.; LIM, A.; WENG, Y.; The six elements to block-building approaches
for the single container loading problem. Applied Intelligence, 1–15, 2012.
161
Capítulo 6.
Problema de embalaje
En el mundo de hoy, la globalización es una realidad que genera escenarios más
complejos y competitivos para las empresas, donde para mantenerse se hace necesario pensar
en términos de optimización en todos los frentes que componen a la organización, en especial
en un panorama donde la escasez toma nuevas dimensiones.
Uno de los principales objetivos de las organizaciones es generar riqueza, los desperdicios
representan dinero y tiempo perdido que se refleja en el aumento del precio del producto final
y por consiguiente en la competitividad de la empresa, una mala decisión en la utilización de
materiales conlleva aumentos significativos en el costo de los mismos, tal como se puede
apreciar en la Figura 80.
Figura 80. Empaquetamiento inadecuado y adecuado.
6.1. Introducción
El problema de embalaje (más conocido como problema de bin packing) consiste en
minimizar el material desperdiciado. La solución de este es de gran interés en el sector
industrial, comercial y académico. Enunciando algunos trabajos de esta temática con gran
aplicación en la industria están: el problema de diseño de placas de metal Wy y Kim (2010),
el problema de corte en la industria de la lona para la confección de carpas, toldos para jeep y
otros Farley (1990); el problema de corte en la industria del vidrio Dyson y Gregory (1976) y
Madsen (1979); el problema de corte en la industria de ropas Farley (1988); el problema de la
162
perdida residual en el corte de papel corrugado Haessler y Talbot (1990) ; el problema de
cortes en la industria de la madera Morabito y Garcia (1997) y Venkateswarlu y Martyn
(1992); el problema de corte en la industria del papel Westernlund et al. (1995).
En este capítulo se analiza el caso específico donde se debe atender completamente la
demanda de piezas rectangulares a ser ubicadas en placas idénticas rectangulares y cuyo
objetivo es minimizar el número de placas necesarias para realizar el embalaje. Teniendo en
cuenta las siguientes consideraciones:
i) Todas las placas tienen las mismas dimensiones, un ancho W y un alto H.
ii) La orientación de las piezas demandadas, es decir, una pieza de alto h y ancho w es
diferente de una pieza de ancho w y alto h (fixed version). Si se considera que las
dimensiones (h, w) y (w, h) representan las dimensiones de la misma pieza, se está
abordando un problema con rotación.
iii) Los patrones de corte son del tipo guillotina. En estos cada corte produce dos sub-
rectángulos y van de un extremo al otro del rectángulo original.
Los problemas de corte y empaquetamiento revisten una alta complejidad matemática, estos
son considerados NP-Hard en un fuerte sentido. El problema de embalaje en una dimensión
fue probado NP-Hard por Garey y Johnson (1979), Martello et al. (2003) muestra que el
problema de embalaje también recae en la misma familia de problemas.
Que un problema sea identificado en esta categoría no significa que no puede resolverse y se
deben proponer algoritmos de solución que exploten de forma eficiente la estructura
matemática del mismo para que se encuentren soluciones a la mayoría de las instancias del
problema en tiempos de ejecución relativamente pequeños.
Este problema ha sido ampliamente tratado en diferentes campos de la optimización, como lo
son la optimización exacta y la aproximada (heurísticas y metaheurísticas). Lodi et al. (1999)
y Lodi et al. (2002) realizan un excelente resumen del estado del arte del problema de bin
packing, describen los límites disponibles, algoritmos exactos y aproximados. De los métodos
exactos con mejor desempeño está el propuesto por Amico et al. (2002), este determina un
límite inferior al problema con rotación y lo resuelve con un algoritmo branch and bound.
Puchinger y Raidl (2006) consideran un problema típico de manufactura de vidrio: three-
stage two-dimensional bin packing problem donde el número de cortes guillotina no puede
exceder 3 etapas. Estos diseñaron dos modelos lineales enteros de tamaño polinomial y un
163
algoritmo branch-and-price basado en una formulación de cubrimiento para el problema
bidimensional.
Dentro de los algoritmos heurísticos con mejor desempeño están, finite best fit strip (FBS) y
finite first fit (FFF) presentados por Berkey y Wang (1987) para el problema sin rotación.
Lodi et al. (1999) adaptan los algoritmos FBS y FFF para el problema con rotación y presenta
una aproximación floor ceiling (FC). Lodi et al. (1999) prueban que FC tiene un mejor
desempeño que FBS y FFF.
Existe una gran cantidad de algoritmos aproximados que han venido siendo adaptados usando
técnicas metaheurísticas. Lodi et al. (2002) introducen un algoritmo de búsqueda tabú que
explora el espacio de solución independiente del problema haciendo uso de un tamaño y
estructura de vecindad dinámica. La búsqueda considera conceptos de heurísticas
constructivas. Lodi et al. (2002) adaptan una heurística constructiva para el problema con
rotación introduciendo el concepto de pseudo-pieza y favorece la orientación vertical de la
pieza cuando es posible.
Faroe et al. (2003) extiende la aproximación de Dowsland (1993) para el problema sin
rotación, utilizando una búsqueda local guiada donde el vecindario es explorado a través de
intercambios aleatorios de piezas embaladas de una placa a otra. La infactibilidad de las
piezas sobrepuestas es penalizada en la función objetivo. La búsqueda finaliza cuando la
incumbente logra un valor propuesto o un periodo de tiempo fijado es alcanzado.
Nuevos algoritmos aproximados han sido diseñados para resolver otras variantes del problema
de bin packing. Por ejemplo, Binkley y Hagiwara (2007) describen para el problema no-
guillotina la heurística de cuatro esquinas que es usada en conjunto con un algoritmo paralelo
auto-adaptativo de recocido simulado y un algoritmo genético.
Las técnicas metaheurísticas han mostrado su gran potencial como herramientas de solución
en variados campos de aplicación por su eficiencia en cuanto a tiempos de solución y calidad
de las respuestas obtenidas. En este trabajo se propone un algoritmo basado en la técnica
cúmulo de partículas para la solución del problema de embalaje con y sin rotación, además de
presentar un análisis y una comparación de las respuestas obtenidas respecto a las del estado
del arte de la literatura especializada. La estructura de este capítulo es la siguiente:
descripción del problema, modelo matemático representativo, metodología de solución,
análisis de resultados y conclusiones.
164
6.2. Descripción del problema
El problema de embalaje estudiado en este trabajo se define como: cortar de un
conjunto de rectángulos que se denominan placas (mochilas, láminas u objetos) de alto H y
ancho W, un conjunto de rectángulos de cardinalidad n que se denominan piezas (ítems) de
alto hi y ancho wi, (donde i = 1,..., n). Donde el objetivo es dado por la Ecuación 68 y consiste
en minimizar el número de placas necesarias para disponer y cortar la totalidad de las piezas
demandadas, Zl es una variable binaria que indica que placa l fue o no utilizada.
1min
M
ll
Z=∑
(68) Sujeto a:
• Las piezas empacadas no deben superar los límites de cada placa. (69)
• Las piezas no deben sobreponerse entre ellas. (70)
• Todas las piezas deben ser asignadas (71)
Las Expresiones 69 – 71 representan el problema general, en este trabajo se estudian
diferentes variantes que son encontradas en la industria, las características de estas variantes
pueden ser incorporadas al adicionar expresiones o modificar alguna de estas.
Las características de este problema son las siguientes:
i) La orientación de las piezas: si la orientación de las piezas es fija, no es necesario
agregar ninguna expresión. Por otro lado, si es permitido rotar las piezas 90
grados, se debe realizar un pre-proceso que identifique las piezas i y k tales que
ℎ𝑖 = 𝑤𝑘 y 𝑤𝑖 = ℎ𝑘, y haga 𝑏𝑖 = 𝑏𝑖 + 𝑏𝑘 , (es decir, agrupar por tipos de pieza) y
agregar la Expresión 72.
• Las piezas pueden rotar 90° (72)
ii) Los patrones de corte: En este trabajo se limita al uso de los patrones tipo
guillotina, para esto es necesario adicionar la Expresión 73.
• Solo el uso de cortes tipo guillotina son permitidos. (73)
Esto significa que el tipo de patrón de corte es una restricción fuerte en este
trabajo.
165
6.3. Modelo Matemático
Ben et al. (2008) sugiere un modelo de programación lineal entera mixta,
considerando todas las restricciones descritas en la definición del problema y utilizando un
sistema de coordenadas para la ubicación de piezas.
Se asume que existen n piezas que pueden ser cortadas de un conjunto de placas de ancho W y
altura H. Para un patrón de corte donde la esquina inferior izquierda de cada pieza k (k =1,
2,…, n) es ubicada en las coordenadas (αk, βk), se pueden obtener dos series (x1, x2,…,xn) y (y1,
y2,…,yn) al realizar un ordenamiento decreciente de las series (α1, α2,…, αn) y (β1, β2,…, βn)
respectivamente, se obtiene 0 ≤ x1 ≤ x2 ≤…≤ xn ≤ W y 0 ≤ y1 ≤ y2 ≤…≤ yn ≤ H.
Para obtener un modelo lineal entero, es utilizado el siguiente conjunto de variables binarias
para representar la ubicación de las piezas en la placa:
1 si la placa fue usada0 de lo contrariol
lZ =
( ), , ,
1 si la pieza es empacada en la coordenada , de la placa
0 de lo contrarioi j k l
k i j lz =
Las siguientes variables de decisión intermedias también son necesarias para garantizar que
no existan traslapes entre piezas:
( ) ', , ',
1 si la pieza en , , no excede (horizontalmente) con ' en la placa
0 de lo contrarioi
i j i l
i j x i i lu
>=
( ) ', , ',
1 si la pieza en , , no excede (verticalmente) y con ' en la placa
0 de lo contrarioi
i j j l
i j j j lv
>=
Los siguientes tres conjuntos de variables binarias son necesarios para garantizar las
restricciones guillotina:
( ) ( )( )
( )1 1 2
1 1 2 '
' 1 1, ', , ,
2 1
1, si no hay pieza entre , y ' 1, que exceda (consecuentemente,
un corte vertical en no cruza ninguna pieza empacada entre , y
' 1, ), ' en la placa
i
ii i j j l
i j i j x
x i jp
i j i i
−
=− >
0, de lo contrario
l
166
( ) ( )( )
( )1 2 1
1 1 2 '
' 1 1, , , ',
2 1
1, si no hay pieza entre , y , ' 1 que exceda (consecuentemente,
un corte horizontal en no cruza ninguna pieza empacada entre , y
, ' 1 ), j ' en la pla
j
ji i j j l
i j i j y
y i jq
i j j
−
=− > ca
0, de lo contrario
l
( ) ( )1 2 1 2
1 1 2 2, , , ,
1, si existe mínimo una pieza empacada entre , y , en la placa
0, de lo contrarioi i j j l
i j i j ld =
La formulación completa del problema de embalaje bidimensional en placas (sin rotación)
continúa siendo la presentada en las Expresiones 12 - 35, y solo se ha adherido un índice al
final de cada variable que representa en cuál de las placas ha sido asignado. Y en este caso, la
función objetivo pasa a ser la Expresión 68. Mientras tanto, el modelo sigue presentando una
alta complejidad matemática que en la práctica lo hace inexplotable a través del software y
hardware actual disponible para la programación entera mixta (para más detalle de este
modelo ver Ben et al. (2008)).
Figura 81. El árbol de cortes y disposición de las piezas placa por placa.
6.4. Metodología
En este capítulo se propone una metodología de solución basada en la presentada para
el problema de la mochila del capítulo 3. Por lo que no es necesario enunciar de nuevo: la
codificación, la representación del espacio libre de espacios máximos residuales, el algoritmo
167
heurístico constructivo de creación de capas, ni el cálculo de la función objetivo. Por lo tanto,
estos continuarán siendo los mismos.
Metodología de solución
En este trabajo los problemas de corte en placas se resuelven como solución de l problemas
consecutivos de la mochila bidimensional, siendo l el número mínimo de placas necesarias
para embalar la totalidad de las piezas (ver Figura 81). Por lo tanto, el esquema de
optimización consiste en ejecutar el algoritmo APSO+VNS+TF placa por placa e ir actualizando el
inventario de piezas utilizadas en cada placa, por lo que la demanda de piezas irá
disminuyendo mientras evoluciona el proceso.
Tabla 33. Solución obtenida para los problemas de embalaje sin rotación.
Casos
Lodi et al. (1997) 𝐀𝐏𝐒𝐎+𝐕𝐍𝐒+𝐓𝐅Límite Inferior
MejorSolución
ReportadaLímite Inferior
Autor Clase
Número de
Piezas
1 100 1.05 1.028 Vigo y Martello (1998)
3 20 1.18 1.120 Vigo y Martello (1998) 3 100 1.09 1.086 Vigo y Martello (1998) 5 20 1.13 1.040 Vigo y Martello (1998)
5 40 1.09 1.050 Vigo y Martello (1998) 5 100 1.09 1.086 Vigo y Martello (1998) 7 40 1.07 1.066 Vigo y Martello (1998)
7 100 1.04 1.036 Vigo y Martello (1998) 8 20 1.12 1.056 Vigo y Martello (1998) 8 100 1.04 1.040 Lodi et al. (1999) 9 60 1.01 1.002 Vigo y Martello (1998)
9 100 1.01 1.000 Vigo y Martello (1998) 10 40 1.09 1.056 Vigo y Martello (1998)
6.5. Análisis de Resultados
Con el fin de validar la calidad de las respuestas obtenidas del problema solucionado
fueron seleccionados 145 casos de la literatura especializada así: 3 casos de prueba clásicos
presentados por Christofides y Whitlock (1977), 12 casos de prueba propuestos por Beasley
(1985) y 130 casos de prueba tomados de la gran librería presentada por Lodi et al. (2002) y
disponible en línea en Lodi et al. (1997). En resumen se usaron 70 casos de prueba que
168
pertenecen a la categoría de problemas de empaquetamiento de gran escala, mientras los 75
restantes pertenecen a las categorías de pequeña y mediana escala (menos de 60 piezas).
Diferentes estudios han utilizado estos casos de prueba para realizar sus análisis en una
especie de benchmark de las metodologías propuestas, una descripción más detallada del
desarrollo de los casos de prueba es presentada en Lodi et al. (1997).
El algoritmo fue desarrollado en Delphi 7.0 ® y ejecutado sobre un ordenador con unas
especificaciones de un procesador Pentium IV de 3,0 GHz y una memoria RAM de 1 GB.
Tabla 34. Solución obtenida para los problemas de embalaje sin rotación.
Caso APSO+VNS+TF* Mejor
Solución Reportada
Autor
CGCUT1 2 2 Lodi et al. (1999)
CGCUT2 2 2 Lodi et al. (1999) CGCUT3 23 23 Lodi et al. (1999) NGCUT1 3 3 Vigo y Martello (1998) NGCUT2 4 4 Bekrar et al., (2010) NGCUT3 3 3 Bekrar et al., (2010) NGCUT4 2 2 Bekrar et al., (2010) NGCUT5 3 3 Bekrar et al., (2010) NGCUT6 3 3 Bekrar et al., (2010) NGCUT7 1 1 Bekrar et al., (2010) NGCUT8 2 2 Bekrar et al., (2010) NGCUT9 3 3 Bekrar et al., (2010) NGCUT10 3 3 Bekrar et al., (2010) NGCUT11 2 2 Bekrar et al., (2010) NGCUT12 4 4 Bekrar et al., (2010)
(*) Número de placas usadas.
Resultados Computacionales
En las Tablas 33-36 se presentan para todos los casos de prueba la mejor solución alcanzada
por los algoritmos propuestos y la mejor solución reportada en la literatura especializada con
su respectivo autor. En estas Tablas se utilizan diferentes símbolos para representar la calidad
de las respuestas obtenidas, para esto se usa la siguiente codificación de los resultados:
Además de esto, para los primeros 15 casos de prueba los resultados están dados por el
número de placas utilizadas, mientras en los 130 casos de la librería de Lodi et al. (1997) los
resultados están dados como el promedio de cada grupo de 10 casos de la relación, número de
169
placas de la solución sobre número de placas del problema relajado (más conocido como
límite inferior).
En las Tablas 33 - 36 se identifica que la metodología propuesta para resolver los problemas
de embalaje presenta un buen comportamiento, debido a que en los problemas donde no se
permite la rotación de piezas el 57% de las respuestas reportadas son alcanzadas.
Obteniéndose un comportamiento diferente cuando se permite la rotación de piezas, donde un
71 % de las respuestas son igualadas.
Tabla 35. Mejor solución obtenida para el problema de embalaje con rotación.
Casos
Lodi et al. (1997) 𝐀𝐏𝐒𝐎+𝐕𝐍𝐒+𝐓𝐅Límite Inferior
MejorSolución
ReportadaLímite Inferior
Autor Clase
Número de
Piezas
3 60 1.07 1.12 Lodi et al. (1999)
7 20 1.08 1.17 Lodi et al. (1999) 7 60 1.06 1.16 Lodi et al. (1999) 7 80 1.06 1.17 Lodi et al. (1999)
8 40 1.07 1.19 Lodi et al. (1999) 8 60 1.06 1.18 Lodi et al. (1999) 8 80 1.05 1.15 Lodi et al. (1999)
8 100 1.04 1.17 Lodi et al. (1999) 9 20 1.00 1.00 Lodi et al. (1999) 9 40 1.01 1.01 Lodi et al. (1999)
9 60 1.01 1.01 Lodi et al. (1999)
9 80 1.01 1.01 Lodi et al. (1999) 9 100 1.01 1.01 Lodi et al. (1999)
Dado que en aplicaciones reales se manejan en el proceso de corte o empaquetamiento límites
máximos de desperdicio del 30%. Se puede notar en los resultados expuestos que aplicando
dichas metodologías se obtiene una reducción en las pérdidas del material de más del 50%. El
inconveniente en la aplicación de estas metodologías es el alto tiempo de cómputo cuando se
requiere resolver el problema en tiempo real.
Para una actualización de los resultados presentados en este trabajo, se ejecutó toda la librería (500
instancias) propuesta por Berkey y Wang (1987) (clases 1–6) y Lodi et al. (1997) (clases 7–10), al
mismo tiempo fueron actualizadas las publicaciones más notorias en la literatura. En las
170
Tablas 38 y 39 se ilustran los diferentes algoritmos y sus resultados para cada grupo de
instancias. En estas por columnas se presentan: el algoritmo heurístico (CHBP) presentado
por Charalambous ey Fleszar (2011), el algoritmo heurístico (CFIH+J4) propuesto por Fleszar
(2013), y por último, el algoritmo híbrido de PSO, VNS y el factor de turbulencia
(APSO+VNS+TF) propuesto en este trabajo.
Tabla 36. Mejor solución obtenida para el problema de embalaje con rotación.
Caso Mejor Solución Obtenida*
Mejor Solución
Reportada Autor
CGCUT1 2 2 Lodi et al. (1999)
CGCUT2 2 2 Lodi et al. (1999) CGCUT3 23 23 Lodi et al. (1999) NGCUT1 3 3 Bekrar et al., (2010) NGCUT2 4 4 Bekrar et al., (2010) NGCUT3 3 3 Bekrar et al., (2010) NGCUT4 2 2 Bekrar et al., (2010) NGCUT5 3 3 Bekrar et al., (2010) NGCUT6 3 3 Bekrar et al., (2010) NGCUT7 1 1 Bekrar et al., (2010) NGCUT8 2 2 Bekrar et al., (2010) NGCUT9 3 3 Bekrar et al., (2010) NGCUT10 3 3 Bekrar et al., (2010) NGCUT11 2 2 Bekrar et al., (2010) NGCUT12 4 4 Bekrar et al., (2010)
(*) Número de placas usadas.
Cabe anotar que otros trabajos no son presentados por su forma de reportar los resultados, ya
que al usar diferentes límites inferiores se presta para errores en la trascripción de los
resultados, por este motivo pero sin perder la calidad de la comparación aquí realizada, se
utiliza el número de placas como unidad para comparar resultados.
En la tabla 37 se resumen y comparan los tiempos computacionales promedios requeridos por
los algoritmos para cada problema.
Tabla 37. Comparación de los tiempos de cómputo del algoritmo propuesto. Unidades en segundos.
Problema CHBP-CF CFIH+J4 APSO+VNS+TF
Fixed version 33 <1 210
Rotated version 66 <1 299
171
Tabla 38. Comparación con las metodologías más notables presentadas en la literatura. Fixed version. Clase Tamaño (L x W) n CHBP-CF CFIH+J4 APSO+VNS+TF
1 10x10 20 71 71 71 40 134 135 135 60 201 201 201 80 275 275 282 100 321 322 333
2 30x30 20 10 10 12 40 20 20 20 60 26 27 27 80 33 32 33 100 39 40 43
3 40x40 20 52 53 55 40 97 96 97 60 140 141 140 80 196 195 198 100 230 226 236
4 100x100 20 10 10 10 40 19 19 19 60 25 25 26 80 33 33 33 100 39 39 40
5 100x100 20 65 66 73 40 121 120 130 60 183 182 182 80 247 248 251 100 288 290 304
6 300x300 20 10 10 10 40 19 19 19 60 22 22 22 80 30 30 30 100 34 34 34
7 100x100 20 55 56 55 40 112 115 117 60 160 161 162 80 233 232 232 100 275 274 280
8 100x100 20 58 60 65 40 114 116 114 60 163 165 163 80 226 227 226 100 279 281 285
9 100x100 20 143 143 143 40 279 278 278 60 438 437 441 80 577 577 577 100 695 695 702
10 100x100 20 44 43 43 40 74 75 81 60 103 104 104 80 130 132 130 100 163 163 166
Total 7311 7325 7430
172
Tabla 39. Comparación con las metodologías más notables de la literatura. Rotated version. Clase Tamaño (L x W) n CHBP-CF CFIH+J4 APSO+VNS+TF
1 10x10 20 66 66 71 40 129 129 134 60 195 195 201 80 271 271 275 100 314 314 321
2 30x30 20 10 10 10 40 19 19 20 60 25 25 26 80 31 32 32 100 39 39 39
3 40x40 20 48 48 52 40 94 94 96 60 136 136 140 80 186 185 195 100 223 223 226
4 100x100 20 10 10 10 40 19 19 19 60 25 25 25 80 33 33 33 100 38 38 39
5 100x100 20 59 59 65 40 115 117 119 60 176 175 182 80 240 241 247 100 282 281 288
6 300x300 20 10 10 10 40 18 18 19 60 21 21 22 80 30 30 30 100 34 34 34
7 100x100 20 52 52 55 40 104 106 112 60 148 151 160 80 211 214 232 100 255 258 274
8 100x100 20 53 53 58 40 105 105 114 60 150 152 163 80 210 211 226 100 258 258 279
9 100x100 20 143 143 143 40 275 275 278 60 435 435 437 80 573 573 577 100 693 693 695
10 100x100 20 41 42 43 40 73 73 74 60 100 101 103 80 130 129 130 100 159 159 164
Total 7064 7080 7297
173
6.5. Conclusiones
Se desarrolló una metodología de solución para los problemas de corte óptimo
bidimensional guillotinado en placas, que utiliza una codificación de árbol de cortes y hace
uso de la representación de los espacios máximos para administrar los espacios residuales,
mientras el proceso general es administrado mediante un algoritmo híbrido de cúmulo de
partículas, búsqueda en vecindario variable y algoritmos genéticos. Esta metodología logra ser
flexible y robusta para solucionar la gran variedad de variantes del problema propuestas en
este trabajo, además de alcanzar resultados satisfactorios.
Fue implementado un algoritmo de optimización que combina las principales características
de cúmulo de partículas, búsqueda en vecindario variable y algoritmos genéticos. El primero
se considera como el algoritmo principal, el segundo hace el papel de limitador de las
características de la solución que deben actualizarse en cada iteración, esto hace que aumente
mejore el proceso de exploración y el tercero se usa como mecanismo de perturbación
especializado para realizar búsquedas locales, efectuando cambios aleatorios-controlados en
las soluciones usando el operador mutación de los genéticos y que ayuda a representar el
concepto de factor de turbulencia de vuelo, propio del algoritmo PSO.
Se utilizó un tipo de codificación en árbol, llamada árbol de cortes, el cual se encarga de sub-
dividir el problema original en pequeños sub-problemas de la misma especie. Esto se logra
gracias a que en los nodos padre del árbol se representan las distancias y orientación de los
cortes que deben realizarse sobre la placa, mientras en los nodos hoja se almacenan las
dimensiones de las láminas de los sub-problemas resultantes. Esta propuesta de codificación
presenta un gran desempeño para este tipo de problemas debido a que logra reducir el espacio
de búsqueda con bajo riesgo de perder soluciones de buena calidad. Esta filosofía de
recursividad presenta una gran flexibilidad, lo que significa, que puede ser usada en
metodologías que empleen otras técnicas de optimización tales como: Branch and bound,
Búsqueda Tabú, GRASP, Colonia de Hormigas, Algoritmos Genéticos, etc.
Los tiempos de cómputo requeridos por la metodología son mayores a los reportados en la
literatura especializada, aun habiendo diferencias entre las arquitecturas de cómputo y
lenguajes de programación. A pesar de lo anterior, los tiempos de cómputo utilizados por la
metodología propuesta continúan siendo son razonables.
174
La metodología propuesta es aplicable a problemas como: 3D bin packing, strip packing,
entre otros. También puede ser extensible a problemas de carga de pallets.
175
Anexo - Resultados sin comparación.
Tabla 40. Resultados del problema guillotine non-staged unconstrained weighted rotated.
ID Unconstrained Non-staged Weigthed Rotated Problem APSO+VNS+TF Tiempo (seg)
UW1 6696 56 UW11 18,200 63 UW2 9732 54 UW3 7188 76 UW4 8452 103 UW5 8398 82 UW6 6937 110 UW7 11,585 115 UW8 8088 130 UW9 7527 116
UW10 8172 63 LUW1 171,836,653 156 LUW2 326,399,541 154 LUW3 433,882,185 188 LUW4 568,690,356 249
Tabla 41. Resultados del problema guillotine non-staged constrained weighted rotated.
ID Constrained Non-staged Weighted Rotated Problem APSO+VNS+TF Tiempo (seg)
CW1 6764 124 CW2 5540 126 CW3 5689 202 CW4 7466 186 CW5 11659 202 CW6 12959 320 CW7 10880 310 CW8 4736 366 CW9 11479 280
CW10 6705 280 CW11 6604 250 TH1 4630 168 TH2 9683 104
CHW1 2858 52 CHW2 1900 126
176
Tabla 42. Resultados del problema guillotine non-staged constrained unweighted rotated.
ID Constrained Non-staged Unweighted Rotated Problem APSO+VNS+TF Tiempo (seg)
CU1 98,64 203 CU2 99,43 210 CU3 99,84 403 CU4 99,22 365 CU5 98,75 387 CU6 99,65 540 CU7 97,5 570 CU8 99,2 611 CU9 98,32 540
CU10 98,94 540 CU11 99,31 470
Tabla 43. Resultados del problema guilltoine two-staged unconstrained fixed weighted y unweighted.
Unconstrained Two-staged Fixed Problem Unweighted Weighted
ID APSO+VNS+TF Tiempo (seg) ID APSO+VNS+TF Tiempo (seg) UU1 96.50 25 UW1 6036 17 UU2 99.21 28 UW11 15,747 19 UU3 97.52 26 UW2 8468 25 UU4 98.19 34 UW3 6226 29 UU5 99.15 47 UW4 7748 32 UU6 98.79 36 UW5 7780 24 UU7 98.84 48 UW6 6615 31 UU8 98.98 51 UW7 10,464 30 UU9 99.20 58 UW8 7692 34
UU10 99.01 53 UW9 7038 29 UU11 99.49 27 UW10 7507 38 LUU1 99.98 70 LUW1 158,363,374 80 LUU2 99.99 70 LUW2 257,372,669 83 LUU3 99.99 80 LUW3 261,252,077 180 LUU4 99.98 112 LUW4 473,754,165 230
177
Tabla 44. Resultados del problema guillotine two-staged constrained weighted rotated.
ID Constrained Two-Staged Weighted Rotated Problem APSO+VNS+TF Tiempo (seg)
HH 10,710 10 2 2539 21 3 1746 42
A1 1835 37 A2 2327 41
STS2 4646 56 STS4 9468 39 CHL1 8382 60 CHL2 2235 17 CW1 6425 50 CW2 5356 69
Hch12 9684 64 Hch19 5104 61
Tabla 45. Resultados del problema guillotine three-staged constrained weighted y unweigthed rotated.
ID Constrained Three-Staged Rotated Problem
Unweighted Weighted APSO+VNS+TF Tiempo (seg) APSO+VNS+TF Tiempo (seg)
3SCUI1 99.98 180 632,402 94 3SCUI2 99.73 178 4,545,920 120 3SCUI3 99.93 276 1,833,944 153 3SCUI4 99.98 198 4,339,962 118 3SCUI5 99.99 190 2,678,314 98 3SCUI6 99.83 197 4,249,533 99 3SCUI7 99.79 300 4,306,566 160 3SCUI8 99.82 256 3,610,791 140 3SCUI9 99.83 223 7,447,743 111
3SCUI10 99.81 245 6,040,071 136 3SCUI11 99.78 163 1,169,181 103 3SCUI12 99.99 187 2,567,626 127 3SCUI13 99.78 176 2,796,196 96 3SCUI14 99.76 190 3,153,305 98 3SCUI15 99.84 281 5,021,789 160 3SCUI16 99.82 272 2,158,001 149 3SCUI17 99.79 209 6,885,015 103 3SCUI18 99.85 203 7,552,210 99 3SCUI19 99.77 265 5,709,350 129 3SCUI20 99.75 150 5,731,970 155
178
Tabla 46. Resultados del problema non-guillotine first order unconstrained unweighted rotated.
Unconstrained Non-guillotine First Order Unweighted Rotated Problem APSO+VNS+TF Tiempo (seg)
GCUT1 56460 60.88
GCUT2 61146 73.55
GCUT3 61036 87.97
GCUT4 61698 111.21
GCUT5 246000 71.58
GCUT6 238998 59.04
GCUT7 242567 67.63
GCUT8 247815 88.67
GCUT9 971100 70.05
GCUT10 982025 54.76
GCUT11 980096 51.26
GCUT12 979986 104.82
GCUT13 8997780 79.85
Tabla 47. Resultados del problema non-guillotine superior order unconstrained weighted rotated.
Non-guillotine Superior Order Unconstrained weighted Rotated Problem
APSO+VNS+TF Tiempo (seg) ATP20 5,545,818 200
ATP21 3,484,406 409
ATP22 4,145,317 287
ATP23 3,480,665 426
ATP24 3,923,776 276
ATP25 3,507,615 337
ATP26 2,683,689 354
ATP27 2,438,174 532
ATP28 3,969,356 399
ATP29 3,652,858 497
179
Tabla 48. Resultados del problema non-guillotine superior order unconstrained unweighted rotated.
Non-guillotine Superior Order Unconstrained Unweighted Rotated Problem APSO+VNS+TF Tiempo (seg)
ATP10 3,585,612 107
ATP11 4,188,915 95
ATP12 5,148,302 162
ATP13 3,498,302 297
ATP14 4,463,550 227
ATP15 6,047,188 228
ATP16 7,566,719 241
ATP17 4,535,302 116
ATP18 5,825,956 218
ATP19 6,826,674 162