Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Elctrica.
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,
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
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.
18
2.
Problema de embalaje.
19
3.
20
4.
Estructura de la tesis.
25
5.
29
6.
30
7.
8.
9.
31
33
34
10.
Patrn guillotina.
37
11.
Patrn no guillotina.
37
12.
38
13.
38
14.
38
15.
39
16.
39
17.
18.
40
40
19.
41
20.
41
21.
41
22.
42
23.
42
viii
24.
44
25.
46
26.
46
27.
47
28.
48
29.
30.
50
52
31.
53
32.
53
33.
54
34.
54
35.
55
36.
64
37.
67
38.
39.
40.
70
70
71
41.
72
42.
74
43.
75
44.
76
77
46.
47.
78
48.
79
45.
ix
78
80
50.
80
51.
80
52.
81
53.
54.
55.
82
83
83
57.
84
85
58.
87
59.
88
60.
Algoritmo PSO.
90
61.
62.
92
109
no ponderado.
63.
64.
111
111
65.
115
66.
115
67.
116
68.
69.
70.
71.
72.
73.
74.
117
117
118
119
124
127
128
75.
129
76.
130
77.
131
78.
133
79.
134
80.
161
81.
167
xi
Lista de Tablas
Nmero
Nombre de la tabla
Pgina
1.
79
2.
93
3.
94
4.
95
5.
95
6.
96
7.
96
8.
97
9.
10.
99
11.
100
12.
101
13.
102
14.
103
16.
17.
106
18.
106
15.
19.
20.
21.
22.
23.
24.
25.
xii
98
104
105
107
107
108
108
109
110
136
138
33.
34.
168
35.
169
36.
170
37.
171
38.
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.
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.
23
1.6.
24
26
2.1.
26
2.2.
36
2.2.1.
36
2.2.2.
44
2.2.3.
45
56
3.1.
Introduccin
56
3.2.
60
3.3.
Modelo matemtico
61
3.4.
Metodologa de solucin
70
3.4.1.
Codificacin propuesta
76
3.4.2.
81
3.4.3.
81
3.4.4.
83
3.4.5.
86
xv
3.5.
Anlisis de resultados
94
3.6.
Conclusiones
112
114
4.1.
Introduccin
114
4.2.
119
4.3.
Modelo Matemtico
121
4.4.
Metodologa de solucin
126
4.5.
Resultados computacionales
135
4.6.
Conclusiones
143
144
Bibliografa
146
Apndice
Captulo 6. Problema de embalaje
161
6.1.
Introduccin
161
6.2.
164
6.3.
Modelo Matemtico
165
6.4.
Metodologa
166
6.5.
Anlisis de Resultados
168
6.6.
Conclusiones
171
175
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
18
Surtido de piezas
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 (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
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
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.
23
24
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
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
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.
30
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
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
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:
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.
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
32
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
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
Dbilmente
Fuertemente
Heterogneas
Heterogneas
Problema de corte de
Problema de embalaje en
estoque en objetos de
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
objetos de mltiples
de estoque
Residual
embalaje
Residual
ODP
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 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.
(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).
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.
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.
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.
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.
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.
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.
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.
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 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
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).
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
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.
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).
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 35. Patrn de carga guillotinado, representacin de los cortes paralelos al contenedor
aplicados por etapas.
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)
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
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
c z
i =1
Sujeto a:
(1)
(2)
(3)
(4)
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)
= , y para estas haga = + , (es decir, agrupar por tipos de pieza), adems
se debe agregar la Expresin 6.
60
iii)
(6)
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)
(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.
(11)
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
0 de lo contrario
Los siguientes tres conjuntos de variables binarias son necesarios para garantizar las
restricciones guillotina:
pi1 ,i ', j1 , j2
1,
0,
de lo contrario
1,
0,
de lo contrario
63
0, de lo contrario
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
=j j1=
k 1
j2
i ' 1
pi1 ,i ', j1 , j2 zi , j ,k
( i ' i1 )( j2 j1 + 1) pi ,i ', j , j
ui , j ,i '
=i i 1=j j1=
k 1
i2
i ' 1
j2
=i i 1=j j1
j ' 1 n
=i i 1=j j1=
k 1
i2
j ' 1
di1 ,i2 , j1 , j2 +
i2
i '=i1 +1
n
pi1 ,i ', j1 , j2 +
W xi + wk zi , j ,k
=i i 1=j j1
j2
i1 ,i2 , j1 , j '
j '=
j1 +1
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)
(33)
(34)
(35)
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)
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
67
yip y jq ij 0
(41)
Por lo tanto, la restriccin para prevenir traslape entre las piezas cortadas es:
(42)
Qi
vz
i =1 p =1
ip
(43)
Sujeto a:
(44)
(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)
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)
(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
70
71
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
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.
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:
3.
4.
Clculo y seleccin del mejor bloque de los tres criterios: mayor rea (o beneficio), mejor
ajuste y mejor ndice de rea (o beneficio).
5.
Fijacin de la esquina inferior izquierda como punto de referencia para la ubicacin de todos
los bloques.
6.
Uso de un algoritmo PSO mejorado para encontrar los valores ptimos del rbol de cortes.
7.
Refinamiento de la solucin:
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.
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.
4.
Clculo y seleccin del mejor bloque de los tres criterios: mayor rea (o beneficio), mejor
ajuste y mejor ndice de rea (o beneficio).
5.
Uso de la esquina ganadora (en la seleccin de espacios) como punto de referencia para la
ubicacin del bloque seleccionado.
6.
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:
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
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 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).
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
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
4
4
4
4
3)
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.
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
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.
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)
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
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,
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
gbest = x i
Fin Si
De lo contrario
N i = Siguiente N i
Fin Si
Para k N i
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
92
Valor
Tamao de la poblacin
100
100
c1(Conocimiento Individual)
2.05
c2(Conocimiento Colectivo)
2.05
w(Inercia)
0.6
3
0.03
93
94
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
97
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
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
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
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
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.
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
115
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).
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).
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.
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
(54)
(55)
(56)
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)
iii)
v)
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
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)
(63)
max
=1
Sujeto a:
6
1
=1
6
=6 =5
, ,
(64)
= 1, ,
(65)
= 1, ,6
, ,
{0,1}
(66)
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
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
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
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
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.
(67)
135
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
Randomly
Junqueira, et al.
(2012a)
8
X
Rouse (2009)
Ceschia y
Schaerf (2013)
X
X
instances
U2
8
Christensen and
generated
3500
117
Real-world
Christensen y Rouse
instances
(2009)b
thpack1-7
Real-world
instances
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
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
GRASP
Promedio
49.90
48.78
49.52
Tiempo (seg)
63.76
51.98
84.11
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
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).
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
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
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
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
151
packing with
guillotine
cuts,
Computers
&
Operations
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
ON
NEURAL
NETWORKS
IV,
LEARNING
AND
CONFERENCE
ON
SYSTEMS,
MAN,
AND
CYBERNETICS.
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
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
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
ii)
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
min
Z
l =1
Sujeto a:
(68)
(69)
(70)
(71)
ii)
(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.
(73)
Esto significa que el tipo de patrn de corte es una restriccin fuerte en este
trabajo.
164
0 de lo contrario
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
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,
165
0, de lo contrario
0, de lo contrario
1 2
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
Casos
Lodi et al. (1997)
Clase
Nmero de
Piezas
++
Lmite Inferior
Mejor
Solucin
Reportada
Lmite Inferior
Autor
100
1.05
1.028
20
1.18
1.120
100
1.09
1.086
20
1.13
1.040
40
1.09
1.050
100
1.09
1.086
40
1.07
1.066
100
1.04
1.036
20
1.12
1.056
100
1.04
1.040
60
1.01
1.002
100
1.01
1.000
10
40
1.09
1.056
APSO+VNS+TF*
Mejor
Solucin
Reportada
Autor
CGCUT1
CGCUT2
CGCUT3
23
23
NGCUT1
NGCUT2
NGCUT3
NGCUT4
NGCUT5
NGCUT6
NGCUT7
NGCUT8
NGCUT9
NGCUT10
NGCUT11
NGCUT12
Caso
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
20
1.08
1.17
60
1.06
1.16
80
1.06
1.17
40
1.07
1.19
60
1.06
1.18
80
1.05
1.15
100
1.04
1.17
20
1.00
1.00
40
1.01
1.01
60
1.01
1.01
80
1.01
1.01
100
1.01
1.01
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
CGCUT2
CGCUT3
23
23
NGCUT1
NGCUT2
NGCUT3
NGCUT4
NGCUT5
NGCUT6
NGCUT7
NGCUT8
NGCUT9
NGCUT10
NGCUT11
NGCUT12
Autor
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
174
175
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
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
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