optimization of the retail steel distribution industry

118
Optimization of the retail steel distribution industry Algorithms for the Cutting and Packing problems Miguel Espinheira Amador Silveira Thesis to obtain the Master of Science Degree in Mechanical Engineering Examination Committee Chairperson: Professor João Rogério Caldas Pinto Supervisor: Doutora Susana Margarida da Silva Vieira Co-Supervisor: Professor João Miguel da Costa Sousa Members of the Comittee: Professora Alexandra Bento Moutinho Professora Elsa Maria Pires Henriques April 2013

Upload: others

Post on 27-Mar-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Miguel Espinheira Amador Silveira
Mechanical Engineering
Examination Committee
Supervisor: Doutora Susana Margarida da Silva Vieira
Co-Supervisor: Professor João Miguel da Costa Sousa
Members of the Comittee: Professora Alexandra Bento Moutinho
Professora Elsa Maria Pires Henriques
April 2013
If I have seen further it is by standing on the shoulders of giants.
Isaac Newton
Anyone who is not shocked by quantum theory has not understood it.
Niels Bohr
Albert Einstein – A letter to his friend Max Born
(Einstein), stop telling god what to do with his dice
Niels Bohr
autores que, eventualmente, poderão não
coincidir com as do Instituto Superior Técnico.
Abstract
The present work proposes new heuristics and algorithms for the 3D Cutting and Packing class of
problems. Specifically the cutting stock problem and a real-world application from the retail steel
distribution industry are addressed. The problem being addressed for the retail steel distribution
industry is the retail steel cutting problem, which is how to cut steel in order to satisfy the customized
orders. Both of the problems have to meet the guillotine cut constraint, i.e. each cut has to be
complete or edge-to-edge.
Different types of Cutting and Packing problems were studied in order to cope with all the constraints
and specificities of the retail steel cutting problem. This real-world problem is a mix of several
theoretical Cutting and Packing class of problems becoming thus too hard to define the problem as
only one. However, the cutting stock problem is the one that better describes the retail steel cutting
problem and it was used in order to validate the developed algorithms. A study of the available
algorithms in the literature for this class of problems was done in order to find the most suitable one for
the addressed problems.
Nevertheless, the best algorithms found, had to be extended to the three dimensional problem. Two
algorithms are proposed in this dissertation: a deterministic 3D packing heuristic algorithm based on
Extreme Points heuristic and an Ant Colony Optimization algorithm based on the packing heuristic.
The guillotine cut is assessed using two new proposed methods. One is concerned with the optimality
of the used space using virtual cuts (open guillotine cut). The other depends entirely on the first set of
decisions as the cuts cannot be changed. Heuristics for the packing orientation and direction or for the
cutting decision are also proposed.
For the cutting stock problem it was possible to improve the results in three benchmarks used in the
literature. Two found the optimal value with the deterministic packing algorithm and one found a better
solution than the one found in the literature, using the Ant Colony Optimization. For the retail steel
cutting problem it was possible to reduce the scrap metal to an insignificant value (0.5%) compared to
the solution provided by F.Ramada (18%).
Keywords: Cutting and Packing, 3D Cutting Stock Problem, 3D Bin Packing Problem, Heuristics,
Metaheuristics, Guillotine cut, Retail steel distribution
v
vi
Resumo
O presente trabalho propõe novas heurísticas e algoritmos para a classe de problemas de “Cutting
and Packing” tri-dimensional. Especificamente, são abordados o “cutting stock problem” e um
problema real da indústria de venda e corte de aço a retalho. O problema a ser abordado para a
indústria de venda e corte de aço a retalho é o problema de optimização do corte a retalho, que
consiste na decisão dos cortes a serem executados de modo a satisfazer as encomendas dos
clientes com medidas customizadas. Ambos os problemas têm de cumprir a restrição de “guillotine
cut”, ou seja, cada corte tem que ser completo ou ponta-a-ponta.
Foram estudados diversos tipos de problemas de “Cutting and Packing” de forma a lidar com todos os
constrangimentos e especificações do problema de corte de aço a retalho. O problema real é uma
mistura de vários problemas de “Cutting and Packing” tornando-se assim muito difícil de definir o
problema como um só. No entanto, foi escolhido o problema de “cutting stock” visto ser o que melhor
descrevia o problema de corte de aço a retalho, sendo utilizado para validar os algoritmos
desenvolvidos. Foi realizado um estudo dos algoritmos disponíveis para este tipo de problema de
modo a encontrar os mais adequados para os problemas estudados.
No entanto, os melhores algoritmos encontrados tiveram que ser adaptados para o problema tri-
dimensional. Dois algoritmos são propostos nesta dissertação: um algoritmo determinístico de
empacotamento (“packing”) com base em “Extreme Points” e um “Ant Colony Optimization” aplicado a
“Extreme Points”. Dois métodos de garantir o “guillotine cut” são propostos. Um está preocupado com
a optimização do espaço utilizado usando cortes virtuais (“open guillotine cut”). O outro depende
inteiramente do primeiro conjunto de decisões visto que os cortes não podem ser alterados. Além
disso, outros procedimentos e heurísticas são propostos, tais como a orientação e direcção da
colocação da peça ou com a decisão de corte para cada método.
Assim, para o “cutting stock problem”, foi possível melhorar os resultados em três casos “benchmark”
usados na literatura. Dois encontraram o valor óptimo com o algoritmo deterministico e um encontrou
uma solução melhor do que a encontrada na literatura usando o “Ant Colony Optimization”. Para o
problema na indústria de venda e corte de aço a retalho (na F.Ramada) foi possível reduzir a sucata
para um valor insignificante (0,5%) em comparação com a solução fornecida pela F.Ramada
(18,33%).
vii
viii
Acknowledgements
Finishing a project is scarcely the one-man effort. Whether it is because he is working based on
others’ work or because (somehow) he is working within a team. Thus, I am grateful to many persons
and institutions.
First of all, to my supervisors, Professor João Miguel Sousa and Professor Susana Vieira. I am
grateful for guiding me on the beginning of this project when I was not seeing the path by not
completely understanding the problem, for keeping me in the path when I understood the problem and
saw too many paths by discussing the ideas and for their optimism, which kept me motivated.
Furthermore, and very important, their infinite patience. To Prof. João Sousa for giving me the
opportunity to work in such a rewarding project and to Prof. Susana Vieira for the long discussions of
ideas and the endless support and availability when time is scarce.
I am grateful to Instituto Superior Técnico, for providing me the scientific bases, way of thinking and
the facilities to realize this work and my entire academic path. I also would like to express my gratitude
to F.Ramada by providing the necessary data so quickly and by being always available to explain my
doubts in the matter. Also, this work was supported by “Agência de Inovação”, under the project
“Tooling Edge/Instituto Superior Técnico, QREN 13856”.
I would like to thank my parents for providing me all the necessary conditions to do my academic path,
especially to my mother for all the dedication and patience when raising a difficult person as I am. To
my older brother and best friend, Hugo for all the guidance (when I wanted it or not), patience and
friendship.
Last but not least, to you Inês, for hearing my endless “speeches” about this work, for your
overwhelming understanding when this work became an obsession and for your patience. It was not in
vain. This work owes a lot to you as more than half of the ideas came up when I was spending
excellent weekends with you. I also apologize for that and thank you for not getting mad.
ix
x
Contents
1. INTRODUCTION ....................................................................................................................................... 1
1.1. CUTTING AND PACKING ............................................................................................................................... 2 1.2. AIMS AND SCOPE ........................................................................................................................................ 3 1.3. CONTRIBUTIONS ......................................................................................................................................... 4 1.4. OVERVIEW OF THE DISSERTATION .................................................................................................................. 6
2. RETAIL STEEL DISTRIBUTION ................................................................................................................... 7
2.1. CUTTING PROCESS CHARACTERIZATION ........................................................................................................... 7 2.2. DECISION PROCESS OF STEEL CUT .................................................................................................................. 9
2.2.1. Inputs and Outputs - data for the process .................................................................................... 9 2.2.2. Optimization Process of Steel Cut Decision ................................................................................... 9 2.2.3. Optimization Process with Timeline .............................................................................................. 9
2.3. CONSTRAINTS .......................................................................................................................................... 10 2.4. OBJECTIVES ............................................................................................................................................. 10 2.5. OVERVIEW OF THE PROBLEM ...................................................................................................................... 11
3. CUTTING AND PACKING PROBLEMS ....................................................................................................... 13
3.1. NP PROBLEMS ......................................................................................................................................... 13 3.2. CUTTING AND PACKING: TYPES OF PROBLEMS ................................................................................................ 14 3.3. THREE DIMENSIONAL PACKING.................................................................................................................... 16 3.4. PROBLEMS FORMULATION ......................................................................................................................... 17 3.5. GUILLOTINE CUT ...................................................................................................................................... 19
3.5.1. Boundary Guillotine Cut .............................................................................................................. 19 3.6. ASSORTMENT OF VOLUMES ........................................................................................................................ 20
3.6.1. Assortment of Boxes ................................................................................................................... 20 3.6.2. Assortment of Bins ...................................................................................................................... 20 3.6.3. Conclusive notes of Volumes Assortment ................................................................................... 21
3.7. OVERVIEW OF THE CHAPTER ....................................................................................................................... 21
4. ALGORITHMS FOR CUTTING AND PACKING PROBLEMS ......................................................................... 23
4.1. BOXES POSITIONING INSIDE THE BIN ............................................................................................................ 23 4.1.1. Discretization Points and Variants .............................................................................................. 23 4.1.2. Corner Points ............................................................................................................................... 24
xi
4.1.3. Extreme Points ............................................................................................................................ 24 4.2. CONSTRUCTIVE HEURISTICS ........................................................................................................................ 25 4.3. STATE OF THE ART ALGORITHMS .................................................................................................................. 26
4.3.1. Tabu Search ................................................................................................................................ 26 4.3.2. Guided and Random Local Search............................................................................................... 28 4.3.3. Genetic Algorithms ..................................................................................................................... 28 4.3.4. Ant colony Optimization ............................................................................................................. 30 4.3.5. Branch-and-bound and variants ................................................................................................. 31 4.3.6. Column based approach ............................................................................................................. 32 4.3.7. Other Algorithms ........................................................................................................................ 33
4.4. SUMMARY............................................................................................................................................... 34
5.1. EXTREME POINT DEFINITION ....................................................................................................................... 36 5.2. EXTREME POINTS AVAILABLE VOLUME.......................................................................................................... 37 5.3. SELECTION OF EXTREME POINTS .................................................................................................................. 37 5.4. BOXES SORTING ....................................................................................................................................... 38 5.5. GUILLOTINE CUT ...................................................................................................................................... 40
5.5.1. Open Guillotine Cut ..................................................................................................................... 41 5.5.2. Closed Guillotine Cut ................................................................................................................... 42
5.6. CUTTING DIRECTION ................................................................................................................................. 43 5.6.1. Open Guillotine Cut ..................................................................................................................... 43 5.6.2. Closed guillotine cut .................................................................................................................... 45
5.7. PACKING ORIENTATION AND DIRECTION ....................................................................................................... 46 5.8. REDUCING THE FINAL STOCK ....................................................................................................................... 50 5.9. PROPOSED PACKING ALGORITHM ................................................................................................................ 50
6. ANT COLONY OPTIMIZATION FOR THE 3D PACKING PROBLEMS ............................................................ 53
6.1. APPLYING THE ANT COLONY OPTIMIZATION TO THE PACKING PROBLEM .............................................................. 54 6.2. THE ZERO NODE ....................................................................................................................................... 54
6.2.1. Cutting Stock Problem ................................................................................................................. 54 6.2.2. Retail steel cutting Problem ........................................................................................................ 55
6.3. THE HEURISTIC MATRIX ............................................................................................................................. 55 6.3.1. Cutting Stock Problem ................................................................................................................. 56 6.3.2. Retail Steel Cutting Problem ....................................................................................................... 57
6.4. THE PHEROMONE TRAIL ............................................................................................................................. 57 6.4.1. Cutting Stock Problem ................................................................................................................. 57 6.4.2. Retail Steel Cutting Problem ....................................................................................................... 58
6.5. THE COST FUNCTION ................................................................................................................................. 58 6.5.1. Cutting Stock Problem ................................................................................................................. 58 6.5.2. Retail Steel Cutting Problem ....................................................................................................... 59
6.6. THE PATH PROBABILITY ............................................................................................................................. 59 6.7. ALGORITHM OVERVIEW ............................................................................................................................. 59 6.8. CONCLUDING REMARKS ............................................................................................................................. 61
7. RESULTS ................................................................................................................................................. 63
7.1. INTRODUCTION ........................................................................................................................................ 63 7.1.1. Cutting Stock Problem Benchmarks ............................................................................................ 63 7.1.2. Retail Steel Cutting data ............................................................................................................. 64
7.2. PROPOSED HEURISTIC................................................................................................................................ 65
xii
7.2.1. Results for the Cutting Stock Problem ......................................................................................... 65 7.2.2. Results for the Retail Steel Cutting problem ............................................................................... 69
7.3. ANT COLONY OPTIMIZATION ALGORITHM ...................................................................................................... 71 7.3.1. Results for the cutting stock problem ......................................................................................... 71 7.3.2. Results for the Retail Steel Distribution instances....................................................................... 72
7.4. DISCUSSION ............................................................................................................................................. 73
8. CONCLUSIONS ........................................................................................................................................ 77
8.1. CUTTING AND PACKING ............................................................................................................................. 77 8.2. BENCHMARK INSTANCES ............................................................................................................................ 78 8.3. RETAIL STEEL DISTRIBUTION INSTANCE .......................................................................................................... 78 8.4. HEURISTIC VS ANT COLONY OPTIMIZATION ................................................................................................... 79 8.5. FUTURE WORK ........................................................................................................................................ 79
BIBLIOGRAPHY ............................................................................................................................................... 81
APPENDIX B – F.RAMADA’S DATABASE ..................................................................................................... 86
APPENDIX C – CLUSTERED SORTING .......................................................................................................... 88
APPENDIX D – RESULTS FOR THE F.RAMADA PROBLEM ............................................................................ 89
APPENDIX E – PARAMETER TUNING FOR THE ANT COLONY OPTIMIZATION ............................................. 92
xiii
xiv
List of Figures
Figure 1.1 – Average growth rates in percentage per year as in [63]. .................................................... 1 Figure 2.2 – Process in F.Ramada. ........................................................................................................... 8 Figure 2.3 – Illustration for the stock verification process and steel cut optimization process. ............ 9 Figure 2.4 – Timeline in the optimization process. Each interval represents the optimization process. ............................................................................................................................................................... 10 Figure 2.5 – Optimization processing with timeline introduction ........................................................ 10 Figure 3.1 – shows the Euler Diagram of NP problems, assumption by Richard Ladner in 1975 [37]. . 14 Figure 3.2 – Characterization of some cutting and packing intermediate problems as in [61]. ........... 15 Figure 3.3 – Bin ...................................................................................................................................... 17 Figure 3.4 – Box ..................................................................................................................................... 17 Figure 3.5 – Non-guillotine cuts. ........................................................................................................... 19 Figure 3.6 – Guillotine cuts. ................................................................................................................... 19 Figure 3.7 – Strongly heterogeneous. ................................................................................................... 20 Figure 3.8 – Weakly heterogeneous. ..................................................................................................... 20 Figure 3.9 – Homogeneous. .................................................................................................................. 20 Figure 3.10 – Thin residual bin with 100 mm3 of volume ................................................................... 22 Figure 3.11 – Residual bin with 100 mm3 of volume ........................................................................... 22 Figure 4.1 – Discretization Points as in [5]. ........................................................................................... 23 Figure 4.2 – Bins with several boxes and its corner points as in Beirão [5]. ......................................... 24 Figure 4.3 – Bins with several boxes and its extreme points as in [5]................................................... 25 Figure 5.1 – Extreme Points Projection as in Beirão [5]. ....................................................................... 36 Figure 5.2 – Example of Extreme Points after packing a box in an empty bin. ..................................... 37 Figure 5.3 – Sorting bins by minbin method. ........................................................................................ 38 Figure 5.4 – Sorting boxes by minbox method. ..................................................................................... 39 Figure 5.5 – Clusters for equation (5.2). ................................................................................................ 40 Figure 5.6 – Example of the guillotine expression applied in one dimension, where the possible positions for guillotine cuts are shown as red lines. The vertical black lines represent failed tested positions. ............................................................................................................................................... 41 Figure 5.7 – Open guillotine cut heuristic. ............................................................................................ 42 Figure 5.8 – Closed guillotine cut heuristic. .......................................................................................... 43 Figure 5.9 – Update of the available dimensions of the Extreme Points for the closed guillotine cut heuristic. ................................................................................................................................................ 43 Figure 5.10 – Unnecessary cut. ............................................................................................................. 44 Figure 5.11 – Example of unnecessary cut reducing the available volume of an Extreme Point. ........ 44 Figure 5.12 – Example of a cut for one Extreme Point. ......................................................................... 45 Figure 5.13 – Example of a cut for a different Extreme Point, showing no implications for the other extreme point. ....................................................................................................................................... 45 Figure 5.14 – Cut example in three dimensions for the closed guillotine cut....................................... 46 Figure 5.15 – Areas of the resulted residual bins for the closed guillotine cut. ................................... 46 Figure 5.16 – Example of fitness. .......................................................................................................... 47
xv
Figure 5.17 – Packing direction and orientation heuristic. ................................................................... 49 Figure 5.18 – Packing heuristic algorithm. ............................................................................................ 51 Figure 6.1 – Node representations and possible paths. ........................................................................ 54 Figure 6.2 – Representation of the “heuristic path” (dashed line) and the “real path”. The heuristic path only gives information in “straight line”, misleading the solution when applied......................... 56 Figure 6.3 – ACO packing algorithm. ..................................................................................................... 60 Figure 6.4 – Example of the difficulty of finding the optimal solution. ................................................. 61 Figure 7.1 – Comparison for the three sorting methods the OGC and the CGC. .................................. 67 Figure 7.2 – Evolution of the solution with different δ, for each problem. .......................................... 69 Figure 7.3 – Evolution of the solution for each problem. ..................................................................... 72 Figure 7.4 – Example of a good packing with a medium size bin. ......................................................... 74 Figure 7.5 – Example of a high size bin with low percentage of scrap metal but significantly high in kilograms. .............................................................................................................................................. 75 Figure 7.6 – Example of a high percentage of scrap metal but low in kilograms. It also shows the effect of “minbin” method for choosing the extreme points to pack. ................................................. 75 Figure 7.7 – Example of a medium/small size bin with huge percentage of scrap metal ..................... 76 Figure 7.8 – Another example of a medium/small size bin with huge percentage of scrap metal ...... 76 Figure E.1 – Parameters tuning, step 3 - gcut3 ..................................................................................... 94 Figure E.2 – Parameters tuning, step 4 - gcut3 ..................................................................................... 94 Figure E.3 – Parameters tuning, step 5 - gcut3 ..................................................................................... 95
xvi
Table 4.1 – Matrix showing for each problem what are the known attempts. .................................... 26 Table 7.1 – Characteristics of the benchmarks. .................................................................................... 64 Table 7.2 – Characteristics of F.Ramada’s bins. .................................................................................... 64 Table 7.3 – Characteristics of F.Ramada’s boxes (products). ................................................................ 64 Table 7.4 – Volume of stock and clients’ orders. .................................................................................. 65 Table 7.5 – Solution of the F.Ramada’s procedures. ............................................................................. 65 Table 7.6 – Results using minbox-minbin sorting.................................................................................. 66 Table 7.7 – Results using minbox-zxy sorting. ....................................................................................... 66 Table 7.8 – Results using Area-minbin sorting. ..................................................................................... 66 Table 7.9 – Comparison of the results produced by minbox-minbin sorting against CG3CS................ 67 Table 7.10 – Comparison of the results produced by minbox-zxy sorting against CG3CS. ................... 67 Table 7.11 – Comparison of the results produced by Area-minbin sorting against CG3CS. ................. 68 Table 7.12 – Comparison of the results produced by ClustD-Area-minbin sorting against CG3CS. ..... 68 Table 7.13 – Results without reduced final stock using Area-minbin (Desc). ....................................... 70 Table 7.14 – Results after reduction of the final stock using Area-minbin (Desc). ............................... 70 Table 7.15 – Comparison between Nbox and Fit, and the effect of AscDesc and Desc on their results. ............................................................................................................................................................... 70 Table 7.16 – Comparison between minbox-minbin and Area-minbin, and the effect of AscDesc and Desc on their results. ............................................................................................................................. 70 Table 7.17 – Comparison between OGC and CGC, and the effect of AscDesc and Desc on their results. ............................................................................................................................................................... 70 Table 7.18 – Results of F.Ramada considering the timeline (day-to-day) ............................................. 71 Table 7.19 – Comparison between solutions provided by ACO, CG3CS and the deterministic packing algorithm. .............................................................................................................................................. 71 Table 7.20 – Improved solution for the gcut9 with different parameters ............................................ 72 Table 7.21 – ACO solution for F.Ramada without the reduction of the final stock. ............................. 73 Table 7.22 – ACO solution for F.Ramada after the reduction of the final stock. .................................. 73 Table D.1 – Results without reduced final stock using minbox-minbin (AscDesc) ............................... 89 Table D.2 – Results after reduction of the final stock using minbox-minbin (AscDesc)........................ 89 Table D.3 – Results without reduced final stock using Area-minbin (AscDesc) .................................... 90 Table D.4 – Results after reduction of the final stock using Area-minbin (AscDesc) ............................ 90 Table D.5 – Results without reduced final stock using minbox-minbin (Desc) ..................................... 91 Table D.6 – Results after reduction of the final stock using minbox-minbin (Desc) ............................. 91 Table D.7 – Results without reduced final stock using Area-minbin (Desc) .......................................... 91 Table D.8 – Results after reduction of the final stock using Area-minbin (Desc) .................................. 91 Table E.1 – Parameters tuning, step 1 - gcut3....................................................................................... 93 Table E.2 – Parameters tuning, step 2 - gcut3....................................................................................... 93 Table E.3 – Parameters tuning, step 3 - gcut3....................................................................................... 93 Table E.4 – Parameters tuning, step 4 - gcut3....................................................................................... 94 Table E.5 – Parameters tuning, step 5 - gcut3....................................................................................... 95
xvii
Table E.6 – Final chosen parameters for the cutting stock problem .................................................... 95 Table E.7 – Chosen parameters for the F.Ramada problem. ................................................................ 96
xviii
Notation
Symbols
– length of box
– width of box
– depth of box
– length of bin
– width of bin
– depth of bin
– number of bins
– number of boxes
– scrap metal
– scrap metal of bin
– scrap metal of pattern (in case s is used for integer programming)
– discretization factor for clustering (determining also the number of clusters)
– fitness function for -dimension, ∈ {,, }
– available volume in in -dimension for an extreme point, ∈ {,, }
– packing volume in -dimension, ∈ {,, }
() – number of possible boxes to pack in -direction, ∈ {, , } and orientation
Used notation for Ant Colony Optimization (ACO)
– heuristic matrix
+1 – pheromone trail to pack box (node) after box (node) at + 1 iteration
Δ – pheromone trail to pack box (node) after box (node)
0 – initial pheromone trail
– cost function
– probability of ant k going from node to node .
– arithmetic mean of
– bins’ percentage of occupied volume where the box is found
– bins’ percentage of scrap metal where the box is found
– bins’ scrap metal where the box is found
– number of unpacked boxes
xix
xx
Acronyms
CLP – Container loading problem
CSP – Cutting stock problem
MIP – Mixed integer programming
SPP – Strip packing problem
1. Introduction
Retail is the sale of goods from businesses to the end user. Retailers are part of an integrated system
called the supply chain. A retailer purchases goods or products in large quantities from manufacturers,
and then sells smaller quantities to the consumer for a profit [34]. The retail steel distribution industry
in particular has been growing in the last few decades, becoming more important with the increasing
production of steel in the world. Between 2000 and 2010 steel production has achieved a rapid
growth, as can be seen in Figure 1.1.
Figure 1.1 – Average growth rates in percentage per year as in [63].
This is derived from the increasing specific needs of the industry in general and its increasing demand
for one specific product with a certain quality, sometimes demanding a large volume with a small
delivery time. This would only be possible by the way that current retail steel distribution business is
done, just like any other big retail business (e.g. hypermarkets, malls, etc.). Steel distributors are
intermediaries that have been losing negotiating position towards their suppliers due to the increasing
number of merges on the steel production industry [62]. Additionally, some large common clients of
steel distributors (e.g. automotive industry) are also increasing their negotiating position by becoming
too large as well. Consequently, steel distributors have a narrow margin to make profit. Thus, reducing
costs takes a major role in this industry.
This way, for the retail steel distributor, the clients’ orders with standard dimensions are not a problem
as the retail distributor already knows what to order from its supplier, which in turn (if the supplier is
the steel plant) already knows the most advantage dimensions to produce in order to maximize its
profit per ingot by adapting its production system (when the steel distributor has a good negotiating
1
position). However, if the clients’ orders are non-standard with customized dimensions and quantity,
several problems arise for the retail steel distributor. The first immediate question is what should be
ordered to its supplier in order to have always available steel to satisfy a client’s order (because of the
reduced delivery time). The second question is how to cut the several pieces of steel in stock in order
to satisfy all the clients’ orders with reduced scrap metal, while keeping a low stock volume. The last
question is the main motivation of this dissertation.
A national retail steel distributor company, F.Ramada, provided data for this study in order to improve
the efficiency in the cutting decision process for customized orders. This decision process is based on
empirical knowledge. Although this process has been enough in the past few years, the company has
been expanding and leading the retail steel cut industry for some years, leading to a raising difficulty of
the cutting process decision. Thus, the need of an optimization method in the cutting decision process
appeared.
1.1. Cutting and Packing
Cutting and packing (C&P) problems generally comprehend the exercise of packing small objects
(boxes) inside large objects (bins) or cutting small objects (boxes) out of the original large objects
(bins). Thus, this class of problems may have many goals, whether it is minimizing the number of used
bins with a certain demand of boxes (bin packing problem and cutting stock problem) or maximizing
the number of boxes that can fit into a pre-determined number of bins (knapsack problem), they still
belong to the cutting and packing class of problems. The first known approach was done in 1939 by
Kantorovich [35]. However, since its formal formulation in the 50’s of the XX century1 [36] [45] that
this class of problems has been receiving a growing interest by the industry, as a mean to improve
profits by reducing costs [60]. With this trend, there was also a growing interest in the academic
research, continuing to be an active area of research [60]. It does not only continues active as it is an
increasingly active area within the academic community and can yield considerable cost benefits
within industrial and manufacturing sectors as well as providing environmental benefits through a
reduction of required raw materials [60].
The steel cutting process addressed in this thesis fits in the cutting and packing class of problems as a
three dimensional case, where the most known problem name in this class is the bin packing problem,
as it is one of the names used to refer to this type of problem in different areas of study as the
Planning and Scheduling by Pinedo [46]. The C&P class of problems has several types of problems
(wide in scope), leading to the creation of many heuristics [1][9][18][47][48][58], application of several
metaheuristics [59] and some exact approaches based on mixed integer programming [48], column
generation [48] and branch-and-bound [42]. Several types of metaheuristics were applied, from the
tabu-search [1][10][19] or guided-search [25], to the evolutionary life/nature based genetic algorithms
[8][16] and ant colonies [5][38] showing the difficulties of this problem class. However, there are not
many known attempts for the three dimensional types of problems. Most of the studied problems are
1 Several studies consider that the formulation was done in the 50’s. However, the problem is already mentioned in 1939.
2
approached with one or two dimensions which have some limited real-world applicability in the
industry, as in industries that use paper, wood or rolls of metal sheets due to the fact that one
dimension is almost infinite compared to the other two. However, some three dimensional cases are
approached firstly in one dimension and after it as a two dimensional case resulting many times in less
successful solutions.
The problem addressed in this thesis is more complex once it is not possible to neglect one of the
dimensions. Thus, the presented study approaches the problem as a three dimensional case.
Furthermore, to the best of the author’s knowledge, there isn’t any three dimensional study of the bin
packing problem with a high variety (heterogeneous set) of bins and boxes to choose from, as it will be
described in Chapter 3. Adding to the above, the steel cutting process has one additional constraint,
the guillotine cut constraint, i.e. each cut has to be complete or edge-to-edge.
1.2. Aims and Scope
The aim of this thesis is to investigate three-dimensional cutting and packing problems to be used in
retail steel distribution industry. In order to use the algorithm(s) in the industry, the time available for
the algorithm must be considered [60]. Heuristic and metaheuristic searches are the most suitable
type of algorithms [60] for complex cutting and packing problems.
Thus, the development of cutting and packing algorithms in this thesis is restricted to three
dimensional heuristics and metaheuristics. The approach by exact algorithms, using a mathematical
approach, is not possible due to the computational burden [2]. Furthermore, exact algorithms would
probably produce an optimal value for a different problem (possibly a non-feasible one), as not all
limitations and constraints are possible to formulate. Having said that, the developed heuristics
integrate the constraints and limitations in the case study.
In this way, the algorithm for the retail steel industry is based on the practical real-world problem at
F.Ramada, a retail steel distributor. The algorithm is tested in a set of benchmarks problems well
known in the literature. As so, the chosen benchmarks are the closest that was found to the
F.Ramada’s problem. The real-world problem can be addressed as three-dimensional residual bin
packing problem or as a residual cutting stock problem. “Residual” stands for a special case where
instead of one bin size, it exists an heterogeneous set of bins sizes. The difference between the bin
packing problem and the cutting stock problem is only the heterogeneity of the boxes, according to the
most recent typology of C&P problems [61]. Though, the objective is different than the usual for the bin
packing problem or cutting stock problem, which is to minimize the number of used bins or cost of
bins. The objective in the case study (F.Ramada) is to minimize the scrap metal (waste). This
objective is not the unoccupied volume, which is also defined in the literature as waste. The scrap
metal (waste) is defined in this thesis as a minimum weight limit that has to be met. When a residual
bin, result of cuts on the original bin, does not meet the minimum weight limit, it is considered scrap
metal.
3
In this scope, different methods were used and analyzed from algorithms of several types of problems
including the cutting stock, strip packing or container loading problem [61]. The guillotine constraint
hardens the problem when the objective is to minimize the waste.
Considering that this type of problem has never been considered before, three-dimensional cutting
stock problem benchmarks (3CSP) were chosen to validate the developed algorithm. The cutting
stock problem has a low variety of boxes, meaning that there exist relatively small identical boxes
(types of boxes) with many boxes per type The lack of three-dimensional studies for the three-
dimensional bin packing or cutting stock problem with variable sized bins [48], led to the consideration
of the simpler 3CSP. The chosen problem for comparison to the real-world problem is a 3CSP,
because of the almost inexistent studies of three dimensional problems with guillotine cuts and that
the existent three-dimensional cutting stock with variable sized bins study [48] considers different
values/costs of the bins that are not proportional to the bins sizes as in F.Ramada. In addition, the
known referred study [48] has a low heterogeneity of bins and boxes. The other known approach
which studies variable sized bins [2] is very recent (November 2012) and is also a real-world
application in the steel industry. This study has a high heterogeneity of boxes but low heterogeneity of
bins compared to the case study addressed in this thesis. Thus, there is no other known study for the
problem addressed in this thesis (residual three-dimensional bin packing problem or cutting stock
problem). This way, several complementary heuristics were developed (which together form an
algorithm) to the real-world problem at F.Ramada and adaptations were made to improve the results
of the benchmarks for the cutting stock problem.
1.3. Contributions
This thesis presents the first known approach to the three-dimensional residual bin packing problem
(3DRBPP) or to the three-dimensional residual cutting stock problem (3DRCSP) which is an
innovation in the cutting and packing class of problems. This approach was implemented in a software
package attached to this thesis.
The contributions are briefly reviewed in the list below:
1) Packing heuristic algorithm for the 3D cutting stock problem and for the F.Ramada’s problem (see
Chapter 5) – An heuristic was developed in order to solve the 3D cutting stock problem and the
F.Ramada problem, using the following methods and heuristics:
1.1) New guillotine cut expression for assessing the guillotine cut constraint (see Section 3.5) – in
order to verify the positions in which a guillotine cut (i.e. edge-to-edge) is possible, a new
expression is proposed named as “Boundary guillotine cut”.
1.2) Available volume concept (see Section 5.2) – The available volume is a concept based on
the available area presented in Beirão [5] where it is necessary to verify the available
physical space for each dimension. Combining the available dimension for each dimension
(x,y,z), the available volume is obtained.
4
1.3) New sorting boxes (see Section 5.4) – In order to select which boxes to pack first, new
sorting methods are proposed based on previous works [1][18]: minbox, minboxA, area,
clustered area-depth, clustered depth-area.
1.4) New sorting points (see Section 5.3) – As this work considers bins of different sizes, all bins
are considered and the sorting methods of points by position in the physical space are not
enough. Thus new sorting methods had to be developed in order to select the bin to be used
and the point in that bin where to pack.
1.5) Two methods to ensure the guillotine cut (see Section 5.5) – Using the proposed expression
in Chapter 3, two methods were developed in order to guarantee the guillotine cut in each
cut, the open guillotine cut and the closed guillotine cut. The open guillotine cut is concerned
in the optimality of the cuts producing virtual cuts that can be changed later in order to
improve solution. The closed guillotine cut has definitive cuts that cannot be changed.
Two cut decision methods (see Section 5.6) – It is proposed two methods to decide what is
the cut that will be used in the previous two methods (one for each guillotine cut method), if
more than one cut is available. Thus, these two methods are sub-routines of the guillotine cut
methods, the open guillotine cut and the closed guillotine cut.
1.6) Orientation and packing direction, by fitness or number of boxes (see Section 5.7) – An
heuristic to choose the orientation for a box, and packing direction if more than one identical
box is available, was developed in order to search for the best “fit” to the available space.
Two ways may be used as a priority of packing: using the proposed fitness function or
maximizing the number of boxes. For the fitness function, three evaluation methods can be
used: Asc, Desc, AscDesc. Each of these methods is concerned with: the best fit in one of
the dimensions; the best fit for all dimensions; or a mix of the two in order to distinguish a
perfect fit from others in order to reduce the generation of scrap metal by reducing the
creation of thin plates.
2) Ant colony applied to the 3D cutting stock problem (see Chapter 6) – An ant colony optimization
application was created in order to solve the 3D cutting stock problem, using the boxes as nodes,
and thus search for the optimum order of boxes to be packed.
3) Ant colony applied to F.Ramada, cost function and pheromone function (see Chapter 6) – An ant
colony optimization application was created in order to solve the F.Ramada problem, using the
boxes as nodes, and thus search for the optimum order of boxes to be packed. This application
differs from the 3DCSP as different size bins are available for the packing. Thus, it was necessary
to do some changes in the algorithm. Also, the pheromone trail and cost function are different as
the objective is to minimize the scrap metal instead of the number of used bins.
Further, a conference paper is submitted to the conference IEA-AIE 2013 [51].
5
This thesis is divided into the following chapters:
• Chapter 1 – The first chapter introduces the subject of the thesis, retail steel distribution
industry and the problem at the F.Ramada company in a general way. It presents a brief
introduction to this thesis, motivations, aims and its prime contributions.
• Chapter 2 – In Chapter 2, all the decision process, optimization process in general,
constraints and objectives are described. It is explained the retail steel cutting problem, more
specifically the problem at the company who provided the necessary data, F.Ramada.
• Chapter 3 – In Chapter 3 it is introduced the cutting and packing problems as the area of
research and which type of problem is the closest to the one at F.Ramada. It is done a general
study of the C&P class of problems, namely the types of problems, complexity (by the
heterogeneity of bins and boxes) and characteristics of the problems such as the guillotine cut
constraint.
• Chapter 4 – In Chapter 4, it is done the heuristics and algorithms’ review of the identified
problems in Chapter 3. Many algorithms were found, but none was applicable to the
addressed problem. Though, some heuristic (sub-routines of some algorithms) were
applicable.
• Chapter 5 – All the adapted and developed heuristics and algorithm are explained in Chapter
5, being this a deterministic algorithm. The presented heuristics include the points where to
pack the boxes (clients’ orders), the available volume concept for each point, two methods of
guillotine cut, two methods do decide how to cut the bin (piece of steel in stock) and a method
to decide what orientation and packing direction should be used.
• Chapter 6 – In Chapter 6, a stochastic algorithm based on an ant colony model applied to the
addressed problems is introduced where it searches for the best order of the boxes (clients’
orders). The necessary changes for the model to receive several bins, cost function and
pheromone function were made for applying each problem.
• Chapter 7 and 8 – In the last two chapters all the results and conclusions are presented of all
the relevant developed heuristics and algorithms (both deterministic and stochastic). Also, it is
indicated possible extensions to this research for future work.
6
2. Retail Steel Distribution
Retail steel distribution is the business of buying steel from suppliers and selling it to the end-user
which usually is within the industry (construction, steel for casts, automotive manufacturers, etc).
F.Ramada, which provided data for this study, is a Portuguese retail steel distributor and steel cut by
order company, established in 1935 and with an annual turnover of 120M€. F.Ramada, SA is engaged
in three specific areas in the metal industry. The area that represents the largest share of turnover is
the area of special steels, which is engaged in processing and marketing of steel to supply the
metalworking industries, constituting about 60% of the company’s turnover. The activity area of the
steel processing consists essentially of cutting steel by order and its retail distribution. F.Ramada
purchases large blocks (pieces) of steel that will satisfy both clients’ orders that have very small or
large dimensions. Thus, the steel blocks are cut successively to obtain smaller blocks with the
dimensions specified by the customers. The fact that the choice of these actions by the customer is
not limited to standard sizes, leads to the existence of a large number of pieces in storage with very
different dimensions. When this size is small, these pieces are referred as tips, but yet are not
considered scrap metal. To be considered scrap metal, several issues are considered but the main
feature is its weight.
Considering the general values presented above (60% of 120M€), it is clear that a small improvement
on the cutting decisions will generate huge differences in the company revenue and/or costs.
2.1. Cutting Process Characterization
One piece is a block of steel and can belong to four different classes, depending on its value, by
decreasing order: Standard Piece (bought pieces or without cuts); MI – irregular dimensions
(“medidas irregulares”); Tips which are smaller pieces; and Scrap metal which is no longer useable.
MI and Tips are pieces resulted from previous cuts, where the Tips are smaller pieces. “Smaller
pieces” refers to the pieces that have the smallest thickness (or depth according to the definition in
Section 3.3).
The processing of an order in F.Ramada is done according to the flowchart presented in Figure 2.2. In
the ”background association” the type of order (dimensions and quantity) is checked if it was made
previously. The “piece association” is the process of deciding which piece in stock will be used to
satisfy the client’s order, “associating” the order to that piece.
In the representation of the orders processing, the following abbreviations are used: MI stands for
irregular dimension (“medidas irregulares”); NEI stands for internal note of execution (“nota de
execução interna”) and EC stands for cut execution (“execução de corte”).
7
Figure 2.2 – Process in F.Ramada.
The present thesis is focused on the most difficult process for the company, the “piece association”,
where the decision on how to cut the steel in stock is made if a client’s order is not standard.
For the addressed problem, the client’s order can be defined by the following characteristics: Order date; Dimensions; Quantity; Steel quality; Delivery deadline.
The analysis in this work is done for one type of product – steel “2738 SUPER”. In the framework of
the project, this operation will be referred to as “decision process of steel cut” and “piece association”
if it is intended to refer to the process made by F.Ramada.
The process “piece association” in F.Ramada obeys to a set of conditions and is bounded by a set of
limitations. The value of the pieces is quantified in an empirical way, being based on a quantitative
evaluation. This quantification is very important in the evaluation of which pieces are going to be used
to process the client’s order. The value of a piece decreases with the decreasing of its weight, in the
several utilizations to satisfy the numerous clients’ orders. This value is also dependent of the
following factors: available stock of similar pieces, stock evolution, and the client’s order itself.
However, as this value is hard to quantify by the company, the piece value is estimated by its weight
(or volume). Other variables that characterize the problem are: area to be cut, cutting times and
handling time.
Along with the company’s indications, one piece is considered scrap metal if its weight is smaller than
10 kg. However, F.Ramada referred that if the stock number or volume was high and the scrap metal
market value was also high, some pieces could be sold as scrap metal to release storage space.
However, this information can be reduced to the decision of reducing the stock number of the solution
to the same of F.Ramada, with the available data.
MI?
2.2.1. Inputs and Outputs - data for the process
The used data consists of the initial stock (stantard pieces, MI and tips) along with the pieces ordered
to the suppliers (standard pieces) and the clients’ orders. The pieces in stock are cut in order to
settle/satisfy the clients’ orders. By joining this information, the available pieces are obtained. The data
(inputs) for the developed software are: Initial Stock (may include standard pieces, MI or tips);
Orders to suppliers (standard pieces); and Clients’ Orders.
In this way, the developed computational package (software) provides, in an explicit and intuitive way
for the final user, how the clients’ orders are satisfied using the existing stock. The available
information (outputs) includes: Pieces in stock to be used; Cuts to be executed; Final scrap metal; Final Stock.
2.2.2. Optimization Process of Steel Cut Decision
In the steel cutting process decision it is necessary to verify which pieces are available, as
represented in Figure 2.3.
Figure 2.3 – Illustration for the stock verification process and steel cut optimization process.
Considering the available pieces and the clients’ orders, it is possible to run the optimization process
of steel cut, which will provide the cuts to be executed, used pieces, final stock and final scrap metal
(Figure 2.3).
However, this processing is only valid if the process is done with all the pieces and clients’ orders,
without considering the dates in which these are available. Thus, this approach aims to verify which is
the best theoretical value (maximum or minimum depending on the objectives) that would be possible
to achieve with the used algorithm. This way, this “static approach” can consider the placement of a
clients’ order of a certain date in pieces that will be available 2 months later, for example.
2.2.3. Optimization Process with Timeline
“Timeline” is considered as a given time interval (span) , such that it is possible to considerer the
dates of the clients’ orders and the dates in which the pieces (new pieces from suppliers) are
obtained, until a given which can be undefined (infinite) or can be limited by existent data (see
Figure 2.4).
Stock Verification
9
Figure 2.4 – Timeline in the optimization process. Each interval represents the optimization process.
In the present project, the time interval will be considered equal to one day, so that the optimization
process is satisfied in the end of each work day, considering all the requested clients’ orders of that
day.
In this way, it is necessary to perform some conceptual changes to the described process in 2.2.2.
Each described process previously will have to be processed in the defined time interval (day-by-day).
Thus, the final stock of a day will be the initial stock of the next day. Considering all the process
described in 2.2.2 as one block alone and that the standard pieces, MI and tips are the initial stock at
a given , the optimization process with a timeline can be described using the feedback of the final
stock to the initial stock as represented in Figure 2.5.
Figure 2.5 – Optimization processing with timeline introduction
2.3. Constraints
The steel cut constraints at F.Ramada can be reduced to the following:
• Each cut must be complete or edge-to-edge, i.e. the cutting tool cannot stop until it reaches
the end of the steel piece.
• It is convenient to avoid the cut perpendicular to the smallest dimension (avoid cutting by
depth). Although this is not a “hard constraint” (being thus a soft constraint), it is considered by
F.Ramada as very important as it reduces the cutting times. Notice that this constraint is
equivalent to minimize the cut length.
2.4. Objectives
The objectives to be considered in the optimization process are:
1) Minimize the scrap metal
2) Minimize the weight (volume) of steel in stock or the stock number.
t t=0 t=Δt t=2Δt t=(N-1)Δt t=NΔt
Optimization Optimization Optimization Optimization Optimization
Optimization process of steel cut
Used Pieces(t)
Final stock(t)
Initial Stock(t=0)
Orders to suppliers(t) + +
2.5. Overview of the Problem
The problem being addressed in this study is the way that steel blocks are cut to satisfy the clients’
orders minimizing the scrap metal. The relevant information for the addressed problem is the
following:
• The company cuts standard blocks of steel (that have different sizes) into smaller blocks to get
the desired set of small blocks. The unused steel resulted from a cut is called leftovers.
• Part of the leftovers are stored in a warehouse and remain in stock. The rest is considered
scrap metal. According to F.Ramada, a leftover is considered scrap metal when its weight has
less than Kg for a certain steel. In studied case, the steel is “2738 SUPER” and takes the
value of 10Kg.
• The next time that the company processes orders they can use standard blocks or the blocks
that are in stock at the warehouse.
• The clients’ orders are very heterogeneous, i.e. can be composed by very large blocks, small
blocks or even thin plates (see Appendix A).
• The objective is to minimize scrap metal and the stock volume or number.
Having the above information, the leftovers and standard blocks are defined as bins and the blocks
ordered by the clients are defined as boxes. Also, leftovers will be mentioned from now on as residual
bins. In this way, MI and Tips are the residual bins. This nomenclature is done so that it can be
merged with the available literature, as it will be seen in the next chapter.
11
12
3. Cutting and Packing Problems
The addressed problem consists in the successive cuts of the steel pieces available in stock, leading
to the creation of smaller pieces. Within this set of pieces, some will be considered as new pieces in
stock, others will be the clients’ orders and others will be automatically considered scrap metal
because of the unsuccessful meeting of the required minimum weight described before.
This problem can be addressed as a cutting and packing problem or C&P [61]. Since its formulation in
the fifties of the XX century [36][45] that this class of problems has been receiving a growing interest
by the industry, as a mean to improve profits by reducing costs. With this trend, there was also a
growing interest in the academic research, continuing to be an active area of research [60][2].
In general, the C&P family can be defined as: a certain number of resources and a certain number of
items, where the items have to be assigned to the resources. The objective (generally) is to assign all
the items while minimizing the resources and satisfying the problem’s constraints [60]. In C&P
problems is usual to define the items as boxes and the resources as bins. In this way, the pieces will
be defined as bins and one piece of one client order (which may have a quantity different than one)
will be defined as boxes.
However, due to the complexity of the F.Ramada’s problem and its objectives, none of C&P family
problems can fit completely to the company’s problem. The problem can be considered as a mixed of
several C&P problems, among them, “bin packing” [18], “cutting stock”[30][48], “container loading
problem”[47] and “strip packing problem”[1][48], may be considered. Nevertheless, there exist problem
characteristics that have never been considered in the literature, such as: avoid the cut by the smallest
dimension, minimization of the cut area, minimization of scrap metal, minimization of stock volume,
etc.
Cutting and Packing problems are known to be NP-hard (non-deterministic polynomial-time hard),
hence it is not known any algorithm that solves the problem in polynomial time, Scheithauer [53]. In
general these problems are too large and complex to find an exact solution and heuristics become the
only viable algorithms to find a solution. Thus, it becomes important to study the different cutting and
packing problems in order to choose the one that better adapts to one given problem.
3.1. NP Problems
In computational complexity theory, NP stands for “non-deterministic polynomial time” and is one of
the most important complexity classes. NP problems is the set of decision problems that could be
decided2 in polynomial time by a non-deterministic Turing machine and can be verified by a
deterministic Turing machine in polynomial time [37]. Consider the traveling salesman problem (TSP)
where there exist 200 cities that have to be visited by the traveler and that some pairs of cities cannot
2 It “could be decided” as no non-deterministic Turing machine exists in practice.
13
be visited one after the other because of some constraint (rivalry, goods of each city). It is “easy” to
verify if a solution is feasible but it is very hard to decide how to travel in order to obtain a feasible and
good solution.
Figure 3.1 – shows the Euler Diagram of NP problems, assumption by Richard Ladner in 1975 [37].
The Figure 3.1 shows the assumption made by Ladner, where it is possible to see the that increasing
complexity of the problems by the vertical axis. The problem being addressed is a NP-hard problem as
stated in [52] and, as is shown in Figure 3.1, it is at least as hard as the hardest problems in NP, as an
NP-hard is also NP-complete. This way, it is shown the difficulty of the addressed problem where
heuristics and metaheuristics take place to solve this type of problems [38].
3.2. Cutting and Packing: Types of Problems
The most important C&P problems related to the problem under study are:
Container Loading Problem – According to Wäscher et al. [61] the container loading problem is an
example of the three-dimensional, rectangular “Single Large Object Placement Problem”. It requires
loading a fairly large, weakly heterogeneous consignment of boxes into a given container such that the
volume or value of the packed boxes is maximized, or, equivalently, the unused space of the container
or the value of the unpacked boxes is minimized.
Strip packing problem– “In this variant of the problem, the container has fixed width and height but
infinite depth. The problem is to pack all boxes such that the depth of the container is minimized” says
Pisinger in [47]. However, according to the new methodology of defining a cutting and packing
problem [61] this “is referred to as open dimension problem (ODP), or more precisely as three-
dimensional rectangular open dimension problem with one variable dimension (3D-R-ODP)” writes
Bortfeldt et al. in [9], referring to the three-dimensional strip packing problem (3D-SPP).
Bin packing problem – “In this problem, all containers have fixed dimensions, and all the boxes are to
be packed into a minimum number of containers. This problem has been considered in Scheithauer
[52], Faroe et al. [25], and Martello et al.[42].” Pisinger in [47]. Yet, Wäscher et al. [61] says that it “is
characterized by a strongly heterogeneous assortment of small items. Hence, the items have to be
assigned to a set of identical large objects, a weakly heterogeneous or strongly heterogeneous
14
assortment of large objects. The value, number, or total size of the necessary large objects (or another
corresponding auxiliary objective) has to be minimized.”
Cutting stock problem – It is very similar to the bin-packing problem. Here, instead of packing some
material with a certain volume to a physical space, it is packing space to a certain volume of material.
According to Wäscher et al. [61], the cutting stock problem has “a weakly heterogeneous assortment
of small items” “The extension of the large objects is fixed in all dimensions. We point out that we do
not make any assumptions on the assortment of the large objects. It may consist of identical objects,
but it could also be a weakly or strongly heterogeneous assortment.”
Multi-container loading. – “This problem is similar to the Bin-packing problem except that the
containers may have varying dimensions and the objective is to choose a subset of the containers
which results in the minimum shipping costs.” Pisinger in [47]. This type of problem could fit into the
problem being addressed because of the varying dimensions of the bins. However, as it will be seen
briefly, according to the new typology of cutting and packing problems proposed by Wäscher et al. [61]
this can be introduced in the cutting stock problem as well as in the bin packing problem (already seen
earlier).
It is very clear that one of the main differences of the cutting stock problem (CSP) and the bin packing
problem is that the CSP has a weakly heterogeneous set of small objects (boxes ) while the BPP has
a strongly heterogeneous set of small items (boxes). However, Wäscher et al. [61] also describe a
special case of the CSP and BPP as an intermediate problem type that admits “strongly
heterogeneous assortment of large objects”. This intermediate type of problem is described as a
Residual Cutting Stock Problem (RSCP) and Residual Bin Packing Problem (RBPP). Another special
case is the one that admits a weakly heterogeneous set of large objects (bins) called Multiple Stock
Size Cutting Stock Problem and Multiple Bin Size Bin Packing Problem.
Figure 3.2 – Characterization of some cutting and packing intermediate problems as in [61].
The problem being addressed is a three-dimensional residual bin packing problem, as both sets of
bins and boxes are strongly heterogeneous. The Bin Packing Problem consists in having one or more
bins with certain volume and several items (boxes) with various sizes. The objective is to pack those
items within the minimum number of bins. This is a well-known problem within the literature as a one
15
dimensional problem that has some simple and very straightforward heuristics such as sorting by
volume which is called First-Fit decreasing (FFD) or without any sorting of the boxes which is called
First Fit (FF), as explained by Pinedo in “Planning and Scheduling in Manufacturing and Services”
[46], which is a book that is not specifically of this area, showing again the wide applicability of this
class of problems. However, to the best of the author’s knowledge, this was a not very successful
simplification of many known two and three dimensional real-world problems. Therefore, the heuristics
were limited for those more complex problems. This extends to the rest of the cutting and packing
family of problems.
The study of the bin packing in three dimensions was neglected until early 2000’s, where only some
approaches were made, as in 1992 by Corcoran et al. [16] or by Scheithauer [52]. In 2000 Martello et
al. [42] introduced an extensive study of mathematical characteristics of the three dimensional bin
packing problem, such as the lower bonds. As for three-dimensional intermediate problems of cutting
stock problem or bin packing problem, only two approaches are known. The study presented by
Queiroz et al. [48] and by Bang-Jensen et al. [2]. The first is a multiple stock size cutting stock problem
while the second study is a multiple bin size bin packing problem. Thus, they only differ on the
heterogeneity of the small objects (boxes). To the best of the author’s knowledge, it is not known any
approach for the residual cutting stock problem or for the residual bin packing problem. This (RBPP) is
the problem being addressed in this study, being one of the most complex problems of the C&P class
of problems.
3.3. Three Dimensional Packing
The objective of this study is to deal with three dimensional cutting and packing problems, which asks
for an orthogonal cutting/packing of a given set of parallelepiped shaped (rectangular shaped) boxes
into three dimensional parallelepiped bins. Each box, see Figure 3.4, ( = 1, … ,) is characterized by
a length , width and depth , where ≥ ≥ .
The three dimensional bins, see Figure 3.3, are characterized by length , width and depth ,
where ≥ ≥ . It was chosen this definition as all orientations for the boxes are allowed. The
coordinates’ origin is located at the bottom-left-behind of the bin and ( , , ) is the point where the
bottom-left-behind of the box is positioned. The two dimensional problems are a simplification of the
three dimensional problems, as they consider the depth of the boxes is equal to the depth of the bins
[42].
16
Figure 3.3 – Bin Figure 3.4 – Box
The main objective of Cutting and Packing problems is to determine a feasible arrangement of a
subset of boxes, which maximizes a cost function that most times is related to the volume occupation.
= ∑ =1

(3.1)
However, it is also very common that the cost function is related only to the number of the bins that
are being used:
= (3.2)
Still, the cost function for the addressed problem at F.Ramada is different than any other problem of
“Cutting and Packing”. This cost function computes the scrap metal which is not the volume of the bin
minus the volume of packed boxes, as defined in some approaches.
= (3.3)
The coordinates ( , , ), which define the position of a box inside a bin, become the decision
variables. To simplify the write, it will be considered here that the box has always the same orientation
shown in Figure 3.4. However, this formulas are still true with other orientation needing only the right
dimension (length,width or depth) to the correspondent axis (,, ) for that orientation. Therefore, an
arrangement is called feasible when it meets the given constraints:
• Each box is placed completely within the bin;
0 ≤ ≤ − , = 1, … , (3.4)
0 ≤ ≤ − , = 1, … , (3.5)
0 ≤ ≤ − , = 1, … , (3.6)
• A box may not overlap another box ;
≥ + ∨ ≥ + ∨ ≥ + , ∈ {1, …}, ∈ {1, … ,}, ≠ (3.7)
Each box is placed parallel to the side walls of the container, which comes from the orthogonal
packing.
3.4. Problems Formulation
Since the Cutting & Packing problems are combinatorial problems, these may be mathematically
approached as an integer programming problem.
Considering P representing a matrix with × dimensions, where the columns represent the cutting
patterns, represents the number of copies of item in the cutting pattern. For each ∈ , is a
variable that indicates the number of times pattern is used. Also, let represent the column-vector of
demands, and thus with size . It is possible to formulate the following integer programming for the
cutting stock problem:
≥ 0
However, in problems with great extension, it is impossible to solve the problem as a pure integer
programming problem. The number of possible patterns increases exponentially with the number of
type of boxes and/or bins. This way, one possible approach would be the relaxation of its constraints,
and solving it as a mixed integer programming (MIP) using column-approach [30]. However, this
approach diverges from the present study. Nevertheless, the mathematical formulation is presented.
The main difference from the studied problem to the cutting stock problem is the objective. Here, the
objective is considered to be the minimization of scrap metal instead of the number of used bins. The
number of patterns is also higher as several types of bins exist. This way, as the approach for this
problem admits to know all possible patterns, it is possible to compute the generated scrap metal for
each of these cutting patterns.
Considering all the formulation done previously for the cutting stock problem and the new variable ,
representing the scrap metal for pattern :
min
≥ , = 1, … ,
≥ 0 ≥ 0
However, considering the number of orders and stock number, this approach is not feasible by integer
programming methods. More, this approach is only valid when the timeline is not considered.
Considering the Section 2.1 the variable is computed by verifying for each pattern which leftovers
have a weight inferior to 10 kg.
Although the scrap metal has been considered by Silva et al. [50] for integer programming, the
definition of scrap metal is different as a residual bin is considered scrap metal when “it is not possible
to cut any item (box)”. Furthermore, this approach is a bi-dimensional case using a column-approach.
As mentioned before, this type of approach (exact methods) is very time consuming and it is
mentioned that “for instances from 40 to 100 item types are solved in hundreds or few thousands of
seconds”.
18
3.5. Guillotine Cut
The main and very important constraint of the problem being solved is the way that blocks of steel are
cut. Each cut has to be complete or and edge to edge cut, i.e. the cutting tool cannot stop until it
reaches the end of the block. The term “guillotine cut” first appeared in “Multistage cutting stock
problems of two and more dimensions” in 1965 [30], a well referenced paper:
“(…) One example is the guillotine cutter used in cutting paper sheets, and for this reason we call this
type of cut a guillotine cut.”
Figure 3.5 – Non-guillotine cuts. Figure 3.6 – Guillotine cuts.
Although some authors consider the guillotine cut constraint as a simplification or easier approach of
cutting and packing problems, that only stands if the objective is to maximize the occupied volume or
some related objective like minimizing the number of used equal sized bins. Some authors also
consider as a simplification as it is what is done when a three-dimensional problem solved as a one-
dimensional problem and then as a bi-dimensional case. However, whenever this is done, it is created
some guillotine cuts but the guillotine cut constraint may not be meet, being thus a justification for the
chosen simplification done by those same authors. Thus, the guillotine constraint should not be
confused with the short-phrase expression “creation of guillotine constraints”. This last is used as a
synonym for reducing the possibilities of maximizing the occupied volume.
3.5.1. Boundary Guillotine Cut
A general expression to verify a guillotine cut for a given can be:
( ≥ )
=1
≥ (3.8)
In the above expression, it is verified if the limits ( and + ) of the packed boxes are not
intersecting a given . This expression is extendable to the and dimensions.
This expression is particularly useful for programming as it can be tested using indexation, instead of
cycles, leading to a much faster code. Also, this expression is true whatever the method of choosing
the allocation points is.
3.6. Assortment of Volumes
One very important characteristic is the differentiation based on the assortment of volumes [61]. Two
volumes are considered of the same type or identical if, given the right (suitable) space orientation, all
their dimensions are equal. This way, three classifications are defined in the literature according to the
most recent C&P typology [61]:
• Strongly heterogeneous set of volumes – the set of volumes “is characterized by the fact that
only very few elements are of identical shape and size”.
• Weakly heterogeneous set of volumes – the set of volumes “can be grouped into relatively few
classes (in relation to the total number of items), for which the items are identical with respect
to shape and size”.
• Homogeneous set of volumes (identical set of items) – all items are of the same shape and
size.
Figure 3.9 – Homogeneous.
It is not defined what is considered “few classes” or “few elements”, being this classification very
subjective.
3.6.1. Assortment of Boxes
The problem being addressed is not well defined in terms of diversity of boxes assortment, as it is
almost random. This leads to the consideration of strongly heterogeneous set of boxes, which is the
worst case considered in the literature. However, this is not as well studied as the weakly
heterogeneous type of problem. When the timeline is considered, as explained in Section 2.2.3, the
set of boxes is considered weakly heterogeneous.
3.6.2. Assortment of Bins
The assortment of bins is most of the times not mentioned in C&P studies as only one type of bin
exists. However, the addressed problem in this thesis has a strongly heterogeneous set of bins, i.e.
pieces or blocks of steel in stock. The bins are considered strongly heterogeneous for the problem of
20
F.Ramada. For the cutting stock problem or bin packing problem, this characteristic is not applicable
as it only exist one type of bin.
3.6.3. Conclusive notes of Volumes Assortment
Although both bins and boxes are completely defined according to the existing literature, it is important
to make some observations. While studying some available test data in the literature, it was found that
there is still some ambiguity in defining the assortment of the set of volumes. That is, even though the
set of volumes (in those test data) are strongly heterogeneous, they no longer are if the number of
boxes per type of box (i.e. identical boxes/same type) is very high, as shown by parameter in the
following equation:
(3.9)
This equation gives the number of boxes per type and per number of types. Therefore, it should be
done some study and more detailed definition in this theme.
This is particularly important in the current study due to the heterogeneity. It is shown that the data
from F.Ramada is more than strongly heterogeneous and could even be considered “random set” of
volumes. Most of the times, for some volume with certain dimensions, it only exists one volume. As it
can be observed in Table. A.1 and Table. A.2, the most heterogeneous problems in the literature are
actually homogeneous compared with the F.Ramada’s set of boxes. Several criteria were created to
prove this where but only three are shown as they are the most representative ones:
• Number of boxes per type – gives a measurement of heterogeneity by boxes. This
measurement was created in order to show that the