• No results found

Three-dimensional bin packing with vertical stability and layer packing

N/A
N/A
Protected

Academic year: 2021

Share "Three-dimensional bin packing with vertical stability and layer packing"

Copied!
57
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Three-dimensional bin packing with vertical stability and

layer packing

A case study in the parcel delivery industry

Master thesis

by

Willem Uilhoorn

S-2370387

December 2016

Supervisor: dr. S. Fazi

University of Groningen

(2)

1

Master thesis

Three-dimensional bin packing with vertical stability and layer packing: a case study in the parcel delivery industry

Willem Uilhoorn

Zijlsterweg 1

9988 RH Usquert

The Netherlands

Student number: 2370387 (Groningen) 150628417 (Newcastle)

Double Degree Master Operations Management

Supervisor: dr. S. Fazi University of Groningen Faculty of Economics and Business

Co-supervisor: dr. J. Dong Newcastle University Business School

Universities

University of Groningen, Faculty of Economics and Business

Nettelbosje 2, 9747 AE Groningen

Newcastle University Business School

5 Barack Road, NE1 4SE Newcastle upon Tyne

Case company

PostNL Parcels

(3)

2

Abstract

The aim of this thesis is to explore opportunities for a more efficient way of packing parcels into roll-containers for PostNL. A mixed integer linear programming model is developed and solved for sets of moderate sized instances, guaranteeing the optimal solution of placing the items but with a considerable amount of runtime needed. Furthermore, this research develops a modeling approach for including actual layer packing in the three-dimensional bin packing models which is tested and compared against the non-layer packing model. The non-layer packing model performs less in terms in terms of containers needed to pack a batch of parcels, but show interesting potential for future use with regard to computational time and other rising benefits.

(4)

3

Table of Contents

1. Introduction ... 5

1.1 Thesis structure ... 7

1.2 Definitions ... 7

2. Literature review and theoretical background ... 8

2.1 Cutting and packing problems ... 8

2.2 Three-Dimensional Bin Packing Problem ... 9

2.3 Relevant constraints and extensions ... 10

2.4 Solving approaches ... 12

3. Problem description ... 14

3.1 Sorting and packing process overview ... 14

3.2 Relevant system features and current packing policy ... 16

3.3. Problem analysis ... 17

4. Methodology ... 19

4.1 Mathematical model formulation ... 19

4.2 Model assumptions ... 20

4.3 Basic three-dimensional bin packing model ... 21

4.3.1 Including vertical stability ... 25

4.4 Three-dimensional layer packing model ... 29

4.5 Historical data (data set explanation and modifications) ... 31

4.5.1 Adapting the data and fitting distributions ... 31

4.5.2 Layer heights for layer packing ... 33

5. Numerical results ... 34

5.1 Instance 1: testing the models ... 35

5.2 Instance 2, 3 and 4: results ... 36

(5)

4

6. Discussion ... 41

7. Conclusion ... 44

7.1 Recommendations and further research ... 45

8. Bibliography ... 47

Appendix A1: historical data analysis ... 51

Appendix A2: fitting distribution ... 52

Appendix B1: generation instance 1... 53

Appendix B2: generation instance 2... 53

Appendix B3: generation instance 3... 54

Appendix B4: generation instance 4... 55

(6)

5

1. Introduction

The e-commerce in Europa is still growing each year, whereas 2015 gave the e-commerce sector a total online revenue of 455,3 billion euros 2016 is expected to generate a total online revenue of 509,9 billion euros which will result in another grow of 12 percent (Ecommerce, 2016). This growth generates a high demand for dedicated parcel delivery services causing increasing difficulties in the last mile logistics (Morganti et al., 2014). Since parcel deliverers provide a service for its customers, which is the transportation of parcels of course, a high service level and customer satisfaction is of major importance.

For parcel delivery services to maintain competitiveness, efficient transportation is crucial (Kim et al., 2014). Efficiently using the available capacity is a key element in the ever-evolving domain of logistics and transportation. Unused space in containers, mistakes and damage of transported goods often occur as a result of poor container loading. Underperformance in loading for transportation can lead to unnecessary costs and unsatisfied customers (Bortfeldt & Wäscher, 2013). Therefore, it is not a surprise that loading problems are commonly addressed in operations research literature.

In current literature, there are many real-world applications where one is required to assign a certain set of rectangular items into a larger, standardized unit whereby the waste of space is to be minimized (Dowsland & Dowsland, 1992 and Dyckhoff & Finke, 1992). To mention just a few: in the wood or glass industry for example, parts have to be cut from a large sheet of material. Same goes for the clothing industry. In these contexts, there is only one standardized unit (e.g. roll of material) and these types of problems are characterized as the strip packing problems. Also in a different industry, advertisements in newspapers have to be allocated in pages by minimizing the waste. In the context of a warehouse, items need to be placed on shelfs or in boxes. Similar for transportation, where containers or pallets need to be packed as efficiently possible. In these contexts, multiple units (bins) are available. More formally, these types of problems can be classified as bin packing problems. Bin packing problems have a common objective function to pack all the rectangles (items) needed into the minimum number of bins (units). In up-to-date research, bin packing is done in the one-, two- and three-dimensional form in which for every variant some additional extensions are already made. Modeling approaches for the three-dimensional version is however at its very beginnings. Next to premature modeling approaches, problems addressed in literature often neglect real-world problems and constraints which limits their practical value (Bortfeldt & Wäscher, 2013 and Toffolo et al., 2016).

(7)

6 make its transportation system more efficient. This research is therefore driven by earlier internal research at PostNL, which indicated that tremendous cost savings could be realized when on average one parcel could be transported more per container shipped. This would result in less containers needed for transporting the same number of parcels, which will reduce the number of trailers needed to transport the containers between depots in the end. The loading of the containers for PostNL is hence considered as three-dimensional bin packing whereby real-world problems and constraints are taken into account.

In this research, mathematical models are developed and solved using a mixed integer linear program in order to gain insights in potential benefits for a formal packing policy, based on the model and its solution approach. The contributions of this thesis are practical as well as theoretical. For PostNL, the main goal is to load parcels more efficiently into containers (efficient use of available capacity). The theoretical value is in threefold. First, in the modeling approach practical relevant constraints are included in the forms of rotation and vertical stability. Secondly, the model is tested on a real dataset in order to validate the model for real world applications which is scarce in literature. Third, the model is extended with layer packing which is not done before in three-dimensional layer packing. In this extension, layers are placed at pre-determined heights in the containers to add stability and the layers can also be used for other practical applications such as multi-drop constraints (i.e. one container with loads for different destinations). The layer packing model is compared with the non-layer packing model on their performances, which is the number of containers used to pack a set of parcels. Also, a sensitivity analysis is performed on the pre-determined layer heights to get insights from the model’s behavior when including layers.

After analysing the process and its aspects, the following research question and sub-questions are composed:

How and to what degree can the roll-container packing efficiency at PostNL be improved while considering the practical constraints?

1. Which methods and models are presented in-to-date literature with regard to efficient container loading?

2. How can these models be adapted and extended with the real-life constraints as encountered in a case like this?

3. How can the performance of these methods be measured and compared against each other?

(8)

7

1.1 Thesis structure

The outline of this thesis is as follows. In chapter 2, current literature is reviewed and a theoretical background is provided which should answer sub-question 1. In chapter 3 the PostNL case is described and a problem analysis is made. Chapter 4 describes the method used and gives the model formulation of the developed models, which should answer sub-question 2 and 3. Chapter 5 presents the results and compares the obtained results between the non-layer packing model and the layer-packing variant. In chapter 6, these results are discussed and valued whereby the last sub-question will be answered. At last, chapter 7 gives the conclusion and the main research question is answered.

1.2 Definitions

This section explains the terms used at the case company which are frequently used throughout this thesis.

Depots: distribution centres in the form of a U-dock or cross-dock.

Roll-containers: roll-containers are used for the transportation of parcels in trailers (see figure 1.1). This

roll-container is for parcels specific and all the roll-containers used are of uniform size (58 x 78 x 178 cm).

First sorting: process where parcels are sorted for their destination depot. Occurs in every depot.

Second sorting: process where parcels are sorted for the last mile delivery (i.e. to their final destination).

Occurs in every depot.

Cross Belt Sorter: sorter with smaller conveyer belts (trays) which can move in the same or different

directions to release parcels.

B2B, B2C, C2B, C2C: shipment structure of items between

companies (business) and people/families (consumer).

(9)

8

2. Literature review and theoretical background

This chapter starts with a review of cutting and packing problems which classifies this current research in a three-dimensional bin packing problem. Next, literature is narrowed down and the three-dimensional bin packing problem is elaborated on. In here, gaps in literature become apparent. From there, relevant constraints and extensions are reviewed by which the three-dimensional packing problem is already extended and which are relevant for this research. At last, background is provided on solution approaches used for solving problems like these to justify the choice made for this research.

2.1 Cutting and packing problems

Scientific work on cutting and packing problems has increased notably over the last decades (Wäscher, Haußner, & Schumann, 2007). In literature these types of problems appear under various names; cutting stock or trim loss problem, bin or strip packing, pallet or container loading, knapsack problem and so on (see Dyckhoff, 1990 and Wäscher et al., 2007 for a full classification of problem types). Because of the close relationship between these types of problems and commonalities in their solving approaches, their boundaries are somewhat fuzzy. As listed by Dyckhoff (1990), first surveys trying to typify these family of loading problems appeared in the seventies, where the relation between cutting and packing problems already became apparent.

(10)

9 In most literature, this classification is still somewhat fuzzy and the problem descriptions of bin packing and container loading are used intertwined.

Next to the output maximization or input minimization distinction and the bin packing or container loading difference, four characteristics of loading problems were already distinguished by Dyckhoff (1990). These characteristics are:

1. Dimensionality (1D, 2D, 3D or ND),

2. Kind of assignment (all objects and a selection of items, or a selection of objects and all items)

3. Assortment of large objects/bins (one object, identical figure or different figures)

4. Assortment of small items (heterogenous or homogenous set of items)

Following these typologies and distinctions results in the classification of this current research as the three-dimensional bin packing problem (3D-BPP) with 3 dimensions, all items are in need of assignment, bins are identical of size and the assortment of items can be very heterogenous. This classification will be explained in more detail in the next chapter. The terms packing and loading are used synonymously in this thesis. In the next section the 3D-BPP will be explained in more detail.

2.2 Three-Dimensional Bin Packing Problem

Much work in the domain of three-dimensional packing has been concerned with the packing of shipping containers (Dowsland & Dowsland, 1992). With very few exceptions, research in this area deal with rectangular items only (see for example the review by Bortfeldt & Wäscher, 2013) because irregular, non-rectangular, items increase the complexity of the problem tremendously.

The general objective of these kinds of three-dimensional bin packing problems is usually one of the following:

a. Minimize the height of the bin required for a specific cargo (e.g. Wu, Li, Goh, & de Souza, 2010);

b. Minimize the number of bins needed for a specific set of items (e.g. Chen, Lee, & Shen, 1995);

c. Maximize the value of the items packed (e.g. Junqueira, Morabito, & Sato Yamashita, 2012).

(11)

10 Taking this into account, the general three-dimensional bin packing problem (3D-BPP) can informally be defined in a rather simple fashion following the notation of Martello et al. (2000). A set of rectangular items 𝑗 ∈ 𝐽 {1, … , 𝑛} is given, each having width wj, height hj and length lj and a number of identical

three-dimensional containers (bins) with width W, height H and length L. The 3D-BPP has the objective to orthogonally pack all the items, without overlap, into the minimum number of bins by minimizing waste (unused space). It is further assumed, with no loss of generality, that all input data are positive integers and that 𝑤𝑗 ≤ 𝑊, ℎ𝑗≤ 𝐻 and 𝑙𝑗≤ 𝐿 {𝑗 = 1, … , 𝑛}.

The problem 3D-BPP is strong NP-hard because it is a generalization of the well-known one-dimensional bin packing problem (1D-BPP). NP-hard stands for ‘non-deterministic polynomial’ and means that the solution time increases exponentially as the size of the problem increases. The known 1D-BPP is the special case where 𝑤𝑗= 𝑊 𝑎𝑛𝑑 𝑙𝑗 = 𝐿 (𝑗 = 1, … , 𝑛) and in which a set of n items has to be packed (partitioned) into the minimum number of subsets (bins) without exceeding the capacity of the bin. A second related problem is known as the two-dimensional bin packing problem (2D-BPP), where 𝑙𝑗= 𝐿 (𝑗 = 1, … , 𝑛) and which require the minimum number of identical rectangular bins of size W x H which pack a given set of rectangular items with size wj x hj. Since 1D-BPP is already known as NP-hard the same holds for 2D-BPP

and 3D-BPP (Lodi et al., 2002 and Lodi et al., 2004). A full explanation and taxonomy of NP-hardness can be found in Garey & Johnson (1979).

Research in the area of 3D-BPP is mainly focused on standard problems whereby constraints as encountered in practice are often neglected or not applied simultaneously (Bortfeldt & Wäscher, 2013 and Zhao et al., 2016). Especially with regard to modelling approaches, including practically relevant constraints is still in its early stages. Same for testing solution approaches which is merely done with real-world datasets, but often with current decade old data sets or instances generated on purpose for the experiments. Two gaps in literature where opportunities lie for this research. Constraints regarded in this research are practical relevant case specific and therefore the relevant ones are discussed in the next section.

2.3 Relevant constraints and extensions

The general 3D-BPP model can be extended with constraints in order to make it applicable to a real-life case. Including constraints means increasing the complexity of the model and the difficulty to solve it. The constraints relevant to this research are discussed in more detail in this section, other constraints often used in literature are reviewed briefly.

(12)

11 item is freely rotatable (e.g. Egeblad & Pisinger, 2009; Padberg, 2000 and Wang, Li, & Levy, 2008). In principle, each dimension of an item can serve as height which indicate three possible vertical orientations. Given that packing is permitted orthogonally only, the items can be placed parallel to the walls of a bin by means of two horizontal orientations. This results in (3x2=) six orientation possibilities for placing each item into the bin. In practice, however, orientation can be restricted in either horizontal or vertical orientation. When items are for example marked with a ‘this side up’ sign, only 90° rotations are possible (e.g. Chien & Deng, 2004; Correa, 2004; Gendreau et al., 2006 and Iori & Martello, 2010) This research allows free rotatable items so there are no limitations with regard to the vertical or horizontal orientation. Secondly, stability constraints are most often dealt with in literature (Bischoff, 1991 and Eley, 2002). Unstable loads on a container can result in rework of packing and damage of cargo during loading, transportation or unloading. According to Bortfeldt and Wäscher (2013), load stability issues are often not included explicitly in publications on container loading or bin packing despite its apparent significance. One might argue that stability follows automatically from a high packing density, so the idea that minimizing unused space results in stability is defendable (Parreño et al., 2008 and Pisinger, 2002). However, this does not hold of course when there are not enough items to fill the container completely. In these cases, vertical stability should exclude floating items (i.e. items placed in a container at a point where there is empty space beneath it). Modelling approaches which tackle this problem (e.g. Junqueira et al., 2012 and Paquay et al., 2014) ensure that at least three out of the four bottom corners of an item are supported by the top face of other items, when an item is not placed on the ground.

(13)

12 Further constraints often dealt with in literature, amongst others, include weight limits for items packed into containers (Chan et al., 2006; Paquay et al., 2014 and Terno et al., 2000), load bearing constraints which restrict how many items can be placed on top of another item (Bischoff & Ratcliff, 1995 and Junqueira et al., 2012) and allocation constraints which pair items that need to be shipped in the same container and ensures that other items are not packed together such as food and perfume (Eley, 2005 and Liu et al., 2011). This last constraint is also used for multi-drop situations, where one container is loaded with item destined for multiple locations.

2.4 Solving approaches

The 3D-BPP is difficult and complexity of these types of problems increases rapidly with the number of items packed. It involves many calculations and iterations to generate an acceptable solution or to improve that generated solution, whereby the chance of becoming trapped in local minima is apparent (Lai & Chan, 1997). Because the problem is NP-hard as discussed in section 2.2, it is not likely that any efficient exact method will be found to solve it. Exact methods can be used for instances where rather small-sized problems are solved. Practical sized problems are often simplified but still remain too large for exact methods.

Dowsland and Dowsland (1992) mention that exact solutions are often not obtained within a reasonable time limit. For these more realistic cases, heuristic approaches are often applied in order to obtain approximate, near optimal solutions within a reasonable time frame. Most heuristics developed rely on a wall-building principle (Bischoff and Marriott, 1990). Another heuristic approach suggest building up the items in a container as a series of L-shapes (Han et al., 1989). Recent research was directed at a 2D heuristic decomposition approach to a 3D loading problem (Toffolo et al., 2016). Heuristic approaches however, are known as not guaranteeing the optimal or perfect solution, but a sufficient solution for the goals of the application. One step further are the algorithm solution approaches. Scheithauer (1991) presented an approximation algorithm for the 3D-BPP, whereas Martello et al. (2000) developed an exact algorithm for filling a single bin. Lai and Chan (1997) included the so-called simulated annealing approach in their algorithm to approach a global optimum in a large search space.

(14)

13 this first model, Wu et al. (2010) investigated a variant with variable bin heights and Paquay et al., (2014) tested a real-world application of their model in a case study. Other authors (e.g. Hifi et al., 2010) presented a linear programming approach with relaxed (lower) bounds. At last, some authors include practical relevant constraints as described above such as the load bearing constraint from Junqueira et al. (2012).

(15)

14

3. Problem description

This chapter first gives a description of the current sorting and packing process at PostNL on which this research is based. The current sorting process is discussed with its possibilities and impossibilities to advance the limitations and opportunities of the system. Next, critical features of the system are discussed from which a problem analysis is made and from which eventual assumptions for the model arise.

After some name changes and mergers, the Dutch postal company got its current name PostNL since 2011. PostNL is market leader in the Benelux and operates in 13 countries. The company is mainly divided in two divisions, namely the regular (letter) mail and parcels. With the introduction of e-mail and the recent growth of e-commerce it is quite obvious that the parcel division is growing significantly while the regular mail division is declining. In terms of volume, the number of parcels handled and delivered by PostNL increased from 142 million parcels in 2014 to 156 million parcels in 2015 which comes down to a growth rate of 9.6% according to their annual report (PostNL, 2016).

3.1 Sorting and packing process overview

(16)

15

Figure 2.1: Overview of the sorting process

First, incoming parcels arriving either from other companies (B2B or B2C) or consumers (C2B or C2C) are inserted into the sorting machine via an elevating conveyor belt. This step is done manually; workers unpack roll-containers onto the belt. Workers insert parcels with the barcode side up on the belt where the initial scanner is located. When the barcode is scanned, the parcel is registered and enters the system of sorting

From here the sorting process starts and parcels are sorted almost fully automated. From the elevating conveyor belt parcels go up on the actual sorting machine (cross belt sorter) which can be seen as one long conveyer belt. Before items reach this long conveyer belt of the sorter, items are first weighted and scanned for their dimensions (length, width and height). If the weight or dimensions are below or above boundaries, the parcels exit the belt and is scanned and handled manually. If the weight and dimensions are within the boundaries, parcels are placed on the main conveyer belt and sorted.

(17)

16 (the barcode, dimensions, weight and address) and decides where the parcel needs to go so in which chute the parcel should be released from the belt.

Parcels then go around the conveyer belt until they pass the chute in which they need to be released. In the case of first sorting, five roll-containers (identical sized) are standing at the end of the chute belt in which the parcels need to be packed. Logically, these containers each have their own postal code and hence corresponding depot destination at which they should arrive. Since this research is concerned with container packing, which only takes place in the first sorting, the focus is on this first sorting process which is elaborated in the next section. In the case of the second sorting, the van driver who is going to deliver the parcels for his route can extend the chute belt towards his van so the sorting machine releases his parcels from the chute into the van. The driver packs the parcels manually to the van, sorted in the sequence according to the route he is going to drive.

3.2 Relevant system features and current packing policy

As stated in the previous section this research focuses on the first sorting where parcels are packed into roll-containers, since it is concerned with packing/loading problems. For packing parcels into the roll-roll-containers, the sorter is of huge importance because it determines in what sequence the parcels are released onto the chute belt from which the parcels are packed. In the current situation, parcels are inserted at complete random order and consequently also arrive at random at the chute belt from which they are packed in roll-containers. Only sortation done on the parcels is sending them towards the right postal code and destination, no sorting on dimensions, weight, sequence or whatsoever is performed by the sorting machine.

What the sorting machine does as a buffer against overloading a chute, is the so-called belt-spacing. When a certain (large) customer delivers for example two truckloads of parcels at one depot, all for different destination, these parcels are inserted right after each other. When there is in that case a batch of 20 parcels which need to be released in the same chute, this safety measure ensures that the chute does not overload by releasing only the first and fourth parcel from that batch into the chute. The other parcels from this batch this make another round (recirculation) on the sorting machine before being released into the chute. In the current setting, a parcel can (re)circulate up to seven times on the machine before being released into its chute of destination.

(18)

17 is full, it is taken away for transport and changed for an empty one. In this sense, only one bin at a time is filled.

With regard to the actual packing, there is no formal policy on how the parcels need to be packed in the roll-containers. The only instruction the worker gets is a picture of a stable and well packed container against an unstable and poor packed container. The focus at the depots with regard to performance is not about the efficient or stable packing of the roll-containers but about their service level. So, workers just have to pack parcels at the right pace in the given time window. Also, containers are packed within complete freedom and there are no layers placed in the roll-containers. It does not matter much how roll-containers are used, as long as the parcels are transported quickly. This to ensure and perhaps improve the current service level op 98% of the parcels delivered within 24 hours. This is however somewhat in contrast with a companywide focus point of PostNL which state that they “do not want to transport air”. This focus point derived from their lean culture and implementation.

3.3. Problem analysis

From earlier internal research at PostNL became apparent that huge cost savings could be made when just one extra parcel could be packed per roll-container transported. One average, one roll-containers fits 30 parcels and increasing this towards perhaps 31 parcels would decrease the number of roll-containers used throughout the whole PostNL network. This causes a decline of trailers needed to transport the roll-containers which results in major transportation cost savings. In order to achieve the more efficient packing of roll-containers, there are a number of aspects that affect the packing performance as can be derived from the process overview as given above.

First and most important aspect of the current process is the sorting machine as discussed briefly earlier. Parcels are inserted at complete random sequence and the sorter just release these parcels at the right chute of destination. In practice, the complete set of parcels incoming is always uncertain because it is never known what is coming next what can be simplified via an assumption. The sorter has a certain capacity, so buffering on the machine is not allowed at the moment. This would be possible by using the recirculation. Parcels now are just released on the very first possible moment. For proper and efficient packing, this means that every parcel incoming needs to be packed right away. There is no possibility to sort them on dimensions, weight, fragility or whatsoever.

(19)

18 models developed and computational time is expected to increase when there are multiple, small sized items. In the sorting process, though, every parcel is scanned for its dimensions as explained and give the dimensions as length, wide and height. When an item is irregular shaped (bag, triangle etc.) the dimensions are still given as rectangular. For the purpose of stability, this might affect the container loading in practice. Because there is no formal packing policy at the moment, this does not matter and can be simplified.

Third aspect which is considered is the roll-container lay-out. At the moment, roll-containers are just used as they are as displayed in figure 1.1 in the introduction. An example of a ‘regular’ loading pattern for six items (adapted from instance 1 in the results section) is illustrated in figure 3.2a below There is not made use of layers within the containers or any other support appliance to guarantee stability for transport. In the first place because placing layers in containers will take extra actions in the form of preparation and in the second place because parcels are just packed into containers, not taking into account any stability aspect because packing is done manually and based on rules of the thumb. In addition, there is no Key Performance Indicator (KPI) which focuses on the efficient packing of containers, although the lean philosophy dictates that no air should be transported. The difference between regular (non-layer) packing and layer packing is illustrated in figure 3.2a and 3.2b below, where the same set of items are packed in two different loading patterns. When regarding layer packing, physical layers can actually be placed at certain height in the container. Layers like this are used in many applications for transporting goods on roll-containers. Layer packing is driven by the case problem and is therefore specifically meant for roll-containers here.

(20)

19

4. Methodology

This chapter describes the research method used for this research to demonstrate the potential benefits of a formal, computed loading pattern in terms of minimizing the unused space. To provide an analytical base, mathematical models are developed based on the case description and adapted from literature. Also, the specific assumptions for this research are listed which make the model case specific. The first model developed, which is regarded as the base model, provides an optimized container loading pattern for containers as a whole. Next, items are excluded from floating with the addition of vertical stability. This model is then adapted towards a layer packing model which places actual (physical) layers into the container in which the items are placed. At last in this chapter, the historical data is analysed and prepared to be used as input data for the models. Instances with items and containers will be generated in order to validate the robustness of the models

4.1 Mathematical model formulation

(21)

20

4.2 Model assumptions

In order to make a realistic version of the model, whereby it is applied to PostNL in this case, a number of assumptions are made in order to handle the complexity of the problem. These assumptions are based on the problem analysis as performed earlier. When developing the model, the following is assumed:

 All the items and their dimensions are known upfront (i.e. they can be sorted upfront when needed)  All the items must be packed in containers; no items are left behind

 Containers have a single destination; no multi-drop constraints are included  The dimensions of the container are fixed and known

 The number of container available can be unlimited

 All items are treated as rectangular shapes, irregular items are not dealt with  Without loss of generality, all input data is assumed to be positive and integer

 All items fit within the physical limits of the container (no items dimension exceed the container dimensions)

 All items may be rotated in all dimensions; there is no this side up or barcode up constraint  All items are placed orthogonally and do not overlap when placed. Also, items cannot float when

placed in the container

(22)

21

4.3 Basic three-dimensional bin packing model

Parameters

𝑛 Total number of items to be packed, 𝑚 Total numbers of containers available, M An arbitrarily large number

𝑙𝑖, 𝑤𝑖, ℎ𝑖 Length, width and height of item i, ∀𝑖 𝐿𝑗, 𝐻𝑗, 𝑊𝑗 Length, width and height of container j (can be uniform), ∀𝑗

𝑉𝑗 Volume of container j, ∀𝑗

𝑖 ∈ {1, … , 𝑛}, 𝑗 ∈ {1, … , 𝑚}.

Variables

The situation is represented in a three-dimensional geometric space following a Cartesian coordinate system with an X- Y- and Z-axis. The origin here lies at the Front-Left Bottom (FLB) corner from where items are placed and its relative placement ends at the Rear-Right Top corner (so FLB plus the item’s dimensions). Since the orientation of the container is fixed, the length is defined as the X-axis, width as Y-axis and height as Z-axis. The resulting loading pattern from solving the model will give the x, y and z coordinates of the parcels placed within each container. A representation of this idea and illustrating other variables is given in figure 4.1 below.

(23)

22 The variables used are listed below, please note that subscripts define indices and that superscripts relate to fixed objects which is the position in these variables in order to avoid confusion with other variables.

(𝑥𝑖, 𝑦𝑖, 𝑧𝑖) location of Front-Left Bottom corner of item i, ∀𝑖, (𝑥′𝑖, 𝑦′𝑖, 𝑧′𝑖) location of Rear-Right Top corner of item i, ∀𝑖, 𝑝𝑖𝑗 binary variable equal to 1 if item i is placed in container j;

otherwise 0, ∀𝑖, 𝑗,

𝑢𝑗 binary variable equal to 1 if container j is used;

otherwise 0, ∀𝑗,

𝑟𝑖𝑎𝑏 binary variable equal to 1 if the side b of item i is along the a-axis;

otherwise 0, ∀𝑖,

𝑥𝑖𝑘𝑝 binary variable equal to 1 if item i is on the right of item k (𝑥𝑘 ≤ 𝑥𝑖);

otherwise 0 (𝑥𝑖 < 𝑥′

𝑘), ∀𝑖,

𝑦𝑖𝑘𝑝 binary variable equal to 1 if item i is behind item k (𝑦𝑘 ≤ 𝑦𝑖);

otherwise 0 (𝑦𝑖 < 𝑦′

𝑘), ∀𝑖,

𝑧𝑖𝑘𝑝 binary variable equal to 1 if item i is above item k (𝑧𝑘≤ 𝑧𝑖);

otherwise 0 (𝑧𝑖 < 𝑧′

𝑘), ∀𝑖,

𝑖, 𝑘 ∈ {1, … , 𝑛}, 𝑗 ∈ {1, … , 𝑚}, 𝑎, 𝑏 ∈ {1,2,3}.

(24)

23 For the placement of items relative to each other, variables 𝑥𝑖𝑘𝑝, 𝑦𝑖𝑘𝑝 and 𝑧𝑖𝑘𝑝 are introduced. These variables are equal to 1 if resp. item i is to the right/to the left, behind/in front and above/below item k. These three variables thus describe all the possible situations. Regarding the illustration in figure 4.1 above, this means:

Objective function

The primary objective is to minimize unused space of the containers, which can be formulated as

𝑚𝑖𝑛 ∑ 𝑢𝑗 𝑚 𝑗=1 ∙ 𝑉𝑗− ∑ 𝑙𝑖 𝑛 𝑖=1 ∙ 𝑤𝑖∙ ℎ𝑖.

This objective function (1) subtracts the volume of items packed from the volume of containers used. Since 𝑙𝑖𝑥 𝑤𝑖𝑥 ℎ𝑖 and 𝑉𝑗 are parameters and thus known and fixed information, the terms are constant. Hence, the objective for the model can be formulated as minimizing the containers used:

(25)

24 𝑥′í− 𝑥𝑖 = 𝑟𝑖11𝑙𝑖+ 𝑟𝑖12𝑤𝑖+ 𝑟𝑖13𝑖 𝑦′í− 𝑦𝑖 = 𝑟𝑖21𝑙𝑖+ 𝑟𝑖22𝑤𝑖+ 𝑟𝑖23ℎ𝑖 𝑥′í− 𝑥𝑖 = 𝑟𝑖31𝑙𝑖+ 𝑟𝑖32𝑤𝑖+ 𝑟𝑖33ℎ𝑖 ∑ 𝑟𝑖𝑎𝑏= 1 𝑎 ∑ 𝑟𝑖𝑎𝑏= 1 𝑏 𝑖 ∈ {1, … , 𝑛}, 𝑗 ∈ {1, … , 𝑚}, 𝑎, 𝑏 ∈ {1,2,3}.

Constraint (3) as defined above, together with the minimzation of the objective function, determine the values of variables 𝑢𝑗. Constraint (4) ensures that each item is allocated to one container and one container only. Constraints (5)-(7) guarantee that the items do not exceed the size of the container in one of the dimensions. Constraints (8)-(12) define that the items can rotate in the container orthogonally, as explained earlier when defining the binary variable 𝑟𝑖𝑎𝑏. These constraints ensure that either the length, width or height is placed along the X-, Y- or Z-axis of the container. Note that constraints (8)-(10) denote that 𝑥𝑖 < 𝑥′𝑖, 𝑦𝑖 < 𝑦′𝑖 and 𝑧𝑖< 𝑧′𝑖.

(26)

25 As long as one of the the variables 𝑥𝑖𝑘𝑝, 𝑥𝑘𝑖𝑝, 𝑦𝑖𝑘𝑝, 𝑦𝑘𝑖𝑝, 𝑧𝑖𝑘𝑝 or 𝑧𝑘𝑖𝑝 is equal to 1, the items i and k do not overlap along one of the axes. To prevent items from overlapping within the container, it is satisfactory to allow no overlap on at least on of the axes. So, at least one of these variables should equal 1 which is defined by constraint (13). Overlap happens only, logically, when two items are in the same container as expressed by the right-hand side of constraint (13). Constraint (14) and (15) ensure in this model that 𝑥𝑖𝑘𝑝 = 1 if, and only if 𝑥𝑖 ≥ 𝑥′𝑘. Same goes for constraint (16)-(17) and (18)-(19) of course, but then for 𝑦𝑖𝑘

𝑝

and 𝑧𝑖𝑘𝑝.

4.3.1 Including vertical stability

For the vertical stability, as described in section 2.3, the bottom side of each item should be supported by either the bottom of the container or the top side of other items on at least three out of four corners of the item (herafter: vertices). This will result in excluding items from floating in air when placed, following a layer reasoning. When an item is placed in the container, stability of this items is ensured by the layer of items below without taking into account the items that can be placed above. This is of course a simplified assumption and might result (in a very rare case) in an unstable loading pattern. To avoid this, the constraints could also define that all four vertices of an item should be supported by either the bottom or other items. This would, however, denote that constraints become much stronger and more complex but feasible loading patterns based on the support of three vertices would be rejected.

To achieve the vertical stability, another set of variables are introduced to determine if an item is on the ground (i.e. bottom of container) or else supported correctly by other items. One vertex of item i is supported properly when there is another item k with the appropriate height dimension to support the vertex. In other words, the top side coordinate of item k along the Z-axis is equal to the bottom side coordinate of item i along the Z-axis, so 𝑧′𝑘 = 𝑧𝑖. Furthermore, a particular overlap should be present of the projection of the two items on the X Y surface. To illustrate this, regard figure 4.3 below. To express this overlap, the vertices of item i are numbered as follows: 𝑥𝑖, 𝑦𝑖 = 1, 𝑥′𝑖, 𝑦𝑖 = 2, 𝑥′𝑖, 𝑦′𝑖 = 3, 𝑥𝑖, 𝑦′𝑖 = 4. As the example in figure 4.2 illustrates, vertex 1 of item i is supported if there is an item k in the same container with the appropriate height and overlap on the X Y projection, so that 𝑥𝑘 ≤ 𝑥𝑖 < 𝑥′𝑘 and 𝑦𝑘 ≤ 𝑦𝑖 < 𝑦′𝑘. Same applies to vertices 2, 3 and 4 of course.

(27)

26 The new variables are introduced as follows, note that the sequence of 1-0 binary variables can be turned around for the sake of notation (so 0 if true instead of 1).

𝑔𝑖 binary variable equal to 1 if item i is on the ground (𝑧𝑖 = 0);

otherwise 0, ∀𝑖,

𝑖𝑘 binary variable equal to 0 if item k has the appropriate height so support item i (𝑧′𝑘 = 𝑧𝑖);

otherwise 1, ∀𝑖, 𝑘,

𝑜𝑖𝑘 binary variable equal to 0 if the projections on the X Y surface of the items

i and k have an intersection that is nonempty (so there is overlap on projection X Y);

otherwise 1, ∀𝑖, 𝑘,

𝑠𝑖𝑘 binary variable equal to 1 if item k supports item i and are both in the same container;

otherwise 0,

𝜂𝑖𝑘1 binary variable equal to 0 if 𝑥𝑘 ≤ 𝑥𝑖;

otherwise 1, ∀𝑖, 𝑘,

𝜂𝑖𝑘2 binary variable equal to 0 if 𝑦𝑘 ≤ 𝑦𝑖;

otherwise 1, ∀𝑖, 𝑘,

𝜂𝑖𝑘3 binary variable equal to 0 if 𝑥′𝑘 ≤ 𝑥′𝑖;

otherwise 1, ∀𝑖, 𝑘,

𝜂𝑖𝑘4 binary variable equal to 0 if 𝑦′𝑘 ≤ 𝑦′𝑖;

otherwise 1, ∀𝑖, 𝑘,

𝛽𝑖𝑘𝑙 binary variable equal to 1 if vertex l of item i is supported by item k;

otherwise 0, ∀𝑖, 𝑘, 𝑙,

(28)

27 The stability constraint can now be formulated in the following way:

∑ ∑ 𝛽𝑖𝑘𝑙 ≥ 3(1 − 𝑔𝑖) 𝑛

𝑘=1 4

𝑙=1

This imply that when item i is not on the bottom of the container, at least three vertices are supported by another item k. Note that constraint (20) can be easily extended to require support on all four vertices by replacing the factor 3 on the right-hand side of the constraint with factor 4.

(29)

28

𝑦′𝑖 ≤ 𝑦′𝑘+ 𝜂𝑖𝑘4 ∙ 𝑀, ∀𝑖, 𝑘, (40)

𝑖, 𝑘 ∈ {1, … , 𝑛}, 𝑗 ∈ {1, … , 𝑚}, 𝑙 ∈ {1, … ,4}.

Constraint (21) indicates that item i is on the bottom of the container (ground) when equal to 1 by defining 𝑔𝑖. Constraints (22)-(27) define ℎ𝑖𝑘 by making use of 𝑣𝑖𝑘, which here represent the absolute distance |𝑧′𝑘− 𝑧𝑖| and by the use of 𝑚𝑖𝑘 which equals 1 if 𝑧′𝑘 ≥ 𝑧𝑖 and 0 otherwise. So these constraints ensure that the distance between 𝑧′𝑘 and 𝑧𝑖 is zero when ℎ𝑖𝑘 equals 0 (so item k is the appropriate height to support item i). Constraint (28) build on the idea that item i and k share a fragment of their orthogonal projection on the X Y surface when 𝑥𝑖𝑘𝑝 + 𝑥𝑘𝑖𝑝 + 𝑦𝑖𝑘𝑝 + 𝑦𝑘𝑖𝑝 = 0. Recall that these variables mean here that the items are not to the right or left of each other nor in front or behind each other in order to share a fragment of the X Y projection for support.

(30)

29

4.4 Three-dimensional layer packing model

The main idea of adding layer packing to the three-dimensional container loading problem is that the first layer is the bottom of the container, and subsequent layers are created on a horizontal line corresponding to a fixed, pre-set height. The height of each layer, and accordingly the number of layer spaces per container are therefore chosen arbitrarily. If two layers are placed in a container, the container will have three layer spaces to pack items (including the top of the container as layer). The base model as formulated above, together with the vertical stability constraints is adapted for layer packing. In this variant, layers are seen by the model as containers/bins itself with its corresponding layer (bin) height. The length and width of each layers is the same as for the container in which the layers are packed. When an item is placed in a layer, the container of that layer is automatically used thus so are the rest of the layers of that specific container. This ensures that one container is packed at a time, filling the layers as efficient as possible before starting to use layers of a second container.

In order to adapt the base model, first the parameter H (height of the container) is changed to:

𝐻𝑦 Height of layer y, ∀𝑦.

Next, the variable 𝑝𝑖𝑗 (item i placed in container j) and the description of variable 𝑢𝑗 are changed:

𝑥𝑖𝑦𝑗 binary variable equal to 1 if item i is placed in layer y of container j;

otherwise 0, ∀𝑖, 𝑦,j

𝑢𝑗 binary variable equal to 1 if one layer of container j is used;

otherwise 0, ∀𝑗,

𝑖 ∈ {1, … , 𝑛}, 𝑦 ∈ {1, … , 𝑧}, 𝑗 ∈ {1, … , 𝑚}.

The objective function (2) do not changes due to the adaption to layer packing. The objective remains to minimize the number of containers used. Because the equations are introduced next are an adaptation of the base model, they are numbered with index A (adapted) on the right.

𝑚𝑖𝑛 ∑ 𝑢𝑗 𝑚

𝑗=1

Constraints (3)-(7) are replaced with constraints (A3)-(A7) as follows:

(31)

30 ∑ ∑ 𝑥𝑖𝑦𝑗 = 1 𝑧 𝑦=1 𝑚 𝑗=1 𝑥′𝑖 ≤ ∑ 𝐿𝑗∙ 𝑥𝑖𝑗𝑦 𝑧 𝑦=1 𝑦′𝑖 ≤ ∑ 𝑊𝑗∙ 𝑥𝑖𝑗𝑦 𝑧 𝑦=1 𝑧′𝑖 ≤ ∑ 𝐻𝑦∙ 𝑥𝑖𝑗𝑦 𝑧 𝑦=1 𝑖 ∈ {1, … , 𝑛}, 𝑗 ∈ {1, … , 𝑚}, 𝑦 ∈ {1, … , 𝑧}.

To ensure that only the first container with its corresponding layers is packed fully before starting to pack in one layer of a second container is handled by constraint (A3), which determines that a container is considered as used when a parcel is packed in one of its layers. In the summation of this constraint, range z means the number of layer spaces per container and m the number of container available. This creates a summation over the layers. If there are for example 3 layers placed in a container, this sums the items packed in layer spaces 1 to 4 (z = 4) which correspond to container 1. In a similar fashion of this example, layer spaces 5 to 8 belong to container 2 in that case.

Constraints (A4)-(A7) follow the same reasoning as regular constraints (4)-(7), where (A4) ensures that all items are packed exactly once, so in one layer of one container. Following the previous example where there are two containers available with each 4 layer spaces, and item i is packed in layer space 3 of container 1 this results in:

Item i Bin j Layer y Value 𝑥𝑖𝑗𝑦

(32)

31 With regard to the overlap constraints, constraint (13) is replaced with constraint (A13) which ensures that there is no overlap between items which only can occur when placed in the same layer.

𝑥𝑖𝑘𝑝 + 𝑥𝑘𝑖𝑝 + 𝑦𝑖𝑘𝑝 + 𝑦𝑘𝑖𝑝 + 𝑧𝑖𝑘𝑝 + 𝑧𝑘𝑖𝑝 ≥ (𝑥𝑖𝑗𝑦+ 𝑥𝑘𝑗𝑦) − 1, ∀𝑖, 𝑘, j, 𝑦, (A13)

𝑖, 𝑘 ∈ {1, … , 𝑛}, 𝑦 ∈ {1, … , 𝑧}.

Considering the variables introduced for vertical stability, only variable 𝑠𝑖𝑘 is changed in a minor fashion for the use in layer packing into:

𝑠𝑖𝑘 binary variable equal to 1 if item k supports item i and both items are in the same layer;

otherwise 0.

Last adaption to the base model is made in constraints (30)-(31). In here, variables 𝑝𝑖𝑗 and 𝑝𝑘𝑗 are replaced with 𝑥𝑖𝑗𝑦 and 𝑥𝑘𝑗𝑦 but follow the same reasoning as its original constraints.

𝑥𝑖𝑗𝑦− 𝑥𝑘𝑗𝑦 ≤ 1 − 𝑠𝑖𝑘, ∀𝑖, 𝑘, 𝑗, 𝑦, (A30)

𝑥𝑘𝑗𝑦− 𝑥𝑖𝑗𝑦 ≤ 1 − 𝑠𝑖𝑘, ∀𝑖, 𝑘, 𝑗, 𝑦, (A31)

𝑖, 𝑘 ∈ {1, … , 𝑛}, 𝑗 ∈ {1, … , 𝑚}, 𝑦 ∈ {1, … , 𝑧}.

4.5 Historical data (data set explanation and modifications)

The historical data, as provided by PostNL, is analyzed and adapted in order to be useful as input data for the model. The dataset consists of all the parcels handled in one specific depot in three days. This comes down to over 119.000 data entries. For each parcel the dataset gives the date and time of entering the sorting process, its dimensions in millimeters (length, width and height), the lifting conveyer belt on which it enters the sorting machine as well as its destination chute in the sorting machine together with its end destination (depot in this case). It is assumed that this dataset can be generalized over every depot since they all work in the same manner with regard to sorting and all deal with the parcels in the same way.

4.5.1 Adapting the data and fitting distributions

(33)

32 from chute belt 4 and 22 (selected at random) and the distributions of their dimensions are compared in order to generalize the distribution of data with regard to the dimensions of parcels incoming and handled. Their descriptive statistics are indeed very similar and are summarized in table 4.1 below (for the histograms see Appendix A1).

Mean (in cm) Standard deviation (in cm) Number of items (N)

Length items belt 4 38 15 3575

Width items belt 4 27 11 3575

Height items belt 4 16 10 3575

Length items belt 22 38 15 2525

Width items belt 22 27 11 2525

Height items belt 22 16 10 2525

Table 4.1: Descriptive statistics of the samples

For the sake of robustness testing and validation of the model, instances with a number of containers and items which are generated (at random) following the distribution and characteristics of the actual data from the historical dataset. Next step here is thus fitting a distribution to the data, for which two tests are applied. First, the Kolmogorov-Smirnov test is applied to test whether the distribution of the dataset is significantly different from another distribution. The test quantifies the distance between the empirical distribution function of a sample and the cumulative distribution function of the reference distribution (e.g. normal, lognormal, Weibull etc.), or between the empirical distribution functions of two samples (Keller, 2011). Secondly, the chi-squared test is used to determine the goodness-of-fit of the sample data against the population with specific distribution, constructed from the sum of squared errors (Keller, 2011). Often, the chi-squared test is used while trying to reject the null-hypothesis that the data are independent.

(34)

33 generate instances with sets of items for analytical testing on the developed models. For each instance, the number of available container is 3. The number of items differ per instance in order to test the model against different, moderate sized instances. To validate the model properly multiple sets of items are created for each instance. The generated sets of instances can be found in appendix B1 to B5 and are included for the possible use in replication studies or further research.

4.5.2 Layer heights for layer packing

The initial layers as placed in the containers are set on a pre-determined height. The layer height is similar for every container. This is set arbitrarily, but based on the distribution of the dataset and its descriptive statistics as presented in table 4.2 earlier. From the samples taken, the greatest dimension existing was 79cm so the first layer from the bottom is set on 80cm. For the second layer placed, distribution of the dimensions is used. Almost 80% of the parcel dimensions fall within 60cm, so this is where the second layer is placed (from 80 to 140cm). The layer that remains within a container is logically (178-80-60=) 38cm. Within these 38cm fall over 50% of all dimensions. These layers should provide enough space to pack all items generated, from the maximal dimension up to the most frequently occurring dimension.

The testing of instances for the layer packing model is done based on the layer heights as just specified. In order to analyze the behavior of the model with layers, a sensitivity analysis is performed on different layer heights. A sensitivity analysis, in general, is a method used to determine what the impact of changing parameters is on the models under a given set of assumptions (Saltelli, Chan, & Scott, 2000). This means that for certain parameters, multiple values are generated that the parameter can assume. When the rest of the model remains the same (ceterus paribus), these changed parameters determine the output.

(35)

34

5. Numerical results

The two mathematical models as developed in chapter 4, one as the base 3D-BPP model and one as the layer packing variant, are tested on a set of rather small instances as generated in chapter 4 and with identical containers of uniform size (the roll-containers). The performance measure used here is the objective function, so the containers used. Within these containers, the Cartesian coordinates of placement are in centimeters. The purpose of doing this is to test the models on robustness and validate them. When the models work properly on a relative small set of items within a reasonable amount of time, it is validated to work for larger sets of items in a greater amount of time as well. The smaller set of instances should give insights for developing heuristics for larger cases in future research, given that the problem is strongly NP-hard as explained before in chapter 2. The developed models are based on a mixed integer program. This means that a standard optimization software can be used to handle this approach. Both models were implemented in IBM ILOG CPLEX 12.7 with default parameters and tested on a personal computer (Windows 10 x64, Intel Core i7, 2.60 GHz and 8GB of RAM). Because the rapidly increasing size of the models, it can involve 1000s of variables and constraints. In the testing that follows, computational time spent to solve each model is limited to 1 hour (3600 s) and the optimality gap, if applicable, is computed as:

Gap =(best bound optained − best solution obtained)

(best bound obtained) x 100%.

By setting the time limit, four outcomes are possible: (1) optimal solution, (2) integer solution with gap greater than zero and CPLEX exceeds time limit, (3) no solution, no gap and CPLEX exceeds time limit or (4) computer runs out of memory without a solution. The last two cases are represented in the result tables by “ - ”.

(36)

35

5.1 Instance 1: testing the models

To check whether the model behaves properly according to how it is modelled, the first test instance with 6 generated items and 3 containers available is solved using the base model and the layer packing model. The generated items with their dimensions can be found in Appendix B. Solving the models in CPLEX provides initial information about the models as displayed in table 5.1, which give the time needed for solution, number of constraints and variables per model, the number of container used/required/available and the volume of the container used by the items. Although the layer packing model is larger in terms of constraints and variables, the time needed for solution is significantly smaller.

Instance 1 Base model Layer model

CPU time in sec. 38.95 0.48

Model constraints 1383 2016

Model variables 927 999

Containers u/r/a* 1/1/3 1/1/3

Container fill rate 63% 63%

Table 5.1: Model information instance 1

* Number of containers required means the theoretical number of containers needed for the volume of the items packed.

Solving the models gives not only the number of bins used, but also the loading pattern of items packed of course. For both models, the load pattern and a corresponding visualization for instance 1 is given below. The first column gives the item number and its color in the visualization, the following three columns the x, y and z coordinates of the Front-Left Bottom point of each item corresponding to centimeters and the last two columns indicate whether an item is on the ground or supported by other items.

Instance 1: base model

Item FLB coordinates of item i On ground Supported

i Color 𝑥𝑖 𝑦𝑖 𝑧𝑖 𝑔𝑖 𝑆𝑖𝑘 1 Red 0 0 0 1 0 2 Pink 16 0 62 0 1 3 Grey 12 9 102 0 1 4 Yellow 6 62 42 0 1 5 Blue 0 0 42 0 1 6 Green 40 18 0 1 0

(37)

36 For the layer packing variant, two layers are placed in the containers on heights 80cm and 140 cm leaving the layers’ heights on respectively 80cm, 60cm and 38 cm as seen from the bottom of the container. In here, placing an item on the ground means ground of a layer.

Instance 1: layer packing model

Item FLB coordinates of item i On ground Supported

i Color 𝑥𝑖 𝑦𝑖 𝑧𝑖 𝑔𝑖 𝑆𝑖𝑘 1 Red 1 10 140 1 0 2 Pink 0 0 0 1 0 3 Grey 0 0 80 1 0 4 Yellow 42 0 0 1 0 5 Blue 0 58 0 1 0 6 Green 0 40 0 1 0

Table 5.3: Loading pattern for layer packing model instance 1.

In both models, no overlap exists and all items are packed orthogonally. As can be seen in the difference between the loading patterns, the model decides also on the rotation of each item. The vertical stability is also verified, from the visualization of the base model becomes clear that each item is indeed supported on three vertices by other items (e.g. item grey is supported by item yellow on 2 vertices and by item pink on 1 vertex). There is no item ‘floating’ in mid-air, so the loading patterns can be regarded as stable. From these visualizations, it looks on the eye that the layer packing model packs the items ‘denser’ than the base model in which the items are packed more dispersed.

5.2 Instance 2, 3 and 4: results

The results obtained with instance 2 for the two models are presented in table 5.4 below. The following table, as the result tables that follow, show for both models the set which is tested, the runtime in seconds, the number of constraints and variables for each instance, the number of containers used/required/available and the optimality gap when applicable. Again, the number of container required is the theoretical number of containers needed for the volume of the items packed seen its physical dimensions.

Instance 2 Base model Layer packing model

Set Items Time (s) Constr. Var. u/r/a Gap (%) Time (s) Constr. Var. u/r/a Gap (%)

1 5 7.04 938 638 1/1/3 0 0.34 1391 704 1/1/3 0

2 5 1.03 938 638 1/1/3 0 0.35 1391 704 1/1/3 0

3 5 2.09 938 638 1/1/3 0 0.36 1391 704 1/1/3 0

4 5 0.48 938 638 1/1/3 0 0.42 1391 704 1/1/3 0

5 5 0.71 938 638 1/1/3 0 0.32 1391 704 1/1/3 0

Table 5.4: Results of instance 2.

(38)

37 For instance two, five sets of each 5 items are generated with 3 containers available for each set. This relative small instance can be computed within a very reasonable time limit of maximal 7.04 seconds. The runtime needed for the base model has quite a variation while the layer packing model runtime is much more stable and quicker. The size of the model is already significant in terms of constraints and variables, which is expected to increase when more items are inserted in the models. What can be seen from this table is that every instance set is solved with optimality, each in one container as required. In terms of performance, both models use the same number of containers and in terms if minimizing the containers used they perform even well.

Instance 3 Base model Layer packing model

Set Items Time

(s) Constr. Var. u/r/a

Gap (%)

Time

(s) Constr. Var. u/r/a

Gap (%) 1 10 103.60 4023 2623 1/1/3 0 181.38 5736 2719 1/1/3 0 2 10 511.47 4023 2623 1/1/3 0 13.09 5736 2719 1/1/3 0 3 10 522.15 4023 2623 1/1/3 0 11.63 5736 2719 2/1/3 0 4 10 192.74 4023 2623 1/1/3 0 5.13 5736 2719 2/1/3 0 5 10 2029.96 4023 2623 1/1/3 0 10.94 5736 2719 1/1/3 0

Table 5.5: Results of instance 3.

(39)

38

Instance 4 Base model Layer packing model

Set Items Time

(s) Constr. Var. u/r/a

Gap (%)

Time

(s) Constr. Var. u/r/a

Gap (%) 1 15 3600 9258 5958 -/2/3 - 300.63 13131 6084 2/2/3 0 2 15 2618.17 9258 5958 2/2/3 0 5.90 13131 6084 3/2/3 0 3 15 3600 9528 5958 -/2/3 - 21,76 13131 6084 2/2/3 0 4 15 3600 9528 5958 -/2/3 - 154.35 13131 6084 2/2/3 0 5 15 3600 9258 5958 -/2/3 - 7.35 13131 6084 2/2/3 0

Table 5.6: Results of instance 4.

When solving the fourth instance sets, each having 15 items and 3 containers available, it becomes apparent that not each set can be solved anymore because CPLEX exceeds the time limit. For the layer packing model, sets of 15 items is not a problem since these sets are all solved within 5 minutes. For the base model, one hour of computational time is not enough for sets 1, 3, 4 and 5. The sets of the base model that could be solved required quite a large amount of runtime. Again, the layer packing variant is much more efficient in terms of runtime and feasible solution within this runtime, although the variety in runtime between sets is again remarkable. For set 2 in this instance, the layer packing model uses one container more than required because of the physical layer placement. Also with the increase of items here comes the increase of the model size. To compare the model sizes in the three instances, consider figure 5.1 and 5.2 below. For the layer packing model, the number of constraints increases steeper than for the base model because of the additional packing-in-layers constraints. This increases exponentially with the number of items inserted. The increase in variables is similar for both models, although they both grow exponentially when the number of items increases. This is explained by the fact that variables of the base model are merely replaced with variables for the layer packing model.

0 2000 4000 6000 8000 10000 12000 14000 2 3 4 NUM BER OF CONSTR AIN TS INSTANCE

Constraints per instance

Base model Layer packing model

0 1000 2000 3000 4000 5000 6000 7000 2 3 4 NUM BER OF VARIABLES INSTANCE

Variables per instance

Base model Layer packing model

(40)

39

5.3 Sensitivity analysis on layer heights

Table 5.7 and 5.8 show the results obtained from comparing containers with no layers and layers at the (pre-defined) different heights for the two sets of items generated for instance 5. Each set consists of 10 generated items with 3 containers available in which the items can be packed.

Instance 5: sensitivity analysis

Set 1 Time (s) Constraints Variables u/r/a Gap (%)

Base model 3600 4023 2623 -/2/3 - 1 layer 542.40 4896 2677 2/2/3 0 2 layers 8.12 5736 2719 3/2/3 0 3 layers 0.65 6576 2761 3/2/3 0

Table 5.7: Results from instance 5, set 1.

Instance 5: sensitivity analysis

Set 2 Time (s) Constraints Variables u/r/a Gap (%)

Base model 3600 4023 2623 3/2/3 33,33 1 layer 481,13 4896 2677 2/2/3 0 2 layers 13,43 5736 2719 3/2/3 0 3 layers 1,07 6576 2761 3/2/3 0

Table 5.8: Results from instance 5, set 2.

(41)

40 From the base model towards the model with 3 layers, the number of constraints increases remarkably and almost linear as can be seen in figure 5.3. The number of constraints increases gently, because only variables are added by the model for the additional layers (so item-in-layer-in-bin combinations).

Figure 5.3: Number of constraints and variables for each model

0 1000 2000 3000 4000 5000 6000 7000

Base model 1 layer 2 layers 3 layers

NUM BER OF CONSTR AIN TS/VARIAB LES MODEL

Constraints and variables instance 5

(42)

41

6. Discussion

This section discusses the insights gained from this research, its theoretical and practical value together with its limitations. Points discussed in this chapter can therefore be in twofold: based on the model itself as well as for the case company. Results of this research should provide the case company with some initial results on how to improve their efficiency when packing and transporting their parcels, while its theoretical contribution lies in the use of a real dataset and including practical relevant constraints which are (vertical) stability and the layer packing approach.

First point of discussion is the capability of the solving approach. Although the problem is NP-hard, integer programming has been investigated considerably over the last decades and effective solvers are available for these kinds of programs. Still, integer programs are very challenging from a computational point of view. The numerical results presented for the instances emphasize the limitations of a solver software (such as CPLEX) to solve models with instances of moderate sizes. This results indicate already that there will be difficulties when solving large sets of items, as will be the case in the still growing volume that PostNL needs to handle each day. In that case, there will be an enormous number of possible positions to pack the items inside the roll-containers whereby the computational time needed can easily go from minutes to hours. It is worth noting however, that models solved in this research already have 1000s of constraints and variables and therefore remotely far from being easy to solve.

(43)

42 of the results, since it is tested for one real case already. When the assumption of only regular items is relaxed, including irregular shaped items would increase the complexity of the model even more.

In a practical case, like the one from PostNL where there fit on average 30 parcels in one container, the current solution approach indicates the potential benefits of efficient packing but is not directly suitable to be implemented because of the computational time needed. It results therefore should be regarded as a base for including stability and layer packing, opening up new ways to the development and testing of other solution approaches such as heuristics and (exact) algorithms. Critical assumption made in the current method is that all items and its dimensions were known upfront so the model could try all the possible placement possibilities before coming to the optimal solution. In cases for PostNL where this does not apply, an online algorithm method is already needed to solve problems like these which leaves unused space un purpose for parcels coming (not knowing what and what size). In this mixed integer program, this is not possible.

Other point of discussion is the performance of the base model versus the layer packing variants. As the obtained results indicate, layer packing limits the space to pack items which was a good thing for the computational time but decreases the performance in terms of containers needed for a batch of items. In several cases the layer packing variant used more containers than required which is a drawback of this model but inevitable seen the physical dimensional limitations of the layers. The objective was to minimize the containers needed to transport parcels for PostNL in order to cut costs for transport, in which the preference goes to the non-layer packing purely based on the results obtained.

(44)

43 chute which gives a visualization of where (which container and placement in container) the next parcel should be packed.

Referenties

GERELATEERDE DOCUMENTEN

In following the approach of Vogel and the IFA of moving away from the unilateral method 289 , in terms of which Article 3(2) of the OECD Model which provides that, where

Naast en tegenover deze ,,leermeesters'' staan de drie vrouwen die Lasalle misschien niet verder helpen, maar hem op zijn moeilijk pad wèl ondersteunen: de Cambodjaanse hoer

In Margaretha bleef het langst liggen bevestigt de literatuur haar beperkingen in plaats van ze te doorbreken: niet door een gebrek aan vakmanschap bij de schrijfster, maar door

Het aantal zeedagen voor deze schepen lag in 2006 gemiddeld op 196 en de verdienste voor een opvarende op deze kotters lag met 46.000 euro op een 28% hoger niveau in vergelijking

proximation algorithms (section 2). This approach has also the advantage of simplifying the proofs. In section 3 we show that a special class of stopp- ing times generates

opgravingsvlak aangesneden (fig. De vulling bestond uit een donkergrijze leem met verspreide houtskoolstippen. In coupe vertoonde de 69 cm diepe kuil vrij rechte wanden en een vlakke

Gangpolbahn und der Rastpolbahn wie 1 : 2. Koppelpunkte, die sich in einem Undulationspunkt befin- den, durchlaufen ein nahezu geradliniges Bahnstiick der Kop- pelkurve. Da die

We proposed the SuperMann scheme (Alg. 2), a novel al- gorithm for finding fixed points of a nonexpansive operator T that generalizes and greatly improves the classical