Pallet Loading
Pallet Loading
This paper deals with the problem of a logistics company that has to serve its customers
by first putting the products on pallets and then loading the pallets into trucks. Besides
the standard geometric constraints of products not overlapping each other and not
exceeding the dimensions of pallets and trucks, in this real problem, there are many other
constraints, related to the total weight of the load, the maximum weight supported by
each axle, and the distribution of the load inside the truck. Although the problem can be
decomposed into two phases, pallet loading and truck loading, we have taken a combined
approach, building and placing pallets at the same time. For each position in the truck, a
pallet is built and tailored for that position according to the constraints of height and
weight. We have developed a GRASP algorithm, in which the constructive algorithm is
randomized and an improvement phase is added to obtain high-quality solutions. The
algorithm has been tested on two sets of real instances with different characteristics,
involving up to 44 trucks. The results show that solutions with an optimal or near optimal
number of trucks are obtained in very short computing times.
1. Introduction
A distribution company has a main depot and a set of regional depots spread around the
country and every week it has to solve an interdepot transportation problem to fill the
orders that each regional depot sends to the main depot for the days of the next week. The
company has to decide first how to put the products into pallets and then how to
distribute the pallets among trucks in order to deliver the right products to the right place
at the right time, while minimizing the number of trucks used. In this paper, we will take
the characteristics and the data of a large distribution company as a reference, but the
problem is common to many other logistics companies around the world. The companies
require a solution procedure that produces high-quality solutions in short computing
times, to be able to react to last-minute changes. Good solutions, minimizing the number
of trucks, will result in reductions in the transportation costs for the companies as well as
in greenhouse gas emissions.
The loading problem faced by the company consists of two interrelated phases. In the
pallet building phase, all the products have to be put on pallets. In the truck loading
phase, all the pallets have to be placed into trucks. The means of transport, in this case
trucks, introduces some constraints which have to be respected for safety reasons. There
is a maximum weight of the load that cannot be exceeded. There are also limits on the
maximum weight each axle can support. Moreover, the load has to be well distributed in
the truck to prevent movements during the journey. This means that the center of gravity
of the load always has to be placed between the axles and as near as possible to the
geometric center of the truck.
In order to produce fast and high-quality solutions, we have developed a GRASP
algorithm, composed of a constructive algorithm, designed to satisfy all the safety and
logistic constraints of the problem, a randomization procedure to achieve diversity in the
iterative process, and some improvement moves to refine the solutions obtained by the
randomized constructive algorithm. A novel feature of the proposed algorithm is that it
solves the two phases of the problem simultaneously, instead of decomposing it into two
separate subproblems.
Although the algorithm provides solutions for the orders of all the days in the planning
horizon, the company sends the trucks with the products for the first day and adjusts its
data for the next days taking into account last-minute orders or cancelations, solving the
problem again for the remaining days. Nevertheless, solving the whole problem together
is much better than solving each day separately, because if there is some space left in the
trucks carrying the products for the first day, it can be used to load products for the
second day until the trucks are completely filled, because products can be sent before
their delivery date but not later. By solving the whole problem, the trucks are more
efficiently used.
The remainder of the paper is organized as follows. An overview of the related existing
work is presented in Section 2. In Section 3, the problem is formally described and all the
constraints related to the pallet building and the truck loading are discussed. In Section 4,
the different components of the GRASP algorithm are introduced. Section 5 contains the
description of the test instances used, which come from a large distribution company, and
the results obtained by the algorithm. The comparison with simple lower bounds
developed for the problem shows that the proposed procedure obtains high-quality
solutions for medium and large instances, involving up to 44 trucks. Section 6 contains
the conclusions.
2. Literature Review
There are not many papers addressing the issues studied here, considering pallet and
truck loading together and multiple trucks. Morabito et al. [1] deal with the same problem
but in two dimensions, because the products cannot be stacked. Both problems, pallet and
truck loading, are solved by using the 5-block algorithm proposed by Morabito and
Morales [2]. Takahara [3] deals with the problem of loading a set of items on a set of
containers and pallets. The sequences for loading the items and for selecting the bins are
controlled by heuristic procedures. Haessler and Talbot [4] propose a heuristic for
developing load patterns for trucks and rail shipments. The products have low density and
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.
Moura and Bortfeldt [5] deal with the same problem in two steps. In the first step, boxes
are packed onto pallets, while in the second step these pallets are loaded into trucks. For
packing boxes onto pallets, Moura and Bortfeldt use the algorithm proposed by Moura
and Oliveira [6] and they deal with the problem of loading pallets into trucks as a one-
dimensional bin packing problem, which is solved by a tree search procedure.
Zachariadis et al. [7] address a vehicle routing problem in which the products are first
packed onto pallets and then loaded into the vehicles and propose local search
metaheuristic strategies. Alonso et al. [8] consider a simplified version of the problem
studied here and develop integer linear models, starting from a basic loading model and
progressively adding more realistic conditions and objectives, such as the use of one or
two pallets per position, the position of the center of gravity, and the minimization of the
number of pallets.
The Single Container Loading Problem (SCLP), in contrast, is a well-studied problem
and in recent years there has been an increasing number of papers introducing real
constraints (see the survey by Bortfeldt and Wäscher [9]). Gehring and Bortfeldt [10],
Bortfeldt et al. [11], Terno et al. [12], and Egeblad et al. [13] are some of the authors who
include weight limit constraints in their studies. In fact, when the cargo is heavy, weight
becomes a very restrictive constraint, more than the volume or the space occupied.
Weight distribution constraints require the weight of the cargo to be distributed across the
container floor to balance the load. To achieve a good weight distribution, the center of
gravity of the load should be at the geometrical midpoint of the container floor, as in
Bischoff and Marriott [14], or at a point not exceeding a certain distance from it, as in
Bortfeldt and Gehring [15] and Gehring and Bortfeldt [10].
Axle weight is a constraint imposed by the means of transport and it has not been widely
studied. Lim et al. [16] deal with a particular SCLP with axle weight constraints. They
first apply a customized wall-building heuristic based on the GRASP by Moura and
Oliveira [6], including special considerations for box weight and density. They then 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 ILP 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 reversing the positions of
the walls created by the customized heuristic, whereas the second step involves solving
an ILP model to unload boxes and applying the first step once more to improve the
balance of the container as well as to force a feasible weight distribution.
Stackability or load-bearing constraints are introduced to avoid damaging the items at the
bottom of the stacks. They can be measured by the number of boxes a box can bear above
it (Bischoff and Ratcliff [17]) or by prohibiting a particular type of box being placed on
top of another type (Terno et al. [18]) or by the maximum weight that can be applied to a
box per unit area (Junqueira et al. [19], Alonso et al. [20]).
Other constraints are related to the stability of the load. Vertical or static stability
prevents items from falling when the vehicle is not moving (Ramos et al. [21]). A box
must be supported from below at a given percentage of the surface of its base. If this
percentage is 100%, we speak of full support (De Araújo and Armentano [22], Fanslau
and Bortfeldt [23]). In the case of lower percentages, we speak of partial support
(Junqueira et al. [19]). Horizontal or dynamic stability assures that items do not move
while the container is being moved. This constraint deals with the capacity of the items to
support the inertia of their bodies (Ramos et al. [24]).
Weight constraints, cargo stability, and other practical constraints also appear in recent
studies combining loading and routing, such as Iori et al. [25], Bortfeldt [26], Junqueira et
al. [27], Ceschia et al. [28], Tao and Wang [29], and Junqueira and Morabito [30].
Doerner et al. [31] deal with a particular vehicle routing problem in which the items are
placed on pallets and stacked one on top of the other, producing piles. They propose two
metaheuristic algorithms, a Tabu Search and an ACO algorithm. Pollaris et al. [32]
combine a capacitated vehicle routing problem with the loading of homogeneous pallets
inside the vehicle. They consider sequence-based pallet loading and axle weight
constraints and propose a mixed ILP formulation for the problem. Their model tries to
minimize the transportation cost, respecting the axle weight constraint along the delivery
route. Recent surveys on loading and routing problems have been presented by Iori and
Martello [33, 34] and Pollaris et al. [35].
5. Computational Results
The algorithm was coded in C++ and run on an Intel Core i7-4790, 3.60 GHz with 16 GB
of RAM. In this section, we describe first the instances used, then the lower bounds
developed to assess the performance of the algorithm, and finally the results obtained.
5.1. Description of the Datasets
We have two sets of test instances, with different characteristics. They are real instances
derived from the everyday transportation activity of a large distribution company. The
instances have been provided to us by ORTEC [43], a company that develops planning
and optimization solutions and services for logistics companies.
(i) Set I, Comprising 77 Instances. The orders correspond to three upcoming days. Only
stock pallets and case pallets are considered, because the demand for the products is
always given as an integer number of layers. Each product has a stackability
identification, ranging from 1 to 4. All the instances use one type of pallet, the ISO pallet
(1016 mm, 1209 mm), and one type of truck, with two axles.
(ii) Set II, Comprising 111 Instances. The orders correspond to only one day. Only case
pallets are considered. There are no stackability identifications and therefore any pallet
(layer) can be put on top of any other pallet (layer). The dimensions of the pallets and
trucks vary among the instances, but each instance uses one type of pallet and one type of
truck, with two axles.
5.2. Lower Bound
We can calculate some simple lower bounds on the number of trucks required for each
instance, according to the weight, the volume, and the number of positions in a truck. The
bound based on the weight is the sum of the weights of all the required products divided
by the weight capacity of the truck. The bound based on the volume is calculated in the
same way, using the volume of the products. If we define the maximum number of
positions in a truck, , that is, the maximum number of pallets that can be put along the
length of the truck multiplied by 4 (two rows, two levels), then the bound based on the
number of positions is calculated by dividing the sum of the heights of the layers by the
truck height and by the number of positions in a truck. The maximum of these three
bounds, , given by (2), is a valid lower bound on the number of trucks required for each
instance:
5.3. Computational Results
Table 1 shows the results of the constructive deterministic algorithm. For each set of
instances, the table contains the sum of the lower bounds on the required trucks, the total
number of trucks used, the total number of pallets built, and the average running time per
instance in seconds. The sum of the lower bounds for the instances in Set I is 511 and for
the instances in Set II it is 1113. Therefore, the sum of the solutions exceeds the sum of
the lower bounds by 70 trucks for Set I and by 81 trucks for Set II, less than one truck per
instance on average. Table 2 shows the distribution of the distance from the solution to
the lower bound for each instance.
Table 1: Results of the deterministic constructive algorithm.
Table 2: Distance to the bound of the solutions of the deterministic constructive
algorithm.
The distances observed in Table 2 are due to two factors. On the one hand, the lower
bound does not take into account some of the characteristics of the problem, such as the
structure of the demand by days, the stackability conditions, and the limits on the weight
supported by the axles. On the other hand, the constructive algorithm uses a simple
criterion, based on the product density, to select the layers composing the pallets. For
instances with heavy products, this criterion may produce a solution in which the first
truck is closed because some limit on the weight is reached, but there is plenty of unused
space, while in other later trucks the weight limits are not reached but the trucks are
closed because all the positions are used. The randomization of the constructive
algorithm and the improvement moves have been designed to correct these undesirable
situations.
In Table 3, we can see the results of the randomized constructive algorithm, with a
stopping criterion of 1500 iterations. The algorithm has also been run for larger numbers
of iterations (3000, 5000), but the improvements are small and they are not worth the
increase in running times.
Table 3: Results of the randomized constructive algorithm.
For Set I, we observe an overall reduction of 19 trucks. The reduction is smaller for Set
II, only 8 trucks. Table 4 completes the comparison between the deterministic and the
randomized versions of the constructive algorithm. As well as the distances to the bounds
for the two algorithms, the last column shows the number of pallets in the last truck for
the instances in which both algorithms obtain the same number of trucks. As stated in
Section 3.3, for solutions with the same number of trucks, a solution with fewer pallets in
the last truck is preferable, because it has more empty space for accommodating last-
minute orders. If the number of pallets in the last truck is very low, the planner may
decide to use a smaller vehicle or even not to send it and wait for future orders to fill the
truck. Table 4 shows that the overall reduction is 259 pallets for the instances in Set I and
209 pallets for the instances in Set II.
Table 4: Distance to the bound of the solutions of the randomized constructive algorithm.
The results obtained by the GRASP algorithm, when the improvement phase described in
Section 4.3 is added to the randomized constructive algorithm, are shown in Table 5. It
can be observed that the improvement moves are not able to reduce the number of trucks
required. Nevertheless, there is a reduction in the number of pallets in the last truck,
much more significant in Set I (257 pallets) than in Set II (10 pallets). As
Table 4 showed, the numbers of trucks obtained by the randomized constructive
algorithm are close to the values of the lower bounds, leaving little room for
improvement, but reducing the number of pallets in the last truck is also of interest in the
daily operation of the company.
Table 5: Results of the GRASP algorithm.
6. Conclusions
The combined problem of putting products onto pallets and loading the pallets into trucks
has received less attention in the literature than the standard Container Loading Problem,
but it is a real problem faced by many distribution companies in their daily operations. In
this study, we have taken the characteristics of the problem of a large logistics company
as a reference, but it is common to many other companies. All the constraints defining the
problem, especially those related to weight limits and weight distribution inside the
trucks, have been considered.
Our approach has been to tackle the problem as a whole, without decomposing it into two
different phases for pallet building and truck loading. The pallets are built taking into
account the characteristics of the positions in which they will be loaded in the truck:
horizontal dimensions, height, and weight, looking for maximum utilization of the trucks.
As the problem has many specific constraints, we have developed a constructive
algorithm tailored to the problem which provides quite good solutions in very short
computing times. Nevertheless, as a simple constructive procedure is unable to obtain
high-quality solutions for all the instances, we have developed a complete GRASP
algorithm, including a randomization strategy for the constructive process and some
improvement moves.
The results obtained by the GRASP algorithm have been compared with those obtained
by some simple lower bounds on two sets of real instances involving up to 44 trucks. For
more than 90% of the instances, the number of trucks obtained by the GRASP algorithm
was the same as or included just one more truck than the lower bound. This indicates that
the GRASP algorithm produces solutions that are optimal or very near to optimality for
most of the instances considered in the study, with different characteristics.
In our future work, we plan to extend this study to other distribution companies, to assess
the suitability of the proposed algorithm for other related problems, possibly with some
other specific constraints. Another interesting line of research would be to extend our
algorithm to problems involving pallets and trucks of different types.