Mathematical Problems in Engineering

Volume 2016 (2016), Article ID 3264214, 11 pages

http://dx.doi.org/10.1155/2016/3264214

## Algorithms for Pallet Building and Truck Loading in an Interdepot Transportation Problem

^{1}Department of Mathematics, University of Castilla-La Mancha, Avenida de España, 02071 Albacete, Spain^{2}Department of Statistics and Operations Research, University of Valencia, Doctor Moliner 50, Burjassot, 46100 Valencia, Spain

Received 15 December 2015; Accepted 15 March 2016

Academic Editor: Paolo Maria Mariano

Copyright © 2016 Maria Teresa Alonso et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

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].

#### 3. Description of the Problem

The problem begins when a depot sends a set of orders for the upcoming days . For each day , the order consists of a list of products , , with their required number of items for this day, . The products have to be served that day, or before, but not later. Each product is defined by its dimensions , its weight , and its possible rotations , where if the dimension of the product can be upward.

All the products have a predefined placement in layers. A layer is an arrangement of items of the same product in rows and columns, forming a rectangle defined by its dimensions , its weight , and the number of items in the layer . The composition of the layers is previously determined by the company. For each type of product, the company has defined the items by row and by column, their orientation, and their placement. A layer covers the pallet base in horizontal directions, guaranteeing sufficient support for other layers that can be placed on top of it to make up the pallet.

The quantity of layers per product and day is , whereas the total quantity of layers of a product is . The demand for each type of product is a number of layers. If there are some remaining items of a product not included in a layer, these items will form a special pallet.

The loading problem consists of two interrelated phases:(i)*Pallet Building Phase*. All layers have to be placed on pallets.(ii)*Truck Loading Phase*. All pallets have to placed in one of the trucks.

##### 3.1. Pallet Building

In this phase, we have to place the layers on pallets. A pallet has a base, made of wood, metal, or plastic, with dimensions and weight , and it can be rotated horizontally. A pallet provides a loading space above its base. Typically, the space in horizontal directions is limited by the horizontal dimensions 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, so that two pallets can be placed one on top of the other.

A pallet is thus composed of a flat base and a set of layers placed one on top of the other. Two types of pallets can be built,* stock pallets*, where all the layers are of the same product, and* case pallets*, formed by layers of different products. The company wants to make as many stock pallets as possible. Only when not all the layers of a product fit onto stock pallets are the remaining layers used to form case pallets. A third type of pallet, the* rest pallet*, appears when the demand for some product, , is not a multiple of and there are some remaining items not included in any layer. All these remaining items are put together on one or more rest pallets.

Apart from pallet composition, other constraints should be considered in this phase.

*(i) Orientation Constraint*. Layers can be rotated, but all placements must be parallel to the sides of the pallet.

*(ii) Support Constraint*. A certain minimum percentage of a layer, 75% to be precise, must be supported by the pallet base or by the layer on which it rests.

*(iii) Priority Constraint*. A pallet can contain only items of orders for the same day.

*(iv) Stackability Constraint*. The number of layers that can be stacked is limited to avoid product damage. It depends on their weight, with lighter layers being placed on top of heavier ones, and on the fragility of the products. For each type of product, the maximum number of layers that can be stacked, , is defined by the company, and the stock pallets are composed of this number of layers. However, when we build case pallets, with different types of layers in the same pallet, we have to take their stackability into account. Each product belongs to a stackability group which is identified by a value , linked to the density of the product, with the densest products having an identification of 1 and the least dense having the maximum value . One layer can be placed on top of another if the product in the layer below has a stackability identification smaller than or equal to that of the product in the layer above.

##### 3.2. Truck Loading

Once the pallets are prepared, they have to be placed in the trucks. We have a set of trucks , all of the same type, with two axles and with unlimited availability. More precisely, for each truck, we know its dimensions and the maximum weight, or* weight capacity *, that it is allowed to load. Moreover, there are restrictions on the maximum weights the axles can support. The truck has two axles which carry the load, with the front axle at position and the rear axle at position , where and are measured from the front of the loading space of the truck. Figure 1 shows a truck with its dimensions and axle distances.