Está en la página 1de 179

ESTUDIO DE LOS PROBLEMAS DE CORTE Y EMPAQUETAMIENTO

David lvarez Martnez

Departamento de Ingeniera Elctrica


Programa de Postgrado en Ingeniera Elctrica
Universidad Estadual Paulista - UNESP
Ilha Solteira So Paulo Brasil
12 de mayo de 2014
i

ESTUDIO DE LOS PROBLEMAS DE CORTE Y EMPAQUETAMIENTO

David lvarez Martnez

Rubn Augusto Romero Lzaro


Orientador

Tesis de Doctorado presentada al Programa


de Postgrado en Ingeniera Elctrica de la
Facultad de Ingeniera de la Universidad
Estadual Paulista Campus de Ilha
Solteira, como parte de los requisitos para
la obtencin del ttulo de Doctor en
Ingeniera

Elctrica.

rea de especializacin: Automatizacin.

Departamento de Ingeniera Elctrica


Programa de Postgrado en Ingeniera Elctrica
Universidad Estadual Paulista - UNESP
Ilha Solteira So Paulo Brasil
12 de mayo de 2014
ii

Agradecimientos
Al profesor Rubn Augusto Romero Lzaro.
A los profesores Francisco Parreo Torres y Ramn lvarez-Valds Olagubel.
A los profesores del programa de postgrado: Marcos Julio Rider Flres y Sergio
Azevedo de Oliveira.
A los profesores del programa de postgrado: Rafael Mart Cunquero y Enrique
Benavent Lpez.
Al Banco Interamericano del Desarrollo y su Alianza para el Atraso.
A la Msica.

iii

RESUMEN
En este trabajo estudiamos los problemas de corte y empaquetamiento con
restricciones prcticas 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 relacin 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 rectngulos y a los problemas de
tres dimensiones al uso de paraleleppedos. Especficamente, los problemas de corte que son
estudiados

en

este

trabajo

son:

el

problema

de

la

mochila

bidimensional

(2D-SKP o 2D-SLOPP, del ingls Two-Dimensional Single Knapsack Problem y TwoDimensional 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 lmites de ejemplares por pieza, y con y sin restricciones de orientacin en las
piezas.
El segundo problema estudiado es el problema de embalaje (2D-BPP, del ingls TwoDimensional Bin Packing Problem): con restricciones de corte tipo guillotina, y con y sin
restricciones de orientacin 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 2DSLOPP, del ingls Three-Dimensional Single Knapsack Problem y Three-Dimensional Single
Large Object Placement Problem, respectivamente): con restricciones de orientacin de las
cajas, con restricciones de resistencia

de pesos de las cajas para su apilamiento, con

restricciones de lmite de peso de la carga, con restricciones de estabilidad de la carga, y con


restricciones de mltiples destinos de la carga.
iv

Estos tres problemas son de gran inters en la industria. Por lo que en la literatura
especializada existe una gran cantidad de trabajos. Diferentes metodologas tanto exactas
como aproximadas han sido propuestas, debido a la complejidad tanto matemtica como
computacional de los problemas, las metodologas exactas solo alcanzan a resolver instancias
pequeas del problema. En este estudio se proponen representaciones adecuadas de los
problemas y diferentes mtodos de solucin aproximados basados en tcnicas metaheursticas
de optimizacin.
Palabras clave: Metaheursticas. Problemas de corte y empaquetamiento. Problema de carga
del contenedor. Problema de embalaje. Problema de la mochila.

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 (ThreeDimensional 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.
vi

vii

Lista de Figuras
Nmero

Nombre de la figura

Pgina

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 bsicos de los problemas de corte y empaquetamiento.

30

7.

Tipos Intermedios de problemas (Problema de emplazamiento,


Problema de la Mochila y Problema de Embalaje).

8.

Panorama de los tipos intermedios del problema; maximizacin de


la salida.

9.

Panorama de los tipos intermedios del problema; minimizacin de


la entrada.

31
33
34

10.

Patrn guillotina.

37

11.

Patrn no guillotina.

37

12.

Etapas de corte para alcanzar un patrn de solucin.

38

13.

Patrones de corte tipo guillotina de dos y tres etapas.

38

14.

Patrn de corte tipo guillotina sin etapas (o de k-etapas, siendo k


un nmero relativamente grande).

38

15.

Patrn de corte tipo guillotina de dos etapas.

39

16.

Patrones de corte tipo guillotina por etapas sin y con recorte.

39

17.

Patrn de corte no guillotina de primer orden, resultante de corte


estampado y cortes guillotina.

18.

Patrn de corte no guillotina de primer orden, resultante de cortes


estampado anidados y cortes guillotina.

40
40

19.

Patrn de corte de Orden Superior.

41

20.

Patrones de corte bidimensionales.

41

21.

Piezas con orientacin fija o rotable.

41

22.

Piezas con valor ponderado o no ponderado.

42

23.

Piezas con ejemplares limitados e ilimitados.

42

viii

24.

Caractersticas del problema de la mochila tenidas en cuenta en


este trabajo.

44

25.

Lmite mximo de peso soportado por el contenedor.

46

26.

Distribucin del peso dentro del contenedor.

46

27.

Posibles orientaciones de verticales y horizontales de la pieza.

47

28.

Lmite de soporte de carga (lbs, del ingls 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.

30.

Ejemplo de empaquetamiento multi-drop. Empaquetamiento del


escenario propuesto en la figura 2.25.

50
52

31.

Estabilidad vertical (o esttica) del patrn de carga.

53

32.

Patrn de carga libre.

53

33.

Carga/Descarga manual de un contenedor.

54

34.

Carga/Descarga mediante tecnologas mecnicas o automticas.

54

35.

Patrn de carga guillotinado,

representacin de los cortes

paralelos al contenedor aplicados por etapas.

55

36.

Modelamiento y disposicin de piezas sobre la mochila.

64

37.

Representacin de la codificacin. Tomada de (Beasley, 2004).

67

38.

Esquema general de optimizacin propuesto para el problema de la


mochila.

39.

Pieza, mochila y ubicacin de una sobre la otra.

40.

Representaciones/codificaciones de la ubicacin de las piezas


sobre los espacios vacos.

70
70
71

41.

Elaboracin de bloques: simples y compuestos.

72

42.

Estrategias de seleccin de la pieza a ubicarse en el espacio vaco.

74

43.

Esquema general de optimizacin para los problemas de corte.

75

44.

Esquema general de optimizacin para los problemas de


empaquetamiento.

76
77

46.

Representacin de cortes y disposicin de las piezas a travs de un


rbol de cortes.
rbol de cortes tipo guillotina de dos niveles.

47.

Ejemplo de un rbol de cortes.

78

48.

Estampado sobre la mochila Nodo estampado no guillotina

79

45.

ix

78

representado grficamente 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 travs


de cuatro cortes (nodo estampado).

80

52.

Espacios mximos, tomado de (Parreo et al., 2008).

81

53.

Capas vertical y horizontal generadas por alguna de las piezas que


se va a cortar o empaquetar.

54.

Si la distancia entre la capa y el lmite de sub-espacio es menor, se


dice que presenta un mejor ajuste (best-fit).

55.

82
83

Cuando el ndice es mayor, la capa generada presenta un mayor


aprovechamiento del espacio delimitado por la lnea discontinua

83

denominado capa ideal.


56.

Clculo de la funcin objetivo, cuello de botella secuencial,


paralelizacin del cuello de botella.

57.

Uso del procesador de las diferentes versiones: clculo secuencial


y clculo en paralelo.

84
85

58.

Posicin de la i-sima partcula.

87

59.

Velocidad de la i-sima partcula

88

60.

Algoritmo PSO.

90

61.

Algoritmo hbrido de PSO, VNS y Factor de Turbulencia


(APSO+VNS+TF).

62.

92

Solucin propuesta para el caso 2SCUI1 que pertenece al


problema restricto, con dos etapas de corte y de piezas con valor

109

no ponderado.
63.

Solucin propuesta para el caso A2 que pertenece al problema


restricto, de piezas con valor no ponderado.

64.

Solucin propuesta para el caso CW9 que pertenece al problema


tipo guillotina restricto, con piezas de valor ponderado.

111
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

68.
69.

Empaquetamiento multi-drop segn Junqueira con = 0.

70.

Multi-drop por Christensen y Rouse (2009) y Ceschia y Schaerf

Empaquetamiento multi-drop segn Junqueira con = .


(2013).

71.

Escenarios de las restricciones de empaquetamiento de envos


completos.

72.

Ubicacin de la caja i dentro del contenedor.

73.

Ubicacin de una caja sobre un espacio vaco y los tres espacios


vacios generados.

74.

Procedimientos de administracin de los espacios mximos:


creacin, actualizacin y eliminacin.

117
117
118
119
124
127
128

75.

Elaboracin de capas de cajas.

129

76.

Actualizacin de la lista de espacios mximos.

130

77.

Actualizacin de los espacios por cambio de cliente, segn la


definicin 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 disposicin de las piezas placa por placa.

167

xi

Lista de Tablas
Nmero

Nombre de la tabla

Pgina

1.

Dimensiones de los sub-espacios.

79

2.

Valores de los parmetros 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.

97

9.

Resultados del problema unconstrained two-staged rotated weighted y


unweighted.
Resultados del problema constrained two-staged weighted fixed.

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.

103

16.

Resultados del problema unconstrained three-staged fixed weighted y


unweighted.
Resultados del problema unconstrained three-staged rotated weighted y
unweighted.
Resultados del problema constrained three-staged weighted fixed.

17.

Resultados del problema constrained three-staged unweighted fixed.

106

18.

Resultados del problema non-guillotine first-order unconstrained


weighted fixed.
Resultados del problema non-guillotine first order unconstrained
unweighted fixed.
Resultados del problema non-guillotine superior order unconstrained
weighted fixed.
Resultados del problema non-guillotine superior order unconstrained
unweighted Fixed.
Resultados del problema non-guillotine superior order constrained
weighted fixed.
Resultados del problema non-guillotine superior order constrained
unweighted fixed.
Resultados alcanzados por la metodologa propuesta para los problemas
de la mochila bidimensional.
Detalles del benchmarking.

106

15.

19.
20.
21.
22.
23.
24.
25.

xii

98

104
105

107
107
108
108
109
110
136

138

33.

Comparacin de resultados obtenidos por el algoritmo GRASP propuesto


contra la definicin y el algoritmo de Ceschia y Schaerf (2013).
Comparacin de resultados obtenidos por el algoritmo GRASP propuesto
contra la definicin y el algoritmo de Christensen y Rouse (2009).
Comparacin de resultados obtenidos por el algoritmo GRASP propuesto
contra la definicin y el algoritmo de Liu et al. (2011) y el algoritmo
SBIP presentado por Jin et al. (2004).
Comparacin de resultados obtenidos por el algoritmo GRASP propuesto
contra la formulacin y definicin de Junqueira et al., con ik = 0.
Comparacin de resultados obtenidos por el algoritmo GRASP propuesto
contra la formulacin y definicin de Junqueira et al., con ik = li.
Comparacin de resultados obtenidos por el algoritmo GRASP propuesto
contra la definicin y el algoritmo 3.2 de Liu et al. (2011).
Comparacin de resultados obtenidos por el algoritmo GRASP propuesto
contra el algoritmo de Alonso et al. (2014).
Solucin obtenida para los problemas de embalaje sin rotacin.

34.

Solucin obtenida para los problemas de embalaje sin rotacin.

168

35.

Mejor solucin obtenida para el problema de embalaje con rotacin.

169

36.

Mejor solucin obtenida para el problema de embalaje con rotacin.

170

37.

Comparacin de los tiempos de cmputo del algoritmo propuesto.

171

38.

Comparacin con las metodologas ms notables presentadas en la


literatura. Fixed version.
Comparacin con las metodologas ms notables de la literatura. Rotated
version.
Resultados del problema guillotine non-staged unconstrained weighted
rotated.
Resultados del problema guillotine non-staged constrained weighted
rotated.
Resultados del problema guillotine non-staged constrained unweighted
rotated.
Resultados del problema guilltoine two-staged unconstrained fixed
weighted y unweighted.
Resultados del problema guillotine two-staged constrained weighted
rotated.
Resultados del problema guillotine three-staged constrained weighted y
unweigthed rotated.
Resultados del problema non-guillotine first order unconstrained
unweighted.
Resultados del problema non-guillotine superior order unconstrained
weighted rotated.
Resultados del problema non-guillotine superior order unconstrained
unweighted rotated.

172

26.
27.
28.
29.
30.
31.
32.

39.
40.
41.
42.
43.
44.
45.
46.
47.
48.

xiii

139
140
140
141
141
142
167

173
175
175
176
176
177
177
178
178
179

xiv

Tabla de Contenido
Ttulo

Pgina

Resumen

iii

Agradecimientos

iv

Lista de figuras

viii

Lista de tablas

xii

Tabla de contenido

xvi

Captulo 1. Introduccin

17

1.1.

Definicin de los problemas

17

1.2.

Motivacin

20

1.3.

Objetivos

21

1.3.1.

Objetivo principal

21

1.3.2.

Objetivos especficos

21

1.4.

Alcance y contribuciones

22

1.5.

Publicaciones cientficas conectadas con la tesis

23

1.6.

Organizacin del documento

24

Captulo 2. Antecedentes, Clasificacin y Revisin de la Literatura

26

2.1.

Clasificacin de Wscher et al. (2007)

26

2.2.

Descripcin 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

Captulo 3. Problema de la mochila bidimensional

56

3.1.

Introduccin

56

3.2.

Descripcin del problema

60

3.3.

Modelo matemtico

61

3.4.

Metodologa de solucin

70

3.4.1.

Codificacin propuesta

76

3.4.2.

Representacin del espacio libre: espacios mximos residuales

81

3.4.3.

Algoritmo heurstico constructivo de creacin de capas

81

3.4.4.

Clculo de la funcin objetivo

83

3.4.5.

Algoritmo hbrido cmulo de partculas, bsqueda de vecindario variable y

86

algoritmos genticos (APSO+VNS+TF)

xv

3.5.

Anlisis de resultados

94

3.6.

Conclusiones

112

Captulo 4. Problema de carga del contenedor

114

4.1.

Introduccin

114

4.2.

Descripcin del problema

119

4.3.

Modelo Matemtico

121

4.4.

Metodologa de solucin

126

4.5.

Resultados computacionales

135

4.6.

Conclusiones

143

Captulo 5. Conclusiones y trabajos futuros

144

Bibliografa

146

Apndice
Captulo 6. Problema de embalaje

161

6.1.

Introduccin

161

6.2.

Descripcin del problema

164

6.3.

Modelo Matemtico

165

6.4.

Metodologa

166

6.5.

Anlisis de Resultados

168

6.6.

Conclusiones

171

Resultados sin comparacin

175

Artculo. Improved Particle Swarm Optimization for two-dimensional knapsack problems


Artculo. A GRASP algorithm for the multi-drop container loading problem

xvi

Captulo 1.
Introduccin
Los problemas de corte y empaquetamiento son problemas clsicos dentro de la
investigacin operativa y tienen un gran espectro de aplicacin en la industria. En este trabajo
son objeto de estudio tres diferentes problemas, dos de corte y uno de empaquetamiento.
1.1. Definicin 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 (tambin llamadas tems) se definen
como pequeos rectngulos, lo cuales deben ser ubicados sobre objetos rectangulares de
mayor tamao (tambin llamados lminas, tableros o placas). Mientras que en los problemas
tridimensionales las piezas se definen como pequeos paraleleppedos (llamadas en este
documento como cajas), las cuales son ubicadas dentro de un objeto que es un paraleleppedo
de mayor tamao (llamado por comodidad como contenedor). La forma (o disposicin) en
que se cortan o se empaquetan las piezas sobre los objetos, constituye lo que denominaremos
patrn.
En la prctica los problemas de corte y empaquetamiento son intuitivamente diferenciables,
pero como sabemos en estos problemas se desea alcanzar el patrn de corte o
empaquetamiento ms eficiente que optimiza una funcin objetivo, bien sea maximizar el
valor de las piezas cortadas (o empaquetadas), o minimizar el nmero de materia prima u
objetos necesarios para el corte o empaquetamiento de las piezas. Matemtica 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 inters tanto acadmico como industrial,
avanzar en la temtica 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
17

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 pequeos
rectngulos llamados tems. Teniendo como objetivo encontrar la ubicacin de las piezas en la
mochila para ser cortadas, minimizando el espacio desperdiciado de la placa, sin sobreponer
las piezas y sin sobrepasar los lmites de la placa. A este problema, se le han adicionado
restricciones prcticas 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 lmites de ejemplares por pieza, y con y sin restricciones de orientacin en las
piezas (ver Figura 1).
Figura 1. Problema de la mochila bidimensional.

Surtido de piezas

Mochila (placa, lmina, objeto)

Disposicin de las piezas

Corte de las piezas

18

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 pequeos rectngulos. Teniendo como objetivo encontrar
la ubicacin de las piezas sobre las placas para ser cortadas, minimizando el nmero de placas
necesarias para la disposicin total de las piezas, sin sobreponer las piezas y sin sobrepasar los
lmites de las placas. A este problema, se le han adicionado restricciones prcticas que
presenten escenarios de la vida real como lo son: restricciones de corte tipo guillotina, y con y
sin restricciones de orientacin de las piezas (ver Figura 2).
Figura 2. Problema de embalaje.

Surtido de piezas

Placas infinitas (o un nmero suficiente)

Disposicin 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 lmites del contenedor. A este problema, se le han adicionado restricciones prcticas que
presenten escenarios de la vida real como lo son: restricciones de orientacin de las cajas,
restricciones de resistencia de pesos de las cajas para su apilamiento, restricciones de lmite de
peso de la carga, restricciones de estabilidad de la carga, y restricciones de mltiples destinos
de la carga (ver Figura 3).
19

Figura 3. Problema de carga del contenedor.

Surtido de cajas

Contenedor

Disposicin de las cajas dentro del contenedor y cajas restantes que quedan por fuera (Patrn de carga)

1.2. Motivacin
Este estudio est basado en una revisin del estado del arte de los problemas de corte y
empaquetamiento que puede ser un referente para la comunidad acadmica, proponiendo y
presentando tanto representaciones como metodologas para la solucin 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 travs del problema clsico 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 tipologas como: Hinxman (1980), Dyckhoff (1990), Wscher et
al. (2007) y Bortfeldt y Wscher (2013). Y artculos de revisin como: Golden (1976),
20

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 Wscher (1995), Coffman et al.
(1996), Arenales et al. (1999), Hopper y Turton (2001a; 2001b), Hifi (2002b), Lodi et al.
(2002a), Wang y Wscher (2002), Oliveira y Wscher (2007). En los cuales se recalcan las
diferentes carencias y nuevos horizontes en la investigacin sobre los problemas de corte y
empaquetamiento.
En la ltimas dos dcadas la industria y la academia ha aumentado la investigacin y
desarrollo en las reas de investigacin operativa e ingeniera de la produccin, creciendo as
el inters por metodologas de solucin para problemas de corte y empaquetamiento, que
mejoren el desempeo tanto en calidad como en tiempo computacional, pero que incorporen
restricciones prcticas que representen situaciones reales en la industria.
1.3. Objetivos
1.3.1.

Objetivo principal

El objetivo de este trabajo es desarrollar una metodologa de solucin para los


problemas de la mochila bidimensional, el problema de empaquetamiento en placas y el
problema de carga del contenedor, incluyendo restricciones prcticas de los escenarios reales
de los problemas. Restricciones de tipo de corte, beneficio de las piezas, lmites de ejemplares
por pieza, y orientacin en las piezas, en el problema de la mochila. Restricciones de corte
tipo guillotina y orientacin de las piezas, en el problema de empaquetamiento en placas.
Finalmente, restricciones de orientacin de las cajas, restricciones de resistencia de pesos de
las cajas para su apilamiento, restricciones de lmite de peso de la carga, restricciones de
estabilidad de la carga, y restricciones de mltiples destinos de la carga, en el problema de
carga del contenedor.
1.3.2.

Objetivos especficos

Revisar el estado del arte de los modelos matemticos que formulen los problemas
de inters en este estudio con las restricciones prcticas deseadas.
Revisar el estado del arte de las metodologas de solucin propuestas para este tipo de
problemas.
21

Utilizar o proponer representaciones que permitan la implementacin de tcnicas heursticas


y metaheursticas de optimizacin, para la resolucin de los problemas de corte y
empaquetamiento que hacen parte de este estudio.
Implementar o desarrollar metodologas de solucin para los problemas propuestos en este
estudio.
Validar las metodologas de solucin desarrolladas utilizando las diferentes libreras de
casos de prueba presentadas en la literatura especializada.
1.4. Alcance y contribuciones
El alcance de este trabajo consiste en desarrollar diferentes metodologas de solucin
para los problemas de: la mochila bidimensional, el problema de embalaje y el problema de
carga del contenedor. En donde el desempeo y calidad del estudio realizado ser respaldado
por los resultados obtenidos por el conjunto de metodologas presentadas. Ya que todas las
implementaciones realizadas en este trabajo se compararon contra metodologas
representativas del estado del arte de optimizacin exacta y aproximada. Adems de esto, se
efecta un anlisis de varianza de las soluciones obtenidas con cada una de las tcnicas
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 tcnicas propuestas de acuerdo a su
desempeo.
Dentro de las metodologas propuestas se encuentran contribuciones como:

El uso de una codificacin de rboles de cortes para los problemas de corte


bidimensionales.

El desarrollo de un algoritmo de optimizacin de cmulo de partculas especializado


para los problemas de corte.

La esquematizacin de una nica metodologa para dar solucin a diferentes


problemas de la misma especie.

La implementacin y adaptacin del algoritmo GRASP para dar solucin al problema


de carga de contenedores con restricciones de empaquetamiento prcticas.

1.5. Publicaciones cientficas conectadas con la tesis


Los captulos presentados en esta tesis son basados en artculos ya publicados o
sometidos a evaluacin tanto en revistas como en anuales de conferencias.
22

El diseo y el desarrollo de la representacin en rboles de cortes y el algoritmo de


optimizacin cmulo de partculas, para el problema de la mochila con restricciones de corte
tipo guillotina descrito en el captulo 3, est basado en los siguientes tres artculos:

D. lvarez, E. M. Toro, R. A. Gallego, (2010), Problema de la mochila irrestricta


bidimensional guillotinada, Revista Ingeniera & 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 twodimensional 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 15181731.

El diseo y el desarrollo de la representacin en rboles de cortes y el equipo asncrono de


metaheursticas para el problema de la mochila con restricciones de corte tipo no-guillotina
descrito en el captulo 3, est basado en los siguientes dos artculos:

D. lvarez, L. M. Escobar, R. A. Romero, (2011), Equipo asncrono de agentes


basados en recocido simulado aplicado al problema del agente viajero simtrico,
Revista Scientia et Technica, Universidad Tecnolgica 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 diseo y el desarrollo de la representacin en rboles de cortes y los algoritmos de


optimizacin cmulo de partculas para el problema de empaquetamiento en placas descrito
en el captulo 4, est basado en el artculo:

23

D. lvarez, E. M. Toro, R. A. Gallego, (2011), Estudio comparativo de algoritmos


basados en cmulo de partculas para resolver el problema de empaquetamiento en
placas, Revista Ingeniera y Competitividad, Universidad del Valle, Cali (Colombia),
13 (1): 113-130, Mayo. ISSN 0123-3033.

El diseo y el desarrollo de la representacin de los espacios mximos y el algoritmo Greedy


Randomized Adaptive Search Procedure para el problema de carga del contenedor descrito en
el captulo 5, est basado en el artculo:

D. lvarez, F. Parreo, R. lvarez-Valds (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. Organizacin del documento


El resto del texto est organizado de la siguiente manera (ver Figura 4): en el Captulo
2 se realiza un resumen de los antecedentes de los problemas de corte y empaquetamiento y se
detalla su clasificacin y tipologa, dando as una revisin inicial para el entendimiento
completo de los problemas trabajados en este estudio. Por ltimo se justifica la eleccin de
estos problemas.
En el captulo 3 es definido formalmente el problema de la mochila y cada una de las
restricciones tenidas en cuenta. Se presenta la revisin de las diferentes metodologas
propuestas en la literatura, cubriendo as mtodos exactos, heursticas y metaheursticas. Es
proporcionada la formulacin matemtica representativa del problema. Se presenta la
metodologa de solucin propuesta, acompaada de un estudio computacional y la
comparacin de resultados obtenidos con respecto a los de la literatura. Se realiza un anlisis
y se presentan las conclusiones. Por otro lado, este mismo esquema de investigacin y
solucin realizado sobre el problema de embalaje y es presentado en los anexos de este
documento.
En el captulo 4 donde se estudia el problema de carga del contenedor se realizan los mismos
pasos para al final presentar la metodologa solucin.

24

Finalmente el captulo 5 concluye esta tesis, resumiendo las principales contribuciones


alcanzadas en este estudio, seguido de los posibles horizontes de investigacin sobre esta
temtica.
Figura 4. Estructura de la tesis.

25

Captulo 2.
Antecedentes, Clasificacin y Revisin de la Literatura
Desde la publicacin de Gilmore y Gomory (1961; 1963) sobre los problemas de corte
y empaquetamiento, el nmero de investigadores e investigaciones en el mundo entero sobre
esta temtica ha aumentado dcada tras dcada. Debido a la cantidad de trabajos publicados
en la literatura especializada ha sido difcil ordenar, clasificar y ponderar estos, para una
concertacin de los problemas futuros con mayor importancia.
El primer intento de clasificar los problemas de corte y empaquetamiento es propuesto por
Dyckhoff

(1990),

tiempo

despus

una

tipologa

mejorada

es

presentada

por

Wscher et al. (2007). Y debido al inters ganado por el problema de carga de contenedores
Bortfeldt y Wscher (2013) presentan una actualizacin a esta tipologa.
En este documento se presenta la tipologa de Wscher et al. (2007) con el fin de aclarar
puntualmente los problemas atacados en este estudio y justificar la eleccin de estos.
2.1. Clasificacin de Wscher et al. (2007)
Recordando la estructura de los problemas de corte y empaquetamiento, estos estn
compuestos por dos conjuntos de elementos: un conjunto de grandes objetos (entradas o
suministros) y un conjunto de pequeas piezas (salidas o demanda), los cuales son definidos
geomtricamente usando un nmero de dimensiones necesarias. As, el problema consiste en
seleccionar algunas o la totalidad de las pequeas piezas, para asignarlas y ubicarlas dentro de
un conjunto de los grandes objetos de tal forma que, se conserven las siguientes restricciones
geomtricas: cada pequea pieza debe encontrarse totalmente dentro del objeto y las pequeas
piezas no se pueden traslapar. La forma o disposicin en que se encuentran las piezas sobre
los objetos se denominada como patrn. Encontrar el patrn de corte o empaquetamiento ms
eficiente con relacin a una o ms funciones objetivos dadas, resume el objetivo de los
problemas de corte y empaquetamiento.
Formalmente, cinco subproblemas pueden ser identificados, lo cuales deben ser resueltos
simultneamente para alcanzar la solucin ptima de un problema de corte o
empaquetamiento:
Seleccionar los grandes objetos,
26

Seleccionar las pequeas piezas,


Agrupar las pequeas piezas,
Asignar los subconjuntos de piezas en los grandes objetos,
Ubicar las piezas en cada uno de los objetos seleccionados conservando las restricciones
geomtricas.
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.
Wscher et al. (2007) para realizar su clasificacin de los problemas de corte y
empaquetamiento utilizan cinco criterios:

Dimensionalidad: que representa el nmero de dimensiones geomtricas necesarias y


relevantes para describir las piezas y objetos.

Clase de asignacin: que representa el objetivo conceptual, teniendo dos posibles: la


maximizacin de la salida (output maximization) y la minimizacin de la entrada
(input minimization).
En la maximizacin 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 disposicin de piezas sobre los objetos,
que maximice el beneficio de las piezas asignadas.
En la minimizacin 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
disposicin de piezas sobre los objetos, que minimice el valor de los objetos
asignados.

Surtido de las piezas: que representa cun variado o diverso son las piezas con relacin
a sus formas y medidas, pero teniendo en cuenta solo las dimensiones geomtricas
relevantes. Las piezas pueden ser agrupadas en relativamente (con relacin a nmero
total de piezas) pocas clases, en las cuales, las piezas tienen idnticas formas y
dimensiones. Por definicin, se tratan como diferentes clases (o tipos como luego
27

sern 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 idnticas, Surtido dbilmente heterogneo y Surtido fuertemente
heterogneo.
Un surtido de piezas idnticas 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 maximizacin de la salida, se asume que el nico tipo de pieza
demandado tiene un nmero ilimitado de copias o ejemplares.
Un surtido dbilmente heterogneo se presenta cuando, la demanda de cada tipo de
pieza es relativamente grande, es decir, existe un nmero alto de copias o ejemplares
por tipo de pieza, y este puede ser o no restringido por un lmite mximo.
Un surtido fuertemente heterogneo se presenta cuando, el nmero 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 cun diversos son los objetos con relacin 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 ms 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 categoras de surtido, que los objetos sean
idnticos, que su surtido sea dbilmente heterogneo o que su surtido sea fuertemente
heterogneo.

Forma de las piezas: que representa geomtricamente como estn definidas las piezas,
en los casos donde son relevantes y necesarias dos o tres dimensiones geomtricas
para representar las piezas, se pueden identificar dos clases de piezas: las regulares
(rectngulos, crculos, paraleleppedos, 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 rectngulos y paraleleppedos, para los problemas de dos y tres
28

dimensiones respectivamente. Adems de esto, en este trabajo los objetos tambin


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 caractersticas inherentes del corte y
empaquetamiento.
Figura 5. Resumen de los tipos de problemas de corte y empaquetamiento.

Fuente: Tomado de Wscher et al. (2007).


Dentro de los tipos de problemas puros de corte y empaquetamiento vemos que pueden ser
divididos entre: tipos bsicos, tipos intermedios y tipos refinados del problema, a su vez una
suposicin distinta de las clsicas, en cualquier criterio de clasificacin convierte
29

automticamente ste en una variante del problema. Por otro lado, los casos refinados luego
son definidos al aplicar otros criterios sobre los tipos bsicos del problema.
Es importante detallar los tipos bsicos de los problemas de corte y empaquetamiento debido
a que, basados en estos se definirn 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 asignacin y surtido de las piezas.
Los problemas donde el objetivo es la maximizacin de la salida tienen en comn 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 seleccin de
las piezas, pero no uno de los objetos.
Mientras que, los problemas donde el objetivo es la minimizacin de la entrada tienen como
caracterstica 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 seleccin 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 bsicos de problemas:
Figura 6. Tipos bsicos de los problemas de corte y empaquetamiento.

Fuente: Adaptado de Wscher et al. (2007).

30

Figura 7. Tipos Intermedios de problemas (Problema de emplazamiento, Problema de la


Mochila y Problema de Embalaje).
Problema de emplazamiento
Un objeto

Problema de la mochila

Problema
de
emplazamiento
con un solo
objeto

Varios
Objetos
idnticos
Surtido
heterogneo

Un
Varios

Problema
de
emplazamiento
con mltiples
objetos
idnticos
Problema
de
emplazamiento
con mltiples
objetos
heterogneos

Objetos
idnticos

Problema de embalaje

Problema de
la
mochila
con un solo
objeto

Objetos

Problema de
la
mochila
con mltiples
objetos
idnticos

los

Surtido

Problema de
mochila
heterogneo la
con mltiples
objetos
heterogneos

idnticos
Surtido

de

objetos

dbilmente
heterogneo
Surtido
los

de

objetos

fuertemente
heterogneos

Problema de
embalaje
con objetos
de un solo
tamao
Problema de
embalaje con
objetos
de
mltiples
tamaos
Problema
de embalaje
con
residuos

Fuente: Adaptado de Wscher et al. (2007).

Problema de empaquetado con tems idnticos

Esta categora de problemas consiste en asignar el mayor nmero posible de piezas idnticas a
un conjunto dado de objetos. Se nota que, debido al hecho de que todas las piezas son
idnticas, realmente no existe un problema de seleccionar y agrupar las piezas, ni existe un
verdadero problema de asignacin 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 geomtricas.

Problema de emplazamiento

En la literatura, problemas de esta categora son conocidos bajo distintos nombres. Por lo que
se define el trmino de Problema de emplazamiento, para definir la categora de problemas en
la cual un surtido de piezas dbilmente heterogneo, debe ser asignado a un conjunto limitado
de objetos. El valor o el tamao total (como un objetivo auxiliar) de las piezas ubicadas debe
ser maximizado, o alternativamente, las respectivas prdidas deben ser minimizadas.

Problema de la mochila

Esta categora de problemas es caracterizada por un surtido de piezas fuertemente


heterogneo, el cual debe ser ubicado en un conjunto de objetos. La disponibilidad de objetos
es limitada, de tal forma que, no todas las piezas podrn ser acomodadas. Por lo tanto, el valor
de las piezas ubicadas debe ser maximizado.
31

Hemos enunciado anteriormente los tres problemas bsicos que hace parte de los tipos de
problemas donde el objetivo es la maximizacin de la salida. Por otro lado, los tipos de
problemas donde el objetivo es la minimizacin 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 categora se encuentran los
siguientes problemas:

Problema de dimensin abierta

Esta categora de problemas consiste en acomodar la totalidad del conjunto de piezas sobre
uno o ms objetos. Los objetos son dados, pero su extensin en al menos una dimensin
puede ser considerada variable (indefinida o ilimitada). En otras palabras este problema
implica la decisin de fijar la dimensin 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 extensin, el tamao o el volumen) es el
que debe ser minimizado.

Problema de corte de estoque

Esta categora de problemas requiere que un surtido de piezas dbilmente heterogneo deba
ser ubicado en su totalidad en una seleccin de objetos de mnimo valor, nmero o tamao
total. A diferencia del problema anterior, la extensin de los objetos es dada (fija) en todas sus
dimensiones geomtricas. Se resalta que no se hace ninguna suposicin con respecto al
surtido de los objetos. El cual podra ser como ya lo hemos visto: un surtido de objetos
idnticos, un surtido de objetos dbilmente heterogneo y un surtido de objetos fuertemente
heterogneo.

Problema de embalaje

Esta categora de problemas es caracterizada por un surtido de piezas fuertemente


heterogneo. Nuevamente, las piezas deben ser asignadas a un conjunto de objetos idnticos,
un surtido de objetos dbil o fuertemente heterogneo. Por tanto, el valor, el nmero o el
tamao total (u otro objetivo auxiliar) de los objetos necesarios, debe ser minimizado.

32

Figura 7. Panorama de los tipos intermedios del problema; maximizacin de la salida.


Surtido de las piezas

Dbilmente

Fuertemente

Heterogneas

Heterogneas

Problema de

Problema de

Problema de una

empaquetado de

emplazamiento en

nica mochila

Un nico

tems idnticos

objeto

Identical Item

un nico objeto
Single Large

Single Knapsack

Packing Problem

Object Placement

Problem

IIPP

SLOPP
Problema de

SKP
Problema de

emplazamiento en

mltiples

mltiples objetos

mochilas idnticas

idnticos
Multiple Identical

Multiple Identical

Large Object

Knapsack Problem

Placement Problem
MILOPP
Problema de

MIKP
Problema de

emplazamiento en

mltiples

mltiples objetos

mochilas

heterogneos
Multiple

heterogneas

Heterogeneous

Heterogeneous

Large Object

Knapsack Problem

Placement Problem
MILOPP

MIKP

Idnticas

Caractersticas
de los objetos

Todas las
dimensiones

Objetos
idnticos

fijas

Objetos
Heterogneos

Fuente: Adaptado de Wscher et al. (2007).

Problem

Multiple

Los anteriores seis problemas enunciados conforman los tipos bsicos 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 clasificacin, pasando as a
los tipos intermedios del problema. Por lo que continuaremos al adicionar el criterio de
surtido de los objetos. Centrndonos ahora solo en tres tipos bsicos de problemas: problema
de emplazamiento, problema de la mochila y problema de embalaje (ver Figura 7).
33

En el problema de emplazamiento podemos encontrar que exista uno o ms 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 categora de
problemas es llamada como: problema de emplazamiento en un nico objeto. Por otro lado, si
existe ms de un objeto, implicar la inclusin del problema de seleccionar los objetos, estos a
su vez pueden ser un surtido de objetos idnticos o un surtido de objetos heterogneos, estas
categoras de problemas son llamadas como: problema de emplazamiento en mltiples objetos
idnticos y problema de emplazamiento en mltiples objetos heterogneos.
Figura 9. Panorama de los tipos intermedios del problema; minimizacin de la entrada.
Surtido de las piezas
Caractersticas

Dbilmente

Fuertemente

Heterogneas

Heterogneas

Problema de corte de

Problema de embalaje en

estoque en objetos de

objetos de un nico tamao

de los objetos

Objetos
idnticos

Todas las
dimensiones
fijas

Objetos
dbilmente
heterogneos

Objetos
fuertemente
heterogneos
Un nico objeto con
dimensiones variables

idnticos tamaos
Single Stock Size

Single Bin Size

Cutting Stock Problem


SSSCSP
Problema de corte de

Bin Packing Problem


SBSBPP
Problema de embalaje en

estoque en mltiples objetos

objetos de mltiples

Multiple Stock Size

Multiple Bin Size

Cutting Stock Problem


MSSCSP
Problema residual de corte

Bin Packing Problem


MBSBPP
Problema residual de

de estoque
Residual

embalaje
Residual

Cutting Stock Problem


Bin Packing Problem
RCSP
RBPP
Problema de dimensin abierta
Open Dimension Problem

Fuente: Adaptado de Wscher et al. (2007).

ODP

En el problema de mochila podemos encontrar que exista uno o ms mochilas (u objetos).


Una vez ms, 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
34

ser asignada. Esta categora de problemas es llamada como: problema de una nica mochila.
Por otro lado, si existe ms de una mochila, implicar la inclusin del problema de seleccionar
los objetos, estos a su vez pueden ser, un surtido de mochilas idnticas o un surtido de
mochilas heterogneas, estas categoras de problemas son llamadas como: problema de
mltiples mochilas idnticas y problema de mltiples mochilas heterogneas.
En el problema de embalaje podemos encontrar que exista uno o ms tamaos diferentes de
los ob jetos. Si solo ex iste un tamao d e ob jeto es llamad o como: p roblema d e emb alaje en
objetos de un nico tamao. Por otro lado, si existe ms de un tamao de objeto, puede ser
que el surtido de los tamaos de los objetos sea dbil o fuertemente heterogneo, estas
categoras de problemas son llamadas como: problema de embalaje en objetos de mltiples
tamaos 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 definicin de los tipos refinados. Estos
son alcanzados al incluir los criterios de dimensionalidad y forma de las piezas. Obteniendo
as subcategoras 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


ingls 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


tamao, 2D-SBSBPP la sigla en ingls 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, 3DSLOPP la sigla en ingls de Three-Dimensional, rectangular Single Large Object
Packing Problem. Este es tambin conocido como problema de carga del contenedor
(en ingls Single Container Loading (Packing) Problem).
35

Estos tres problemas elegidos tienen un gran inters debido a sus bien conocidas aplicaciones
en el problema de la industria. Esto quiere decir, que son problemas que se deben solucionar
da a da en empresas que trabajen en el corte, empaquetamiento, transporte y almacenamiento
de mercancas. Aunque en la literatura existe una vasta cantidad de trabajos sobre estos
problemas, pocos trabajos presentan o incluyen en sus metodologas restricciones prcticas
que representen situaciones reales de los problemas, es decir, muchos estudios se dedican solo
a resolver los tipos refinados estndar (First-Level Standard Problems), a diferencia de los
trabajos anteriores, en este se pretende incluir el mayor nmero de restricciones prcticas,
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 estndar de
segundo nivel (Second-Level Standard Problems). A continuacin definiremos el conjunto de
restricciones adicionales tenidas en cuenta en este estudio.
2.2. Descripcin de las restricciones adicionales
Como fue enunciado anteriormente tres diferentes tipos de problemas sern estudiados
en este trabajo, adems de sus versiones estndar, es adicionado un conjunto de restricciones
prcticas, encontradas en situaciones reales de los problemas.
2.2.1.

Restricciones adicionales al problema de la mochila

Al igual que en la clasificacin enunciada anteriormente las restricciones adicionales que se


tienen en cuenta se pueden dividir por criterios: patrones de corte y empaquetamiento, y
caractersticas 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 rectngulo produce dos nuevos rectngulos, es decir, si el corte va de un extremo al
otro del rectngulo original; en otro caso se denomina del tipo no guillotina. Un patrn es de
tipo guillotina si se puede obtener por sucesivos cortes de tipo guillotina (ver Figura 10), es
decir, los patrones estn condicionados por una tecnologa de corte que solo tiene un grado de
libertad (una dimensin geomtrica) que solemos llamar guillotina. Por otro lado, un patrn es
no guillotina si es obtenido por sucesivos cortes de guillotina y no guillotina (ver Figura 11).
36

Figura 10. Patrn guillotina.

Figura 11. Patrn no guillotina.

Figura 12. Etapas de corte para alcanzar un patrn de solucin.

(a) Mochila original.


(b) Primera etapa de corte en direccin horizontal.
(c) Segunda etapa de corte en direccin vertical.
(d) Piezas obtenidas luego de dos etapas de corte.
Algunos procesos de corte industrial tambin 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
37

mochila (o lmina), 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 lmite
mximo impuesto al nmero de etapas de corte, denotado como k, el patrn guillotina es
llamado de k-etapas (ver Figura 13), de lo contrario se dice que es sin etapas (el patrn
guillotina sin etapas, es equivalente a, un patrn 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) Patrn de corte tipo guillotina de 2-etapas (b) Patrn de corte tipo guillotina de 3-etapas.
Figura 14. Patrn de corte tipo guillotina sin etapas (o de k-etapas, siendo k un nmero
relativamente grande).

Usualmente en la industria el mayor nmero de aplicaciones encontradas es cuando el nmero


de etapas de corte es igual a dos (k = 2, ver Figura 15). Adems 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).
38

Figura 15. Patrn de corte tipo guillotina de dos etapas.

(a) Primera etapa de corte en direccin horizontal,


(b) Segunda etapa de corte en direccin vertical,
(c) Piezas obtenidas luego de dos etapas de corte.
Figura 16. Patrones de corte tipo guillotina por etapas sin y con recorte. (a) Patrn de corte
tipo guillotina de 2-etapas sin recorte, (b) Patrn de corte tipo guillotina de 2-etapas con
recorte.

Por otra parte, algunos procesos industriales no estn condicionados al uso de guillotinas para
el corte bidimensional, teniendo as una tecnologa para realizar los patrones de corte con dos
grados de libertad (dos dimensiones geomtricas). 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 patrn de primer orden, consiste en un patrn de corte generado a partir
del corte estampado (cuatro cortes ortogonales que producen cinco nuevos rectngulos)
ilustrado en la Figura 11. El mismo patrn junto con cortes tipo guillotina en cualquiera de los
rectngulos generados continua siendo un patrn de primer orden (ver Figura 17). Igualmente
un corte estampado de este tipo aplicado a cualquiera de los rectngulos generados (aplicacin
39

recursiva del mismo) sigue generando un patrn de primer orden como se ilustra en la Figura
18.
Figura 17. Patrn de corte no guillotina de primer orden, resultante de corte estampado y
cortes guillotina.

Figura 18. Patrn de corte no guillotina de primer orden, resultante de cortes estampado
anidados y cortes guillotina.

El segundo tipo, denominado patrn de orden superior, es un patrn 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. Patrn de corte de Orden Superior.

Caractersticas de las piezas bidimensionales

Lodi et al. (1999) clasifican las caractersticas de las piezas en: su orientacin, su valor (o
beneficio) y su demanda (o nmero de ejemplares requeridos). En diferentes escenarios de la
industria ests caractersticas pueden estar condicionadas, adems de esto, varias

40

caractersticas a la vez pueden estar restrictas, es decir, cada combinacin de estas genera un
tipo de problema.
Existen restricciones inherentes a la orientacin 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 ingls Rotated) o su orientacin es fija (Fx, del ingls Fixed).
Figura 20. Patrones de corte bidimensionales.

Figura 21. Piezas con orientacin 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
41

inciden directamente en la funcin 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 nmero de ejemplares existentes del mismo tipo de pieza) puede
estar o no limitada (ver Figura 23). Cuando no existe un lmite mximo de copias por tipo de
pieza, se dice que el problema es tipo irrestricto (Uc, del ingls Unconstrained problem) y
cuando hay limitacin del nmero de ejemplares por tipo de pieza, se dice que el problema es
tipo restricto (C, del ingls Constrained problem).
Figura 23. Piezas con ejemplares limitados e ilimitados.

Delimitacin del problema de la mochila trabajado en este estudio

Como hemos visto anteriormente, utilizamos la clasificacin de Wscher 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 caractersticas de las piezas. La
combinacin de ests tres tipologas, genera una gran variedad de tipos de problemas. Ya que
un tipo de problema podra ser: aquellos que estn condicionados a patrones de corte
42

guillotina de dos etapas sin recorte, las piezas tienen una orientacin fija, el valor de las piezas
es ponderado (weighted) y la demanda de piezas es restricta. Utilizando una notacin similar a
la usada en las clasificaciones, diramos que el tipo de problema enunciado es: 2D2s|C|Wg|Fx|Wt|SKP, del ingls 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 nmero
de combinaciones de tipos de problemas es alto, los estudios normalmente intentan resolver
entre cuatro u ocho tipos, pero tambin 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 combinacin 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 nmero tan alto de tipos de problemas,
luego veremos que una metodologa de solucin adecuada puede resolver varios de estos, al
aplicar solo pequeos ajustes que hagan cumplir las condiciones del problema en cuestin.
Por otro lado, es importante mencionar que existe gran cantidad de trabajos sobre estos
problemas y la mayora basados en aplicaciones reales de la industria, ya que se est
considerando un nmero suficiente de caractersticas para estudiar y resolver el problema
prctico.
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
caractersticas 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 caractersticas 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 comnmente reducido a un problema de bin-packing
bidimensional (o problema de embalaje) y se adicionan las restricciones de posicionamiento
43

entre piezas, debido a que, si por ejemplo se estn 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. Caractersticas 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 caractersticas de las piezas son tenidas en cuenta. En este estudio solo
se considera las restricciones de orientacin de las piezas, es decir, si las piezas tienen una
orientacin 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
caractersticas 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 nmero de placas necesarias para
empacar todas las piezas.

Delimitacin del problema de embalaje trabajado en este estudio

En este trabajo se estudiarn solo dos tipos de problemas resultantes de la combinacin 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 ms estudiado para resolver el problema de
44

empaquetamiento en pallets el cual por definicin utiliza patrones de corte tipo no guillotina.
Por esta razn, el estudio del problema con patrones guillotina ha sido relevado a un segundo
lugar. Adems 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 clasificacin presentada por Bortfeldt
y Wscher (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 lmite de peso y la distribucin


del peso. La restriccin de lmite de peso consiste que el peso total de las cajas empacadas no
sobrepase el mximo permitido por el contenedor (ver Figura 25). Mientras que las
restricciones de distribucin 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. Lmite mximo 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.
45

Las restricciones de cajas con prioridades de empaquetamiento se derivan de las condiciones


prcticas, donde, empacar una caja puede ser ms 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. Distribucin del peso dentro del contenedor. (a) Distribucin del peso
longitudinalmente (en especial cuando el contenedor representa el compartimiento de un
camin), (b) Distribucin del peso lateralmente (en especial cuando el contenedor representa
el compartimiento de un avin).

Las restricciones inherentes a las orientaciones de las cajas se basan en que, en principio, cada
dimensin de una caja puede servir como altura, dando lugar a tres orientaciones verticales. Si
se fija una dimensin de la caja en particular, como la altura, la orientacin vertical de la caja
estar definida. Por lo tanto, solo restan dos posibles dimensiones para alinear
horizontalmente a las paredes del contenedor (orientacin horizontal de la caja). Obteniendo
as un total de seis orientaciones, segn las cuales una caja puede ser empacada
ortogonalmente en un contenedor (ver Figura 27). Sin embargo, en la prctica, el nmero de
orientaciones permitidas de una caja puede ser restringido tanto en direccin vertical y
horizontal. En general existen dos casos ms comunes: las cajas tienen una orientacin fija
tanto vertical como horizontal (es decir, las cajas no pueden rotar) y que no haya ninguna
restriccin en general con respecto a la orientacin vertical y horizontal de las cajas (Bischoff
y Ratcliff, 1995).
46

Figura 27. Posibles orientaciones de verticales y horizontales de la pieza.

Orientacin

Orientacin Horizontal

Vertical
Largo

Ancho

Largo

Alto

Ancho

Alto

Alto

Ancho

Largo

47

Figura 28. Lmite de soporte de carga (lbs, del ingls load-bearing strength).

Las restricciones de apilamiento de las cajas limitan como las cajas pueden ser puestas una
sobre otra, una aproximacin general a esta restriccin es limitar el peso mximo 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 lmite de apilamiento (usualmente medido como peso
por unidad de rea, kg/cm2). Pero sta aproximacin asume que la presin es aplicada
uniformemente sobre la superficie (cara) superior de la caja de soporte y no refleja el hecho
de que - debido a su construccin - la caja podra ser capaz de soportar una presin ms alta
en los bordes que en el centro de su cara superior. Adems, la rigidez de la cara superior de
una caja determina cmo 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 cartn), entonces el peso se transmite - ms o menos directamente hacia abajo
solo en la superficie (rea) de contacto. Si la cara superior est compuesta de un material muy
rgido (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 envo completo y


restricciones de ubicacin.
48

Las restricciones de envo completo se derivan de las condiciones prcticas, 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 ubicacin surgen solamente en problemas con mltiples 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 envo y no como un envo de
piezas.

Restricciones de posicionamiento

Las restricciones de posicionamiento condicionan la ubicacin de las piezas dentro del


contenedor, ya sea en trminos absolutos (es decir, donde las piezas deben o no ser empacadas
dentro del contenedor) o en trminos relativos (es decir, donde las piezas deben o no ser
ubicadas con relacin a otras piezas).
Las restricciones en trminos absolutos demandan que ciertas piezas sean ubicadas (o no) en
una posicin en particular o en un rea en particular del contenedor. Estas restricciones son
normalmente impuestas por el tamao, peso o el contenido de la caja. Por ejemplo, cajas
supremamente pesadas solo sern 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 fcil acceso, ser deseable ubicarla en la parte posterior
del contenedor.
Las restricciones en trminos 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
fcil verificacin y descargue de este. Por otro lado, estas restricciones tambin 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.
49

Dentro de las restricciones de posicionamiento aparecen los escenarios multi-drop, que resulta
ser una combinacin de restricciones de posicionamiento en trminos absolutos y relativos.
Una situacin 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, adems 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 travs de un grafo dirigido, donde los nodos
representan los clientes (los nodos Ci) y el punto de depsito (el nodo D), las aristas
representan el orden en que deben ser alcanzados los clientes, iniciando la ruta desde el
50

depsito. 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 patrn de carga

Existen dos restricciones relacionadas con el patrn 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 patrn de carga a menudo son consideras ms importantes
que el mismo objetivo general de maximizar el espacio utilizado, debido a que un
empaquetamiento inestable puede resultar en daos a la carga e incluso puede llegar a herir al
personal encargado de las operaciones de carga y descarga de las cajas. En situaciones
prcticas, la estabilidad del patrn 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 patrn de carga, se pueden distinguir dos tipos: estabilidad
vertical y estabilidad horizontal. La estabilidad vertical (tambin llamada: estabilidad esttica,
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 patrn 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 fraccin mnima (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 patrn de carga. A
diferencia cuando se relaja el porcentaje de la base de la caja, esto puede derivar a alcanzar

51

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 tambin llamada estabilidad dnamica) garantiza que las cajas no
se muevan significativamente mientras el contenedor est en movimiento. Por lo tanto, esta se
refiere a la capacidad del patrn 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 patrn de carga, garantizan que el embalaje pueda ser
alcanzado a travs de la tecnologa disponible. Por un lado, un patrn de carga puede no ser
aceptable para la carga de contenedores manual, porque esos patrones no siempre pueden ser
52

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 esttica) del patrn de carga. (a) Patrn de carga con
estabilidad vertical exigiendo soporte completo de la base de todas las cajas. (b) Patrn de con
estabilidad vertical exigiendo una fraccin mnima 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. Patrn de carga libre.

Tecnologas de embalaje mecnicas y automticas ms avanzadas, por otra parte, no siempre


son adecuadas para los patrones de carga complejos y pueden requerir la participacin de
53

mano de obra adicional, representando ms costos (ver Figura 34). Las restricciones de
complejidad reflejan las limitaciones de los recursos tecnolgicos y humanos (Bischoff y
Ratcliff, 1995).
Figura 33. Carga/Descarga manual de un contenedor.

Figura 34. Carga/Descarga mediante tecnologas mecnicas o automticas.

La restriccin de complejidad considerada ms frecuentemente, es la restriccin de corte


guillotina. Un patrn tipo guillotina (ms precisamente: diseo guillotinado, patrn de corteguillotinado) representa un tipo de patrn de carga que puede ser fcilmente descrito y
empacable. Se dice que un patrn de carga es guillotinado, si se puede obtener por una serie
de cortes paralelos a las caras del contenedor (ver Figura 35). La generacin 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).
54

Figura 35. Patrn de carga guillotinado, representacin de los cortes paralelos al contenedor
aplicados por etapas.

Delimitacin del problema de carga del contenedor trabajado en este estudio

En este trabajo se estudiarn el problema de carga del contenedor a medida que se incorporan
restricciones que representan condiciones prcticas del problema en la vida real. Comenzando
por la inclusin de las restricciones de orientacin de las piezas que resulta ser la restriccin
ms tenida en cuenta en la literatura. Adems de esto, agregar las restricciones de lmite
mximo de peso de apilamiento entre cajas y con esta, la restriccin de lmite mximo 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 inters en la industria pero an han sido poco estudiadas y las metodologas
propuestas parecen no explotar todas las caractersticas de este tipo de embalaje. En general,
en la literatura solo se encuentra un trabajo que rena todas estas restricciones prcticas
(Ceschia y Schaerf, 2013).

55

Captulo 3.
Problema de la mochila bidimensional
El problema de corte ptimo es considerado clsico dentro de la investigacin de
operaciones debido a su gran espectro de aplicacin en la industria y su alta complejidad tanto
matemtica como computacional. En este trabajo se presenta el problema de la mochila
bidimensional. Se describe el modelo matemtico aplicado por diferentes grupos de
investigacin que estudian esta temtica. Se propone un tipo de codificacin para ser aplicada
en este problema y se resuelve mediante un algoritmo de optimizacin que combina las
principales caractersticas de cmulo de partculas, recocido simulado y algoritmos genticos.
Para comprobar la eficiencia de la metodologa presentada se tomaron casos de prueba de la
literatura especializada, se analizan y comparan los mtodos de solucin presentados con los
del estado del arte del problema.
3.1. Introduccin
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 ms pequeas, de las que se conoce el tamao y un costo asociado, el
objetivo es maximizar el valor de las piezas cortadas.
Las caractersticas 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 orientacin de las piezas a ser ubicadas, es decir, la orientacin 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 rotacin (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 three56

staged versions), y sin etapas de corte (non-staged version), adems en estos se


permite un post-proceso de recorte (with trimming version). Mientras que en los noguillotina se diferencian los patrones de: primer orden (first order version) y orden
superior (superior order version).
iv)

La demanda de piezas o el lmite mximo del nmero 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 programacin dinmica para resolver el problema. Este
algoritmo es aplicable a las versiones donde las piezas tienen valores ponderados y no
ponderados. (Herz, 1972) propone un mtodo de bsqueda recursiva de rbol, su mtodo es
ms 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 heurstica DH (de las siglas en ingles Depth-first
search y Hill-climbing strategies) basada en un proceso de bsqueda primero en profundidad
y estrategias de aceptacin de empeoramientos. El algoritmo KD (de las siglas en ingls
Knapsack problem usando Dynamic programming) fue presentado por (Fayard y
Zissimopoulos, 1995) para resolver el problema basado en la solucin de problemas de la
mochila unidimensional, resultando eficiente para problemas de gran tamao. Este algoritmo
tambin usa una estructura de grafo, pero slo considera el primer nivel del rbol, a diferencia
del DH que consiste en desarrollar un rbol limitado por un parmetro de profundidad (Herz,
1972; Christofides y Whitlock, 1977; Morabito et al., 1992).
(Hifi, 2001) presenta un algoritmo hbrido 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 programacin
dinmica basada en eficientes lmites 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 ms eficiente. Este es actualmente uno de los
algoritmos exactos con mejor desempeo para resolver el problema irrestricto.
57

Existen dos tcnicas generales utilizadas para resolver los problemas restrictos: top-down y
bottom-up. (Christofides y Whitlock, 1977) propusieron originalmente el enfoque de topdown, el cual genera todos los posibles patrones de solucin en forma recursiva, dividiendo
cada placa en dos nuevas. La mayora 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 combinacin de dos patrones horizontal o verticalmente construidos a partir de
otros dos patrones. El enfoque bottom-up requiere una gran cantidad de memoria, razn por
la cual la implementacin de un algoritmo de este tipo es poco atractivo. Sin embargo,
(Young-Gun et al., 2003) propusieron un algoritmo que parte de una solucin inicial de buena
calidad y utiliza el algoritmo constructivo bottom-up como estrategia para generar las ramas,
disminuyendo el nmero 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 formulacin de programacin lineal 0-1 para el problema
utilizando variables de decisin binarias para las posiciones donde sern cortadas las piezas de
la placa; desarrollaron relajaciones Lagrangeanas y las utilizaron como lmites en los
procedimientos de bsqueda en el rbol correspondiente (los lmites son mejorados usando la
optimizacin 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 decisin izquierda, derecha, arriba y abajo, relativas a la
posicin de cada par de piezas que se cortarn de la mochila (con restricciones disyuntivas
para las opciones mltiples); en stos se sugiere resolver los modelos empleando algoritmos
branch-and-bound explorando estructuras particulares de las mencionadas restricciones. Otra
formulacin lineal binaria aparece en (Boschetti et al., 2002; Egeblad y Pisinger, 2009), y una
formulacin 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).

58

El mtodo presentado en (Fekete et al., 2007) est basado en un rbol de bsqueda de dos
niveles que combina el uso de una estructura de dato especial para caracterizar cortes factibles
con lmites 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) slo para generar patrones de primer
orden en los contenedores. Este enfoque recursivo de particionamiento combina versiones
refinadas de ambas heursticas 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 rectngulos de rectngulos mayores y piezas en forma de
ele (L).
Diferentes heursticas basadas en bsqueda local aleatoria, ubicacin bottom-left, bsqueda en
grafos, etc., y diferentes metaheursticas basadas en algoritmos genticos, bsqueda 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-Valds et al., 2007; Gonalves, 2007; Huang y Chen, 2007; Chen y Huang, 2007;
Bortfeldt y Winter, 2009; Egeblad y Pisinger, 2009; Wei et al., 2009).
Los mtodos basados en mtodos no lineales para empaquetamiento de rectngulos 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 mayora de estos estudios han sido
desarrollados para el problema restricto, que puede ser ms interesante para ciertas
aplicaciones prcticas con relativa baja demanda de los tems ordenados. Sin embargo, parte
de esos mtodos podran no funcionar bien cuando se resuelve el problema irrestricto,
especialmente aquellos cuyo comportamiento computacional es altamente dependiente en el
total del nmero de tems ordenados. Por otro lado, el problema irrestricto es particularmente
interesante para aplicaciones del problema cutting-stock con produccin de gran escala y con
tems levemente heterogneos (es decir, relativamente pocos tipos de piezas pero muchas
copias del mismo tipo), en el cual el problema utiliza el procedimiento de generacin de
columnas, como lo indican muchos autores desde el estudio pionero (Gilmore y Gomory,
1965).
59

3.2. Descripcin del problema


El problema de la mochila bidimensional estudiado en este trabajo se define como:
cortar de un rectngulo que se denomina mochila (placa, lmina u objeto) de alto H y ancho
W, un conjunto de rectngulos de cardinalidad n que se denominan piezas (tems) de alto hi ,
ancho wi, nmero de ejemplares bi y costo asociado ci (donde i = 1,..., n). El objetivo es dado
por la Ecuacin 1 y consiste en maximizar el costo asociado del conjunto de piezas cortadas,
zi es una variable entera que indica el nmero de ejemplares de la pieza i que deben ser
cortados.
max

c z
i =1

Sujeto a:

(1)

Las piezas empacadas no deben superar los lmites 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 caractersticas de estas variantes pueden ser
incorporadas al adicionar expresiones o modificar alguna de estas.
Las caractersticas 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 Expresin 1 representa perfectamente esta variante. Por otro lado, si el costo
asociado de la pieza debe ser el rea, debe ser agregada la Expresin 5.

ii)

(5)

La orientacin de las piezas: si la orientacin de las piezas es fija, no es necesario


agregar ninguna expresin. 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), adems
se debe agregar la Expresin 6.

60

iii)

(6)

Las piezas pueden rotar 90

Los patrones de corte: para los patrones tipo guillotina se debe agregar la expresin
correspondiente. La Expresin 7 para los patrones tipo guillotina de dos etapas, la
Expresin 8 para los patrones tipo guillotina de tres etapas y la Expresin 9 para los
patrones tipo guillotina sin etapas. Por otro lado, para los patrones tipo no guillotina,
se debe agregar la Expresin 10 si se requiere un patrn de corte no guillotina de
primer orden, de lo contrario, si el patrn de corte es no guillotina de orden superior no
es necesario agregar ninguna expresin.

Solo el uso de cortes guillotina son permitidos y mximo dos etapas de corte

(7)

Solo el uso de cortes guillotina son permitidos y mximo 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 patrn de corte es una restriccin fuerte en este trabajo.
iv)

La demanda de piezas o el lmite mximo del nmero de piezas a cortar de cada tipo:
si no existe un lmite mximo de ejemplares por tipo de pieza se debe modificar la
Expresin 4 por la Expresin 11. Por otro lado, si ha sido impuesto un lmite mximo
bi de ejemplares por tipo de pieza no es necesario agregar ninguna expresin.

, donde Mi es un nmero lo suficientemente grande. =

(11)

3.3. Modelo matemtico


Distintos modelos matemticos para representar los mismos tipos de problema han
sido propuestos, con el fin de encontrar mejoras en la solucin a travs de un modelamiento
eficiente, es por esto que en este estudio se hace una revisin de los diferentes modelos y se
exponen solamente dos porque son los ms cercanos a los problemas tratados, adems de
presentar resultados satisfactorios para el problema de la mochila bidimensional.
(Gilmore y Gomory, 1961; 1963) presentan el primer modelo matemtico para el problema de
corte y empaquetamiento unidimensional. (Gilmore y Gomory, 1965; 1966) estudian
61

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 teora de grafos. (Beasley,
1986) estudi el problema de la mochila con patrones de corte tipo no guillotina, proponiendo
un modelo de programacin 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 polgonos convexos y no convexos.
(Fekete y Schepers, 1997) usan la teora 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 explcitamente restricciones
de corte tipo guillotina (pero solo una parte de los patrones guillotina son considerados).
(Beasley, 2004) presenta una nueva formulacin de corte no guillotina. Una buena revisin de
los modelos existentes est disponible en (Lodi et al., 2004).
Un modelo matemtico lineal entero-mixto para el problema de empaquetamiento
tridimensional en contenedores, con nmero polinomial de variables y restricciones, es
presentado por (Chen et al., 1995), este modelo puede ser visto como una extensin a la
tcnica de modelamiento propuesta por (Onodera et al., 1991). Para un problema de ubicacin
de bloques bidimensionales, el modelo se basa en la enumeracin 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
solucin de instancias prcticas de empaquetamiento. La misma tcnica fue usada por
(Daniels et al., 1994) para modelar el problema de empaquetamiento general (bidimensional)
de polgonos, en este mismo caso, el uso directo del modelo prueba ser ineficiente en la
prctica. (Ben et al., 2008) presentan un modelo basado en la caracterizacin y modelamiento
de los patrones guillotina para el problema de empaquetamiento en rollos infinitos (strip
packing problem), el cual puede ser fcilmente adaptado para el problema de la mochila.
Como se muestra en la revisin bibliogrfica anterior no existen modelos matemticos que
describan completamente todo los problemas de inters en este estudio. Pero algunos modelos
propuestos en la literatura son fcilmente adaptables, por otro lado, se sabe que estos modelos
no son satisfactorios en la resolucin de casos prcticos del problema en la vida real (Beasley,
62

2004; Ben et al., 2008; Chen et al., 1995). El enfoque de este trabajo es una metodologa
aproximada dado que el objetivo es resolver aplicaciones reales. Por esta razn el modelo
matemtico es slo ilustrativo.
A continuacin, se presenta un modelo de programacin lineal entera mixta para el problema
de empaquetamiento ptimo de la mochila bidimensional irrestricta basado en la
caracterizacin de los patrones de corte tipo guillotina y el uso de coordenadas donde pueden
ser ubicadas las piezas (ver Figura 36). Este es una adaptacin 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 ubicacin de las piezas en la mochila:
1 si la pieza k es empacada en ( i, j )

zi , j ,k =

0 de lo contrario

Las siguientes variables de decisin intermedias tambin son necesarias para garantizar que
no existan traslapes entre piezas:
1 si la pieza en ( i, j ) , no excede (horizontalmente) xi ' con i ' > i
ui , j ,i ' =

0 de lo contrario

1 si la pieza en ( i, j ) , no excede (verticalmente) yi ' con j ' >


vi , j , j ' =

0 de lo contrario

Los siguientes tres conjuntos de variables binarias son necesarios para garantizar las
restricciones guillotina:

pi1 ,i ', j1 , j2

1,

0,

si no hay pieza entre ( i1 , j1 ) y ( i ' 1, j2 ) que exceda xi ' (consecuentemente,

un corte vertical en xi ' no cruza ninguna pieza empacada entre ( i1 , j1 ) y

( i ' 1, j2 ) ), i ' > i1

de lo contrario

qi1 ,i2 , j1 , j '

1,

0,

si no hay pieza entre ( i1 , j1 ) y ( i2 , j ' 1) que exceda y j ' (consecuentemente,

un corte horizontal en y j ' no cruza ninguna pieza empacada entre ( i1 , j1 ) y

( i2 , j ' 1) ), j' > j1

de lo contrario

63

1, si existe mnimo una pieza empacada entre ( i1 , j1 ) y ( i2 , j2 )


di1 ,i2 , j1 , j2 =

0, de lo contrario

La formulacin completa del problema de empaquetamiento ptimo guillotinado de la


mochila bidimensional irrestricta (weighted fixed version) es la siguiente:
Figura 36. Modelamiento y disposicin de piezas sobre la mochila.

c z

Maximizar

k i , j ,k

=i 1 =j 1

(12)

k ,

(13)

sujeto a 0 x1 x2 xn ,

(14)

0 y1 y2 yn ,
n

=i 1 =j 1
n

i , j ,k

k 1
=i 1 =
n

i , j ,k

=j 1 =
k 1

i , j ,k

1 k ,

(15)

1 j ,

(16)
(17)

1 i,

xi ' xi wk zi , j ,k ( ui , j ,i ' 1) W

i, j , i ' > i,

(18)

k =1
n

xi ' xi wk zi , j ,k ui , j ,i 'W

i, j , i ' > i,

(19)

k =1

y j ' y j hk zi , j ,k ( vi , j ,i ' 1) H

i, j , j ' > j ,

(20)

k =1
n

y j ' y j hk zi , j ,k ui , j , j ' H

i, j , j ' > j ,

(21)

1 i1 , j1 , i2 > i1 , j2 > j1 ,

(22)

k =1

(1 d

i2

i1 ,i2 , j1 , j2

j2

)n z
=i i 1=j j1=
k 1

i , j ,k

64

j2

pi1 ,i ', j1 , j2 zi ', j ,k

i1 , j1 , j2 > j1 , i ' > i1 ,

=j j1=
k 1
j2

i ' 1

pi1 ,i ', j1 , j2 zi , j ,k

i1 , j1 , j2 > j1 , i ' > i1 ,

( i ' i1 )( j2 j1 + 1) pi ,i ', j , j

ui , j ,i '

=i i 1=j j1=
k 1

i2

qi1 ,i2 , j1 , j ' zi , j ',k


=i i1=
k 1
i2

i ' 1

j2

=i i 1=j j1

i1 , j1 , i2 > i1 , j ' > j1 ,

j ' 1 n

qi1 ,i2 , j1 , j ' zi , j ,k

i1 , j1 , i2 > i1 , j ' > j1 ,

=i i 1=j j1=
k 1

i2

j ' 1

( j ' j1 )( i2 i1 + 1) qi ,i , j , j ' vi , j ,i '


1 2

di1 ,i2 , j1 , j2 +

i2

i '=i1 +1
n

pi1 ,i ', j1 , j2 +

W xi + wk zi , j ,k

i1 , j1 , j2 > j1 , i ' > i1 ,

=i i 1=j j1

j2

i1 ,i2 , j1 , j '
j '=
j1 +1

i1 , j1 , j2 > i1 , j ' > j1 ,

1 i1 , j1 , i2 > i1 , j2 > j1 ,

(24)
(25)
(26)
(27)

(28)
(29)

i,

(30)

j ,

(31)

=j 1 =
k 1

H y j + hk zi , j ,k

(23)

=i 1 =
k 1

zi , j ,k {0,1} i, j , k ,

(32)

ui , j ,i ' {0,1} i, j , i ' > i,

(33)

vi , j , j ' {0,1} i, j , j ' > j ,


di1 ,i2 , j1 , j2 , pi1 ,i2 , j1 , j2 , qi1 ,i2 , j1 , j2 {0,1} i, j , i2 > i1 , j2 > j1 ,

(34)
(35)

En la formulacin anterior, las Restricciones 15 - 17 garantizan que cada posicin 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 tambin se
cumple para todo el patrn 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 funcin

65

objetivo es maximizar la sumatoria del costo asociado de las piezas empacadas en la placa
(ver Ecuacin 12).
El modelo que representa la versin con valores de piezas no ponderados (unweighted
version) del problema, es igual al anterior, modificado solo en la funcin objetivo, es decir la
Ecuacin 12 es reemplazada por la Ecuacin 36.

Maximizar

w l z

=i 1 =j 1

k k i , j ,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 restriccin esta activa y las otras son
redundantes (por ejemplo, existe siempre una restriccin redundante entre 18 y 19).
Por esta razn, la relajacin PL del modelo obtiene un lmite inferior de mala calidad. El
modelo presenta una alta complejidad matemtica que en la prctica lo hace inexplotable a
travs del software y hardware actual disponible para la programacin entera mixta (para ms
detalle de este modelo ver (Ben et al., 2008)).
A continuacin se presenta el modelo matemtico 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
nmero Qi de ejemplares idnticos de cada pieza i con un beneficio asociado vi (rea de la
pieza cuando no se especifica, para la versin 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 posicin 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 ubicacin. Las coordenadas centrales estn limitadas por las
Ecuaciones 37 y 38:
Li / 2 xip L0 Li / 2, i = 1,, m; p = 1,, Qi

66

(37)

Wi / 2 y ip W0 Wi / 2, i = 1, , m; p = 1, , Qi

(38)

Buscando asegurar que se corte un nmero mnimo apropiado de piezas del cada tipo que se
tiene la Ecuacin 39:
z ip = 1, i = 1,, m; Pi > 0; p = 1,, Pi

(39)

Figura 37. Representacin de la codificacin.

Tomada de (Beasley, 2004).


Esta restriccin 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
traslapndose (la p-sima copia de i, donde p es la cantidad de copias que se utilizarn de la
pieza i y la q-sima copia de j, donde q es la cantidad de copias que se utilizarn de la pieza j)
esto se puede expresar como la condicin que se requiere:
xip x jq (Li + L j )/ 2

yip y jq (Wi + W j )/ 2

(40)

Esto quiere decir que la diferencia entre las coordenadas x centrales es suficiente

( (L

+ L j ) / 2 ) para asegurar que las piezas no se traslapan, o que la diferencia entre las

coordenadas centrales y es suficiente ( (Wi + W j ) / 2) para asegurar que las piezas no se


traslapan. Esta restriccin de superposicin fue planteada en primer lugar por (Christofides,
1974) en el contexto del problema del rodillo (strip packing). Para simplificar la notacin se

67

define ij = (Li + L j ) / 2 y ij = (Wi + W j ) / 2 , luego la condicin anterior (Expresin 40)


puede ser escrita de la siguiente manera:
xip x jq ij 0

yip y jq ij 0

(41)

Por lo tanto, la restriccin para prevenir traslape entre las piezas cortadas es:

max xip x jq ij , yip y jq ij z ip z jq 0,

(42)

Teniendo i = 1,, m; j = 1,, m; p = 1,, Qi ; q = 1,, Q j (i j p q )


Donde zip zjq inactiva la restriccin 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 formulacin completa del problema de corte y empaquetamiento bidimensional no
guillotina irrestricto es entonces:
Maximizar

Qi

vz
i =1 p =1

ip

(43)

Sujeto a:

max xip x jq ij , yip y jq ij z ip z jq 0,


z ip = 1,

i = 1,, m; j = 1,, m; p = 1,, Qi ;


q = 1,, Q j (i j p q ) ,

(44)

i = 1,, m; Pi > 0; p = 1,, Pi ,

(45)

Li / 2 xip L0 Li / 2,

i = 1,, m; p = 1,, Qi ,

(46)

Wi / 2 yip W0 Wi / 2,

i = 1,, m; p = 1,, Qi ,

(47)

z ip (0,1),

i = 1,, m; p = 1,, Qi ,

(48)

Acerca de la formulacin 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 Expresin 44 es
automticamente satisfecha.

(b)

La restriccin de traslape presentada previamente (Expresin 44) contiene


redundancia, ya que si tuviramos que escribir esta restriccin de traslape completa
68

para cualquier ejemplo en particular, encontraramos exactamente la misma ecuacin


matemtica apareciendo dos veces (por ejemplo, para i = 3, p = 1 y j = 7, q = 2 se
obtiene la misma ecuacin que para i = 7, p = 2 y j = 3, q = 1).
(c)

La formulacin presentada anteriormente es vlida 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 prdida 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 formulacin presentada por (Beasley, 2004) es para el problema restricto, se
debe adaptar limitando de manera implcita el nmero de copias posibles de cada pieza

L W
mediante la expresin Qi = .
li wi
La formulacin del problema es no lineal, involucrando como sucede con la Expresin 44 la
maximizacin de dos trminos modulares y el producto de dos variables binarias.
Utilizando =1 , luego la formulacin tiene 3M variables y O(M2) restricciones

(excluyendo los lmites de las variables). La formulacin presentada en (Beasley, 1986), el


nmero de variables y restricciones estaba en funcin del tamao de la mochila rectangular
(L0, W0). La formulacin presentada aqu, en trminos del nmero de variables y restricciones
no involucra el tamao de la mochila original. En trminos generales se puede decir que la
formulacin presentada es ms compacta que la ofrecida en (Beasley, 1986), principalmente
debido a la representacin no lineal de la restriccin de traslape en la Expresin 44.
Debido a la gran cantidad de variantes del problema de la mochila tenidas en cuenta en este
trabajo, son ilustrados solamente dos modelos matemticos y se hacen algunas indicaciones
de cmo 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
formulacin matemtica en la literatura. Lo que dificulta una comparacin y una medida de
calidad de la metodologa de solucin propuesta en este trabajo. Por otro lado, las
formulaciones matemticas estn fuera del alcance de este estudio, por lo que se realizar una
comparacin directa con los resultados alcanzados con otras metodologas de solucin
(aproximadas) propuestas en la literatura.
69

3.4. Metodologa de solucin


Dado la diversidad de las variantes del problema propuesto en este trabajo, se tiene
como objetivo definir un esquema general de optimizacin para resolver todas las variaciones
propuestas. Siendo este uno de las contribuciones principales en este estudio.
El esquema general de optimizacin 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 caractersticas de solucin para las especificaciones del problema de
la mochila bidimensional. La Figura 38 ilustra los componentes del esquema de optimizacin
general.
Figura 38. Esquema general de optimizacin propuesto para el problema de la mochila.
1. Codificacin y/o representacin de los espacios (espacio resultante o an vacio)
2. Construccin de bloques (bloques simples o compuestos)
3. Seleccin de uno de los espacios vacos (definicin de criterios de desempates)
4. Seleccin de uno de los bloques (simples o compuestos) de acuerdo a la funcin objetivo
5. Posicionamiento del bloque sobre el espacio seleccionado
6. Gerenciamiento de la solucin construida
7. Refinamiento de la solucin

La mayora de las metodologas aproximadas presentadas en la literatura siguen


implcitamente este esquema (al menos parcialmente) o podran encajarse en trminos
generales. A continuacin se describen cada uno de tems del esquema propuesto.
Codificacin y/o representacin de los espacios
Consiste en cmo sern representadas: las piezas ubicadas en la mochilas y los espacios libres
restantes de esta (ver Figura 39).
Figura 39. Pieza, mochila y ubicacin de una sobre la otra.

70

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
codificacin escogida se intentar explotar las caractersticas inherentes de esta, esto quiere
decir que no solo escoger la codificacin 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 ubicacin de las piezas sobre los espacios
vacos.

71

Construccin de bloques (bloques simples o compuestos)


Consiste en la creacin de estructuras de piezas ms 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 ms
complejas que se pueden elaborar son bloques con forma tambin rectangular. Los bloques
son divididos en dos clases: simples y compuestos, que se diferencian en el momento de su
fabricacin. 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 rectngulo.
Figura 41. Elaboracin de bloques: simples y compuestos.

La Figura 41 ilustra la elaboracin de bloques simples y compuestos dado un conjunto de


piezas demandadas. La creacin de bloques simples se realiza juntando piezas del mismo tipo,
primero en direccin 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 elaboracin de bloques compuestos puede realizarse de
72

diferentes maneras, suele fijarse un tipo de pieza e ir recorriendo los tipos restantes para
formar una estructura lo ms rectangular posible, como no suelen coincidir las dimensiones de
unas piezas con los mltiplos de las otras, se debe definir un gap (un margen de prdida, 2%
es recomendado por Zhu et al., (2002)) y relacionar esta informacin durante el proceso de
optimizacin.
Seleccin de uno de los espacios vacos
Consiste en definir los criterios de seleccin del espacio vaco a ser llenado debido a que
durante el proceso se puede tener varios candidatos. Dependiendo del orden en que son
escogidos los espacios se obtendrn diferentes respuestas (soluciones o patrones de corte).
Existen diferentes criterios de seleccin:
(Wu, 2002) propone que la forma ms eficiente es ir llenando los espacios ms lejanos del
centro de la mochila (es decir, escoger los espacios ms 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 medicin que comnmente 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 seleccin es de acuerdo a su rea (en este caso el ndice de medicin es el rea
del espacio). Por sentido comn, los espacios ms pequeos (de menor rea) deberan ser los
primeros en rellenarse.
Adems de esto indiferente del criterio de seleccin, se debe pensar que suelen ocurrir
empates, es decir, ms de un espacio es candidato (tiene el mejor ndice de medicin) a ser
el siguiente en rellanarse. Por lo que se debe definir un criterio de desempate, en algunos
casos se utiliza el criterio de seleccin complementario o tambin suele usarse un orden
lexicogrfico de las dimensiones del espacio.
Seleccin de uno de los bloques de acuerdo a la funcin objetivo
Consiste en definir una estrategia de seleccin de la pieza (o bloque de piezas) a ubicarse en el
espacio vaco seleccionado. En la literatura existen diferentes estrategias como: escoger la
pieza que mejor encaje (best-fit) en el espacio vaco, escoger la pieza que ocupe mayor rea
(max area) del espacio vaco, escoger la pieza que produzca mayor beneficio (best-profit),
escoger la pieza segn una medida relativa o un ndice de calidad especializado, etc. En la
Figura 42 se ilustran dos de las estrategias ms usadas en la literatura.
73

Figura 42. Estrategias de seleccin de la pieza a ubicarse en el espacio vaco.

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 vaco. Existen estrategias como: fijar una esquina del espacio vaco donde
siempre debe ser ubicada la pieza (como es realizado en la heurstica constructiva de la
esquina inferior izquierda, bottom-left corner heuristic) o escoger una de las esquinas basado
en un criterio especfico (por ejemplo, la esquina ms cercana a una de las esquinas de la
mochila (Wu, 2002).
Gerenciamiento de la solucin construida
Las cinco cuestiones anteriores involucran diferentes escenarios debido a la presencia de
diferentes criterios de ejecucin de una misma tarea y decidir sobre cualquiera de ellos
afectar directamente el patrn de empaquetamiento (la solucin) obtenido.
La mayora de las metodologas propuestas suelen tomar nicamente decisiones deterministas,
basadas en lmites inferiores y superiores o en la previsin de los posibles patrones (tree
search procedures). Por otro lado, existen metodologas 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 podrn ser alcanzados (algoritmos heursticos
y metaheursticos).
Esto quiere decir que, el gerenciamiento de la solucin consiste en la definir una filosofa que
relacione cada uno de los criterios seleccionados. Adems de proporcionar herramientas que
brinden flexibilidad en la elaboracin de los patrones de corte y empaquetamiento.

74

Refinamiento de la solucin
Dependiendo de la metodologa propuesta es posible definir procedimientos que ayuden a
refinar o mejorar la solucin obtenida.
Esta etapa es comnmente aplicada en metodologas basadas en metaheursticas, 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 optimizacin para los problemas de corte.
1.

Representacin de los espacios vacos:

Uso de la codificacin de rboles de corte para la subdivisin del problema y administracin


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 noguillotina de primer orden.

2.

Construccin de bloques:

No es generado ningn tipo de bloque y durante todo el proceso se maneja la informacin


pieza por pieza.

3.

Seleccin de uno de los espacios vacos:

4.

Uso del criterio del espacio con menor rea.

Seleccin de uno de los bloques:

Clculo y seleccin 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:

Fijacin de la esquina inferior izquierda como punto de referencia para la ubicacin de todos
los bloques.

6.

Gerenciamiento de la solucin construida:

Uso de un algoritmo PSO mejorado para encontrar los valores ptimos del rbol de cortes.

Uso de un algoritmo constructivo de generacin de capas para la ubicacin de las piezas


dentro de los sub-espacios.

7.

Refinamiento de la solucin:

No es realizado ningn refinamiento sobre las soluciones parciales, ni la solucin final.

Esquema de optimizacin propuesto


Uno de los objetivos de este trabajo era definir un esquema nico de optimizacin para las
diferentes variantes del problema de la mochila bidimensional. Pero debido a las diferencias
75

filosficas 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
optimizacin para los problemas de corte y empaquetamiento, respectivamente.
Figura 44. Esquema general de optimizacin para los problemas de empaquetamiento.
1.

Representacin de los espacios vacos:

Uso de la codificacin de rboles de corte para la subdivisin del problema.

Uso de nodos mixtos.

Uso de los espacios mximos para la ubicacin directa de las piezas y bloques de piezas sobre
los sub-espacios.

2.

Construccin de bloques:

3.

Seleccin de uno de los espacios vacos:

4.

Elaboracin de bloques compuestos, con un margen de prdida (gap) del 2%.


Uso del criterio del espacio ms cercano a una de las esquinas.

Seleccin de uno de los bloques:

Clculo y seleccin 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 seleccin de espacios) como punto de referencia para la
ubicacin del bloque seleccionado.

6.

Gerenciamiento de la solucin construida:

Uso de un algoritmo PSO mejorado para encontrar los valores ptimos del rbol de cortes.

Uso de un algoritmo constructivo de generacin de capas para ubicacin de las piezas dentro
de los sub-espacios.

7.

Refinamiento de la solucin:

No es realizado ningn refinamiento sobre las soluciones parciales, ni la solucin final.

A continuacin se presentan uno a uno los elementos utilizados en el esquema de


optimizacin propuesto.
3.4.1. Codificacin propuesta
Wong et al., (1988) presentan una estructura de codificacin de datos para el problema de
diseo de planta (VLSI, Very Large Scale Integration) denominada rbol de cortes. Una de
las grandes ventajas de la representacin en rbol de cortes es la generacin de patrones de
76

corte tipo guillotina y no guillotina de primer orden. Diferentes metodologas propuestas han
corroborado la efectividad de la codificacin en rbol de cortes, en especial las presentadas
por (Krger, 1995), (Cui, 2007a y 2007b) y (Toro et al., 2008).
Figura 45. Representacin de cortes y disposicin de las piezas a travs de un rbol de cortes.

Un rbol de cortes se define como: un rbol con raz, donde cada nodo interno (padre)
representa la posicin 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 subespacios generados para cortar las piezas agrupadas (ver Figura 45).
La Figura 46 ilustra un rbol de cortes para el problema, en este el nodo raz (nivel 1) indica
cmo y dnde un corte perpendicular al largo de la mochila debe realizarse. La jerarqua del
rbol denota que el nodo (hijo) izquierdo representa un corte perpendicular al ancho del subespacio 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 sern ubicadas por capas las piezas.
Por lo tanto, el rbol de cortes contiene en sus nodos internos la informacin sobre la
orientacin 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 subespacios resultantes.
77

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

Figura 47. Ejemplo de un rbol de cortes.

78

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 orientacin (representado a travs del signo, positivo si es perpendicular al largo y negativo
si es perpendicular al ancho) y la distancia de los cortes (representada a travs de un nmero
del 0 al 1, donde este es la proporcin). Por lo tanto, el nodo raz 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 gua el proceso de
corte y en las hojas finalmente se almacenarn los sub-espacios.
Tabla 1. Dimensiones de los sub-espacios.
Sub-espacio

Largo

Ancho

1
2
3
4

500
500
500
500

200
300
350
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 continan representando las
dimensiones de los sub-espacios resultantes.
Figura 48. Estampado sobre la mochila Nodo estampado no guillotina representado
grficamente sobre la mochila.

79

Figura 49. rbol de cortes con un nodo estampado, rbol de primer nivel.

e
e

Primera Capa

S1

S5
S2

S3

S4

Figura 50. rbol de cortes de dos capas (dos niveles).

Figura 51. Dimensiones resultantes de los cinco espacios, producidos a travs de cuatro
cortes (nodo estampado).

Por ejemplo, la Figura 49 (primer nivel) ilustra un rbol de cortes. Una ventaja de este tipo de
codificacin es que cualquier conjunto de valores del rbol produce un patrn 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.
80

Luego de obtener las dimensiones de los sub-espacios se debe dar paso a la ubicacin de las
piezas, para esto se utiliza una heurstica de creacin de capas, la cual utiliza una
representacin del espacio libre llamada espacios mximos no disjuntos (en orden para
conservar las restricciones de corte tipo guillotina y corte tipo no guillotina de primer orden se
utiliza una representacin de espacios mximos residuales disjuntos).
3.4.2. Representacin del espacio libre: espacios mximos residuales
Un espacio mximo, como su nombre lo indica, consiste en una sub-mochila rectangular de
tamao lo mximo posible, identificable en el espacio libre restante de la mochila despus de
ubicar una pieza (o una capa de estas). En la Figura 52 se muestran los espacios mximos en
la mochila que estn 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 mximos seleccionados y definidos deben ser disjuntos.
Figura 52. Espacios mximos, tomado de (Parreo et al., 2008).

3.4.3. Algoritmo heurstico constructivo de creacin de capas


Se trata de un constructivo (Parreo et al., 2008), cuya estrategia de empaquetamiento
consiste en ir llenando a travs de la construccin de capas de piezas desde una esquina
seleccionada. En la Figura 53 se muestra cmo se construye una capa a partir de alguna de las
piezas disponibles.
81

La especificacin del algoritmo constructivo es la siguiente:


1)

Se identifican los espacios mximos 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.

Piezas

Capa Horizontal
3

3
3

3
3

2)

Capa Vertical

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) Mximo beneficio: Se elije la pieza que genere la capa (sea vertical u horizontal) el
mayor beneficio. La configuracin ganadora, se adiciona en el sub-espacio
mximo que se est llenando. En la versin con valores de piezas no ponderados la
configuracin seleccionada se basa en el rea que ocupa y en la versin ponderada
sera el beneficio asociado a la capa.
b) Mejor ajuste: Se elige la capa que queda ms cerca de los lmites del sub-espacio
mximo 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 adicionarn, 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 sera equivalente
a una capa con distancia de ajuste 0. En la Figura 55 se ilustra la relacin.

82

Figura 54. Si la distancia entre la capa y el lmite de sub-espacio es menor, se dice que
Ajuste

presenta un mejor ajuste (best-fit).

Capa Horizontal

Capa Vertical
4
4
4

4
Distancia de ajuste

Figura 55. Cuando el ndice es mayor, la capa generada presenta un mayor aprovechamiento
U

rea Capa Ideal


rea Capa

del espacio delimitado por la lnea discontinua denominado capa ideal.

4
4
4
4

ndice rea = rea Capa / rea Capa Ideal

3)

Una vez elegida la pieza y la orientacin de la capa se actualizan los sub-espacios


mximos y se regresa al paso uno hasta que no existan espacios mximos libres.

Cabe resaltar que para los problemas con restricciones de corte tipo guillotina por etapas, solo
es permitido la creacin de capas en un nico sentido (vertical u horizontal), el cual debe
corresponder a la orientacin del nodo de corte que produjo el sub-espacio.
3.4.4. Clculo de la funcin objetivo
En los sub-espacios generados por el rbol de cortes se debe realizar la ubicacin de las
piezas, este proceso se realiza mediante el algoritmo heurstico constructivo haciendo uso de
la representacin de espacios libres mximos, garantizando los patrones de corte y a la vez
que se corten la mayor cantidad de piezas por sub-espacio (para la versin donde las piezas
tiene valor no ponderado) el conjunto de piezas que genere mejor beneficio (para la versin
donde las piezas tiene valor ponderado).
83

El algoritmo heurstico con los tres diferentes criterios mencionados, ubicar capas de piezas
en los sub-espacios. La funcin 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
iteracin, representan diferentes esfuerzos computacionales. Aplicarlos simultneamente
genera un cuello de botella notable especialmente cuando es incrementado el nmero de
iteraciones en el contexto de la metaheurstica. Por esta razn en este trabajo se acude al
recurso computacional ofrecido por el procesamiento paralelo (ver Figura 56).
Figura 56. Clculo de la funcin objetivo, cuello de botella secuencial, paralelizacin del
cuello de botella.

El procesamiento paralelo es una tcnica que permite la realizacin de mltiples tareas de


manera simultnea, 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 ejecucin se puede realizar en
uno o muchos procesadores de una misma mquina (empleando OpenMP, librera de C++
para este propsito) o en uno o muchos procesadores distribuidos en varias mquinas
84

interconectadas a travs de una red (utilizando MPI igualmente para C++). Para el trabajo
desarrollado se eligi la paralelizacin de tareas en una sola mquina, dado que si se cuenta
con equipos con varios ncleos (como en este caso que se dispona 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 librera OpenMP permite dividir un nico curso
de eventos en varios cursos simultneos, denominados hilos de ejecucin. Estos hilos de
ejecucin se ejecutan de manera sncrona a nivel de tareas (todos inician y terminan al mismo
tiempo) y asncrona a nivel de bits (inician y terminan en momentos diferentes) de manera
automtica por la libreara OpenMP (ver Figura 57).
Figura 57. Uso del procesador de las diferentes versiones: clculo secuencial y clculo en
paralelo.

85

3.4.5. Algoritmo de optimizacin


La codificacin 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 hbrido cmulo de partculas, bsqueda de vecindario variable y
algoritmos genticos (APSO+VNS+TF)
El algoritmo propuesto en este trabajo utiliza diferentes tcnicas de optimizacin, combinando
caractersticas de optimizacin con cmulo de partculas (PSO) con bsqueda de vecindario
variable (VNS), y el operador de mutacin de los algoritmos genticos. El primero es
considerado el algoritmo principal, el segundo fue utilizado como un limitador de las
caractersticas de las partculas que deben ser actualizadas y el concepto de mutacin es
utilizado como el factor de turbulencia de vuelo de las partculas (lvarez, 2010).
El algoritmo PSO es una metaheurstica 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 actan como si fueran un
solo individuo. En estos grupos de animales se establecen relaciones entre los individuos, se
crean jerarquas dependiendo de las caractersticas de los mismos, existiendo un lder grupal
reconocido y seguido por los dems miembros del grupo. El papel de lder puede cambiar si
existe otro individuo con mejores caractersticas que el lder existente. Cuando el grupo se
organiza para realizar una tarea, el lder gua a los dems individuos hacia una regin
promisoria, sin embargo, los dems miembros del grupo durante su recorrido pueden inferir
sobre una nueva direccin con el objetivo de tener un mejor xito en la misin.
En PSO la exploracin del espacio de solucin se realiza a travs de una poblacin de
individuos conocidos como partculas, donde cada uno de ellas representa una posible
solucin del problema. La ubicacin de cada partcula sobre la regin de bsqueda est
determinada mediante su posicin, la cual, representa el valor que toman las variables de
decisin del problema ( Kennedy y Eberhart, 2001).
Cada partcula cambia de posicin de acuerdo a su velocidad teniendo en cuenta la mejor
solucin encontrada por sta a lo largo del proceso (pbest) y a la informacin del lder del
cmulo (gbest). El operador pbest (individual best) compara la posicin actual de una
partcula con la mejor posicin que ha presentado durante el proceso de bsqueda. Mientras
86

que el operador gbest (global best) estudia el comportamiento del grupo, almacenando la
posicin del lder actual del cmulo (ver Figura 60).
Poblacin inicial
Las tcnicas heursticas dependiendo de la complejidad matemtica del problema, generan la
poblacin inicial de forma aleatoria o utilizando mtodos constructivos basados en factores de
sensibilidad cuya finalidad consiste en iniciar la bsqueda en una regin atractiva, con el fin
de disminuir tiempo y esfuerzo computacional. El caso de estudio presentado en este trabajo
inicia con un conjunto de partculas generadas de forma aleatoria. Sin embargo, a medida en
que se estudian sistemas grandes y de alta complejidad matemtica cobra fuerza el uso de
poblacin inicial generada con base en mtodos constructivos.
Una poblacin est constituida por k partculas y cada una de estas en el estado i representa
una alternativa de solucin, la cual es interpretada en el problema a travs de la posicin de la
partcula. Cada partcula 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 solucin. Inicialmente se generan n partculas con valores aleatorios dentro del
rango de las variables y a travs de la funcin objetivo se determina la calidad de la solucin.
Figura 58. Representacin de la i-sima partcula.

(a) Vector Posicin de la i-sima partcula.


(b) Ejemplo de una partcula que representa un rbol de dos niveles.
(c) Vector posicin (notacin prefija) del rbol de cortes ilustrado en la Figura 47.

87

En este trabajo cada partcula representa un rbol de cortes (ver Figura 58b), para mejor
abstraccin en este documento usamos una representacin vectorial de las variables: posicin
y velocidad de la partcula. Estos vectores pueden entenderse como la notacin prefija de los
rboles de cortes utilizados (ver Figura 58c).
Seleccin del lder
En PSO, durante cada iteracin, debe seleccionarse el lder del grupo comparando los valores
de la funcin objetivo de cada partcula con la funcin objetivo del lder, siendo ste ltimo
aquella partcula que posee el mejor valor (incumbente global). Durante el proceso de
optimizacin, cada vez que una partcula mejore el valor de su funcin objetivo, se debe
actualizar el valor de su mejor ubicacin local pbest y cada vez que exista un cambio de lder,
se debe actualizar el valor de la mejor ubicacin global gbest.
Funcin de velocidad
La velocidad permite actualizar la posicin de cada partcula. El vector de velocidad
representa el gradiente de cada individuo dentro del cmulo, es decir, gua a las partculas
durante el proceso de bsqueda.
Figura 59. Velocidade da i-sima partcula.
vi = vi1 vi 2 vin
Al igual que la posicin, la velocidad se representa a travs de un vector cuyas dimensiones
deben ser iguales (ver Figura 59). La velocidad contiene informacin de la experiencia local y
colectiva del grupo. Para calcular la velocidad de cada partcula se usa la Expresin (49).
vi ( t + 1) = w vi 1 ( t ) + c1 rand ( pbest xi ( t ) ) + c2 Rand ( gbest xi ( t ) )

(49)

Donde:
Velocidad actual (vi-1): Direccin de vuelo que presenta una partcula. Se asume que al
comienzo del proceso las partculas parten del reposo.
Factor de inercia (w): Factor de ponderacin que acta sobre la velocidad actual de la
partcula. Un valor elevado representar continuar con la trayectoria que viene trazando la
partcula, mientras que un valor pequeo significa la libertad en tomar nuevas trayectorias.

88

Constantes de aceleracin c1 y c2: Valores que direccionan a las partculas hacia su mejor
ubicacin local o global respectivamente. La adecuada calibracin de estos valores permite
que la poblacin no se homogenice durante el proceso (Shi y Eberhart, 1998).
Rand y rand: Valores aleatorios pertenecientes a una distribucin de probabilidad uniforme.
Actualizacin de la posicin
Para determinar la nueva posicin de las partculas se aplica la Ecuacin 50:

xi ( t + 1=
) xi ( t ) + vi ( t + 1)

(50)

Como la posicin actualizada de las partculas 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 lmite impuesto. Adems de esto, para las restricciones de corte tipo
guillotina de dos etapas, los nodos de corte sin hijos debern conservar la direccin de corte
de sus nodos padres.
Factor de turbulencia de vuelo
En PSO la velocidad de la partcula i est dada por Vi = (vi1 , , viN ) la cual es actualizada a
travs de la Expresin 49. Durante el desarrollo inicial del PSO (Kennedy y Eberhart, 1995),
una variable estocstica llamada locura se utiliz para alterar las partculas, de esta forma se
agrega la Expresin 51:

vi , j := vi, j + r3

(51)

Donde vi, j es la velocidad del j-sima caracterstica de la partcula X i y r3 es la variable de


locura aleatoria. El parmetro de locura es utilizado para mantener la diversidad en la
poblacin. En este trabajo se introduce esta variable dentro del PSO a travs del operador
mutacin, propio de los algoritmos genticos. Para mantener el diseo del PSO, este trmino
es referido como una turbulencia (equivalente a una perturbacin), porque refleja el cambio
en el vuelo de las partculas cuando quedan fuera de control.
Criterio de parada
Los algoritmos de optimizacin precisan de un criterio que les permita decidir cundo
finalizar la exploracin del espacio de solucin. Entre los criterios de parada ms empleados
en dichos algoritmos se encuentran:
Si durante un nmero de iteraciones no se ha mejorado la incumbente, se escoge esta
solucin y se da por finalizado el proceso.
89

Hasta cumplir un nmero mximo de iteraciones.


Siendo la ltima opcin la considerada en este trabajo.
Descripcin del algoritmo
El procedimiento empleado por el algoritmo PSO es presentado en la Figura 60.
Figura 60. Algoritmo PSO.
Inicio

t = 1 poblacin = GeneracinPoblacinInicial(tamaopoblacin)
gbest = SeleccionarLder(poblacin)
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(poblacin,pbest,gbest,c1,c2,w)
poblacin = ActualizarPosicin(poblacin,velocidad)
t=t+1
Si el criterio de parada se satisface
Se finaliza el algoritmo
De lo contrario
Volver a la etapa de Seleccin de Lder
Fin

Fin Si

90

Hibridacin del algoritmo


En este trabajo el VNS (Variable Neighborhood Search, propuesto por Mladenovi y Hansen,
1997) es incluido dentro del PSO con el propsito de definir cules caractersticas deben ser
actualizadas por las Ecuaciones 49 y 50. Por lo tanto, el conjunto vecindario N il (donde,
i = 1, 2, , D ) es definido como el nmero i de caractersticas que deben cambiar de valor en

la partcula l.
i=1, entonces, N1 = {una caracterstica aleatoria debe cambiar su valor}
i=2, entonces, N2 = {dos caractersticas aleatorias deben cambiar su valor}
i=k, entonces, Nk = {k caractersticas aleatorias deben cambiar su valor}
Por lo tanto, el conjunto resultante de vecindarios es N = {N1 , N 2 , , N D }
El operador de mutacin comnmente usado en los algoritmos genticos es introducido en el
algoritmo propuesto intentando emular el factor de turbulencia de vuelo, en este trabajo se
presenta una adaptacin de la Ecuacin para actualizar la variable umbral del algoritmo de
optimizacin 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 prdida de calidad para la
funcin objetivo al comienzo del proceso (debido a la relajacin de los umbrales). Con el
avance del proceso, la turbulencia se volver ms determinista. El factor de turbulencia es
definido como la modificacin del valor del nodo del rbol, a travs del mecanismo mostrado
en la Ecuacin 52.

1
k

node=
i node i + rand 1
+
2
TotalIterations

(52)

La Ecuacin 52 est compuesta por: el valor actual del nodo i del rbol, rand es un nmero
aleatorio con distribucin uniforme en el intervalo

[0, 1] ,

k es la iteracin actual,

TotalIterations es el nmero total de iteraciones y es el porcentaje mnimo para generar un


cambio en el rbol, donde = 100 / max( L, W ) . En este trabajo se introduce el operador de
mutacin presentado en los algoritmos genticos, haciendo uso del parmetro llamado taza de
mutacin, permitiendo la mutacin de partculas en cada iteracin.
91

Dado que el algoritmo PSO presenta algunas similitudes con los algoritmos evolutivos como
los algoritmos genticos, diferentes autores han propuesto la inclusin del operador mutacin
en el algoritmo PSO.
Figura 61. Algoritmo hbrido de PSO, VNS y Factor de Turbulencia (APSO+VNS+TF).
Inicio
Inicializar poblacin y parmetros
Para l = 1 hasta NmeroTotalCiclos
Para i = 1 hasta TamaoPoblacin
Si f (x i ) < f ( pbest i ) , entonces
pbest i = x i

N i = N1
Si

f (x i ) < f (gbest ) , entonces

gbest = x i
Fin Si
De lo contrario

N i = Siguiente N i
Fin Si
Para k N i

v ik = wv ik1 + c1 rand 1k pbest ik x ik + c 2 rand 2k gbest ik x ik

xik = xik1 + vik

Siguiente k
Si rand < Taza de Mutacin
c _ rand = rand D

Fin

+
xic _ rand = xic _ rand + rand 1 1 l
NmeroTotalCiclos
2

Fin Si
Siguiente i
Siguiente l

Estas operaciones hbridas normalmente se implementan en cada generacin (Andrews,


2006), (Carlisle y Dozier, 2000) o en un intervalo prefijado (Liang y Suganthan, 2005) o son
controladas por una funcin de adaptacin definida. En este estudio, en cada generacin del

92

algoritmo PSO, la poblacin tiene la probabilidad de utilizar el operador de mutacin. La


Figura 61 muestra el pseudocdigo del algoritmo APSO+VNS+TF.
Calibracin de parmetros
El ajuste de parmetros es de gran relevancia en el proceso de implementacin de una tcnica
metaheurstica porque de este depende directamente la calidad de las respuestas encontradas
en la solucin de un problema especfico. En general no existe un mtodo exacto y eficiente
para realizar la calibracin de parmetros de las diferentes tcnicas metaheursticas,
comnmente estos algoritmos son calibrados a travs de la combinacin de una bsqueda
exhaustiva y un anlisis estadstico de la calidad de los resultados.
Zhan et al. (2009) presentan un rango de valores reducido para los parmetros del algoritmo
PSO, el cual reduce considerablemente el espacio de bsqueda de los valores ptimos.
Adems de esto, en este trabajo se conserva la filosofa del operador de mutacin de los
algoritmos genticos, donde la probabilidad de que ocurra una mutacin en la poblacin es
muy pequea.
La Tabla 2 muestra los valores de los parmetros utilizados en este trabajo, estos son tomados
de (lvarez et al. 2011).
Tabla 2. Valores de los parmetros del algoritmo APSO+VNS+TF
Parmetro

Valor

Tamao de la poblacin

100

Nmero de iteraciones totales

100

c1(Conocimiento Individual)

2.05

c2(Conocimiento Colectivo)

2.05

w(Inercia)

0.6

Nmero de niveles del rbol de cortes


Tasa de mutacin

3
0.03

93

3.5. Anlisis de resultados


Los sistemas de prueba usados en este estudio fueron tomados de la literatura
especializada, metodologas aproximadas y exactas son usadas en la solucin de dichos
problemas. Los problemas seleccionados son variados en cuanto a la complejidad matemtica
y son diseados especialmente para cada tipo de problema.
En primera instancia para los problemas con patrones de corte tipo guillotina, sin un nmero
de etapas de corte, con un nmero de ejemplares restricto (Constrained version) han sido
seleccionado veintisis casos. Quince de estos para la versin de piezas con valores
ponderados, CHW1 y CHW2 tomado de (Christofides y Whitlock, 1977), TH1 y TH2 de
(Tschke y Holthfer, 1996) y el grupo de instancias de CW1- CW11 tomadas de (Hifi,
1997a). Once casos para la versin de piezas con valores no ponderados, CU1- CU11
tomados de (Hifi, 1997b). Estos veintisis casos presentan diferentes tipos de mochilas con
distribuciones entre 25 y 50 tipos de piezas, todos estos pertenecen a la categora de
problemas de corte con media y alta complejidad matemtica.
Tabla 3. Resultados del problema unconstrained non-staged weighted fixed.
Unconstrained Non-staged Weighted Fixed Problem
APSO+VNS+TF
MSR
Tiempo (seg)
Tiempo (seg)
a
162,867
2.01
162,867
25
W1
35,159
0.21
35,159
25
W2
a
234,108
8.90
234,108
37
W3
b
6036
0.01
6036
29
UW1
8468
0.03a
8468
33
UW2
b
6302
0.02
6302
28
UW3
b
8326
0.01
8326
39
UW4
b
7780
0.04
7780
54
UW5
b
6615
0.04
6615
43
UW6
b
10,464
0.09
10,464
57
UW7
7692
0.14b
7692
60
UW8
b
7038
0.23
7038
68
UW9
b
7507
0.30
7507
61
UW10
a
15,747
0.03
15,747
33
UW11
(a) DPH algorithm, Song et al., (2010);
ID

(b) Young-Gun et al., (2003).

94

Tabla 4. Resultados del problema unconstrained non-staged unweigthed fixed.


Unconstrained Non-staged Unweigthed Fixed Problem
APSO+VNS+TF
MSR
Tiempo (seg)
Tiempo (seg)
a
90.34
0
90.34
9
GCUT1
a
96.86
0
96.86
17
GCUT2
97.66
0a
97.66
31
GCUT3
a
98.72
0
98.72
48
GCUT4
a
98.40
0
98.40
11
GCUT5
a
95.60
0
95.60
23
GCUT6
a
97.03
0
97.03
29
GCUT7
a
98.65
0
98.65
53
GCUT8
a
97.11
0
97.11
12
GCUT9
a
98.20
0
98.20
20
GCUT10
a
98.01
0
98.01
31
GCUT11
a
98.00
0
98.00
49
GCUT12
b
99.98
1.5
99.98
50
GCUT13
(a) SDP algorithm, Cintra et al., (2008);
ID

(b) DPH algorithm, Song et al., (2010).

Tabla 5. Resultados del problema unconstrained non-staged unweigthed rotated.


Unconstrained Non-staged Unweigthed Rotated Problem
APSO+VNS+TF
MSR*
Tiempo (seg)
Tiempo (seg)
93.02
0
93.02
16
GCUT1
96.98
0
96.98
30
GCUT2
98.60
0
98.60
55
GCUT3
99.62
0.01
99.62
87
GCUT4
98.40
0
98.40
19
GCUT5
96.38
0
96.38
39
GCUT6
98.35
0
98.35
53
GCUT7
99.11
0.02
99.11
97
GCUT8
97.11
0
97.11
15
GCUT9
98.20
0
98.20
40
GCUT10
98.01
0.02
98.01
56
GCUT11
98.87
0.03
98.87
91
GCUT12
100
110.20
100
100
GCUT13
(*) Las mejores soluciones reportadas (MSR) son del algoritmo SDP de Cintra et al. (2008).
ID

Sesenta y tres casos de prueba fueron seleccionados para los problemas con dos etapas de
corte. Cincuenta casos para la versin de piezas con valores no ponderados, 2SCUI12SCUI50 tomados de (Cui, 2007a). Trece casos para la versin de piezas con valores
ponderados, tomados de (Hifi y Roucairol, 2001). Estos 63 casos presentan diferentes tipos de
95

mochila con distribuciones entre cinco y cuarenta tipos de piezas, y estos pertenecen a la
categora de problemas de corte de pequea y mediana complejidad matemtica.
Tabla 6. Resultados del problema constrained non-staged weighted fixed.
Constrained Non-staged Weighted Fixed Problem
MSR
Tiempo (seg)
APSO+VNS+TF
Tiempo (seg)
a
6402
5
6402
74
CW1
5354
7a
5354
68
CW2
b
5689
27
104
CW3
5687
b
6175
47
6175
94
CW4
b
11,644
1269
11,644
100
CW5
b
12,923
891
162
CW6
12,651
c
9898
11
9898
134
CW7
b
4605
341
184
CW8
4504
b
10,748
121
10,748
144
CW9
b
6515
182
6515
142
CW10
b
6321
1375
6321
124
CW11
d
4620
N/A
4620
86
TH1
9700
N/Ad
54
TH2
9560
d
2892
N/A
26
CHW1
2730
d
1860
N/A
1860
68
CHW2
(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).
ID

Tabla 7. Resultados del problema constrained non-staged weighted fixed.


Constrained Non-staged Unweighted Fixed Problem
ID
MSR
Tiempo (seg)
APSO+VNS+TF
Tiempo (seg)
a
98.64
<1
98.64
101
CU1
a
99.43
<1
99.43
105
CU2
b
99.84
6
201
CU3
99.58
b
98.62
35
181
CU4
98.49
a
98.75
768
98.75
190
CU5
a
99.65
10
99.65
252
CU6
b
95.85
1800
95.85
276
CU7
97.65
21a
269
CU8
97.51
b
97.78
20
97.78
243
CU9
b
98.94
1800
241
CU10
98.90
b
99.31
1293
470
CU11
99.04
(a) MP_AOG algorithm, Morabito and Pureza, (2007);
(b) MP algorithm, Morabito and Pureza, (2007).
96

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)
98.42
2
98.42
50
UU1
99.21
1
99.21
56
UU2
98.41
4
98.41
50
UU3
99.05
7
99.05
71
UU4
99.64
11
99.64
92
UU5
98.81
11
98.81
72
UU6
99.01
14
99.01
98
UU7
98.98
1
98.98
106
Unweigthed
UU8
99.32
22
99.32
116
UU9
99.16
30
99.16
106
UU10
99.49
27
99.49
56
UU11
99.99
1653
99.99
141
LUU1
99.99
3062
99.99
141
LUU2
99.99
7417
99.99
167
LUU3
99.99
14,234
99.99
221
LUU4
6539
2
6539
33
UW1
17,700
3
17,700
37
UW11
9348
4
9348
45
UW2
6500
4
6500
56
UW3
7748
1
7748
59
UW4
8398
7
8398
45
UW5
6894
12
6894
59
UW6
11,585
16
11,585
62
Weighted
UW7
8088
22
8088
69
UW8
7527
21
7527
56
UW9
8172
32
8172
74
UW10
1600
171,079,321
155
LUW1 171,079,321
2911
325,725,070
158
LUW2 325,725,070
7012
433,859,655
320
LUW3 433,859,655
13,636
568,436,545
450
LUW4 568,436,545
(*) 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 versin de piezas con valores no ponderados y veinte casos para la
versin 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 categora de problemas de corte de alta complejidad matemtica.

97

Tabla 9. Resultados del problema constrained two-staged weighted fixed.


Constrained Two-Staged Weighted Fixed Problem
MSR
Tiempo (seg)
APSO+VNS+TF
Tiempo (seg)
10,689
0.01
10,689
6
HH
2535
1.5
2535
9
2
a
1740
0.05
1740
23
3
c
1820
<0.01
1820
20
A1
2315
0.11
2315
18
A2
c
4620
0.1
4620
34
STS2
9468
0.03
9468
22
STS4
8360
1.45
8360
31
CHL1
2235
0.07
2235
10
CHL2
c
6402
0.1
6402
27
CW1
5354
0.13
5354
34
CW2
9630
1.27
9630
33
Hch12
b
5100
5.15
5100
37
Hch19
(a) ALGO1_ESGA algorithm, Hifi y M'Hallah, (2005);
ID

(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 nmero
de etapas de corte, con un nmero de ejemplares irrestricto (Unconstrained version) han sido
seleccionado veinte y siete casos de prueba. Trece casos para la versin de piezas con valores
no ponderados, GCUT1-GCUT13 tomados de (Cintra et al., 2008) y catorce casos de prueba
seleccionados para la versin 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 categora
de problemas de corte de alta complejidad matemtica.
Treinta casos de prueba fueron seleccionados para los problemas con dos y tres etapas de
corte. Quince casos para la versin de piezas con valores ponderados, UW1-UW11 y UWL1UWL4 y quince casos para la versin 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 categora de problemas de corte de
alta complejidad matemtica, estos casos de prueba son tomados de la librera presentada por
(Hifi, 2001) y que se encuentra disponible en (Hifi, 1997b). Veintids 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).
98

Tabla 10. Resultados del problema constrained two-staged unweighted fixed.


Constrained Two-Staged Unweigthed Fixed Problem
MSR
Tiempo (seg)
APSO+VNS+TF
Tiempo (seg)
98.03
<1
98.93
43
2SCUI1
97.48
<1
98.17
42
2SCUI2
98.04
<1
98.92
43
2SCUI3
95.59
<1
98.53
41
2SCUI4
98.36
<1
98.36
42
2SCUI5
98.06
<1
98.49
43
2SCUI6
98.31
<1
98.91
43
2SCUI7
98.50
<1
98.9
43
2SCUI8
97.31
<1
98.53
43
2SCUI9
98.11
<1
98.64
42
2SCUI10
96.29
<1
97.98
42
2SCUI11
97.14
<1
97.79
42
2SCUI12
97.96
<1
98.91
43
2SCUI13
96.17
<1
96.98
44
2SCUI14
98.20
<1
98.71
43
2SCUI15
96.71
<1
98.27
43
2SCUI16
94.78
<1
97.14
45
2SCUI17
96.80
<1
97.78
43
2SCUI18
98.32
<1
99.19
42
2SCUI19
94.84
<1
96.61
41
2SCUI20
98.21
<1
98.21
40
2SCUI21
95.68
<1
96.32
45
2SCUI22
96.82
<1
97.73
42
2SCUI23
94.95
<1
95.98
43
2SCUI24
96.02
<1
98.27
44
2SCUI25
Tabla 11. Resultados del problema constrained two-staged unweighted fixed.
ID

En tercera instancia para los problemas con patrones de corte tipo no guillotina de primer
orden, con un nmero de ejemplares irrestricto, fueron seleccionados veintids casos de
prueba, once casos para la versin de piezas con valores ponderados (UW1-UW11) y once
casos para la versin de piezas con valores no ponderados (UU1-UU11). Tambin presentada
por (Hifi, 2001) y disponibles en lnea en (Hifi, 1997b).
Por ltimo, para los problemas con patrones de corte tipo no guillotina de orden superior, con
un nmero de ejemplares irrestricto, fueron seleccionados veinte casos de prueba, diez casos
para la versin de piezas con valores no ponderados (ATP10 ATP19) y diez casos para la
versin de piezas con valores ponderados (ATP20 ATP29), disponibles en (lvarez-Valds
et al. 2002). Para los problemas con un nmero de ejemplares restricto, fueron seleccionados
99

veintids casos de prueba, doce casos para la versin de piezas con valores ponderados
(Beasley1 Beasley12) disponibles en (Beasley, 2004) y diez casos para la versin 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).
Constrained Two-Staged Unweigthed Fixed Problem
MSR*
Tiempo (seg)
APSO+VNS+TF
Tiempo (seg)
96.07
<1
98.05
43
2SCUI26
94.34
<1
98.31
43
2SCUI27
96.63
<1
98.51
44
2SCUI28
96.77
<1
98.39
45
2SCUI29
98.27
<1
98.27
41
2SCUI30
94.72
<1
97.78
41
2SCUI31
97.00
<1
97.57
42
2SCUI32
97.97
<1
98.31
42
2SCUI33
97.83
<1
98.09
42
2SCUI34
96.70
<1
97.31
42
2SCUI35
94.35
<1
97.52
43
2SCUI36
94.67
<1
97.36
43
2SCUI37
98.04
<1
98.08
43
2SCUI38
96.75
<1
98.98
44
2SCUI39
97.78
<1
98.21
45
2SCUI40
98.84
<1
98.84
47
2SCUI41
96.92
<1
98.30
43
2SCUI42
96.05
<1
97.41
42
2SCUI43
96.82
<1
97.33
43
2SCUI44
96.84
<1
96.84
43
2SCUI45
95.60
<1
97.63
42
2SCUI46
96.12
<1
97.29
41
2SCUI47
97.86
<1
98.76
45
2SCUI48
98.27
<1
98.27
42
2SCUI49
96.74
<1
98.22
41
2SCUI50
(*) Todas las mejores soluciones reportadas (MSR) son de Cui, (2007).
ID

100

Tabla 12. Resultados del problema constrained two-staged unweighted rotated.


ID
2SCUI1
2SCUI2
2SCUI3
2SCUI4
2SCUI5
2SCUI6
2SCUI7
2SCUI8
2SCUI9
2SCUI10
2SCUI11
2SCUI12
2SCUI13
2SCUI14
2SCUI15
2SCUI16
2SCUI17
2SCUI18
2SCUI19
2SCUI20
2SCUI21
2SCUI22
2SCUI23
2SCUI24
2SCUI25

Constrained Two-Staged Unweigthed Rotated Problem


MSR
Tiempo (seg)
APSO+VNS+TF
Tiempo (seg)
98.73
1
99.43
73
98.21
1
98.55
71
98.79
1
98.92
71
98.03
1
98.53
72
98.36
1
98.61
70
98.70
1
99.43
70
98.98
1
99.06
76
98.67
1
98.93
76
98.42
1
98.54
77
99.07
1
99.07
70
98.44
2
98.44
70
97.98
1
98.54
71
98.78
1
98.91
70
98.14
1
98.14
70
98.93
1
99.15
70
98.75
1
98.75
72
98.33
1
98.33
75
98.44
1
98.44
76
98.86
1
99.19
76
96.96
1
97.17
70
98.78
1
98.78
72
97.40
1
97.40
71
98.43
1
98.81
76
97.45
2
97.45
70
97.77
1
98.49
75

Existe gran cantidad de libreras para los problemas presentados en este estudio, pero luego de
ser analizadas muchas caen en la categora de problemas de empaquetamiento perfecto, es
decir, los casos prueba son desarrollados a partir de la solucin ptima del problema, lo cual
hace que metodologas exactas parezcan un buen mtodo de solucin. Adems de esto, las
bases de datos utilizadas en este estudio no necesariamente presentan un ptimo global en su
lmite inferior, que hacen que las metodologas exactas renuncien en su proceso de
optimizacin debido al costo computacional.

101

Tabla 13. Resultados del problema constrained two-staged unweighted rotated.


Constrained Two-Staged Unweigthed Rotated Problem
MSR*
Tiempo (seg)
APSO+VNS+TF
Tiempo (seg)
98.18
1
98.32
74
2SCUI26
97.23
1
98.31
73
2SCUI27
98.90
1
98.90
69
2SCUI28
99.45
1
99.45
67
2SCUI29
98.27
1
98.36
74
2SCUI30
98.07
1
98.42
75
2SCUI31
98.13
1
98.67
71
2SCUI32
99.30
1
99.30
72
2SCUI33
99.20
1
99.20
71
2SCUI34
98.39
1
98.39
71
2SCUI35
97.92
1
98.37
72
2SCUI36
98.26
1
98.26
76
2SCUI37
98.89
1
98.98
73
2SCUI38
98.76
1
98.98
74
2SCUI39
98.28
1
98.28
72
2SCUI40
99.15
1
99.40
71
2SCUI41
99.17
1
99.17
72
2SCUI42
98.34
1
98.34
71
2SCUI43
98.13
1
98.20
71
2SCUI44
98.73
1
98.73
72
2SCUI45
97.84
1
98.13
73
2SCUI46
97.68
2
98.17
71
2SCUI47
98.57
1
98.76
76
2SCUI48
98.85
2
98.85
69
2SCUI49
97.99
1
98.43
68
2SCUI50
(*) Todas las mejores soluciones reportadas (MSR) son de Cui, (2007).
ID

102

Tabla 14. Resultados del problema unconstrained three-staged fixed weighted y unweighted.
Unconstrained Three-staged Fixed Problem
APSO+VNS+TF
ID
MSR*
Tiempo (seg)
Tiempo (seg)
96.50
380
96.50
25
UU1
99.21
1349
99.21
30
UU2
97.52
3148
26
UU3
96.82
98.19
3787
36
UU4
97.39
99.15
10,906
99.15
46
UU5
98.79
10,843
98.79
35
UU6
98.84
11,055
50
UU7
98.61
98.98
10,968
98.98
54
Unweigthed
UU8
99.20
10,960
99.20
59
UU9
99.01
11,320
57
UU10
98.30
99.76
15,353
24
UU11
99.73
N/A
N/A
99.95
76
LUU1
N/A
N/A
99.96
75
LUU2
N/A
N/A
99.98
89
LUU3
N/A
N/A
98.42
130
LUU4
6036
390
6036
17
UW1
798
15,747
19
UW11 15,747
8468
894
8468
23
UW2
6226
946
6226
28
UW3
8326
4284
8326
28
UW4
7780
5592
7780
22
UW5
6615
10,977
6615
29
UW6
10,464
11,101
10,464
31
Weighted
UW7
7692
11,252
7692
35
UW8
7038
11,058
7038
28
UW9
7507
11,732
7507
37
UW10
N/A
N/A
158,363,374
76
LUW1
N/A
N/A
257,372,669
77
LUW2
N/A
N/A
261,252,077
160
LUW3
N/A
N/A
473,754,165
226
LUW4
(*) Todas las mejores soluciones reportadas (MSR) son de Hifi, (2001). El marcador N/A
significa que no estn disponibles.

103

Tabla 15. Resultados del problema unconstrained three-staged rotated weighted y


unweighted.
Unconstrained Three-staged Rotated Problem
APSO+VNS+TF
ID
MSR*
Tiempo (seg)
Tiempo (seg)
98.42
451
98.42
54
UU1
99.21
1579
99.21
61
UU2
99.03
3480
99.03
52
UU3
99.05
4415
98.97
73
UU4
99.64
11,152
99.64
99
UU5
98.81
11,063
98.81
79
UU6
99.46
11,742
98.67
105
UU7
99.37
11,244
98.98
111
Unweighted
UU8
99.36
11,540
99.2
126
UU9
99.22
13,039
99.16
112
UU10
99.88
19,793
99.86
61
UU11
N/A
N/A
99.99
151
LU1
N/A
N/A
99.99
149
LU2
N/A
N/A
99.99
182
LU3
N/A
N/A
99.98
241
LU4
6696
1024
6696
44
UW1
2269
18,200
50
UW11 18,200
9732
2451
9732
48
UW2
7188
2632
7188
60
UW3
8452
5174
8452
82
UW4
8398
6262
8398
61
UW5
6937
11,400
6937
88
UW6
11585
11,900
11,585
92
Weighted
UW7
8088
12,016
8088
104
UW8
7527
12,375
7527
92
UW9
8172
12,086
8172
82
UW10
N/A
N/A
171,836,653
159
LUW1
N/A
N/A
326,399,541
162
LUW2
N/A
N/A
433,882,185
331
LUW3
N/A
N/A
568,690,356
461
LUW4
(*) Todas las mejores soluciones reportadas (MSR) son de Hifi, (2001). El marcador N/A
significa que no estn disponibles.

104

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 mayora de estas se encuentra un empate, es decir, diferentes
algoritmos han llegado a la misma solucin. En este trabajo se le da crdito al primer autor en
reportar la mejor respuesta en el menor tiempo posible. De esa forma la columna MSR (Mejor
Solucin Reportada) siempre permite compararnos con la mejor solucin reportada en la
literatura para cada caso de prueba.
Tabla 16. Resultados del problema constrained three-staged weighted fixed.
Constrained Three-Staged Weighted Fixed Problem
MSR
Tiempo (seg)
APSO+VNS+TF
Tiempo (seg)
631,863
6
51
3SCUI1
631,852
4,544,395
68
4,544,395
65
3SCUI2
c
1,833,000
10
1,833,000
83
3SCUI3
c
4,339,083
9
4,339,083
64
3SCUI4
b
2,676,651
4
2,676,651
53
3SCUI5
b
4,245,663
4
4,245,663
53
3SCUI6
4,305,010
15c
4,305,010
87
3SCUI7

3,610,441
16
76
3SCUI8
3,608,015
b
7,446,330
9
7,446,330
60
3SCUI9
a
6,038,211
3600
6,038,211
74
3SCUI10
a
1,168,284
4
56
3SCUI11
1,162,898
c
2,567,171
4
2,567,171
69
3SCUI12
b
2,795,973
4
2,795,973
52
3SCUI13
c
3,152,403
3
3,152,403
53
3SCUI14
b
5,018,587
12
5,018,587
87
3SCUI15
b
2,157,408
9
2,157,408
81
3SCUI16
a
6,881,547
18
56
3SCUI17
6,854,864
7,548,827
114a
7,548,827
54
3SCUI18
b
5,704,261
11
5,704,261
70
3SCUI19
a
5,726,840
1293
84
3SCUI20
5,676,748
a
VEA, Cui, (2008);
b
VHA1, Cui, (2008);
c
VHA2, Cui, (2008).
ID

105

Tabla 17. Resultados del problema constrained three-staged unweighted fixed.


Constrained Three-Staged Unweigthed Fixed Problem
ID
MSR
Tiempo (seg)
APSO+VNS+TF
Tiempo (seg)
b
99.78
1
99.78
95
3SCUI1
b
99.73
7
99.73
94
3SCUI2
c
99.83
1
99.83
147
3SCUI3
99.84
10b
99.84
101
3SCUI4
c
99.77
5
99.77
82
3SCUI5
b
99.69
5
99.69
87
3SCUI6
b
99.79
15
99.79
153
3SCUI7
b
99.82
8
99.82
134
3SCUI8
b
99.75
10
99.75
111
3SCUI9
99.77
13b
99.77
124
3SCUI10
99.67
5
79
3SCUI11
99.65
99.78
4
99.78
90
3SCUI12
b
99.72
4
99.72
85
3SCUI13
c
99.61
3
99.61
90
3SCUI14
b
99.84
13
99.84
145
3SCUI15
99.82
10b
99.82
149
3SCUI16
b
99.72
8
99.72
109
3SCUI17
b
99.59
8
99.59
98
3SCUI18
b
99.77
12
99.77
134
3SCUI19
b
99.75
14
99.75
150
3SCUI20
a
VEA algorithm, Cui, (2008) ;
b
VHA1algortihm, Cui, (2008) ;
c
VHA2 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*

6036
92
6036
UW1
8720
135
8720
UW2
6652
106
6652
UW3
8326
132
8326
UW4
7780
109
7780
UW5
141
6803
UW6
6615
10,464
131
10,464
UW7
7692
155
7692
UW8
131
7128
UW9
7038
7507
169
7507
UW10
174
16,400
UW11
15,920
(*) Todas las mejores soluciones reportadas (MSR) son de (Birgin et al., 2012).
106

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

107

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*
164
106.35
164
Beasley1
127.19
230
Beasley2
225
146.76
247
Beasley3
220
268
190.1
268
Beasley4
98.21
358
Beasley5
301
119.84
289
Beasley6
229
430
123.21
430
Beasley7
201.74
834
Beasley8
820
924
107.94
924
Beasley9
1452
116.01
1452
Beasley10
1688
159.21
1688
Beasley11
1801
185.45
1865
Beasley12
(*) Todas las mejores soluciones reportadas (MSR) son de (Egeblad y Pisinger, 2009).

108

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*
89
80,000
Lai&Chan1
80,000
76,000
96
79,000
Lai&Chan 2
154,600
99
160,000
Lai&Chan 3
5447
85
5600
Jakobs1
5455
72
5600
Jakobs2
5328
136
5400
Jakobs3
3978
114
4050
Jakobs4
2871
186
2925
Jakobs5
16,196
148
16,500
Leung1
18,628
140
19,200
Leung2
(*) 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 ncleo de procesamiento
y una memoria RAM de 4 GB.
Figura 62. Solucin propuesta para el caso 2SCUI1 que pertenece al problema restricto, con
dos etapas de corte y de piezas con valor no ponderado y orientacin fija. Cui (2007) alcanza
un valor de funcin objetivo de 98.03%, mientras que, el valor presentando en este trabajo
alcanza un 98.93%.

109

110

Tabla 24. Resultados alcanzados por la metodologa propuesta para los problemas de la mochila bidimensional.

Figura 63. Solucin 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. Solucin 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 metodologa de


solucin 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 desempeo a travs del nmero de
111

soluciones ptimas alcanzadas y el tiempo promedio computacional tomado por el algoritmo


de optimizacin.
Por cuestiones de dimensin los resultados restantes no son ilustrados en este documento y se
encuentran

disponibles

en

el

sitio

web

del

grupo

de

investigacin:

http://www.dee.feis.unesp.br/lapsee/arquivos/sistemastestes/knapsack_problem2D.html
U

Adems de las soluciones grficas, obtenidas por el algoritmo propuesto. Algunos ejemplos
ilustrados en este documento son las Figuras 62, 63 y 64.
3.6. Conclusiones
Se desarroll una metodologa de solucin para los problemas de la mochila
bidimensional, que utiliza una codificacin de rbol de cortes y hace uso de la representacin
de los espacios mximos para administrar los espacios residuales, mientras el proceso general
es administrado mediante un algoritmo hbrido de cmulo de partculas, bsqueda en
vecindario variable y algoritmos genticos. Esta metodologa logra ser flexible y robusta para
solucionar la gran variedad de variantes del problema propuestas en este trabajo, adems de
alcanzar resultados satisfactorios.
Se utiliz un tipo de codificacin en rbol, llamada rbol de cortes, el cual se encarga de subdividir el problema original en pequeos 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 filosofa de recursividad
presenta un buen desempeo y gran flexibilidad para este tipo de problemas.
Fue implementado un algoritmo de optimizacin que combina las principales caractersticas
de cmulo de partculas, bsqueda en vecindario variable y algoritmos genticos. El primero
se considera como el algoritmo principal, el segundo hace el papel de limitador de las
caractersticas de la solucin que deben actualizarse en cada iteracin, esto hace que aumente
mejore el proceso de exploracin y el tercero se usa como mecanismo de perturbacin
especializado para realizar bsquedas locales, efectuando cambios aleatorios-controlados en
las soluciones usando el operador mutacin de los genticos y que ayuda a representar el
concepto de factor de turbulencia de vuelo, propio del algoritmo PSO.

112

Los tiempos de cmputo requeridos por la metodologa en algunas veces son menores a los
reportados en la literatura especializada, sin embargo debido a las diferencias entre las
arquitecturas de cmputo y lenguajes de programacin no se puede concluir con base en este
ndice. A pesar de lo anterior, los tiempos de cmputo utilizados por la metodologa propuesta
son razonables.
Este problema es aplicable en diversos sectores de la economa, entre los que destacan los
sectores de industria, transporte y comercio. As por ejemplo, su aplicacin se presenta en la
industria textil, metalmecnica, papelera, vidriera, transporte y almacenaje de mercancas,
entre otras.
La metodologa propuesta es aplicable a problemas como: bin packing, strip packing, entre
otros. Tambin puede ser extensible a problemas de empaquetamiento en tres dimensiones.

113

Captulo 4.
Problema de carga del contenedor
El problema de carga de contenedores es un problema clsico en la investigacin
operativa y de gran importancia y aplicabilidad en la industria, a pesar de esto no es comn
que la comunidad acadmica incorpore en sus estudios todas las caractersticas importantes
que representan situaciones prcticas de estos problemas, como lo son: orientacin de las
cajas, lmites de apilamiento de las cajas, lmite de peso de la carga, estabilidad de la carga y
carga con diferentes destinos.
Este problema comnmente 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
restriccin de multi-drop que impone que, las cajas que alcanzan su destino final deben
descargarse sin reorganizar la carga que an debe permanecer.
Para esto, se utiliza la representacin de los espacios-mximos junto a un algoritmo
constructivo aleatorizado, que permite construir soluciones que cumplen en su totalidad las
restricciones impuestas. El algoritmo est basado en la metaheurstica GRASP e incluye un
conjunto de movimientos de mejora, los cuales estn 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. Introduccin
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 aplicacin en la
industria, a pesar de esto, existen pocos estudios que incluyan todas las caractersticas que
representan las restricciones prcticas para este problema, como: orientacin de las cajas,

114

lmite de apilamiento de las cajas, lmite de peso de la carga, estabilidad de la carga y


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

115

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 mltiples destinos (multi-drop). El
objetivo del problema es maximizar el valor de la carga empacada, pero garantizando todo el
conjunto de restricciones. Especficamente, la restriccin de mltiples destinos se refiere al
hecho de que ha sido establecida para el contenedor (o camin) 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 restriccin de multi-drop se presenta una


discusin debido a que cada uno de ellos define y especifica lo que representa un escenario
multi-drop. Dentro de los artculos que se resaltan estn: Liu et al., (2011) definen un
empaquetamiento multi-drop imponiendo restricciones de ubicacin 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 lmites 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 ubicacin al introducir una frontera imaginaria (o plano de separacin a lo largo del
contenedor) que separa las cargas empacadas de cada cliente, esta se establece a partir de la
116

caja ms cercana a la puerta del contenedor, generando as una especie de cortina o pared
virtual (ver Figura 67). Luego, define un parmetro que representa la longitud del brazo del
hombre que descarga o la de la gra. Donde, son las unidades de longitud ms all de la
frontera que hay entre cajas de clientes consecutivos (ver Figuras 68 y 69).

Figura 68. Empaquetamiento multi-drop segn Junqueira con = 0.

Figura 69. Empaquetamiento multi-drop segn Junqueira con = .

Christensen y Rouse (2009) y Ceschia y Schaerf (2013), presentan una definicin 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 an no ha sido descargada y
117

adems 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 Rouse (2009) y Ceschia y Schaerf (2013).

Las diferencias entre autores en el tratamiento de las restricciones de multi-drop, dificulta la


generacin de una metodologa de solucin 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 comparacin justa.
Esto sucede tambin en el manejo de las restricciones de envo completo, donde este puede
ser restricto o irrestricto. Para esto el algoritmo propuesto ha sido adaptado tanto a la versin
del problema resuelta por Christensen y Rouse (2009) y Ceschia y Schaerf (2013) en donde
los pedidos del cliente deben ser enviados en su totalidad (ver Figura 71b), tanto a la versin
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 tambin, que existe adems una
variante de la versin irrestricta que se aplica en el problema de ruteamiento de vehculos con
restricciones de empaquetamiento tridimensional (3L-CVRP la sigla en ingls de threedimensional loading capacitated vehicle routing problem), en este no es permitido visitar un
118

cliente ms 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 envos completos.

En la Figura 71 se ilustra un ejemplo de los escenarios de las restricciones de


empaquetamiento de envos 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
solucin ptima para la versin restricta alcanzando un valor de funcin objetivo igual a 10.
La Figura 71c es la solucin 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. Descripcin del problema
El problema de carga del contenedor estudiado en este trabajo se define como:
empaquetar dentro de un paraleleppedo que se denomina contenedor con dimensiones (L, W
y H, largo, ancho y alto, respectivamente), un conjunto de paraleleppedos de diferentes tipos
(i=1,,n) que se denominan cajas con dimensiones (li, wi, hi), nmero de ejemplares qi,
orientaciones de posicionamiento oij (j=1,2,3), un peso wi, un lmite 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 Ecuacin 53 y consiste en encontrar un empaquetamiento ortogonal de las cajas de
119

forma tal que se maximice el volumen de utilizacin del contenedor, zi es una variable entera
que indica el nmero de ejemplares de la caja i que deben ser empacados.

Sujeto a:

(53)

=1

Las cajas empacadas no deben superar los lmites 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
caractersticas 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 orientacin, que definen la
dimensin de la caja que puede ser posicionada hacia arriba: oi1 = 1 si la dimensin l
(largo) de la caja puede ser ubicada en posicin vertical y 0 si no se puede erguir, oi2 =
1 si la dimensin w (ancho) de la caja puede ser ubicada en posicin vertical y 0 si no
se puede erguir, finalmente, oi3 = 1 si la dimensin h (alto) de la caja puede ser
ubicada en posicin vertical y 0 si no se puede erguir. Al menos uno de estos
parmetros debe ser 1 para cada tipo de caja.

iii)

Lmites de apilamiento: Cada caja ubicada en una de sus orientaciones permitida


puede soportar un peso mximo bij sobre su superficie, expresado en gr/cm2, donde
i=1,, n representa el tipo de caja y j=1, 2, 3 la orientacin. Como Bischoff (2006)
seala, existen diferentes formas en las cuales el peso de la caja es transmitido hacia
abajo sobre las cajas que la estn soportando. En la prctica, el peso es transmitido
dependiendo de la rigidez de la superficie en contacto: entre ms rgido es, ms
esparcido es el peso sobre toda la superficie. Cuando son usados materiales blandos
120

como cartn, 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 situacin e
adems 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 presin, pk en gr/cm2, ejercida sobre las cajas que la
estn soportando. Si esta presin pk excede el lmite de apilamiento de la caja inferior,
bij, el empaquetamiento es infactible. De otra manera, el lmite 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 deberan 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 definicin informal porque existen diferentes alternativas de descargar las cajas
sin mover las cajas de los clientes posteriores (como ha sido ilustrado en la seccin
4.1).

v)

Envos 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 restriccin de multi-drop implica que, en la secuencia de
empaquetamiento no sera 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
envo completo del pedido de los clientes, es posible empacar elementos del cliente j
an 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 matemtico


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 programacin 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 ms representativo para la
comunidad acadmica alrededor de este problema, Chen et al., formula un modelo de
programacin entera mixta para el problema de carga del contenedor y mltiples
121

contenedores, con el cual logra resolver ptimamente problemas de pequeo porte y


demuestra as, que el modelo presenta soluciones factibles del problema. La validacin de este
modelo es hecho usando tan solo seis cajas y se ha impuesto un lmite de tiempo de 900
segundos. Pero su conclusin final acaba afirmando que es necesario un mejor procedimiento
de solucin a la hora de resolver instancias de tamao 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 orientacin de las cajas. Pero cabe
destacar que este modelo es extensible a los problemas donde la restriccin de distribucin de
peso es impuesta.
Por otro lado, Junqueira et al. (2012a; 2012b y 2013) presenta modelos de programacin
entera mixta donde se incluyen restricciones como: la estabilidad vertical y horizontal de la
carga, los lmites de apilamiento de las cajas y carga con mltiples destinos. Los cuales vienen
a representar debidamente el problema de este trabajo. Este modelo es una adaptacin del
modelo de Beasley (1985), que es un modelo de programacin 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 lmite de tiempo de 3600
segundos. Logrando alcanzar para la mayora de las instancias de prueba soluciones ptimas y
factibles. Infelizmente, se concluye tambin que para resolver instancias de tamao real del
problema es necesario mejorar el procedimiento de solucin.
Cabe anotar tambin que existen otras transformaciones en la literatura, la mayora inspiradas
en modelos matemticos planteados para los problemas de corte y empaquetamiento
bidimensional: Scheithauer (1998) presenta dos relajaciones del problema tridimensional: una
relajacin por barras y una relajacin por capas para resolver el CLP. Tsai et al. (1993),
presenta un modelo de programacin lineal entera mixta 0-1 para el problema de carga de
pallets. Hadjiconstantinou e Christofides (1995), presentan un modelo de programacin lineal
entera 0-1 para el problema de la mochila bidimensional que acaba siendo adaptable al CLP.
Beasley (2004) presenta un modelo de programacin no lineal entera mista 0-1 para resolver
el problema de la mochila bidimensional que tambin puede ser transformado para describir el
CLP. Tambin es interesante el modelo para empaquetamiento de polgonos convexos y no
convexos presentado por Scheithauer y Terno (1993), el modelo de Padberg (2000) que es un
extensin del modelo de Fasano (1999) y el modelo propuesto por Martins (2003) que logra
un buen desempeo para el problema de carga de pallets.
122

En este trabajo se transcribe el modelo presentado por Junqueira et al. (2012a) ya que sirve
para ilustrar la complejidad matemtica 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 adaptacin que realiza Junqueira del modelo propuesto por Beasley,
llevndolo de dos dimensiones a tres. Luego, este modelo resultante comienza a ser
manipulado para representar cada una de las restricciones prcticas de empaquetamiento. En
este caso solo es transcrito el modelo resultante de la manipulacin realizada para agregar la
restriccin de orientacin de las cajas.
ndices:
i: ndice para los tipos de cajas;
p, s: ndices para las posiciones en relacin al eje x;
q, t: ndices para las posiciones en relacin al eje y;
r, u: ndices para las posiciones en relacin al eje z;
Parmetros:
m : nmero total de tipos de cajas disponibles;
v : valor de la caja i;
Pi: nmero mnimo de ejemplares de la caja i que deben ser empacados dentro del contenedor;
Qi: nmero mximo 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: funcin binaria, que es igual a 1 si la caja i , es empacada con su canto inferior frontal
izquierdo en la posicin (p, q, r), impidiendo que cualquier otra caja ocupe la
posicin (s, t, u) dentro de ella; de lo contrario, ella es igual a 0;
Note que la variable aipqrstu no es una variable de decisin del modelo, es una funcin que
puede ser computada a priori (es decir, antes de la resolucin del modelo) de la siguiente
forma:

1, si 0 + 1 1,
0 + 1 1 y
=

0 + 1 1
0,
de lo contrario

Esto quiere decir que, si aipqrstu=1, significa que la posicin (s, t, u) est ocupada por la caja i
colocada con su esquina inferior frontal izquierda en la posicin (p, q, r) del contenedor (ver
la Figura 72). De lo contrario, si aipqrstu=0, significa que esta posicin est fuera de la caja i.
123

Variables de decisin:
xipqr : variable binaria, que es igual a 1 si la caja i es empacada con su esquina inferior frontal
izquierdo en la posicin (p, q, r), tal que i=1,,m, 0 , 0 y

0 ; de lo contrario, ella es igual a 0;

Figura 72. Ubicacin 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 patrn 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 dems cajas o al propio
contenedor. Estos patrones son llamados patrones normalizados o combinaciones cnicas, que
permiten, sin prdida 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).

124

= =

= =

=1

= =

, 0 ( ), 0 y entero, = 1, ,

(57)

, 0 ( ), 0 y entero, = 1, ,

(59)

=1

, 0 ( ), 0 y entero, = 1, ,

=1

= { |0 } = 1, ,

= { |0 } = 1, ,
= { |0 } = 1, ,

(58)

(60)
(61)
(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 podra 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 orientacin diferente, como siendo una caja diferente. As, en el caso extremo habr seis
posibles orientaciones, el nmero 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:
6

(63)

max
=1

Sujeto a:
6

1
=1
6

=6 =5

, ,

(64)

= 1, ,

(65)

= 1, ,6
, ,

{0,1}

(66)

Sobre la formulacin presentada se destaca que la funcin objetivo representada por la


Ecuacin 63 busca maximizar el beneficio generado por el valor de las cajas empacadas.
125

Mientras que la Ecuacin 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 lmites del contenedor. Por otro lado, la Ecuacin 65 vela porque no se asignen
ms ejemplares que los demandados, teniendo en cuenta tambin las copias realizadas de las
cajas para incluir las diferentes orientaciones de estas. Por ltimo, la Ecuacin 66 define la
variable de decisin 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 ms
restricciones prcticas, el modelo deja de ser viable para dar resolucin a instancias del
problema con un tamao real. Para ms detalles sobre el modelo y sus manipulaciones el
lector es convidado a ver Junqueira et al. (2012a; 2012ba; 2013).
4.4. Metodologa de solucin
En este trabajo se propone un algoritmo GRASP (Greedy randomized adaptive search
procedure) basado en la representacin de los espacios-mximos, el cual en la fase de
construccin permite obtener soluciones totalmente factibles a travs del control en la
generacin y actualizacin de los espacios-mximos, satisfaciendo as las restricciones de:
orientacin de las cajas, lmite de apilamiento de las cajas, lmite de peso de la carga,
estabilidad de la carga y patrones multi-drop (carga con mltiples destinos). La estrategia de
bsqueda tipo GRASP, permite aleatorizar la eleccin del tipo y la cantidad de cajas a ubicar
en cada espacio-mximo. Por otra parte, en la fase de bsqueda local se realizan movimientos
de mejora como: la compresin 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
optimizacin combinatoria difciles. Diferentes estudios demuestran su calidad y robustez,
para una introduccin y actualizacin 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 solucin es construida paso a paso, agregando elementos a
una solucin. La fase es iterativa, golosa, aleatoria y adaptativa. Ms adelante es descrito: el
procedimiento constructivo utilizado, la estrategia de aleatorizacin que se encuentra
126

embebida en el proceso constructivo, los movimientos desarrollados para la fase de mejora, y


una fase de diversificacin la cual est incluida en la estructura iterativa.
Figura 73. Ubicacin de una caja sobre un espacio vaco y los tres espacios vacios generados.

Algoritmo constructivo
El algoritmo constructivo de este trabajo es basado en la fase constructivo propuesta por
Parreo et al. (2010) para el problema clsico de carga del contenedor. Ambos algoritmos se
diferencian especialmente en la restriccin de estabilidad vertical que en este trabajo debe ser
garantizada a travs 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 actualizacin de los espacios restantes y utilizables (vacios). Siendo esta ltima
la parte ms 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 mximos. En este caso, cada
caja seleccionada es empacada en un nuevo espacio y esto genera tres nuevos espacios
mximos (ver Figuras 73 y 74). El algoritmo constructivo usa una lista actualizada S de los
espacios mximos y una lista B de las cajas del cliente actual que an no deben ser
empacadas. Los pasos del algoritmo constructivo son definidos a continuacin.

127

Figura 74. Procedimientos de administracin de los espacios mximos: creacin,


actualizacin y eliminacin.

Paso 0: Inicializacin de S, es creada una lista de los espacios mximos vacios donde sern
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 mximo de S. Dado que la lista S contiene los espacios mximos
vacios, los cuales representan los paraleleppedos vacios ms grandes y disponibles para
ubicar las cajas. Dado que existen varios candidatos se debe determinar un mecanismo de
seleccin con base en algn criterio de calidad o estrategia de empaquetamiento, en este
trabajo se proponen dos criterios de seleccin: escoger el espacio mximo con mnima
distancia a la cara de atrs del contenedor y escoger el espacio mximo con mnima 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 atrs
hacia adelante, mientras que el segundo intenta ir apilando las cajas.
Adems de esto, del espacio elegido es seleccionada la esquina inferior ms 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 vaco. Este proceso es diferente cuando se resuelve la versin 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 restriccin de alcanzabilidad.
128

Figura 75. Elaboracin 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 mximo 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 Parreo 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 funcin objetivo (max
volume). Este es un criterio goloso en el cual el espacio es llenado con la capa de mayor
volumen de ocupacin de las cajas.
- Escoger la capa de cajas que mejor encajan en el espacio mximo (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 mximo y se ordenan las distancias de cada configuracin en orden nodecreciente. Para seleccionar la configuracin con menor distancia (que mejor se ajusta al
espacio).
129

Figura 76. Actualizacin de la lista de espacios mximos.

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 mximos vacos que reemplazar S en la lista S. Por
otra parte, como los espacios mximos no son disjuntos, la caja (o la capa) empacada puede
interceptarse con otros espacios mximos los cuales pueden ser reducidos o eliminados (ver
Figura 76).

130

Figura 77. Actualizacin de los espacios por cambio de cliente, segn la definicin de multidrop.

Una vez los nuevos espacios mximos han sido adicionados y algunos de los ya existentes
modificados, debe ser verificada la lista y sern eliminados las posibles inclusiones. La lista B
es tambin actualizada y los espacios mximos que no puedan ubicar ninguna de las cajas que
an restan por empacar debern ser eliminados de S. Si = o = se da por terminado
esta fase. De lo contrario, si an existen cajas por empacar del cliente actual se debe regresar
al paso 1.

131

Paso 4: Actualizar la lista S para un nuevo cliente. Cuando el cliente actual ha sido empacado,
los espacios mximos deben ser actualizados dependiendo del tipo de criterio de multi-drop
(ver Figura 77):
- Visible. Deben ser removidos de la lista todos los espacios mximos que son completamente
invisibles desde la puerta del contenedor. Tambin deben ser actualizados (modificados) los
espacios mximos que tienen una parte visible y otra invisible.
- Alcanzables. Adems del criterio de visibilidad, deben ser removidos o actualizados todos
los espacios que son inalcanzables.
Aleatorizacin
Para cada tipo de caja y cada orientacin permitida, es construida una capa, de acuerdo al
criterio de seleccionado (max volume o best-fit). Cada una de estas es llamada como:
configuracin 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 ingls Restricted Candidate List) segn el valor: esto
quiere decir que los candidatos son ordenados segn su valor de calidad. Si el valor de la
funcin objetivo del candidato es mayor que un umbral (), el candidato es ubicado en la lista.
A travs del proceso de construccin 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 parmetro [0,1] controla el tamao

de la lista de candidatos. Si = 0, todas las configuraciones irn a la lista y podra ser una

seleccin completamente aleatoria. En contraste, = 1 significara una seleccin


completamente golosa. Debido a que solo el mejor de los candidatos sera el nico elemento

dentro de la lista y siempre saldra escogido. Para valores de 0 < < 1, el nmero de
configuraciones que entran en la lista no estara predefinido, dependiendo de los valores
relativos de los candidatos.
Movimientos de mejora
En este trabajo son considerados dos movimientos de mejora, uno para la solucin global y
otro para la solucin intermedia en el intercambio de clientes:
El primer movimiento consiste en eliminar el ltimo k % de cajas empacadas de la solucin
(por ejemplo, 50%). El valor de k es escogido aleatoriamente entre [30, 90]. Las cajas
132

removidas ms las cajas que no han sido usadas son empacadas a travs del algoritmo
constructivo determinstico ( = 1). En este movimiento el algoritmo constructivo usa ambas

funciones objetivo: configuracin con mayor volumen y configuracin que mejor ajuste. Para
vaciar y rellanar de nuevo el contenedor, la solucin 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 solucin.
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 podra llevar a obtener las mismas soluciones, se
desarroll una funcin de evaluacin de calidad de las soluciones basada en el rea (W x L)
ocupada por las cajas en la solucin parcial, con el fin de dar prioridad a las soluciones con un
mejor ndice de apilamiento (ver Figura 79).

133

Figura 79. Segundo movimiento de mejora. Mejora realizada al final de cada solucin parcial
(cambio de cliente). Vaciado y rellenado, priorizando soluciones ms apiladas.

La fase de mejoramiento solo es llamada si la solucin de la fase constructiva es considerada


promisoria, esto es, si esta es considerada un buen punto de comienzo para mejorar la mejor
solucin obtenida por el algoritmo en la iteracin actual. Solo son tenidas en cuenta las
soluciones que estn por encima de un umbral. Al principio, el umbral toma el valor de la
primera solucin obtenida por el algoritmo constructivo. Luego, si en una iteracin el valor de
esa solucin supera el umbral, este debe ser actualizado y la solucin entrara a la fase de
mejoramiento. Si la solucin es menor que el umbral, el contador de rechazos (niter) es
incrementado. Cuando el nmero de soluciones rechazadas es mayor que el nmero maxFilter
(mximos rechazos), el umbral es reducido de acuerdo a la Expresin 67.
= (1 + )

Donde es fijada en 0.2 y maxFilter = 5, como sugieren Parreo et al. (2010).


134

(67)

Fase de construccin basada en memoria


Cuando se resuelve la variante irrestricta del problema se puede modificar la fase de
construccin.
Cada elemento en la fase de construccin es evaluado de acuerdo al volumen, en este caso
este valor es alternado por la combinacin lineal de una funcin golosa y una funcin de
diversificacin que aumenta cada vez que un elemento aparece ms 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 segn 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 nmero de iteraciones Iterm es almacenada la informacin relacionada al rea
usada de la base del contenedor de una solucin 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 iteracin actual y sus predecesoras, con
este valor se obtiene una estimacin del rea del contenedor usada por este cliente. Est
informacin es usada para seleccionar los clientes y las cajas que sern mejor no tener en
cuenta a la hora de empacar. Vale la pena resaltar que es solo una estimacin de cun apilable
son las cajas de este cliente.
Por lo tanto, para cada cliente tenemos un indicador y entre ms grande es este nmero
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 prximas iteraciones. El
porcentaje depende de la calidad de la mejor solucin actual obtenida (MSAO) por el
algoritmo, es removida mximo 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 solucin actual obtenida. Esto significa que en las prximas 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).

135

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 contina.
4.5. Resultados computacionales
El algoritmo desarrollado fue codificado en C++ y ha sido ejecutado usando una
mquina 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
nmero de tipos de cajas en cada clase va desde 3 hasta 20 tipos diferentes (BR7, la sptima
clase). Adems de esto, en este trabajo se extiende hasta el uso de las clases BR8-BR15 que
presenta instancias con demanda de piezas fuertemente heterogneas, desarrolladas tambin
por Bischoff y Ratcliff (1995). El nmero 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 lmites de
apilamiento para cada cara de la caja son definidos aleatoriamente usando una distribucin
normal. Todas las instancias estn disponibles en la pgina Web del ESICUP:
http://paginas.fe.up.pt/~esicup/tiki-index.php?page_ref_id=6 (accedido en febrero 3, de
2014).
Adems de esto, para realizar estudios sobre la restriccin de multi-drop, Christensen y
Rouse (2009) haciendo uso de las 700 instancias (BR1-BR7) declaran un nmero de clientes
2, 5, 10 o 50 y asignan cada caja a un cliente usando una funcin aleatoria uniforme. La
asignacin es realizada independientemente para cada nmero 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.
Tambin son usadas las instancias presentadas por Ceschia y Schaerf (2013), filtrndolas para
136

hacer uso solo de las instancias con un nico contenedor, estos casos de prueba se encuentran
disponibles en la pgina Web: http://satt.diegm.uniud.it/3Dpacking/ (accedida en junio 14, de
2013).
Tabla 25. Detalles del benchmarking.

Liu, et al.
(2011)

U2

Cantidad

Envo completod

Instancias

Multi-drop

Estabilidad de la
carga

de
Lmites
apilamiento

Lmites de peso

de

Restricciones

Orientacin
las piezas

Trabajo

100

Descripcin

Fuente

thpack7

Bischoff y Ratcliff (1995)a

Randomly
Junqueira, et al.
(2012a)

8
X

Rouse (2009)
Ceschia y
Schaerf (2013)

X
X

Junqueira, et al. (2012a)

instances

U2
8

Christensen and

generated

3500

117

Real-world

Christensen y Rouse

instances

(2009)b

thpack1-7

Bischoff y Ratcliff (1995)c

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 lmite de apilamiento de las cajas
(c) Conjunto de 500 instancias adaptadas para incluir multi-drop y as generar 3500 instancias
(d) Envo 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
asignacin 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 elaboracin
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 nmero mximo de iteraciones igual a 50.000. En todas las Tablas
presentadas a continuacin (Tablas 26-32) el promedio corresponde al porcentaje de volumen
utilizado.
137

Comparacin con otros algoritmos heursticos (versin restricta)


Se presenta primero en la Tabla 26 la comparacin con Ceschia y Schaerf (2013) dado a que
es el trabajo que ms restricciones prcticas presenta, para esto son separadas 23 instancias de
las 117 propuestas, dado que solo ests utilizan un nico contenedor.
Tabla 26. Comparacin de resultados obtenidos por el algoritmo GRASP propuesto contra la
definicin y algoritmo de Ceschia y Schaerf (2013).

Observaciones

Todas

las

Instancia

cajas

empacadas
Baja
volumen

tasa

Nombre de la

de
para

empacar

Ceschia y Schaerf

GRASP

44.54
48.37
69.85
77.15
69.82
36.38
42.83
41.50
70.26
79.08
67.37
73.03
79.00
50.17
71.00
67.31
71.66
65.02
83.72
67.59
80.42
75.60
49.58
70.04

44.54
48.37
69.85
77.15
69.82
36.38
42.83
41.50
70.26
86.66
69.85
75.62
85.67
60.70
75.31
69.18
75.93
70.06
86.21
72.75
80.42
80.16
62.02
75.04

CS2843
CS3048
CS3152
CS3182
CS3291
CS3388
CS3556
CS3695
CS3941
CS2000
CS2805
CS2822
CS2899
CS3056
CS3074
CS3122
CS3142
CS3151
CS3203
CS3207
CS3314
CS3432
CS3915

Promedio
Tiempo computacional medio (seg)

138

18.66

En la Tabla 27 se ilustran los resultados del algoritmo propuesto comparado con el algoritmo
de Christensen y Rouse (2009). Su algoritmo fue implementado en C++ y todos las pruebas
fueron ejecutadas en una mquina Linux con un procesador AMD de 2.4GHz 64 bit y una
memoria RAM de 2GB. Ellos han ajustado un tiempo lmite 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 solucin depende del nmero de clientes sino tambin el nmero de tipos de
cajas. Cuando solo se tienen 3 tipos de cajas (BR1) la calidad de la solucin cae un 13% de 1
a 50 clientes. Cuando el nmero de tipos de cajas existentes es 20 (BR7) la diferencia llega a
ser del 30%. No es una sorpresa que los problemas ms difciles sean los que tengan muchos
clientes y muchos tipos de cajas.
Tabla 27. Comparacin de resultados obtenidos por el algoritmo GRASP propuesto contra la
definicin y algoritmo de Christensen y Rouse (2009).
Conjunto de instancias (100 casos por grupo)
Nmero

Christensen

GRASP

de

y Rouse

clientes
BR1

BR2

BR3

BR4

BR5

BR6

BR7

Promedio

Promedio

92.47 92.75 92.76 92.22


1
91.77 90.76 89.47 88.56
2
88.56 86.02 83.15 81.36
5
85.28 81.43 77.82 76.14
10
79.32 73.96 68.98 66.87
50
Promedio 87.48 84.98 82.44 81.03
Tiempo computacional medio (seg)

91.68
87.78
80.14
74.47
64.85
79.78

91.01
86.69
78.30
72.45
63.25
78.34

89.62
85.51
76.12
70.22
60.61
76.42

91.79
88.65
81.95
76.83
68.26
81.50
47.81

89.07
85.96
78.52
72.64
64.45
78.13
60

Para esta versin 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 mquina 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
implementacin del algoritmo de Jin et al. Es importante resaltar los bajos porcentajes de
volumen de utilizacin, esto se debe a que se est resolviendo la versin 3D-SKP (threedimensional single knapsack problem), ya que la demanda de piezas es fuertemente
heterognea (un ejemplar por tipo de caja y cliente).
139

Tabla 28. Comparacin de resultados obtenidos por el algoritmo GRASP propuesto contra la
definicin, y algoritmo de Liu et al. (2011) y el algoritmo SBIP presentado por Jin et al.
(2004).

SBIP - LIU

Alg 3.1 - Liu

GRASP

Promedio

49.90

48.78

49.52

Tiempo (seg)

63.76

51.98

84.11

Instancias BR7 - Modificadas

Tabla 29. Comparacin de resultados obtenidos por el algoritmo GRASP propuesto contra la
formulacin y definicin de Junqueira et al., con ik = 0.

ik = 0
Nombre

Nombre
del archivo

Nmero Nmero
de cajas

de tipos

=1

Junqueira,
et al.

A1
A5
A10
A20
B1
B5
B10
B20

20
20
41
1_n10m05b2d2_02md
41
1_n10m10b2d2_04md
99
89
1_n10m20b2d2_09md
89
6_n10m01b2d1_07md
50
1_n10m05b2d1_10md
813
1_n10m10b2d1_06md
1000
1_n10m20b2d1_05md
674
Tiempo computacional medio (seg)
6_n10m01b2d2_05md

1
1
5
5
10
20
20
1
5
10
20

15
12
15
12
15
15
12
15
15
15
15

1
0.95
1
0.779
1
1
0.928
1
1
1
1
42.75

GRASP
1
0.95
1
0.955
1
1
0.984
1
1
1
1
5.85

Envos completos irrestrictos


En las Tablas 29 y 30 son ilustrados los resultados de la versin del algoritmo en la cual no
son empacadas en orden todas las cajas de cada cliente. Primero se realiza la comparacin con
el algoritmo exacto presentado por Junqueira et al. (2012a), las pruebas de este fueron
ejecutadas en una mquina con un procesador Intel Core i7 de 2.8 GHz y con una memoria
140

RAM de 8.0 GB, fue fijado un tiempo lmite de 3600 segundos. Estos han generado un
conjunto de instancias, con ellas prueban ambos valores del parmetro ( = 0 = li).

Tabla 30. Comparacin de resultados obtenidos por el algoritmo GRASP propuesto contra la
formulacin y definicin de Junqueira et al., con ik = li.

ik = li
Nombre

Nombre

Nmero Nmero

del archivo

de cajas de Tipos

=1

Junqueira,

GRASP

et al.
A1
A5
A10
A20
B1
B5
B10
B20

6_n10m01b2d2_05md

20
1
41
5
1_n10m05b2d2_02md
5
41
1_n10m10b2d2_04md
99
10
1_n10m20b2d2_09md
20
89
6_n10m01b2d1_07md
1
50
1_n10m05b2d1_10md
813
5
1_n10m10b2d1_06md
1000
10
1_n10m20b2d1_05md
674
20
Tiempo computacional medio (seg)

15
15
12
15
15
15
15
15
15

1
1
0.9
1
1
1
1
1
1
863.45

1
1
1
1
1
1
1
1
1
10.31

Tabla 31. Comparacin de resultados obtenidos por el algoritmo GRASP propuesto contra la
definicin, 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 comparacin es realizada por dos razones, primero porque el trabajo de ellos representa
otra definicin del multi-drop y segundo porque es un modelo exacto (presentado en la
seccin 4.3) y permite verificar las soluciones obtenidas por el algoritmo heurstico propuesto
en este trabajo. Para estas instancias fue fijado en 3 el nmero 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
141

restriccin de empacar cajas en el orden estricto y as pueden ubicar cajas que no estn en el
orden previamente establecido.
Tabla 32. Comparacin 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
BR2
BR3
BR4
BR5
BR6
BR7

82.52
86.66
88.42
88.10
87.40
86.91
85.53

81.4
85.7
87.3
86.9
86.6
86.3
85.7

BR8
BR9
BR10
BR11
BR12
BR13
BR14
BR15

83.74
82.41
81.38
80.07
78.88
77.65
76.58
75.48

85.5
84.8
84.0
82.8
81.3
80.2
78.9
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 lmite de apilamiento con un nico cliente


Aunque las caractersticas principales del algoritmo propuesto intentan explotar al mximo las
restricciones de multi-drop, este tambin 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 lmite 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 representacin de espacios vacios est basada en la propuesta por
Ngoi (1994). Estos han ejecutado sus pruebas en una mquina 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 adems este es un algoritmo
142

adaptado para esa variante del problema. Cabe destacar que entre ms heterogneos son las
instancias el comportamiento del algoritmo propuesto decrece.
4.6. Conclusiones
Se desarroll una metodologa de solucin para el problema de carga de contenedores,
que hace uso de la representacin de los espacios mximos para administrar los espacios
residuales, el proceso de optimizacin 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 tambin debido al poco consenso de la comunidad
acadmica y las diferentes interpretaciones que cada autor basado en su pericia da a las
caractersticas del problema.
El algoritmo propuesto es flexible y puede ser adaptado a otras restricciones de
empaquetamiento como distribucin 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 parmetro del sistema). Adems de esto, el algoritmo es combinable con problemas como
ruteo de vehculos con restricciones de empaquetamiento tridimensional.

143

Captulo 5.
Conclusiones y trabajos futuros
En esta investigacin se estudiaron diferentes algoritmos de optimizacin de la familia de las
metaheursticas para solucionar los problemas de: corte ptimo en la mochila bidimensional
(2D-SKP o 2D-SLOPP, del ingls Two-Dimensional Single Knapsack Problem y TwoDimensional 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 lmites de ejemplares por pieza, y con y sin restricciones de orientacin en las
piezas. El segundo problema estudiado es, el problema de carga de un nico contenedor (3DSKP o 2D-SLOPP, del ingls Three-Dimensional Single Knapsack Problem y ThreeDimensional Single Large Object Placement Problem, respectivamente): con restricciones de
orientacin de las cajas, con restricciones de resistencia de pesos de las cajas para su
apilamiento, con restricciones de lmite de peso de la carga, con restricciones de estabilidad
de la carga, y con restricciones de mltiples destinos de la carga. Por ltimo, el problema de
embalaje (2D-BPP, del ingls Two-Dimensional Bin Packing Problem): con restricciones de
corte tipo guillotina, y con y sin restricciones de orientacin de las piezas.
Se realiz la revisin bibliogrfica de los modelos matemticos 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 ms de seis dcadas sin embargo
no se ha llegado a un consenso general que determine un modelo matemtico definido y que
incluyan las diferentes caractersticas que den solucin a situaciones prcticas 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 matemticas presentan debilidades al adicionar las
restricciones de carga con mltiples destinos.
Para los problemas de corte se utilizaron los conceptos de tres tcnicas metaheursticas
(optimizacin con cmulo de partculas, bsqueda en vecindario variable y algoritmos
genticos) y con base en estos se implement un algoritmo hbrido para resolver los
problemas de la mochila bidimensional y el problema de embalaje. Para el problema de carga
144

de un nico contenedor, se utilizaron los conceptos de la tcnica metaheurstica 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 codificacin
en rbol de cortes para dividir el problema original en sub-problemas. Se seleccion adems
una representacin de los espacios mximos para el tratamiento de los espacios residuales.
Mientras que, para los problemas de empaquetamiento se adapt la representacin de espacios
mximos en tres dimensiones para cumplir con las restricciones del problema.
El anlisis de resultados realizado en esta investigacin demuestra el desempeo 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 metodologa de
solucin propuesta.
Trabajos futuros propuestos en esta investigacin.
Ampliar la representacin de espacios mximos 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 tcnicas metaheursticas de optimizacin utilizando la codificacin y
representacin propuesta con el fin de mejorar la calidad de los resultados.
Utilizar una metodologa exacta para realizar el ajuste ptimo de parmetros de las tcnicas
metaheursticas de optimizacin propuestas en este trabajo.
Aplicar esta metodologa de solucin en problemas de la vida real, lo cual se logra a travs del
uso informacin real presentada en la industria.

145

Referencias bibliogrficas
ALONSO, M.T.; ALVAREZ-VALDES, R.; TAMARIT, J.M. PARREO, 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 Ingeniera & Universidad, 14 2: 327-344, 2010.
LVAREZ, D.; TORO, E. M.; GALLEGO, R. A.; Estudio comparativo de algoritmos
basados en cmulo de partculas para resolver el problema de empaquetamiento en
placas, Revista Ingeniera 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 asncrono de agentes basados
en recocido simulado aplicado al problema del agente viajero simtrico, Revista
Scientia et Technica, 49: 122-127, 2011.
ALVAREZ-VALDS, R.; PARAJN, A.; TAMARIT, J. M.: A tabu search algorithm for
large-scale guillotine unconstrained two-dimensional cutting problems. Computers &
Operations Research. 29, 925947, 2002.
ALVAREZ-VALDS, R.; PARREO F.; TAMARIT J. M.; A tabu search algorithm for a
twodimensional non-guillotine cutting problem. European Journal of Operational
Research, 183:11671182, 2007.
ANDREWS, P. S.; An investigation into mutation operators for particle swarm optimization,
IEEE CONGR. EVOL. COMPUT., Proceedings Vancouver, BC, Canada, pp.
10441051, 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.
146

BEASLEY, J. E.; Algorithms for unconstrained two-dimensional guillotine cutting. Journal


Operations Research Society., 36, 297306, 1985.
BEASLEY, J. E.; An exact two-dimensional non-guillotine cutting tree-search procedure.
Operations Research, 33:4964, 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. 112126,
2008.
BERKEY, J. O.; WANG, P. Y.; Two-dimensional finite bin packing algorithms, Journal of
the Operational Research Society, Vol. 38, pp. 423429, 1987.
BINKLEY K. B.; HAGIWARA, M.; Applying self-adaptive evolutionary algorithms to twodimensional packing problems using a four corners heurstic, European Journal of
Operational Research, Vol. 183, pp. 12301248, 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 twodimensional non-guillotine cutting patterns by a recursive partitioning algorithm.
Journal of the Operational Research Society 63, pp. 183-200, 2012.
BIRGIN, E. G.; MARTNEZ, 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.
147

BIRGIN, E. G.; MARTNEZ, 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. 215221, 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. 267276, 1990.
BISCHOFF, E. E.; RATCLIFF, M. S. W.; Issues in the development of approaches to
container loading. Omega, 234, 377390, 1995.
BISCHOFF, E. E.; WSCHER, 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 threedimensional 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. 143161, 2001.
BORTFELDT, A.; WSCHER, 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:685713, 2009.

148

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:95119, 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. 514, 2004.
CARLISLE, A.; DOZIER, G.; Adapting particle swarm optimization to dynamic
environments, INT. CONF. ARTIF. INTELL., Proceedings Las Vegas, NV, pp.
429434, 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.; STTZLE, 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, 123136, 2007.
CHEN, C. S.; LEE, S. M.,; SHEN Q. S.; An analytical model for the container loading
problem. European Journal of Operational Research, 80:6876, 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.; ROUSE, 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. 110, 1974.
CHRISTOFIDES, N.; WHITLOCK, C.; An algorithm for two-dimensional cutting problems.
Operations Research. 25, 3044, 1977

149

CHARALAMBOUS, C.; FLESZAR, K.; A constructive bin-oriented heuristic for the twodimensional bin packing problem with guillotine cuts, Computers & Operations
Research, Volume 38, Issue 10, 14431451, 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, 6185, 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, 365380, 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, 212225, 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 treedimensional bin packing problem: the packing stability case. Internat. Transactions in
Operational Research, Vol. 10, pp. 141153. 2003.
DELL'AMICO, M.; MARTELLO, S; VIGO, D.; A lower bound for the non-oriented twodimensional bin packing problem. Discrete Applied Mathematics 118, 1324. 2002.
DOWSLAND, K.; Some experiments with simulated annealing techniques for packing
problems, European Journal of Operational Research, Vol. 68, pp. 389399, 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.
150

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.
161175, 1990.
DYCKHOFF, H.; A typology of cutting and packing problems. European Journal of
Operational Research, 44:145159, 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:
DELLAMICO, 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:10261049,
2009.
FAROE, O.; PISINGER, D.; ZACHARIASEN, M.; Guided local search for the threedimensional 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.

151

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 twodimensional guillotine cutting stock problems. Journal of the Operational Research
Society. 49, 12701277, 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 higherdimensional orthogonal packing. Operations Research, 55, pp. 569587, 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 twodimensional 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. 863888, 1963.

152

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.
GONALVES, 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 twodimensional cutting stock. Computers & Operations Research. 24, 727736, 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, 6388, 2001.
HIFI, M.; Cutting and packing problems. Studia Informatica Universalis, v. 2, n. 1, p. 1161, 2002b.
HIFI, M.; M'HALLAH, R.; An Exact Algorithm for Constrained Two-Dimensional TwoStaged Cutting Problems. Operations Research 531: 140-150, 2005.
153

HIFI, M.; ROUCAIROL, C.; Approximate and exact algorithms for constrained unweighted
two-dimensional two-staged cutting stock problems. Journal of Combinatorial
Optimization. 5, 465494, 2001
HIFI, M.; ZISSIMOPOULOS, V.; A recursive exact algorithm for weighted two-dimensional
cutting. European Journal Operations Research, 91, 553564, 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. 257300,
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. 3457, 2001b.
JAKOBS, S.; On genetic algorithms for the packing of polygons. European Journal of
Operational Research, 88:165181, 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:5175,
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 threedimensional
loading; International Transactions in Operational Research 20 5, 645-666, 2013.

154

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-55860595-9. 2001.
KIRKPATRICK, S.; GELATT, C.; VECCHI, M.: Optimization by simulated annealing.
Science. 220, 671680, 1983.
KRGER, 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:130139, 1997.
LEUNG, T.W.; YUNG, C. H.; TROUTT, M. D.; Application of mixed simulated annealinggenetic algorithm heuristic for the two-dimensional orthogonal packing problem.
European Journal of Operational Research, 145:530542, 2003.
LIANG, J. J.; SUGANTHAN, P. N.; Dynamic multi-swarm particle swarm optimizer with
local search, IEEE CONGR. EVOL. COMPUT. Proceedings... pp. 522528, 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. 241252, 2002.

155

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.
345357, 1999.
LODI, A.; MARTELLO S.; VIGO, D.; Models and bounds for the two-dimensional level
packing problems, Journal of Combinatorial Optimization, Vol. 8, pp. 363379,
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. 310319, 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, 10971100, 1997.
MORABITO, R.; ARENALES, M.; Um exame dos problemas de corte e empacotamento.
Pesquisa Operacional, v. 12, n. 1, p. 1-20, 1992.
156

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, 548560, 1996.
MORABITO, R.; ARENALES, M.; ARCARO, V. F.; An and/or-graph approach for twodimensional 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. Produo. 17,
033051, 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.; WSCHER, 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. 433439, 1991.
PADBERG, M.; Packing small boxes into a big box. Mathematical Methods of Operations
Research, v. 52, n. 1, p. 1-21, 2000.

157

PARREO, F.; ALVAREZ-VALDES, R.; TAMARIT, J. M.; OLIVEIRA, J. F.; A MaximalSpace Algorithm for the Container Loading Problem, INFORMS Journal on
Computing 20 3, 412-422, 2008.
PARREO, 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. 13041327,
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:199213, 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. 591600. 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, 368378, 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.

158

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.; GARCS, A.; RUIZ, H.; Solucin al problema de empaquetamiento
bidimensional usando un algoritmo hbrido constructivo de bsqueda en vecindad
variable; recocido simulado, Revista Facultad de Ingeniera 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.
TSCHKE, S.; HOLTHFER, N.; A new parallel approach to the constrained twodimensional 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 twodimensional cutting stock problems. Operations Research. 41, 768776, 1993.
WANG, P. Y.; Two algorithms for constrained two-dimensional cutting stock problems.
Operations Research. 32, 573586 1983.
WANG, P. Y.; WSCHER, G.; Cutting and packing. European Journal of Operational
Research, v. 141, n. 2, p. 239-240, 2002.
WSCHER, 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: 16081614, 2009.
159

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, 341358, 2002.
WY, J.; KIM, B.; Two-staged guillotine cut, two-dimensional bin packing optimization with
exible bin sizes for steel mother plate design. International Journal of Production
Research, 4822, 67996820. 2010.
YOUNG-GUN, G.; KANG, M.-K.; A new upper bound for unconstrained two-dimensional
cutting and packing. Journal Operations Research Society., 53, 587591, 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,
301307, 2003.
ZHAN, Z.; ZHANG, J.; Li, Y.; CHUNG, H.S.H.; Adaptive particle swarm optimization.
IEEE Transactions on System, Man and Cybernetics B, 39, 13621381, 2009.
ZHU, W.; LIM, A.; A new iterative-doubling GreedyLookahead 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, 115, 2012.

160

Captulo 6.
Problema de embalaje
En el mundo de hoy, la globalizacin es una realidad que genera escenarios ms
complejos y competitivos para las empresas, donde para mantenerse se hace necesario pensar
en trminos de optimizacin en todos los frentes que componen a la organizacin, 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 decisin en la utilizacin 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. Introduccin
El problema de embalaje (ms conocido como problema de bin packing) consiste en
minimizar el material desperdiciado. La solucin de este es de gran inters en el sector
indus trial, comercial y acadmico. Enunciando algunos trabajos de esta temtica con gran
aplicacin en la industria estn: el problema de diseo de placas de metal Wy y Kim (2010),
el problema de corte en la industria de la lona para la confeccin 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
161

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 captulo se analiza el caso especfico donde se debe atender completamente la
demanda de piezas rectangulares a ser

ubicadas en placas idnticas rectangulares y cuyo

objetivo es minimizar el nmero 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 orientacin 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 rotacin.

iii)

Los patrones de corte son del tipo guillotina. En estos cada corte produce dos subrectngulos y van de un extremo al otro del rectngulo original.

Los problemas de corte y empaquetamiento revisten una alta complejidad matemtica, estos
son considerados NP-Hard en un fuerte sentido. El problema de embalaje en una dimensin
fue probado NP-Hard por Garey y Johnson (1979), Martello et al. (2003) muestra que el
problema de embalaje tambin recae en la misma familia de problemas.
Que un problema sea identificado en esta categora no significa que no puede resolverse y se
deben proponer algoritmos de solucin que exploten de forma eficiente la estructura
matemtica del mismo para que se encuentren soluciones a la mayora de las instancias del
problema en tiempos de ejecucin relativamente pequeos.
Este problema ha sido ampliamente tratado en diferentes campos de la optimizacin, como lo
son la optimizacin exacta y la aproximada (heursticas y metaheursticas). Lodi et al. (1999)
y Lodi et al. (2002) realizan un excelente resumen del estado del arte del problema de bin
packing, describen los lmites disponibles, algoritmos exactos y aproximados. De los mtodos
exactos con mejor desempeo est el propuesto por Amico et al. (2002), este determina un
lmite inferior al problema con rotacin y lo resuelve con un algoritmo branch and bound.
Puchinger y Raidl (2006) consideran un problema tpico de manufactura de vidrio: threestage two-dimensional bin packing problem donde el nmero de cortes guillotina no puede
exceder 3 etapas. Estos disearon dos modelos lineales enteros de tamao polinomial y un
162

algoritmo branch-and-price basado en una formulacin de cubrimiento para el problema


bidimensional.
Dentro de los algoritmos heursticos con mejor desempeo estn, finite best fit strip (FBS) y
finite first fit (FFF) presentados por Berkey y Wang (1987) para el problema sin rotacin.
Lodi et al. (1999) adaptan los algoritmos FBS y FFF para el problema con rotacin y presenta
una aproximacin floor ceiling (FC). Lodi et al. (1999) prueban que FC tiene un mejor
desempeo que FBS y FFF.
Existe una gran cantidad de algoritmos aproximados que han venido siendo adaptados usando
tcnicas metaheursticas. Lodi et al. (2002) introducen un algoritmo de bsqueda tab que
explora el espacio de solucin independiente del problema haciendo uso de un tamao y
estructura de vecindad dinmica. La bsqueda considera conceptos de heursticas
constructivas. Lodi et al. (2002) adaptan una heurstica constructiva para el problema con
rotacin introduciendo el concepto de pseudo-pieza y favorece la orientacin vertical de la
pieza cuando es posible.
Faroe et al. (2003) extiende la aproximacin de Dowsland (1993) para el problema sin
rotacin, utilizando una bsqueda local guiada donde el vecindario es explorado a travs de
intercambios aleatorios de piezas embaladas de una placa a otra. La infactibilidad de las
piezas sobrepuestas es penalizada en la funcin objetivo. La bsqueda finaliza cuando la
incumbente logra un valor propuesto o un periodo de tiempo fijado es alcanzado.
Nuevos algoritmos aproximados han sido diseados para resolver otras variantes del problema
de bin packing. Por ejemplo, Binkley y Hagiwara (2007) describen para el problema noguillotina la heurstica de cuatro esquinas que es usada en conjunto con un algoritmo paralelo
auto-adaptativo de recocido simulado y un algoritmo gentico.
Las tcnicas metaheursticas han mostrado su gran potencial como herramientas de solucin
en variados campos de aplicacin por su eficiencia en cuanto a tiempos de solucin y calidad
de las respuestas obtenidas. En este trabajo se propone un algoritmo basado en la tcnica
cmulo de partculas para la solucin del problema de embalaje con y sin rotacin, adems de
presentar un anlisis y una comparacin de las respuestas obtenidas respecto a las del estado
del arte de la literatura especializada. La estructura de este captulo es la siguiente:
descripcin del problema, modelo matemtico representativo, metodologa de solucin,
anlisis de resultados y conclusiones.
163

6.2. Descripcin del problema


El problema de embalaje estudiado en este trabajo se define como: cortar de un
conjunto de rectngulos que se denominan placas (mochilas, lminas u objetos) de alto H y
ancho W, un conjunto de rectngulos 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 Ecuacin 68 y consiste
en minimizar el nmero 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.

min

Z
l =1

Sujeto a:

(68)

Las piezas empacadas no deben superar los lmites 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 caractersticas de estas variantes
pueden ser incorporadas al adicionar expresiones o modificar alguna de estas.
Las caractersticas de este problema son las siguientes:
i)

La orientacin de las piezas: si la orientacin de las piezas es fija, no es necesario


agregar ninguna expresin. 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 Expresin 72.

ii)

Las piezas pueden rotar 90

(72)

Los patrones de corte: En este trabajo se limita al uso de los patrones tipo
guillotina, para esto es necesario adicionar la Expresin 73.

Solo el uso de cortes tipo guillotina son permitidos.

(73)

Esto significa que el tipo de patrn de corte es una restriccin fuerte en este
trabajo.
164

6.3. Modelo Matemtico


Ben et al. (2008) sugiere un modelo de programacin lineal entera mixta,
considerando todas las restricciones descritas en la definicin del problema y utilizando un
sistema de coordenadas para la ubicacin 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 patrn 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 ubicacin de las piezas en la placa:
1 si la placa l fue usada
Zl =

0 de lo contrario

1 si la pieza k es empacada en la coordenada ( i, j ) de la placa l


zi , j , k , l =

0 de lo contrario

Las siguientes variables de decisin intermedias tambin son necesarias para garantizar que
no existan traslapes entre piezas:
1 si la pieza en ( i, j ) , no excede (horizontalmente) xi ' con i ' > i en la placa l
ui , j ,i ',l =

0 de lo contrario

1 si la pieza en ( i, j ) , no excede (verticalmente) yi ' con j ' > j en la placa l


vi , j , j ',l =

0 de lo contrario

Los siguientes tres conjuntos de variables binarias son necesarios para garantizar las
restricciones guillotina:

pi ,i ', j , j ,l
1

1,

0,

si no hay pieza entre ( i1 , j1 ) y ( i ' 1, j2 ) que exceda xi ' (consecuentemente,


un corte vertical en xi ' no cruza ninguna pieza empacada entre ( i1 , j1 ) y

( i ' 1, j2 ) ), i ' > i1 en la placa l


de lo contrario

165

1, si no hay pieza entre ( i1 , j1 ) y ( i2 , j ' 1) que exceda y j ' (consecuentemente,

un corte horizontal en y j ' no cruza ninguna pieza empacada entre ( i1 , j1 ) y


qi ,i , j , j ',l =

( i2 , j ' 1) ), j' > j1 en la placa l

0, de lo contrario

1, si existe mnimo una pieza empacada entre ( i1 , j1 ) y ( i2 , j2 ) en la placa l


d i ,i , j , j ,l =

0, de lo contrario

1 2

La formulacin completa del problema de embalaje bidimensional en placas (sin rotacin)


contina siendo la presentada en las Expresiones 12 - 35, y solo se ha adherido un ndice al
final de cada variable que representa en cul de las placas ha sido asignado. Y en este caso, la
funcin objetivo pasa a ser la Expresin 68. Mientras tanto, el modelo sigue presentando una
alta complejidad matemtica que en la prctica lo hace inexplotable a travs del software y
hardware actual disponible para la programacin entera mixta (para ms detalle de este
modelo ver Ben et al. (2008)).
Figura 81. El rbol de cortes y disposicin de las piezas placa por placa.

6.4. Metodologa
En este captulo se propone una metodologa de solucin basada en la presentada para
el problema de la mochila del captulo 3. Por lo que no es necesario enunciar de nuevo: la
codificacin, la representacin del espacio libre de espacios mximos residuales, el algoritmo
166

heurstico constructivo de creacin de capas, ni el clculo de la funcin objetivo. Por lo tanto,


estos continuarn siendo los mismos.
Metodologa de solucin
En este trabajo los problemas de corte en placas se resuelven como solucin de l problemas
consecutivos de la mochila bidimensional, siendo l el nmero mnimo de placas necesarias
para embalar la totalidad de las piezas (ver Figura 81). Por lo tanto, el esquema de
optimizacin 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. Solucin obtenida para los problemas de embalaje sin rotacin.

Casos
Lodi et al. (1997)
Clase

Nmero de
Piezas

++
Lmite Inferior

Mejor
Solucin
Reportada
Lmite Inferior

Autor

100

1.05

1.028

Vigo y Martello (1998)

20

1.18

1.120

Vigo y Martello (1998)

100

1.09

1.086

Vigo y Martello (1998)

20

1.13

1.040

Vigo y Martello (1998)

40

1.09

1.050

Vigo y Martello (1998)

100

1.09

1.086

Vigo y Martello (1998)

40

1.07

1.066

Vigo y Martello (1998)

100

1.04

1.036

Vigo y Martello (1998)

20

1.12

1.056

Vigo y Martello (1998)

100

1.04

1.040

Lodi et al. (1999)

60

1.01

1.002

Vigo y Martello (1998)

100

1.01

1.000

Vigo y Martello (1998)

10

40

1.09

1.056

Vigo y Martello (1998)

6.5. Anlisis 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 clsicos
presentados por Christofides y Whitlock (1977), 12 casos de prueba propuestos por Beasley
(1985) y 130 casos de prueba tomados de la gran librera presentada por Lodi et al. (2002) y
disponible en lnea en Lodi et al. (1997). En resumen se usaron 70 casos de prueba que
167

pertenecen a la categora de problemas de empaquetamiento de gran escala, mientras los 75


restantes pertenecen a las categoras de pequea y mediana escala (menos de 60 piezas).
Diferentes estudios han utilizado estos casos de prueba para realizar sus anlisis en una
especie de benchmark de las metodologas propuestas, una descripcin ms 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. Solucin obtenida para los problemas de embalaje sin rotacin.

APSO+VNS+TF*

Mejor
Solucin
Reportada

Autor

CGCUT1

Lodi et al. (1999)

CGCUT2

Lodi et al. (1999)

CGCUT3

23

23

Lodi et al. (1999)

NGCUT1

Vigo y Martello (1998)

NGCUT2

Bekrar et al., (2010)

NGCUT3

Bekrar et al., (2010)

NGCUT4

Bekrar et al., (2010)

NGCUT5

Bekrar et al., (2010)

NGCUT6

Bekrar et al., (2010)

NGCUT7

Bekrar et al., (2010)

NGCUT8

Bekrar et al., (2010)

NGCUT9

Bekrar et al., (2010)

NGCUT10

Bekrar et al., (2010)

NGCUT11

Bekrar et al., (2010)

NGCUT12

Bekrar et al., (2010)

Caso

(*) Nmero de placas usadas.

Resultados Computacionales
En las Tablas 33-36 se presentan para todos los casos de prueba la mejor solucin alcanzada
por los algoritmos propuestos y la mejor solucin reportada en la literatura especializada con
su respectivo autor. En estas Tablas se utilizan diferentes smbolos para representar la calidad
de las respuestas obtenidas, para esto se usa la siguiente codificacin de los resultados:
Adems de esto, para los primeros 15 casos de prueba los resultados estn dados por el
nmero de placas utilizadas, mientras en los 130 casos de la librera de Lodi et al. (1997) los
resultados estn dados como el promedio de cada grupo de 10 casos de la relacin, nmero de
168

placas de la solucin sobre nmero de placas del problema relajado (ms conocido como
lmite inferior).
En las Tablas 33 - 36 se identifica que la metodologa propuesta para resolver los problemas
de embalaje presenta un buen comportamiento, debido a que en los problemas donde no se
permite la rotacin de piezas el 57% de las respuestas reportadas son alcanzadas.
Obtenindose un comportamiento diferente cuando se permite la rotacin de piezas, donde un
71 % de las respuestas son igualadas.
Tabla 35. Mejor solucin obtenida para el problema de embalaje con rotacin.

Casos
Lodi et al. (1997)
Clase

Nmero de
Piezas

++
Lmite Inferior

Mejor
Solucin
Reportada
Lmite Inferior

Autor

60

1.07

1.12

Lodi et al. (1999)

20

1.08

1.17

Lodi et al. (1999)

60

1.06

1.16

Lodi et al. (1999)

80

1.06

1.17

Lodi et al. (1999)

40

1.07

1.19

Lodi et al. (1999)

60

1.06

1.18

Lodi et al. (1999)

80

1.05

1.15

Lodi et al. (1999)

100

1.04

1.17

Lodi et al. (1999)

20

1.00

1.00

Lodi et al. (1999)

40

1.01

1.01

Lodi et al. (1999)

60

1.01

1.01

Lodi et al. (1999)

80

1.01

1.01

Lodi et al. (1999)

100

1.01

1.01

Lodi et al. (1999)

Dado que en aplicaciones reales se manejan en el proceso de corte o empaquetamiento lmites


mximos de desperdicio del 30%. Se puede notar en los resultados expuestos que aplicando
dichas metodologas se obtiene una reduccin en las prdidas del material de ms del 50%. El
inconveniente en la aplicacin de estas metodologas es el alto tiempo de cmputo cuando se
requiere resolver el problema en tiempo real.
Para una actualizacin de los resultados presentados en este trabajo, se ejecut toda la librera (500
instancias) propuesta por Berkey y Wang (1987) (clases 16) y Lodi et al. (1997) (clases 710), al

mismo tiempo fueron actualizadas las publicaciones ms notorias en la literatura. En las


169

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 heurstico (CHBP) presentado
por Charalambous ey Fleszar (2011), el algoritmo heurstico (CFIH+J4) propuesto por Fleszar
(2013), y por ltimo, el algoritmo hbrido de PSO, VNS y el factor de turbulencia
(APSO+VNS+TF) propuesto en este trabajo.
Tabla 36. Mejor solucin obtenida para el problema de embalaje con rotacin.
Caso

Mejor Solucin
Obtenida*

Mejor
Solucin
Reportada

CGCUT1

Lodi et al. (1999)

CGCUT2

Lodi et al. (1999)

CGCUT3

23

23

Lodi et al. (1999)

NGCUT1

Bekrar et al., (2010)

NGCUT2

Bekrar et al., (2010)

NGCUT3

Bekrar et al., (2010)

NGCUT4

Bekrar et al., (2010)

NGCUT5

Bekrar et al., (2010)

NGCUT6

Bekrar et al., (2010)

NGCUT7

Bekrar et al., (2010)

NGCUT8

Bekrar et al., (2010)

NGCUT9

Bekrar et al., (2010)

NGCUT10

Bekrar et al., (2010)

NGCUT11

Bekrar et al., (2010)

NGCUT12

Bekrar et al., (2010)

Autor

(*) Nmero de placas usadas.

Cabe anotar que otros trabajos no son presentados por su forma de reportar los resultados, ya
que al usar diferentes lmites inferiores se presta para errores en la trascripcin de los
resultados, por este motivo pero sin perder la calidad de la comparacin aqu realizada, se
utiliza el nmero 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. Comparacin de los tiempos de cmputo del algoritmo propuesto. Unidades en segundos.

Problema
Fixed version
Rotated version

CHBP-CF

CFIH+J4

APSO+VNS+TF

33

<1

210

66

<1

299

170

Tabla 38. Comparacin con las metodologas ms notables presentadas en la literatura. Fixed version.

Clase

Tamao (L x W)

CHBP-CF

CFIH+J4

APSO+VNS+TF

10x10

30x30

40x40

100x100

100x100

300x300

100x100

100x100

100x100

10

100x100

20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100

71
134
201
275
321
10
20
26
33
39
52
97
140
196
230
10
19
25
33
39
65
121
183
247
288
10
19
22
30
34
55
112
160
233
275
58
114
163
226
279
143
279
438
577
695
44
74
103
130
163

71
135
201
275
322
10
20
27
32
40
53
96
141
195
226
10
19
25
33
39
66
120
182
248
290
10
19
22
30
34
56
115
161
232
274
60
116
165
227
281
143
278
437
577
695
43
75
104
132
163

71
135
201
282
333
12
20
27
33
43
55
97
140
198
236
10
19
26
33
40
73
130
182
251
304
10
19
22
30
34
55
117
162
232
280
65
114
163
226
285
143
278
441
577
702
43
81
104
130
166

7311

7325

7430

Total

171

Tabla 39. Comparacin con las metodologas ms notables de la literatura. Rotated version.

Clase

Tamao (L x W)

CHBP-CF

CFIH+J4

APSO+VNS+TF

10x10

30x30

40x40

100x100

100x100

300x300

100x100

100x100

100x100

10

100x100

20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100
20
40
60
80
100

66
129
195
271
314
10
19
25
31
39
48
94
136
186
223
10
19
25
33
38
59
115
176
240
282
10
18
21
30
34
52
104
148
211
255
53
105
150
210
258
143
275
435
573
693
41
73
100
130
159

66
129
195
271
314
10
19
25
32
39
48
94
136
185
223
10
19
25
33
38
59
117
175
241
281
10
18
21
30
34
52
106
151
214
258
53
105
152
211
258
143
275
435
573
693
42
73
101
129
159

71
134
201
275
321
10
20
26
32
39
52
96
140
195
226
10
19
25
33
39
65
119
182
247
288
10
19
22
30
34
55
112
160
232
274
58
114
163
226
279
143
278
437
577
695
43
74
103
130
164

7064

7080

7297

Total

172

6.5. Conclusiones
Se desarroll una metodologa de solucin para los problemas de corte ptimo
bidimensional guillotinado en placas, que utiliza una codificacin de rbol de cortes y hace
uso de la representacin de los espacios mximos para administrar los espacios residuales,
mientras el proceso general es administrado mediante un algoritmo hbrido de cmulo de
partculas, bsqueda en vecindario variable y algoritmos genticos. Esta metodologa logra ser
flexible y robusta para solucionar la gran variedad de variantes del problema propuestas en
este trabajo, adems de alcanzar resultados satisfactorios.
Fue implementado un algoritmo de optimizacin que combina las principales caractersticas
de cmulo de partculas, bsqueda en vecindario variable y algoritmos genticos. El primero
se considera como el algoritmo principal, el segundo hace el papel de limitador de las
caractersticas de la solucin que deben actualizarse en cada iteracin, esto hace que aumente
mejore el proceso de exploracin y el tercero se usa como mecanismo de perturbacin
especializado para realizar bsquedas locales, efectuando cambios aleatorios-controlados en
las soluciones usando el operador mutacin de los genticos y que ayuda a representar el
concepto de factor de turbulencia de vuelo, propio del algoritmo PSO.
Se utiliz un tipo de codificacin en rbol, llamada rbol de cortes, el cual se encarga de subdividir el problema original en pequeos sub-problemas de la misma especie. Esto se logra
gracias a que en los nodos padre del rbol se representan las distancias y orientacin de los
cortes que deben realizarse sobre la placa, mientras en los nodos hoja se almacenan las
dimensiones de las lminas de los sub-problemas resultantes. Esta propuesta de codificacin
presenta un gran desempeo para este tipo de problemas debido a que logra reducir el espacio
de bsqueda con bajo riesgo de perder soluciones de buena calidad. Esta filosofa de
recursividad presenta una gran flexibilidad, lo que significa, que puede ser usada en
metodologas que empleen otras tcnicas de optimizacin tales como: Branch and bound,
Bsqueda Tab, GRASP, Colonia de Hormigas, Algoritmos Genticos, etc.
Los tiempos de cmputo requeridos por la metodologa son mayores a los reportados en la
literatura especializada, aun habiendo diferencias entre las arquitecturas de cmputo y
lenguajes de programacin. A pesar de lo anterior, los tiempos de cmputo utilizados por la
metodologa propuesta continan siendo son razonables.

173

La metodologa propuesta es aplicable a problemas como: 3D bin packing, strip packing,


entre otros. Tambin puede ser extensible a problemas de carga de pallets.

174

Anexo - Resultados sin comparacin.


Tabla 40. Resultados del problema guillotine non-staged unconstrained weighted
rotated.
Unconstrained Non-staged Weigthed Rotated Problem
ID
APSO+VNS+TF
Tiempo (seg)
6696
56
UW1
18,200
63
UW11
9732
54
UW2
7188
76
UW3
8452
103
UW4
8398
82
UW5
6937
110
UW6
11,585
115
UW7
8088
130
UW8
7527
116
UW9
8172
63
UW10
171,836,653
156
LUW1
326,399,541
154
LUW2
433,882,185
188
LUW3
568,690,356
249
LUW4
Tabla 41. Resultados del problema guillotine non-staged constrained weighted rotated.
Constrained Non-staged Weighted Rotated Problem
ID
APSO+VNS+TF
Tiempo (seg)
6764
124
CW1
5540
126
CW2
5689
202
CW3
7466
186
CW4
11659
202
CW5
12959
320
CW6
10880
310
CW7
4736
366
CW8
11479
280
CW9
6705
280
CW10
6604
250
CW11
4630
168
TH1
9683
104
TH2
2858
52
CHW1
1900
126
CHW2

175

Tabla 42. Resultados del problema guillotine non-staged constrained unweighted


rotated.
Constrained Non-staged Unweighted Rotated Problem
ID
APSO+VNS+TF
Tiempo (seg)
98,64
203
CU1
99,43
210
CU2
99,84
403
CU3
99,22
365
CU4
98,75
387
CU5
99,65
540
CU6
97,5
570
CU7
99,2
611
CU8
98,32
540
CU9
98,94
540
CU10
99,31
470
CU11
Tabla 43. Resultados del problema guilltoine two-staged unconstrained fixed weighted
y unweighted.
Unconstrained Two-staged Fixed Problem
Unweighted
Weighted
APSO+VNS+TF Tiempo (seg)
APSO+VNS+TF
ID
ID
Tiempo (seg)
96.50
25
6036
17
UU1
UW1
99.21
28
15,747
19
UU2
UW11
97.52
26
8468
25
UU3
UW2
98.19
34
6226
29
UU4
UW3
99.15
47
7748
32
UU5
UW4
98.79
36
7780
24
UU6
UW5
98.84
48
6615
31
UU7
UW6
98.98
51
10,464
30
UU8
UW7
99.20
58
7692
34
UU9
UW8
99.01
53
7038
29
UU10
UW9
99.49
27
7507
38
UU11
UW10
99.98
70
158,363,374
80
LUU1
LUW1
99.99
70
257,372,669
83
LUU2
LUW2
99.99
80
261,252,077
180
LUU3
LUW3
99.98
112
473,754,165
230
LUU4
LUW4

176

Tabla 44. Resultados del problema guillotine two-staged constrained weighted rotated.
Constrained Two-Staged Weighted Rotated Problem
ID
APSO+VNS+TF
Tiempo (seg)
10,710
10
HH
2539
21
2
1746
42
3
1835
37
A1
2327
41
A2
4646
56
STS2
9468
39
STS4
8382
60
CHL1
2235
17
CHL2
6425
50
CW1
5356
69
CW2
9684
64
Hch12
5104
61
Hch19
Tabla 45. Resultados del problema guillotine three-staged constrained weighted y
unweigthed rotated.
Constrained Three-Staged Rotated Problem
ID
Unweighted
Weighted
APSO+VNS+TF
Tiempo (seg)
APSO+VNS+TF
Tiempo (seg)
99.98
180
632,402
94
3SCUI1
99.73
178
4,545,920
120
3SCUI2
99.93
276
1,833,944
153
3SCUI3
99.98
198
4,339,962
118
3SCUI4
99.99
190
2,678,314
98
3SCUI5
99.83
197
4,249,533
99
3SCUI6
99.79
300
4,306,566
160
3SCUI7
99.82
256
3,610,791
140
3SCUI8
99.83
223
7,447,743
111
3SCUI9
99.81
245
6,040,071
136
3SCUI10
99.78
163
1,169,181
103
3SCUI11
99.99
187
2,567,626
127
3SCUI12
99.78
176
2,796,196
96
3SCUI13
99.76
190
3,153,305
98
3SCUI14
99.84
281
5,021,789
160
3SCUI15
99.82
272
2,158,001
149
3SCUI16
99.79
209
6,885,015
103
3SCUI17
99.85
203
7,552,210
99
3SCUI18
99.77
265
5,709,350
129
3SCUI19
99.75
150
5,731,970
155
3SCUI20

177

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

178

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

179

También podría gustarte