3.8 Computational results
4.1.1 Pallet building
In this phase we have to place the items on pallets. Here a pallet provides a loading space above its base, made of wood, metal, or plastic. Typically the space in horizontal directions is limited by the horizontal size of the pallet, though some overhang in both directions can be allowed. In the vertical direction the height of the loaded pallet is limited to half the height of the truck, in order to place two pallets, one on top of the other.
4.1. Introduction 87 The items are grouped in layers. A layer is an arrangement of items of the same product, composing a rectangle whose dimensions and number of items are known. A layer completely covers the pallet base in horizontal directions and other layers can be placed on top of it to make up a pallet. The horizontal dimensions of the layer can exceed the pallet base dimen- sions by a given percentage. The customers’ orders are a quantity of items that usually is a multiple of the number of items composing a layer.
A pallet is thus composed of a flat base and a set of layers placed one above the other. The layers can only be stacked in a certain number to avoid damage. For each type of product the number of layers that can be stacked is fixed, depending on the fragility of the products.
The layer composition of each type of product has been previously de- cided, and we have to stack layers to build pallets. Three different types of pallets can be built:
• Stock pallet, where all the layers are of the same product. In this case the number of layers composing the pallet is fixed, due to stackability reasons, and therefore the pallet height is also fixed.
• Case pallet, which combines layers of different products.
• Rest pallet, which contains the remaining units of each product that cannot form a layer. In the instances used in this study there are no rest pallets because the orders for products are always given as an integer number of layers. Therefore we will not use them in the remainder of this chapter.
The company wants to make as many stock pallets as possible. Only when not all the layers of a product fit onto stocks pallets are the remaining layers used to form case pallets.
Apart from the pallet composition, other constraints should be consid- ered in this phase:
• Orientation constraint: layers can be rotated, and all placements must be parallel to the sides of the pallet.
• Support constraint: A layer must be supported at a certain percent- age, 75% to be precise, by the pallet surface, or the layer on which it rests.
• Stackability constraint: The pallet height is limited to half the truck height. Therefore, at most two pallets can be placed in each stack. However, not any two pallets can be placed in the same stack, as the selection of the two pallets depends on certain properties such as their weight, with lighter pallets being placed on top of heavier pallets. Each pallet belongs to a stackability group, based on the items loaded on it. Denser pallets have a lower identification and less dense ones a higher identification, so that one pallet can be placed on the top of another if its identification is greater than or equal to the identification of the pallet below.
4.1.2
Truck loading
Once the pallets are built, they have to be placed in the trucks. In each instance we assume an infinite supply of identical trucks. The dimensions of the trucks are given in millimeters (14630.4, 2590.8, 2768.6). Consid- ering the dimensions of the ISO pallet, we can place 2 pallets height-wise, 2 pallets width-wise and around 14 pallets length-wise, depending on the overhang. This equates to a maximum of 56 pallets per truck.
More precisely, for a truck we know its rectangular dimensions(L, W, H)
and the maximum weight, or weight capacity Q, that it is allowed to load. Moreover, there are restrictions on the maximum weights on the axles. The truck has two axles that carry the load, with the front axle at position δ1 and the rear axle at positionδ2, whereδ1 andδ2 are measured from the front of the loading space of the truck. Each axle can bear a maximum weight, denoted by Q1 and Q2, where Q1 +Q2 ≥ Q. Figure 4.1 shows a truck with its dimensions and axle distances.
For security reasons the load has to be well spread on the truck and must be distributed between the two axles, not exceeding the maximum weight they can bear. If Cogx is the x-coordinate of the center of gravity
4.1. Introduction 89
Figure 4.1. Dimensions and axles positions of the truck
of the load inside the truck andg the total weight of the load, the weights supported by the front axle (g1) and the rear axle (g2) are determined by equations (4.1) and (4.2). g1 = g(Cogx −δ1) δ2−δ1 (4.1) g2 = g(δ2 −Cogx) δ2−δ1 (4.2)
In this phase of truck loading, some other constraints related to how to place the pallets should be considered:
• Priority constraint: The due dates of the orders must be respected, meaning that if truck x contains orders for day d, then trucks x+ 1, x+ 2, etc. cannot contain orders of days befored. If the items of day ddo not completely fill a truck, the items of the dayd+ 1can be used to fill up the truck. If with these items the truck is not still completely filled, then items of dayd+ 2can be used, and so on, until the truck is filled or there are no items left.
• Weight constraint: The weight capacity Q of the truck cannot be exceeded.
• Axle weight constraint: The axles of the truck have weight limits Q1 and Q2; the weights g1 and g2 in equations (4.1, 4.2) should not exceed Q1 andQ2, respectively. Usually,Q1+Q2 ≥Q.
• Stability constraint: For stability reasons, the pallets have to be placed touching at least one side of the truck.
4.1.3
Objective
As explained in the introduction, the problem corresponds to the inter- depot transportation of a distribution company. The distribution company will calculate the load assignment during the day, and the following night transportation is carried out. The data are not complete, except for the next day: orders may be cancelled or, more likely, be added for the upcoming days. Consequently, the distribution company will not ship the goods for all the days, but probably only the first trucks, containing the next day’s orders and some orders for the day(s) after.
Nevertheless, a calculation for the complete period is of value: the or- ders for the later days might influence the choices made for the first days. For this reason our main objective is to minimize the total number of trucks needed for all the orders and, in case of solutions with the same number of trucks, one is better than the other if the last truck is less full.
We tackle two problems: putting products onto pallets and pallets into trucks, but both have the same characteristics. According to the typol- ogy proposed by W ¨ascher et al. [94], they can be classified as three- dimensional problems. The kind of assignment is input minimization, a set of small items is to be assigned to a set of large objects whose quantity is large enough to accommodate all the small items. The assortment of the small items is weakly heterogeneous, the small items can be grouped in relatively few classes with respect to the total number of items. The assortment of the large objects is only one large object with fixed dimen- sions, pallet and truck, and the shape of the small items is regular. Both problems can be classified as a Single Stock Size Cutting Stock problem (SSSCSP).
4.2. Literature review 91
4.2
Literature review
The problem that we study represents an important category of loading problems, namely the problem of loading products on pallets and placing pallets into trucks. In particular, the loading of layers on pallets and pal- lets into trucks, because the layer composition is given. It is a problem related to the container loading problem described in Chapter 3, because in both cases products, boxes or layers, are placed in containers with fixed dimensions under certain constraints.
The constraints that are relevant in this problem are largely the ones mentioned previously: weight and weight distribution, stackability, and al- location of items. In the container loading problem these constraints have been considered in many previous studies. According to the survey by Bortfeldt and W ¨ascher [15], at least 13.9% of the container loading litera- ture deals with weight limit, while weight distribution is considered by12.1%
of the papers, keeping the centre of gravity in the geometrical mid-point of the container or not exceeding a certain distance. The stackability con- straint is dealt with by15.2%of the papers.
In the previous chapter we reviewed work relating to container loading problems according to constraint types and solution approaches. Here we only mention some studies directly related to the problem being tackled in this chapter.
• Priority constraint: The due dates of orders must be respected. Bischoff and Ratcliff [11] and Ren et al. [85] work with product pri- orities, trying to accommodate first the more desirable products. • Stackability constraint: Preventing a product type from being placed
on top of another type has been considered by Scheithauer and Terno [90] and constraints such as “Stack no more than X height” are en- countered in Bischoff and Ratcliff [11] and in Lin et al. [59].
• Support constraint: Many studies([13], [4], [30], [32], [69]) work with full support, and some others ([53, 54]) with partial support.
• Weight constraint: Gehring and Bortfeldt [38], Bortfeldt et al. [14], Terno et al. [93] and Egeblad et al. [29] include among their con- straints a maximum weight that cannot be exceeded.
• Axle weight constraint: Bischoff and Marriott [10] keep the centre of gravity in the geometrical mid-point of the container. A certain flexibil- ity, not exceeding a certain distance from the geometrical mid-point, is allowed in Bortfeldt and Gehring [13] and Gehring and Bortfeldt [38]. However, there are not many papers that address the issues of pallet and truck loading together. The next references place products on pallets and pallets into trucks.
Morabito et al. [66] deal with the same problem but in 2D because the products cannot be stacked. The set of products have dimensions(l, w, h), wherehrepresents the maximum height for loading. The problem consists in how to load the maximum number of products on a pallet of dimen- sions (L, W). The problem is solved by using the approach proposed by Morabito and Morales [65]. The approach consists in a heuristic algorithm that divides the rectangle into 5 blocks and in each block the products are placed in a fixed orientation. Finally, when the pallets are built, they use the same approach to load the pallets into the trucks.
Haessler and Talbot [45] describe a heuristic for loading customers’ or- ders, developing load patterns for trucks and rail shipments. The products have low density and for that reason the approach is based on loading by volume rather than by weight. To deal with axle weight constraints, stacks are sequenced by alternating the heaviest and lightest stacks.
Takahara [92] deals with the problem of loading a set of items P, in a set of multiple bins, containers and pallets, S. A loading sequence for the items is chosen, for instanceσ =p2, p3, p1, p5, ..., pn, and this determines the or-
der in which the items are inserted into the bins. The sequence is selected by a metaheuristic method based on a neighbourhood search. A selec- tor determines the sequence of the bins, for instance µ= s2, s1, s3, ..., sm.
When a bin is selected the first item is loaded in the bin, placing it into the first space in which it fits. If the item does not fit into the bin, the next bin is selected. There is an observer that determines when to exchange the
4.2. Literature review 93 sequence of the items with a neighbour sequence and when the choice of the bin is changed from following the sequence to being randomly chosen, depending on the quality of the solutions.
Lim et al. [58] deal with the single container problem with axle weight constraints. They propose an integrated heuristic solution approach that combines a GRASP wall-building algorithm with linear integer program- ming models. They first apply a customized wall-building heuristic based on the GRASP by Moura and Oliveira [67], including special considera- tions for box weight and density. Then they use an integrated approach to handle the weight requirements. If the container load limit is exceeded, they unload the necessary number of boxes by iteratively solving an inte- ger programming model to meet the requirement. If the axle weight limit is exceeded, they take two steps iteratively until the limit is satisfied: the first step consists in interchanging positions of the walls and the second step consists in solving an integer programming model to unload boxes and apply the first step one more time to improve the container balance as well as to force a feasible weight distribution.
Recent years have shown a significant growth in research and areas of application. In particular, constraints related to routing have been studied, leading to loading constraints as in Iori and Martello [52]. Doerner et al. [26] deal with multi-pile vehicle problems in which the total weight of the items is equal to the weight the truck can load, and the length and height of the items are variable. The items are placed on pallets and stacked one above the other, producing piles. They propose two metaheuristic algorithms, a Tabu Search and an ACO algorithm. Pollaris et al. [80] study the capacitated vehicle routing problem with sequence-based pallet loading and axle weight constraints. They propose a mixed integer linear programming formulation for the problem. They focus their study on the combination of a Vehicle Routing Problem (VRP) with the loading of ho- mogeneous pallets inside a vehicle. Pallets may be placed in two rows inside the vehicle but cannot be stacked on top of each other because of their weight, fragility or customer preferences. Sequence-based loading is assumed to ensure that when arriving at a customer, no items belonging to customer supplied later on the route block the removal of the items of the
current customer. Their model tries to minimize the transportation cost, respecting the axle weight constraint along the delivery route.
4.3
Problem Approach
The problem we study in this chapter is a real problem in which many con- straints are present. It is a difficult problem and obtaining good solutions that satisfy all the constraints is a challenge. It would be a good starting point to develop a heuristic that obtains good solutions in relatively short computing times.
Problems combining pallet and truck loading have not been extensively studied and until now, few exact algorithms have been proposed for solving such problems. Only Pollaris et al. [80] and Lim et al. [58] have used exact approaches. For this reason, it would be interesting to study the behavior of the problem, combining pallet and truck loading, in greater depth, by using mathematical models.
Therefore, we have addressed the problem from the two points of view, using heuristic and exact methods. Section 4.4 explains the heuristic ap- proach and Section 4.5 explains what the relaxed problem is that we take as a starting point and the way in which we have developed mathematical models by progressively introducing additional constraints.
4.4
Approximate approach
We first developed a metaheuristic algorithm for solving the problem. The objective was to produce good solution in reasonable computing times, that could be useful for the company because they satisfy all the require- ments.
In this section we first give a formal description of the problem. Then we analyze the instances provided by the company and describe the algo- rithm. Finally, the computational results are reported.
4.4. Approximate approach 95
4.4.1
Problem formulation
The problem can be defined as follows. A customer has to receive a set of different products,j ∈1, . . . J, to meet daily orders. The days are repre- sented byd∈1. . . D, and each order line is composed of a product typej and the amount of it for that dayajd. The product is defined by its dimen-
sions(xj, yj, zj) in millimetres, its weight wj in kilograms, and its possible
rotations(rxj, ryj, rzj), withrxj = 1if the dimension xj of the product can
be upward. In Figure 4.2 a cereal box is defined.
Figure 4.2. Cereal box
All the products have a pre-defined placement in layers. A layer is an arrangement of products of the same type in rows and columns, defined by its dimensions (lj, wj, hj)in millimeters, its weight qj in kilograms, and
the number of units in the layer luj. The quantity of layers per day is
ndj = ajd/luj, whereas the total quantity of layers is nj = Pd∈Dajd/luj.
The number of layers of the same product that can be stacked islsj and
the stackability identification isidsj ∈1, . . . ,4, which represents the density
of the product, denser products having an identification of 1 and less dense ones receiving a 4. One layer can be placed on top of another if the layer below has a stackability identification smaller than or equal to that of the layer above. In Figure 4.3 a layer of cereal boxes is built with three rows and three columns. Each layer is composed of 9 items, can be rotated with respect to thexandyaxes, and only four layers of cereals can be stacked. The layers are stacked to build pallets. Each pallet has a base whose dimensions are(lp, wp, hp)millimetres, a weight, qp, and it can be rotated.
Figure 4.3. Layer of cereal boxes
placed onto the pallets. If there are enough layers of the same product, stock pallets are built first and then the remaining layers are combined into case pallets. In Figure 4.4, a pallet with four layers of cereals has been assembled. It is a stock pallets because all the layers are of the same product.
Figure 4.4. Pallet with 4 layers of cereal boxes