179
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

PhD Thesis David Alvarez

  • Upload
    david

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Cutting and packing problems

Citation preview

Page 1: PhD Thesis David Alvarez

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

Page 2: PhD Thesis David Alvarez

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

Page 3: PhD Thesis David Alvarez

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.

Page 4: PhD Thesis David Alvarez

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.

Page 5: PhD Thesis David Alvarez

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.

Page 6: PhD Thesis David Alvarez

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.

Page 7: PhD Thesis David Alvarez

vii

Page 8: PhD Thesis David Alvarez

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

Page 9: PhD Thesis David Alvarez

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

Page 10: PhD Thesis David Alvarez

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

Page 11: PhD Thesis David Alvarez

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

Page 12: PhD Thesis David Alvarez

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

Page 13: PhD Thesis David Alvarez

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

Page 14: PhD Thesis David Alvarez

xiv

Page 15: PhD Thesis David Alvarez

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

Page 16: PhD Thesis David Alvarez

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

Page 17: PhD Thesis David Alvarez

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

Page 18: PhD Thesis David Alvarez

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

Page 19: PhD Thesis David Alvarez

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).

Page 20: PhD Thesis David Alvarez

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),

Page 21: PhD Thesis David Alvarez

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.

Page 22: PhD Thesis David Alvarez

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.

Page 23: PhD Thesis David Alvarez

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:

Page 24: PhD Thesis David Alvarez

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.

Page 25: PhD Thesis David Alvarez

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.

Page 26: PhD Thesis David Alvarez

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,

Page 27: PhD Thesis David Alvarez

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

Page 28: PhD Thesis David Alvarez

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

Page 29: PhD Thesis David Alvarez

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

Page 30: PhD Thesis David Alvarez

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).

Page 31: PhD Thesis David Alvarez

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

Page 32: PhD Thesis David Alvarez

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.

Page 33: PhD Thesis David Alvarez

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

Page 34: PhD Thesis David Alvarez

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

Page 35: PhD Thesis David Alvarez

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).

Page 36: PhD Thesis David Alvarez

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).

Page 37: PhD Thesis David Alvarez

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

Page 38: PhD Thesis David Alvarez

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).

Page 39: PhD Thesis David Alvarez

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

Page 40: PhD Thesis David Alvarez

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

Page 41: PhD Thesis David Alvarez

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

Page 42: PhD Thesis David Alvarez

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

Page 43: PhD Thesis David Alvarez

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

Page 44: PhD Thesis David Alvarez

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

Page 45: PhD Thesis David Alvarez

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.

Page 46: PhD Thesis David Alvarez

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).

Page 47: PhD Thesis David Alvarez

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

Page 48: PhD Thesis David Alvarez

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.

Page 49: PhD Thesis David Alvarez

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.

Page 50: PhD Thesis David Alvarez

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

Page 51: PhD Thesis David Alvarez

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

Page 52: PhD Thesis David Alvarez

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

Page 53: PhD Thesis David Alvarez

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

Page 54: PhD Thesis David Alvarez

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).

Page 55: PhD Thesis David Alvarez

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).

Page 56: PhD Thesis David Alvarez

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-

Page 57: PhD Thesis David Alvarez

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.

Page 58: PhD Thesis David Alvarez

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).

Page 59: PhD Thesis David Alvarez

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).

Page 60: PhD Thesis David Alvarez

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.

Page 61: PhD Thesis David Alvarez

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

Page 62: PhD Thesis David Alvarez

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,

Page 63: PhD Thesis David Alvarez

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

Page 64: PhD Thesis David Alvarez

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)

Page 65: PhD Thesis David Alvarez

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

Page 66: PhD Thesis David Alvarez

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)

Page 67: PhD Thesis David Alvarez

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

Page 68: PhD Thesis David Alvarez

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

Page 69: PhD Thesis David Alvarez

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.

Page 70: PhD Thesis David Alvarez

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.

Page 71: PhD Thesis David Alvarez

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.

Page 72: PhD Thesis David Alvarez

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

Page 73: PhD Thesis David Alvarez

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.

Page 74: PhD Thesis David Alvarez

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.

Page 75: PhD Thesis David Alvarez

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

Page 76: PhD Thesis David Alvarez

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

Page 77: PhD Thesis David Alvarez

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.

Page 78: PhD Thesis David Alvarez

78

Figura 46. Árbol de cortes tipo guillotina de dos niveles.

Figura 47. Ejemplo de un árbol de cortes.

Page 79: PhD Thesis David Alvarez

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.

Page 80: PhD Thesis David Alvarez

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

Page 81: PhD Thesis David Alvarez

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.

Page 82: PhD Thesis David Alvarez

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

Page 83: PhD Thesis David Alvarez

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

Page 84: PhD Thesis David Alvarez

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

Page 85: PhD Thesis David Alvarez

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.

Page 86: PhD Thesis David Alvarez

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

Page 87: PhD Thesis David Alvarez

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.

Page 88: PhD Thesis David Alvarez

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.

Page 89: PhD Thesis David Alvarez

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.

Page 90: PhD Thesis David Alvarez

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

Page 91: PhD Thesis David Alvarez

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.

Page 92: PhD Thesis David Alvarez

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

Page 93: PhD Thesis David Alvarez

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

Page 94: PhD Thesis David Alvarez

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).

Page 95: PhD Thesis David Alvarez

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

Page 96: PhD Thesis David Alvarez

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).

Page 97: PhD Thesis David Alvarez

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.

Page 98: PhD Thesis David Alvarez

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).

Page 99: PhD Thesis David Alvarez

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

Page 100: PhD Thesis David Alvarez

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).

Page 101: PhD Thesis David Alvarez

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.

Page 102: PhD Thesis David Alvarez

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).

Page 103: PhD Thesis David Alvarez

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.

Page 104: PhD Thesis David Alvarez

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.

Page 105: PhD Thesis David Alvarez

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).

Page 106: PhD Thesis David Alvarez

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).

Page 107: PhD Thesis David Alvarez

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).

Page 108: PhD Thesis David Alvarez

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).

Page 109: PhD Thesis David Alvarez

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%.

Page 110: PhD Thesis David Alvarez

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.

Page 111: PhD Thesis David Alvarez

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

Page 112: PhD Thesis David Alvarez

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.

Page 113: PhD Thesis David Alvarez

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.

Page 114: PhD Thesis David Alvarez

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,

Page 115: PhD Thesis David Alvarez

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.

Page 116: PhD Thesis David Alvarez

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

Page 117: PhD Thesis David Alvarez

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

Page 118: PhD Thesis David Alvarez

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

Page 119: PhD Thesis David Alvarez

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

Page 120: PhD Thesis David Alvarez

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

Page 121: PhD Thesis David Alvarez

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

Page 122: PhD Thesis David Alvarez

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.

Page 123: PhD Thesis David Alvarez

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.

Page 124: PhD Thesis David Alvarez

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).

Page 125: PhD Thesis David Alvarez

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.

Page 126: PhD Thesis David Alvarez

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

Page 127: PhD Thesis David Alvarez

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.

Page 128: PhD Thesis David Alvarez

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.

Page 129: PhD Thesis David Alvarez

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).

Page 130: PhD Thesis David Alvarez

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).

Page 131: PhD Thesis David Alvarez

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.

Page 132: PhD Thesis David Alvarez

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

Page 133: PhD Thesis David Alvarez

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).

Page 134: PhD Thesis David Alvarez

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).

Page 135: PhD Thesis David Alvarez

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).

Page 136: PhD Thesis David Alvarez

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

Page 137: PhD Thesis David Alvarez

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.

Page 138: PhD Thesis David Alvarez

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

Page 139: PhD Thesis David Alvarez

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).

Page 140: PhD Thesis David Alvarez

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

Page 141: PhD Thesis David Alvarez

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

Page 142: PhD Thesis David Alvarez

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

Page 143: PhD Thesis David Alvarez

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.

Page 144: PhD Thesis David Alvarez

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

Page 145: PhD Thesis David Alvarez

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.

Page 146: PhD Thesis David Alvarez

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.

Page 147: PhD Thesis David Alvarez

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.

Page 148: PhD Thesis David Alvarez

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.

Page 149: PhD Thesis David Alvarez

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

Page 150: PhD Thesis David Alvarez

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.

Page 151: PhD Thesis David Alvarez

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.

Page 152: PhD Thesis David Alvarez

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.

Page 153: PhD Thesis David Alvarez

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.

Page 154: PhD Thesis David Alvarez

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.

Page 155: PhD Thesis David Alvarez

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.

Page 156: PhD Thesis David Alvarez

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.

Page 157: PhD Thesis David Alvarez

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.

Page 158: PhD Thesis David Alvarez

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.

Page 159: PhD Thesis David Alvarez

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.

Page 160: PhD Thesis David Alvarez

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.

Page 161: PhD Thesis David Alvarez

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

Page 162: PhD Thesis David Alvarez

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

Page 163: PhD Thesis David Alvarez

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.

Page 164: PhD Thesis David Alvarez

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.

Page 165: PhD Thesis David Alvarez

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

Page 166: PhD Thesis David Alvarez

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

Page 167: PhD Thesis David Alvarez

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

Page 168: PhD Thesis David Alvarez

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

Page 169: PhD Thesis David Alvarez

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

Page 170: PhD Thesis David Alvarez

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

Page 171: PhD Thesis David Alvarez

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

Page 172: PhD Thesis David Alvarez

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

Page 173: PhD Thesis David Alvarez

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.

Page 174: PhD Thesis David Alvarez

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.

Page 175: PhD Thesis David Alvarez

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

Page 176: PhD Thesis David Alvarez

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

Page 177: PhD Thesis David Alvarez

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

Page 178: PhD Thesis David Alvarez

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

Page 179: PhD Thesis David Alvarez

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