Next Article in Journal
Intuitionistic Fuzzy Deep Neural Network
Next Article in Special Issue
The Set Covering and Other Problems: An Empiric Complexity Analysis Using the Minimum Ellipsoidal Width
Previous Article in Journal
Numerical Investigation of Internal Flow Properties around Horizontal Layered Trees by Using the Reynolds Stress Model
Previous Article in Special Issue
Experimental Study of Excessive Local Refinement Reduction Techniques for Global Optimization DIRECT-Type Algorithms
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Matheuristic Approach to the Integration of Three-Dimensional Bin Packing Problem and Vehicle Routing Problem with Simultaneous Delivery and Pickup

1
University of Aveiro, GOVCOPP, Systems for Decision Support Research Group, Campus Universitário de Santiago, 3810-193 Aveiro, Portugal
2
University of Coimbra, CEMMPRE, Department of Mechanical Engineering, 3000-370 Coimbra, Portugal
3
University of Minho, Centro ALGORITMI, Campus de Gualtar, 4710-057 Braga, Portugal
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(3), 713; https://doi.org/10.3390/math11030713
Submission received: 30 December 2022 / Revised: 23 January 2023 / Accepted: 27 January 2023 / Published: 31 January 2023
(This article belongs to the Special Issue Operations Research and Optimization)

Abstract

:
This work presents a hybrid approach to solve a distribution problem of a Portuguese company in the automotive industry. The objective is to determine the minimum cost for daily distribution operations, such as collecting and delivering goods to multiple suppliers. Additional constraints are explicitly considered, such as time windows and loading constraints due to the limited capacity of the fleet in terms of weight and volume. An exhaustive review of the state of the art was conducted, presenting different typology schemes from the literature for the pickup and delivery problems in the distribution field. Two mathematical models were integrated within a matheuristic approach. One model reflects the combination of the Vehicle Routing Problem with Simultaneous Delivery and Pickup with the Capacitated Vehicle Routing Problem with Time Windows. The second one aims to pack all the items to be delivered onto the pallets, reflecting a three-dimensional single bin size Bin Packing Problem. Both formulations proposed—a commodity-flow model and a formulation of the Three-Dimensional Packing Problem must be solved within the matheuristic. All the approaches were tested using real instances from data provided by the company. Additional computational experiments using benchmark instances were also performed.

1. Introduction

1.1. Pickup and Delivery Problems

The pickup and delivery problem is commonly faced in real-world logistics operations. Accordingly, the number of contributions in this area has been increasing in the literature. Due to the extensive number of approaches and denominations in this field, in [1] suggested a comprehensive classification for the static pickup and delivery problems. The static denomination is due to the fact that all information about the problem is deterministic and known beforehand. In this classification, the scheme [ x | y | z ] is used, where the x field defines the relation between the origins and the destinations:
many-to-many (M-M):
      if any customer or the depot can be the origin or the destination of goods;
one-to-many-to-one (1-M-1):
 if the source of delivered goods and the destination of picked goods is only the depot;
(one-to-one (1-1):
      if each good has to be transported from a single origin to a single destination.
The y field defines how the loading operations must be performed. If one customer is visited exactly once and loading and unloading operations must be performed simultaneously, the authors used the denomination “PD”. On the contrary, if this requirement does not apply, these operations can be combined or not (“P-D”). If it is only possible to deliver or collect at each customer, then the notation “P/D” is used instead. In the y field, problems with trans-shipments are defined by associating the letter “T”. The last field of this classification scheme, z, corresponds to the number of used vehicles. For the cases in which it is impossible to represent a field, the authors use the notation “-”. As in vehicle routing problems, in some pickup and delivery contexts, the information is dynamic, meaning that it is not known in advance or it is updated when performing the routes. These problems are known as dynamic pickup and delivery problems. A comprehensive survey on these problems is presented in [2].
Another comprehensive classification is proposed in [3,4]. According to these authors, the general pickup and delivery problems can be divided into two classes. In the first class, the goods are delivered or collected to/from one or more depots. These problems are usually named as Vehicle Routing Problems with Backhauls. On the other hand, in the second class, there is a flow of items from pickup customers to delivery customers. Problems belonging to this second class are usually known as Vehicle Routing Problems with Pickups and Deliveries (VRPPD).

1.2. Pickup and Delivery Problems with Loading

Other routing problems deal with different packing constraints when compared with those presented for the CVRPTW with loading constraints [5,6,7]. In some of those problems, routing aspects are similar but the vehicle is replaced by a ship or the cargo is palletized and, consequently, the pallets are items to be loaded in the vehicles. In other situations, items may not be in contact and thus they cannot be transported in the same compartment or even in the same vehicle. However, other problems must combine loading constraints with pickup and delivery.
Palletized items arise in many situations, such as the distribution of chip-boards. It is considered that the demand of each customer is composed of different types of chip-boards. The chip-boards of the same type for the same customer are jointly palletized, performing an item. The items are delivered to customers using a fleet usually composed of the same type of vehicles, each divided into a given number of piles (stacks). However, long chip-boards may occupy more than one pile, and thus different chip-board types may require a different number of occupied piles. Additionally, sequential constraints are imposed. Consequently, it is clear that some holes may arise in the layout, which may cause load instability. In these cases, such holes may be filled by bulk material, and thus supporting constraints can be ignored.
The described problem is denominated by the One Vehicle Loading Problem (1-VLP). The first work addressing the 1-VLP is presented in [8]. The authors proposed a tabu search and an ant colony optimization algorithm. A variable neighborhood search approach that provided an upper bound and possible valid cuts for a branch-and-cut algorithm is proposed in [9]. Both works referred to above were tested in real instances by an Austrian timber distribution company.
Another problem considering palletized items is presented in [10]. The demand of each customer is composed of three-dimensional items previously assigned to a given pallet. It is considered that one pallet is sufficient to carry the total demand of a given customer. The pallets are then loaded into the vehicle. As stated by the authors, this problem corresponds to solving, for each customer, an instance of CVRPTW with three-dimensional loading with supporting constraints and variable orientation of items. Sequential constraints are not considered since the vehicle driver can reach the pallets.
Some routing problems deal with situations in which it is common to transport goods that are incompatible in the sense that they may not share the same space in the vehicle. In such cases, items may be transported in the same vehicle but in different compartments. The corresponding problem is known as the Multi-Compartment Vehicle Routing Problem (MC-VRP). The main difference between MC-VRP and the 1-VLP referred to above is that items belonging to different compartments are not in contact, while in the 1-VLP one item may occupy more than a single pile. This feature may be suitable for transporting conflicting or strongly heterogeneous items within the same vehicle. Some real applications for this problem can be found in the fuel distribution, when a single vehicle transports different types of petrol products [11,12,13,14]. Additionally, legal requirements must impose that items must be transported in different compartments. One example of this situation is the transportation of provisions to farms where, despite the separation in different compartments, the food for a given specie must be loaded in the same compartment in future transportation, as referred to in [15].
Other situations arise when items need different transport conditions, as it happens when serving convenience stores with dry, refrigerated, and frozen items within the same vehicle [16]. A similar problem is proposed in [17]. However, items may not be transported within the same vehicle and thus multiple trips must be performed. The authors denominated this problem as minimum multiple trip vehicle routing problem. Time windows for different type of items are also considered.
In other situations, it is necessary to ensure the transportation from pickup vertices to delivery vertices. For instance, the Pickup and Delivery Traveling Salesman Problem with Loading constraints (PDTSPL) considers the assumption that pickups and deliveries are performed according to a LIFO or a FIFO policy. Since only one dimension is considered, the vehicle can be seen as a single stack with items placed on its top. Consequently, LIFO constraints are only satisfied if, when serving one customer, the item for this customer can be unloaded in a straight movement, i.e., no items are between the item to be unloaded and the rear side of the vehicle. On the other hand, FIFO constraints impose that items are unloaded by the sequence in which they were loaded.
Some works extended the PDTSPL with LIFO constraints to the case where two routes are considered: one to collect items from pickup customers and another to deliver them to delivery customers. Additionally, items are placed on multiple stacks. These problems are known as Double Traveling Salesman with Multiple Stacks (DTSMS). A survey of PDTSL and DTSMS can be found in [18].
Pickup and delivery problems considering two- or three-dimensional items have received increasing attention in the literature. Considering the two-dimensional case, a constraint programming model approach is suggested in [19] considering transportation between nodes in the same graph. Considering the transportation from and to the depot, an insertion heuristic for the mixed linehauls and backhauls is addressed in [20] where LIFO constraints are explicitly addressed. In [21], three different variable neighborhood search (VNS)-based algorithms are designed, showing that general and skewed variants of VNS can lead to good solutions in a reasonable amount of time. In [22], three-dimensional items are considered within a local search method. The three-dimensional case is addressed in [23], addressing clustered backhauls, which assumes that backhaul customers can only be visited after serving the linehaul ones within the same route.
This paper addresses a real pickup and delivery problem arising in a Portuguese automotive company. The problem involves a set of practical considerations that have received little attention in the vehicle routing literature. These considerations are related to the optimization of the cargo that must be delivered and collected.
The first problem addressed in this work is an extension of Capacitated Vehicle Routing Problem with Time Windows (CVRPTW) where each node of the graph is associated with two quantities representing the commodities to be delivered and collected, called Vehicle Routing Problem with Simultaneous Delivery and Pickup and Time Windows (VRPSDPTW). Additionally, we address a second problem to minimize the number of pallets needed for each supplier. According to the Wäscher et al. [24] typology, it corresponds to a three-dimensional single bin size Bin Packing Problem, hereafter called 3D-BPP. It is worth noting that the contribution of the 3D-BPP approach in this scenario is twofold since it can also be applied while loading pallets into the vehicles aiming to maximize vehicle usage.
This paper is organized as follows. In Section 2, the real case study is presented, and all the operational constraints are stated. In Section 3, two mixed integer programming model formulations for two different combinatorial optimization problems are presented and explained in detail. The way these two different models are integrated using a hybrid approach is given in Section 4 while the results from computational experiments are described in Section 5. Finally, some conclusions are drawn in Section 6.

2. Problem Description

The problem tackled in this work is a real problem of a Portuguese automotive production company belonging to an international corporation. The vast majority of the supplied components (roughly 86%) come from Southeast Asia in the form of Complete Knock Down (CKD) kits which are stored in a specific part of the warehouse. A set of subcontracted automotive suppliers provides the remaining amount of supplied components. However, a subgroup of parts from the CKD kits is not directly incorporated into the vehicle. These parts are transported and assembled at a subset of the subcontracted suppliers referred to above and then introduced in the production process at the company. Therefore, for a small group of suppliers, the flow of components is conducted in both directions.
It is assumed that the company uses its homogeneous fleet to ensure the distribution and collection process between the company and its suppliers. Each vehicle leaves the company with components to the suppliers, arriving within a given time window. This happens since the company has a predefined time to make all deliveries and collections. The vehicle must remain at the supplier during a given service time needed both to unload the demands and to collect the subcontracted components to carry them back to the company (hereafter, also known as a depot).
The demand at each supplier is composed of a set of boxes, and all the cargo must be palletized. Then it is necessary to pack all the boxes on pallets aiming to maximize the volume utilization of each one. This process leads to a minimum number of pallets used. Considering that each supplier has a given demand and could receive more than one pallet, the main objective is to minimize the number of needed pallets for each supplier.
The amount of delivered and collected cargo varies according to the supplier since subcontracted components are not uniform. However, the load to be picked up has a smaller volume than (or at least equal to) the delivered cargo. As stated above, all the load is palletized, but it is possible to pile more than one pallet if the height of the pallets allows it. Additionally, some operational constraints related to routing and packing must be satisfied. Some of those constraints, namely the time windows and the items to be collected or delivered, directly impact the suppliers visiting sequence. The constraints can be grouped into two sets:
  • G 1 : Routing constraints: time windows constraints, delivered, and picked-up demands, capacity constraints in terms of weight/number of pallets);
  • G 2 : Loading constraints (capacity constraints in terms of volume; box orientation constraints—for each box, a single dimension is allowed to act as the height of the box; positioning constraints—all the cargo must be completely inside the pallet, and each box should not be overlapped.
The global objective is to determine the set of routes that minimizes the costs of the distribution and collection operations of the components while satisfying all the demanded/supplied quantities at each entity and all the operational constraints. Hereafter, customers and suppliers will be referred to indistinctly to be able to use terminology in the context of routing problems.

3. Mixed-Integer Programming Models

Two mixed-integer programming models are proposed to be used in a complementary way by the hybrid algorithm. The first one formulates the VRPSDPTW, which minimizes the total distance traveled. The second model is a formulation for the 3D-BPP, which minimizes the number of pallets needed for each supplier. The VRPSDPTW and the 3D-BPP are NP-hard in the strong sense. This fact and the necessity to solve real-world instances have pushed researchers to develop heuristic algorithms. In contrast, and mainly in the packing problems, exact algorithms have received little attention in the literature. When this problem deals with a small number of suppliers and cargo, these two problems could be solved using its mathematical formulations. The VRPSDPTW model developed in Section 3.1 is a two-index commodity-flow formulation. The 3D-BPP model defines the loading pattern of the boxes onto pallets that will be loaded in the vehicle. Those two formulations are based on [25,26].

3.1. A Two-Index Commodity-Flow Model for the VRPSDPTW

This formulation describes the motion of the vehicle and filling level in the road network and determines the amount of the loads that flow along an arc.
The VRPSDPTW can be defined in a directed graph G = ( C , A ) where the set of nodes C = { 1 , , | C | } represents the depot (“1”) and the set of geographically dispersed suppliers, and A = { ( i , j ) : i , j C , i j } corresponds to the set of arcs in G. The length of each arc d i j with ( i , j ) A corresponds to the distance between nodes i and j. Each supplier i C { 1 } has a set of boxes ( d i ) that must be delivered and a set of boxes that must be picked up ( p i ) from/to the depot using a homogeneous fleet V = { 1 , , N V } with a maximum weight capacity Q. Each supplier has an associated service time s t i to perform the loading and unloading operations and a given time window [ a i , b i ] , in which the vehicle must arrive. The depot also has a time window [ a 1 , b 1 ] that will define the starting and the maximum time available for the distribution and collection process.
This model considers two-index binary decision variables x i j taking value 1 if the arc ( i , j ) A is traversed by a vehicle, and 0 otherwise. To ensure time constraints, the set of decision variables s i represents the arrival instant of time at each node i C . These variables are commonly used in vehicle routing models. However, and since this model considers simultaneous deliveries and pickups, new continuous variables are employed to represent the amount of load (to deliver or to collect) that flows along each arc, as follows:
  • α i j : the amount of delivery load carried along an arc ( i , j ) A ;
  • μ i j : the amount of picked up load carried along an arc ( i , j ) A .
The objective function corresponds to the minimization of the total distance traveled (Equation (1)):
min i = 1 | C | j = 1 | C | d i j × x i j
subject to:
i = 1 , i j | C | x i j = 1 , j 1 C
j = 1 , i j | C | x i j = 1 , i 1 C
i = 1 | C | x 1 i = N V
s i + s t i + d i j s j + M × ( 1 x i j ) , i , j C
a i s i b i , i C
i = 1 , i j | C | α i j i = 1 , i j | C | α j i = d j , j 1 C
i = 1 , i j | C | μ j i i = 1 , i j | C | μ i j = d j , j 1 C
α i j + μ i j M 1 × x i j , i , j : j i C
0 α i j Q , i , j : j i C
0 μ i j Q , i , j : j i C
i = 1 | C | α i j d j , j 1 C
j = 1 | C | μ i j p i , i 1 C
x i j { 0 , 1 } , ( i , j ) A ;
s i 0 , i C ;
μ i j 0 , ( i , j ) A , i 1 ;
α i j 0 , ( i , j ) A , j 1 ;
Constraints (2) and (3) ensure that each supplier is visited exactly once by a vehicle, and (4) states that no more routes than the number of available vehicles are created. Inequalities (5) and (6) are related to the time windows constraints (M is a very large number).
The first establishes the relation between arrival times at clients i and j when the arc ( i , j ) is used, and the second guarantees that the vehicle arrives within the related time window. Additionally, (5) forces a specific order for suppliers visiting within the routes, which ensures that no sub-tours are generated without the depot. Constraints (7) and (8) are the balance equations to satisfy the delivery and the pickup demands of a customer, respectively. The consideration of those equations also eliminates sub-tours occurrences. Constraints (9)–(11) ensure that the capacity of the vehicle is not exceeded and the “big-M value” of the disjunctive constraint (9) is set to M 1 = Q . Constraints (12) and (13) are bounds of the total quantities of boxes entering and leaving a supplier’s location. The consideration of these two constraints improves the solving process. The last Constraints (14)–(17) define the domain of the decision variables.

3.2. A 3D-BPP Model

This model is used to pack all the boxes for each customer on pallets before the vehicle leaves the depot. Therefore, and for each customer, there is a set of boxes for each customer ( B = { 1 , , | B | } ), where each box is characterized by its original length, width, and height dimensions L b x b , W b x b , H b x b with b B , and allowed orientations for the height dimension, i.e., on the axis perpendicular to the base of the pallet ( O z L b , O z W b , O z H b ). Several standard pallets are available: let V be the set of all pallets V = { 1 , , | V | } and each one is also characterized by their physical dimensions X v k , Y v k , Z v k . A cost assigned to the use of each pallet C k is also considered. To pack all the available boxes and identify their final positioning on the pallets, several variables are defined as follows:
  • D k is a binary variable that indicates if pallet k is used or not.
  • β k b is a binary variable that indicates if box b is on pallet k or not.
  • Three integer variables X X b , Y Y b , Z Z b give the pallet us dimensions.
  • Three variables related to the centroid of gravity center coordinates of each box x b , y b , z b .
  • The set of variables, X b x b , Y b x b , Z b x b is related to the chosen dimension of each box to be placed on x , y , z -axis of the pallet.
  • For each axis x , y and z there is also a set of binary variables that allow for the rotation of each box: b x L b , b x W b , b x H b ; b y L b , b y W b , b y H b ; b z L b , b z W b , b z H b , respectively.
  • For the non-overlapping constraints and each axis, there are several binary variables: P b l , Q b l for x-dimension; R b l , S b l for y-dimension; and T b l , U b l for z-dimension.
  • The last binary variable, G b l guarantees that the boxes b and l are loaded onto the same pallet.
The objective is to load all the boxes of each supplier onto a minimum number of pallets, aiming to minimize the number of vehicles used. Therefore, the objective function of the 3D-BPP is defined as the minimization of the number of pallets needed to pack all the demands of each supplier (or the costs associated with the use of pallets) as follows in (18):
min k = 1 | V | C k × D k
Subject to:
x b X b x b 2 y b Y b x b 2 z b Z b x b 2 ; b B
x b X X b X b x b 2 y b Y Y b Y b x b 2 z b Z Z b Z b x b 2 ; b B
X X b = k = 1 v X v k × β k b Y Y b = k = 1 v Y v k × β k b Z Z b = k = 1 v Z v k × β k b ; b B
k = 1 v β k b = 1 ; b B
b = 1 | B | β k b b x × D k ; k V
b = 1 | B | ( L b x b × W b x b × H b x b ) β k b ( X v k × Y v k × Z v k ) D k ; k V
This first set of constraints is related to the positioning and volume constraints. To simplify the positioning of each box on a pallet, each box is characterized by its centroid of gravity center given by its x, y, and z coordinates. Constraints (19)–(21) combined with Constraints (22) guarantee that each box is positioned on a single pallet. Constraints (23) defines whether the pallet is used or not, and constraints (24) is used to prevent over-packing attempts.
x b + x l 2 ( x b x l ) + M x × ( P b l + Q b l ) x b + x l 2 ( x b x l ) + M x × ( P b l + Q b l + 1 ) ; b , l : l > b B
y b + y l 2 ( y b y l ) + M y × ( R b l + S b l ) y b + y l 2 ( y b y l ) + M y × ( R b l + S b l + 1 ) ; b , l : l > b B
z b + z l 2 ( z b z l ) + M z × ( T b l + U b l ) z b + z l 2 ( z b z l ) + M z × ( T b l + U b l + 1 ) ; b , l : l > b B
P b l + R b l + T b l 3 ; b , l : l > b B
β b k β k l G b l + 1 ; b , l : l > b B
Non-overlapping constraints are used to prevent that different boxes from occupying the same physical location on a pallet (from constraints (25) to (29)). Non-overlapping is guaranteed if at least one of sets of the Big-M constraints (25), (26), or (27) is active. M x , M y , and M z are adequate upper bounds computed according to the dimensions of the box set.
X b x b = b x L b × L b x b + b x W b × W b x b + b x H b × H b x b b x L b + b x W b + b x H b = 1 ;   b B
Y b x b = b y L b × L b x b + b y W b × W b x b + b z H b × H b x b b y L b + b y W b + b y H b = 1 ;   b B
Z b x b = b z L b × L b x b + b z W b × W b x b + b z H b × H b x b O z L b × b z L b + O z W b × b z W b + O z H b × b z H b = 1 ;   b B
b x L b + b y L b + b z L b = 1 b x W b + b y W b + b z W b = 1 ; b x H b + b y H b + b z H b = 1   b B
Each box is characterized by its length, width, and height dimensions. To guarantee the boxes’ height orientation constraints and maximize the freeloading space, when a box is loaded onto a pallet, each of these dimensions must be assigned to a given axis  x , y , and z. Because of the orientation constraint in height, the second equation of the set of Constraints (32) considers the permitted dimension(s) to be placed along the z-axis. Once this dimension is chosen, the other two dimensions could be placed along the x and y-axis, only bearing in mind the best position to maximize the free space.
x l X X l 2 + M x x b = 1 l 1 G b l y l Y Y l 2 + M y y b = 1 l 1 G b l z l Z Z l 2 + M z z b = 1 l 1 G b l   l B
Due to the geometry of the three-dimensional packing problems, several symmetrical loading patterns may lead to multiple optimal solutions to the same problem, increasing the CPU time. As in [27], some symmetry-breaking constraints (34) are used to avoid the problem symmetry. The “Big-M values” ( M x x , M y y , and M z z ) are upper bounds computed according to the pallet us dimensions in the x , y , and z-axis.

4. The Hybrid Approach for the VRPSDPTW

Both the VRPSDPTW and the 3D-BPP are NP-Hard optimization problems. This complexity can prevent achieving exact solutions in an acceptable time for large-scale instances. Therefore, we resort to hybrid strategies that use the proposed and innovative models with the fast solutions obtained by a GRASP algorithm within a matheuristic approach.
The general architecture of this Hybrid approach is summarized in the procedure presented in Algorithm 1. The first step is the palletization process, packing the demand of each customer. For each set of boxes of each customer, an instance of 3D-BPP is solved. After this process, the demand of each customer is not composed of a set of boxes but a set of pallets instead. Then a constructive phase is performed through a Greedy Randomized Algorithm (Algorithm 2) followed by the local search phase resorting to a local search procedure (Algorithm 3). This strategy encourages the search to examine unvisited regions of the solution space or generate solutions that significantly differ from those previously visited.
Algorithm 1: Hybrid Algorithm.
Mathematics 11 00713 i001
Algorithm 2: GreedyRandomizedConstruction.
Mathematics 11 00713 i002
Algorithm 3: Local search procedure.
Mathematics 11 00713 i003
More precisely, and as shown in Algorithm 2, the set of customers (C) is sorted according to the increasing order of distance to the depot through the process S o r t i n g C u s t o m e r s ( C ) giving rise to the list C o . Hence, clusters of customers will be built, ensuring that the sum of the demand of customers (pallets) in each cluster does not exceed the capacity of the vehicle (in terms of the total volume of the pallets). This issue is important to avoid infeasible solutions in terms of packing. However, as it will be seen, it is not sufficient to guarantee a feasible solution. It is important to remark that one customer should be assigned to exactly one vehicle. This clustering process is a part of the constructive phase of the GRASP approach and uses a restricted candidate list (RCL). The elements of RCL will be randomly selected from the list C o using a threshold β as follows:
β = d m a x α × ( d m a x d m i n ) ,
where
  • d m a x is the distance from the depot to the furthest customer;
  • d m i n is the distance from the depot to the closest customer;
  • α is a parameter varying in the range [ 0 , 1 ] .
Consequently, the RCL will have a different size according to the value of α . The size of RCL will resort to the size of C if α = 0 , i.e., all customers will be included in RCL. Conversely, if α = 1 , the RCL will have only one element: the customer closest to the depot. Since clusters are built by randomly selecting customers from the RCL ( B u i l d C l u s t e r ( R C L ) ), the use of Equation (35) will provide randomness to the clustering process. For instance, and taking into account only the extreme points of the range, the process is completely random if α = 0 and totally greedy in the conversely ( a l p h a = 1 ). Subsequently, for each cluster c l , a route is obtained using the commodity-flow model presented in Section 3 ( C o m m o d i t y F l o w M o d e l ( c l ) ; ), ensuring constraints of type G 1 . Immediately after, the feasibility in terms of packing is verified to ensure the constraints of type G 2 ( 3 D B P P M o d e l ( P , s ) ). This means that a feasible three-dimensional packing into one vehicle must be obtained for this cluster, and the related cargo is loaded into the vehicle, using the 3D-BPP model using the maximization of the vehicles’ volume usage as the objective function.
Regardless of the clusters being built while ensuring the capacity of the vehicle in terms of the number of pallets, it is not ensured that the 3D-BPP model always returns a feasible solution. These situations arise due to the geometry and volume of the pallets, which can prevent a given constraint of the group G 2 can be satisfied. Consequently, in such cases, the construction of the cluster is aborted, the customers are reassigned to the list C, new clusters are built, and the whole procedure is repeated. The algorithm stops when each customer is assigned to a given route and all clusters are feasible, i.e., satisfying all the constraints G 1 and G 2 .
Therefore, the output of Algorithm 2 provides a feasible solution for the main problem, composed of a set of clusters of customers. Nevertheless, even if an optimal solution is achieved for each cluster, it is not possible to ensure that it is an optimal global solution for the problem, as it relies on partitioning the set of customers into different sets. Several different partitions can lead to significantly distinct solutions. As referred to above, and aiming to achieve improved solutions, a local search is applied immediately after using the obtained output of Algorithm 2 as input of the Algorithm 3.
Firstly, the algorithm randomly selects two clusters from the set C l . For each pair, a given number of swaps is performed among two customers, each one from each cluster. The swap consists of exchanging a pair of customers from different clusters. The number of allowed swaps is equal to the number of customers in the smallest selected cluster, which gives several combinations of different clusters. Secondly, the commodity-flow model is applied to the resulting pairs of clusters, and the overall solution is assessed C o m m o d i t y f l o w M o d e l ( c l ) . If this swap leads to any reduction in the objective function while satisfying the capacity of the vehicle, the feasibility of terms of loading (constraints of type G 2 ) of both clusters is assessed using the 3D-BPP model proposed in Section 3. This model must be applied to load all the pallets of the related customers in each vehicle, with a different objective function: maximize the volume utilization. If a feasible packing is obtained for both clusters, then the solution is stored, considering the new clusters. On the contrary, if the swap procedure does not lead to any saving, or if there is an infeasible packing for at least one cluster, the swap is discarded. This overall procedure is repeated until a given stop criteria is met. Therefore, the best solution in a set of solutions S is returned if it corresponds to an improvement of the initial solution.

5. Computational Results

The global objective is to solve and optimize an operational distribution problem, including routing and packing issues, in a real-world scenario arising in this company. However, to evaluate the quality of the proposed approach, two different sets of computational experiments were conducted: one for real instances and another for benchmark instances. Real problem instances relied on data provided by the company. They were used to test not only the hybrid approach but also the mathematical models separately, as presented in Section 5.1. However, the set of suppliers of the company is relatively small, and the weight and volume of the boxes in each route are always smaller than the capacity of the vehicle. To test the efficiency of the presented approach and mathematical models in more challenging and large-size problem instances, computational experiments were conducted on some VRPSDPTW and 3D-BPP benchmark instances as shown in Section 5.2. The hybrid approach was implemented in C++, and the mathematical models were solved using the CPLEX solver. All the experiments were run on a desktop computer with Intel Core i7 vPro CPU at 2.2 GHz and 8-GB RAM. After preliminary experiments, α was experimentally set to 0.8 .

5.1. Results for Real Instances of the VRPSDPTW and 3D-BPP (Routing and Loading)

According to the nature of the real data given by the company, two types of instances were created for 10 suppliers and one vehicle: one with a symmetric travel time matrix and another one with an asymmetric matrix. For each supplier, a given time window is provided (from 0 to 12 h) and the collected and delivered quantities are known (from 0 to 4 pallets). The collected quantities are always smaller than or equal to the delivered quantities. Those instances vary from 3 to 10 suppliers. The demand of each supplier varies from 1 to 4 different types of boxes and the average number of boxes for each supplier is 100. The pallets have standard dimensions (120 cm × 80 cm), and the maximum height of a pallet can vary between 80, 120, or 180 cm depending on the requirements of the logistics suppliers or on the product types. Six instances for the overall problem were solved using the commodity-flow model and the 3D-BPP model, for the symmetric and asymmetric instances, giving rise to twelve instances. Table 1 and Table 2 present the obtained results in terms of CPU time in seconds (CPU), the total travel time in hours (Travel Time), the number of pallets (No. Pallets), and the optimality gap in percentage (Gap). Note that the CPU time for the 3D-BPP is defined in seconds for each instance.
An optimal solution was always found for the whole set of real instances for each mathematical model. The computational time for each of the models is tiny. Furthermore, there are no significant differences between symmetric and asymmetric instances. It is worth noting that the 3D-BPP model is underused whether it only provides pallets of a small fraction of heterogeneity for each customer, even in real instances. For this reason, and to assess its efficiency, more computational experiments are presented in the sequel.

5.2. Experimental Results for Adapted Benchmark Instances

In order to assess the quality of the overall approach, more challenging instances than the ones presented in Section 5.1 are required. Therefore, we resort to two different sets of experiments:
E1
set of tests to assess the efficiency of the 3D-BPP using benchmark provided in [28] (denoted in the literature by Thpack9, which is a set of 47 instances ranging from 2 to 5 item types and from 47 to 180 items);
E2
set of tests to assess both the VRPSDPTW and 3D-BPP models separately, as well as the hybrid approach in an integrated way, using benchmark instances provided in [28,29].
Concerning E1, the same set of instances was also used in [30]. These instances were used in contributions considering multiple containers whose objective is to minimize the number of containers needed to load the whole set of heterogeneous items. Therefore, all 47 instances were tested and presented in Table 3 as well as the minimum number of required containers (No. Cont.) and the CPU time (CPU (s)). The proposed model proved to be very efficient since it always achieves the optimal solution in very short computational times for all the instances. The minimum CPU time is 0.01 s (reaching 4 containers) and the maximum CPU time is 3.28 s (for 26 containers). However, it is not possible to establish an association between CPU time and the minimum number of containers: the time difference is negligible.
Concerning the E2 experiments, and since the hybrid approach deal with routing and loading components, we resort to a set of instances provided in [29] combined with those from [28], performing a set of 21 instances. Only the first 20 customers were considered to adapt those instances to a single VRPSDPTW. The instances are symmetric and grouped in clustered suppliers (IC type), uniformly distributed suppliers (IR type), and a mix of IC and IR types (IRC types).
The computational results for this set are presented in Table 4, grouped by the assessed method: the commodity-flow model itself and the Hybrid approach. The minimum number of required vehicles (No. Veh), the CPU time (CPU (s)) and the optimality gap (GAP) are also presented.
An optimal solution is always obtained except for the last two instances IRC203 and IRC204. These instances correspond to the mix of clustered customers with Uniformly distributed customers (mix IRC). In this particular case, after 2 h, the best bound is returned and used as an upper bound for comparison with the results of the hybrid approach. It is also possible to verify that IC instances have, on average, lower computational times than IR problems.
Comparing these results with the results obtained by the hybrid approach, optimal solutions are obtained in some instances (presented in bold). In the instances that only two vehicles are required in the best solution for the commodity-flow model (e.g., IR204, IR207, IR208, and IR211) is the 3D-BPP model solution of three vehicles, the result obtained by the hybrid approach is also three. In these cases, and since the hybrid approach solves both problems simultaneously, it is assumed that those solutions will be the optimal solution. For the remaining instances, good solutions were achieved in a very reduced computational time (roughly one second in the vast majority of cases).
The modeling approaches presented for this real case are helpful in the decision process. The company could solve a real problem in an acceptable time. Similar results were obtained even when the number of customers rose to 20. Given the very particular nature of this real problem, there is no approach in the literature to solve this specific problem. For this reason, the proposed methods address the special issues of this real problem. Despite that, the proposed models can be easily adapted to incorporate more constraints or address extended problems and/or their variants. Another advantage of the presented mathematical programming models is their adaptation to matheuristic-based approaches. Exact and heuristic approaches can be found in the literature for similar problems [19,20,21,22,23] but heuristics based on mathematical models, as discussed in this work, are still scarce. Despite the advantages presented, these approaches also have some limitations: one of them is the capacity to achieve good-quality solutions for large-size instances using only mathematical programming models. Another limitation is related to the used capacity of the vehicle. It would be interesting to address the rearrangement of items inside the vehicle after each pickup. However, this inclusion would lead to an exponential increase in computing time, so it will always be necessary to conduct a trade-off analysis between the savings generated and obtaining solutions in an acceptable amount of time.

6. Conclusions

In this work, a real problem of an automotive production company belonging to an international corporation is presented. An exhaustive literature review was performed, considering the classification schemes in this field. Two mixed-integer programming models are proposed to address the problem. The first is a commodity flow model to address the Vehicle Routing Problem with Simultaneous Delivery and Pickup and Time Windows. The second model is the formulation for the 3D-BPP, which can be used in two different scenarios: to minimize the number of pallets needed for each supplier or to maximize the vehicle usage. Due to promising results and the nature of the two mathematical formulations, one of the main contributions of this work is the possibility of expand them to follow the growth of production of this company while maintaining good-quality solutions. For instance, it will be possible to address possible extensions or variants that the company may face in the future (e.g., heterogeneous fleet or mixed backhauls). Although the approach was used for real instances, adapted instances from the literature were also used to test the overall efficiency of the proposed methods. Most of the real instances were solved up to optimality in a very reduced computational time. For the remaining ones, good upper bounds were derived. For the adapted instances, the results seem promising since optimal solutions are obtained in some cases, while in the remaining cases, good-quality solutions can be derived.

Author Contributions

Conceptualization, A.M.; Methodology, A.M.; Software, A.M.; Validation, C.A. and J.V.d.C.; Formal analysis, A.M. and T.P.; Investigation, A.M., T.P., C.A. and J.V.d.C.; Data curation, A.M.; Writing—original draft, A.M. and T.P.; Writing—review and editing, T.P., C.A. and J.V.d.C.; Visualization, T.P.; Supervision, C.A. and J.V.d.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by national funds through FCT—Fundação para a Ciência e a Tecnologia, under the projects UIDB/00285/2020, UIDB/00319/2020. This work was supported by the Research Unit on Governance, Competitiveness and Public Policies (UIDB/04058/2020) + (UIDP/04058/2020), funded by national funds through the Foundation for Science and Technology, IP. This work was also funded by FEDER in the frame of COMPETE 2020 under the project POCI-01-0247-FEDER-072638.

Data Availability Statement

The data are not publicly available due to privacy or ethical restrictions.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Berbeglia, G.; Cordeau, J.F.; Gribkovskaia, I.; Laporte, G. Static pickup and delivery problems: A classification scheme and survey. TOP 2007, 15, 1–31. [Google Scholar] [CrossRef]
  2. Berbeglia, G.; Cordeau, J.F.; Laporte, G. Dynamic pickup and delivery problems. Eur. J. Oper. Res. 2010, 202, 8–15. [Google Scholar] [CrossRef]
  3. Parragh, S.; Doerner, K.; Hartl, R. A survey on pickup and delivery problems. Part I: Transportation between customers and depot. J. Betriebswirtschaft 2008, 58, 21–51. [Google Scholar] [CrossRef]
  4. Parragh, S.; Doerner, K.; Hartl, R. A survey on pickup and delivery problems. Part II: Transportation between pickup and delivery locations. J. Betriebswirtschaft 2008, 58, 81–117. [Google Scholar] [CrossRef]
  5. Iori, M.; Martello, S. Routing problems with loading constraints. TOP 2010, 18, 4–27. [Google Scholar] [CrossRef]
  6. Pinto, T.; Alves, C.; Carvalho, J.V.d. A branch-and-price algorithm for the vehicle routing problem with 2-dimensional loading constraints. In Proceedings of the International Conference on Computational Logistics, Lisbon, Portugal, 7–9 September 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 321–336. [Google Scholar] [CrossRef]
  7. Gendreau, M.; Iori, M.; Laporte, G.; Martello, S. A Tabu Search Algorithm for a Routing and Container Loading Problem. Transp. Sci. 2006, 40, 342–350. [Google Scholar] [CrossRef]
  8. Doerner, K.; Fuellerer, G.; Hartl, R.; Gronalt, M.; Iori, M. Metaheuristics for the vehicle routing problem with loading constraints. Networks 2007, 49, 294–307. [Google Scholar] [CrossRef] [Green Version]
  9. Tricoire, F.; Doerner, K.; Hartl, R.; Iori, M. Heuristic and exact algorithms for the multi-pile vehicle routing problem. OR Spectr. 2011, 33, 931–959. [Google Scholar] [CrossRef]
  10. Zachariadis, E.; Tarantilis, C.; Kiranoudis, C. The Pallet-Packing Vehicle Routing Problem. Transp. Sci. 2011, 46, 341–358. [Google Scholar] [CrossRef]
  11. Cornillier, F.; Boctor, F.; Renaud, J. Heuristics for the multi-depot petrol station replenishment problem with time windows. Eur. J. Oper. Res. 2012, 220, 361–369. [Google Scholar] [CrossRef]
  12. Cornillier, F.; Boctor, F.F.; Laporte, G.; Renaud, J. A heuristic for the multi-period petrol station replenishment problem. Eur. J. Oper. Res. 2008, 191, 295–305. [Google Scholar] [CrossRef] [Green Version]
  13. Brown, G.; Graves, G. Real-Time Dispatch of Petroleum Tank Trucks. Manag. Sci. 1981, 27, 19–32. [Google Scholar] [CrossRef] [Green Version]
  14. Pena, C.; Pinto, T.; Carvalho, M.S. A Two-Stage Heuristic for a Real Multi-compartment and Multi-trip Vehicle Routing Problem with Time Windows. In Proceedings of the Computational Science and Its Applications—ICCSA 2021, Cagliari, Italy, 13–16 September 2021; Springer International Publishing: Cham, Switzerland, 2021; pp. 274–289. [Google Scholar] [CrossRef]
  15. Fallahi, A.; Prins, C.; Wolfler Calvo, R. A memetic algorithm and a tabu search for the multi-compartment vehicle routing problem. Comput. Oper. Res. 2008, 35, 1725–1741. [Google Scholar] [CrossRef]
  16. Chajakis, E.; Guignard, M. Scheduling Deliveries in Vehicles with Multiple Compartments. J. Glob. Optim. 2003, 26, 43–78. [Google Scholar] [CrossRef]
  17. Battarra, M.; Monaci, M.; Vigo, D. An adaptive guidance approach for the heuristic solution of a minimum multiple trip vehicle routing problem. Comput. Oper. Res. 2009, 36, 3041–3050. [Google Scholar] [CrossRef]
  18. Pollaris, H.; Braekers, K.; Caris, A.; Janssens, G.; Limbourg, S. Vehicle routing problems with loading constraints: State-of-the-art and future directions. OR Spectr. 2014, 37, 297–330. [Google Scholar] [CrossRef]
  19. Malapert, A.; Guéret, C.; Jussien, N.; Langevin, A.; Rousseau, L.M. Two-dimensional pickup and delivery routing problem with loading constraints. In Proceedings of the First CPAIOR Workshop on Bin Packing and Placement Constraints (BPPC’08), Paris, France, 22 May 2008. [Google Scholar]
  20. Pinto, T.; Alves, C.; De, C.J.V.; Moura, A. An insertion heuristic for the capacitated vehicle routing problem with loading constraints and mixed linehauls and backhauls. FME Trans. 2015, 43, 311–318. [Google Scholar] [CrossRef] [Green Version]
  21. Pinto, T.; Alves, C.; Valério de Carvalho, J. Variable neighborhood search algorithms for the vehicle routing problem with two-dimensional loading constraints and mixed linehauls and backhauls. Int. Trans. Oper. Res. 2020, 27, 549–572. [Google Scholar] [CrossRef]
  22. Bartók, T.; Imreh, C. Pickup and Delivery Vehicle Routing with Multidimensional Loading Constraints. Acta Cybern. 2011, 20, 17–33. [Google Scholar] [CrossRef] [Green Version]
  23. Bortfeldt, A.; Hahn, T.; Männel, D.; Mönch, L. Hybrid algorithms for the vehicle routing problem with clustered backhauls and 3D loading constraints. Eur. J. Oper. Res. 2015, 243, 82–96. [Google Scholar] [CrossRef]
  24. Wäscher, G.; Haußner, H.; Schumann, H. An improved typology of cutting and packing problems. Eur. J. Oper. Res. 2007, 183, 1109–1130. [Google Scholar] [CrossRef]
  25. Moura, A. Linear Programming applied to the Capacitated Simultaneous Delivery and Pick-up Problem. In Proceedings of the International Conference on Computational and Mathematical Methods in Science and Engineering, ICCMSE2018, Thessaloniki, Greece, 14–18 March 2018. [Google Scholar]
  26. Moura, A. A model-based heuristic to the vehicle routing and loading problem. Int. Trans. Oper. Res. 2019, 26, 888–907. [Google Scholar] [CrossRef]
  27. Kallehauge, B. Formulations and exact algorithms for the vehicle routing problem with time windows. Comput. Oper. Res. 2008, 35, 2307–2330. [Google Scholar] [CrossRef]
  28. Ivancic, N.J. An Integer Programming Based Heuristic Approach to the Three Dimensional Packing Problem. Ph.D. Thesis, Case Western Reserve University, Cleveland, OH, USA, 1988. [Google Scholar]
  29. Li, H.; Lim, A. A metaheuristic for the pickup and delivery problem with time windows. Int. J. Artif. Intell. Tools 2003, 12, 173–186. [Google Scholar] [CrossRef] [Green Version]
  30. Bischoff, E.; Ratcliff, M. Issues in the development of approaches to container loading. Omega 1995, 23, 377–390. [Google Scholar] [CrossRef]
Table 1. Experimental results for real and asymmetric instances.
Table 1. Experimental results for real and asymmetric instances.
InstancesCommodity-Flow3D-BPP
Travel Time (h)CPU (s)Gap (%)No. PalletsCPU (s)Gap (%)
12.461.450.00310.050.00
22.951.650.00340.030.00
32.461.900.00250.010.00
42.461.000.00340.040.00
52.951.610.00300.030.00
62.462.340.00300.030.00
Table 2. Experimental results for real and symmetric instances.
Table 2. Experimental results for real and symmetric instances.
InstancesCommodity-Flow3D-BPP
Travel Time (h)CPU (s)Gap (%)No. PalletsCPU (s)Gap (%)
13.371.400.00340.060.00
22.941.620.00240.010.00
33.371.590.00340.050.00
43.372.340.00340.020.00
52.941.150.00340.040.00
63.371.400.00340.060.00
Table 3. Experimental results for the adapted benchmark instances for the 3D-BPP (pallets loading).
Table 3. Experimental results for the adapted benchmark instances for the 3D-BPP (pallets loading).
Instances3D-BPPInstances3D-BPP
No. Cont.CPU(s)No. Cont.CPU (s)
1190.512550.10
270.392630.07
3192.532750.09
4263.282890.29
5462.7329150.87
6101.9830180.99
7161.7831110.23
850.553240.01
9170.333350.04
10371.523480.23
11140.863530.10
12452.3036110.54
13200.0637120.64
14281.1938250.86
15110.0339120.59
16210.334080.21
1770.0241140.23
1830.114240.70
1930.124330.07
2050.824430.10
21170.974530.50
2280.224620.09
23171.024730.19
2450.13
Table 4. Experimental results for the adapted benchmark instances for the VRPSDPTW and 3D-BPP (routing and loading several vehicles).
Table 4. Experimental results for the adapted benchmark instances for the VRPSDPTW and 3D-BPP (routing and loading several vehicles).
InstancesCommodity-FlowHybrid GRASP
No. Veh/DistCPU (s)GAP (%)No. Veh/DistCPU (s)GAP (%)
IC201/Thpack9_443/59230.0103/592<10
IC202/Thpack9_443/59233.0703/592<10
IC203/Thpack9_443/58658.6003/5951.031.54
IC204/Thpack9_443/59139.6903/5911.020
IC205/Thpack9_443/58931.1703/631<17.13
IC206/Thpack9_443/58833.2903/609<13.57
IC207/Thpack9_443/58832.0603/588<10
IC208/Thpack9_443/58832.6803/598<11.70
IR202/Thpack9_443/1198196.3603/12141.781.34
IR203/Thpack9_443/9491764.0303/9491.830
IR204/Thpack9_442/849296.1003/1132<1-
IR205/Thpack9_443/1054132.4203/1069<11.42
IR206/Thpack9_443/932161.0303/949<11.82
IR207/Thpack9_442/903905.8103/12041.35-
IR208/Thpack9_442/735132.0103/980<1-
IR209/Thpack9_443/931233.2303/945<11.50
IR210/Thpack9_443/964233.9603/972<10.83
IR211/Thpack9_442/912429.9803/1215<1-
IRC202/Thpack9_443/13741940.4403/13742.090
IRC203/Thpack9_443/1089>2 h10.913/12053.1010.65
IRC204/Thpack9_443/819>2 h5.363/8993.689.77
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Moura, A.; Pinto, T.; Alves, C.; Valério de Carvalho, J. A Matheuristic Approach to the Integration of Three-Dimensional Bin Packing Problem and Vehicle Routing Problem with Simultaneous Delivery and Pickup. Mathematics 2023, 11, 713. https://doi.org/10.3390/math11030713

AMA Style

Moura A, Pinto T, Alves C, Valério de Carvalho J. A Matheuristic Approach to the Integration of Three-Dimensional Bin Packing Problem and Vehicle Routing Problem with Simultaneous Delivery and Pickup. Mathematics. 2023; 11(3):713. https://doi.org/10.3390/math11030713

Chicago/Turabian Style

Moura, Ana, Telmo Pinto, Cláudio Alves, and José Valério de Carvalho. 2023. "A Matheuristic Approach to the Integration of Three-Dimensional Bin Packing Problem and Vehicle Routing Problem with Simultaneous Delivery and Pickup" Mathematics 11, no. 3: 713. https://doi.org/10.3390/math11030713

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop