19th International Conference on Production Research
LOGISTICS OPTIMIZATION: VEHICLE ROUTING WITH LOADING CONSTRAINTS D. Aprile*, J. Egeblad**, A.C. Garavelli*#, S. Lisi*, D. Pisinger**
*DIMeG, Politecnico di Bari, Viale Japigia 182, 70126 Bari, Italy **DIKU, University of Copenhagen, Universitetsparken 1, DK-2100 Copenhagen, Denmark Corresponding author:
[email protected] – Tel: +39.080.59.62.719 - Fax: +39.080.59.62.766
#
Abstract In today’s global markets, enterprises are integrated in order to produce value for the end customers: this network is referred as Supply Chain (SC). Transportation Management (TM) is one of the SC processes. TM decisions include, among others, load planning (referred as Container Loading Problem - CLP) and delivery route planning (referred as Vehicle Routing Problem - VRP). Several authors addressed the delivery optimization which is known ad the. The loading optimization has also been widely studied and is known as the. However, very few papers have dealt with integrated approaches for loading and routing. This paper aiming at providing a link between the two problems. As first, a brief overview of SC and its management are provided, including TM, VRP and CLP issues. Then the developed heuristics for VRP with loading constraints, based on Simulated Annealing, will be introduced and, finally, a solution example will be provided. Keywords: Routing, Loading, Heuristics, Logistics, Distribution, Supply Chain
1
INTRODUCTION
1.1 Supply Chain Management Turbulent environment in today’s global markets determines more competitiveness, products life-cycle reduction, increasing customer service level expectations. As a result, enterprises are integrated in a network of agents that are involved in several processes and activities producing value for the end customer: this network is referred to as Supply Chain (SC). Several authors addressed and defined the SC ([1], [2]) Summarizing their definitions, a SC is a coordinated system of agents (typically: suppliers, manufacturers, distributors, and retailers) activities, information and resources (human and material) as well as materials (raw, work-in-process, finished products) and information that encompass the entire SC, involved in moving a product or service from supplier to the end customer, and transforming raw materials and components into a finished product/service. Supply Chain Management (SCM) is the integrated and process-oriented approach to the design, management, and control of the SC, with the aim of producing value for the end customer, by both improving customer service and lowering cost ([3], 4]). SCM mainly involves two classes of managerial problems at different levels: configuration, dealing with the design of the SC at a strategic level, and coordination, concerning the management of the SC network prevalently under tactical and operative levels [5]. According with Simchi-Levi et al [6], SCM encompasses firm’s activities at many levels, from strategic trough the tactical to the operational level. The strategic level deals with long term decisions, regarding location, production, inventory, and transportation. The operational level of SC management is concerned with the very short term (day to day) decisions, such as
scheduling, lead time, (transportation issues).
routing
and
truck
loading
1.2 SC Transportation Management Decisions taken by Transportation Manager System (TMS) often affect other components in the SC network. Considering that, on average, 3.5% of manufacturer’s sales costs and 40-60% of total logistics costs are devoted to the movement of products, TM is a crucial issue in today’s business environment. Today, companies frequently carry out loading and distribution operations (planning and operative) based on operators experience, without formal optimization (software) aid. This may lead to space waste inside the container or even worse to infeasible loading. A further complication also occurs when a vehicle must serve more than one customer: it is necessary to optimize the delivery route in order to minimize driving distance and unloading work. Several authors have studied delivery optimization which is known ad the Vehicle Routing Problem (VRP). The loading optimization has also been widely studied and is known as the Container Loading Problem (CLP). However, very few papers have dealt with integrated approaches for loading and routing. In the following two subsections, the CLP and the VRP are introduced. Container Loading Problem (CLP) CLP is the problem of loading a subset of rectangular boxes into a rectangular container of fixed dimensions such that the volume of the packed boxes is maximized [7]. Gilmore and Gomory [8] studied the CLP since the middle 1960s and many algorithms, for the solution of the classes of the CLP, had been developed. CLP is a very complex combinatorial problem and, for this reason, an optimal solution (in a reasonable time) does not exist. So, the proposed algorithms are based onto a dynamic programming, a heuristics or a combination of them, achieving a good sub-optimal solution in a
reasonable time: a good trade-off for the most of the practical applications. In the literature, several papers describe the algorithms for the solution of the several variants of the CLP. The differences between these variants are: i) the objective function and ii) constraints. Very often, the term “container loading” has been used as a self-explanatory and complete characterization of the problem [9]. Instead, there are many different practical scenarios, which needed a specific approach. Therefore, that is crucial to identify the CLP variant to face. For this purpose, Pisinger [7] proposes a broad shared classification:
terminating at a depot. The vehicles are homogeneous and with the same capacity. CVRP is another vocabulary of the m-TSP, where the cities are customers and the salesmen are vehicles. The difference respect m-TSP is the vehicle capacity Q and the demand qi of customer i (i = 1,…,n). The mathematical formulation is very close to the TSP, and has been formulated by many authors, [15], using a set partitioning approach. The input data for solving the CVRP are various: travel and delivery time, costs, distances, etc… These data can be obtained by mathematical approximated computation or using intelligent system like GIS (Geographic Information System).
•
Knapsack Loading Problem (KPP): each box has an associated profit, and the problem is to choose a subset of the boxes that fits into a single container so that maximum profit is loaded.
•
Strip Packing Problem (SPP): the container has fixed width and height but infinite depth. The problem is to pack all boxes such that the depth of the container is minimized.
•
Bin Packing Problem (BPP): the stowage of all the items of the charge is required. The problem is to choose a certain number of containers (they all have the same, fixed, dimensions), and all the boxes are to be packed into a minimum number of them, so that the required costs are minimized.
•
Multi-container Loading Problem (MCLP): similar to the Bin-Packing problem but the containers can have different dimensions.
VRP-CLP interaction Sometimes, routing and packing (loading) goals are in conflict. The cost structure must take into account the packing features and issues as well as the travel ones. One of the most relevant variants of CLP is the so-called Strip Packing Problem (SPP). The SPP is often strictly related to another variant of the CLP: the Bin Packing Problem (BPP). The BPP is easily extendable in order to consider bins with different shape and dimensions. The SPP lies at the interception with the other logistic delivery problem considered in this research: the Vehicle Routing Problem (VRP), i.e. the determination of the optimal set of routes to be performed by a fleet of vehicle, in order to satisfy the demand of a given set of customers, given a central depot [11]. In spite of the two issues (CLP and VRP) have been large studied in the literature, there are a few closely-related references that have addressed the link between them, and anyone has weakly or never considered the loading of three dimensional, complex items, like sofas for instance.
Vehicle Routing Problem (VRP) VRP is the determination of the optimal set of routes to be performed by a fleet of vehicle, in order to satisfy the demand of a given set of customers. VRP has been introduced by Dantzig e Ramser in 1959 [10], in its variant CVRP (Capacitated-VRP). Christofides formulated the VRP in 1985. VRP includes a class of problems for the determination of the optimal set of routes to be performed by a fleet of vehicles, in order to satisfy the demand of a given set of customers [11]. In its classical formulation, the goal of the VRP is to serve a set of customers, having a known demand, minimizing the transportation cost, starting from a depot, where each vehicle comes back at the end of its route. Several variants of the problem have been formulated and studied and solving algorithms or heuristics have been proposed, but an exact algorithm that is able to solve instance with more than 50 customers does not exist ([12]; [13]. Six simpler variants of the problem can be identified: Pisinger and Ropke [14] make a good classification. They develop a unified heuristics able to solve five different variants of the VRP: CVRP (Capacitated-VRP); MDVRP (Multi Depot-VRP); VRPTW (VRP-Time Window); SDVRP (Side Dependent-VRP); OVRP (Open-VRP). Adding to these, above listed, the simplest routing problem is the travelling Salesman Problem (TSP). One of the best-known problem is the CVRP. It is the problem to deliver goods to a set of customers with known demands on minimum-cost vehicle routes originating and
1.3 Annealing technique Simulated annealing is a meta-heuristic technique based on the analogy between the physic process of the cooling solid material process and the combinatorial problem solution. In physics, the cooling solid material process consists in immersing the material in a heat bath, increasing the bath temperature up to its melting point, in correspondence of which the material particles are randomly distributed. Then the bath temperature is decreased slowly, allowing the achieving of the heat stability at each temperature, cooling back the material into a solid state. It is interesting notice that the structural properties at the end of the cooling process depend by the rate of cooling: if the temperature decreases too fast, the results will be a crystal with many imperfections. In the early 1953, Metropolis et al. [16] developed an algorithm that simulated the cooling schedule of material in a heat bath. Starting from an initial state S, with a temperature T, a perturbation is generated (at each temperature t) in order to reach a new state S’ and the energy variation is calculated. If the variation moves in the direction of the objective function improvement, the solution will be accepted, otherwise it could be accepted according with a probability function. The algorithm runs a certain number of iterations at each temperature and then the temperature is decreased until it achieves the value at which the system is frozen in a steady state. In the early 1980s, Kirkpatrick et al. [17] extended the use of simulated annealing to a wide range of optimization problem.
19th International Conference on Production Research
2 PRELIMINARY CONSIDERATIONS The outbound logistics (delivery) problem is addressed developing a heuristics which, considering a set of customer orders, find a feasible loading solution (at least one) and ensuring the feasibility of the proposed routes, minimizing the total delivering cost. The model of analysis is a Capacitated Vehicle Routing Problem (CVRP) with three-dimensional loading constraints. Therefore, it encompasses both VRP and CLP. Often, the routing optimization is “static”: for each customer is a-priori defined the service mode (point-topoint, groupage, direct-to-unload, etc…). Therefore, each customer is considering lying on a pre-defined path or, at least, each one belongs to a specific area and no optimization of routing is made during the optimization referring to the SPP and BPP. This could lead to an inefficient optimization. The developing 3L-CVRP heuristics has the aim to address the route optimization in a “dynamic way”: customers don’t belong to a predefined route/container but are assigned to the route while optimization process runs.
Figure 1 – an instance with 1 depot and n customers Considering a single depot instance (Figure 1), the heuristics try to is aiming at finding a set of vehicle routes of minimal total cost, starting and ending at a depot, such that every customer is visited exactly once by one vehicle. The items demanded are furnishings (in particular sofas with different shapes) to be loaded into containers (a 40ft container is considered as transport mean without loss of generality) and delivered to the customers. This assumption is particularly remarkable because the loading items have features weakly or never considered in the literature. In the following subsections, the features of the problem arising from the assumption to solve the VRP from a furnishing company are described. Then, a mathematical formulation of the problem is explained. 2.1 Furnishing company loading and delivery features The loading and delivery problem for a furnishing company has features that have been weakly or never considered in the literature: Since sofas and armchairs have irregular shapes, they are usually coupled in order to create cuboids rectangular arrangements (pairings); but since the shapes can be very different, and the items are not rigid in the strong sense, some squeezing occur, making hard a prediction of the pairings. Each possible arrangement is constituted by two or more sofas and has different dimensions for each other. Arrangement dimensions can be modified with regard to the available space: sliding between the items are allowed. Generally, sofas and armchairs are loaded in a vertical direction to avoid structural problems and yielding. From a loading operation point of view, three main problems emerge: Loading Optimization,
Graphic-geometric item representation; Pairing simulation between different loading items. In order to solve the problem, three software preprototypes have been developed, using C++ language: Constructor module: it is merely a filter between the real dimensions of a sofa and the input data (sections, their coordinates) for the pairing module. Inserting a certain number of measures, every loading items can be modelled. Pair module: it builds pairing between two generic sofas, allowing several slidings, calculating the three dimensions (width, height, depth) of the resulting pairing. Packer module: it is the core of the optimization process. Starting from a loading mix (i.e., a possible mix of sofas to be loaded), given the dimensions of all the possible pairing, it makes the loading optimization. For the VRP solution, the problem cannot stop here. When customers orders must be grouped together, loaded into a transport mean and delivered (Strip Packing problem), all the features and issues related to VRP rise up and the problem complexity increases. In addition, one must consider some loading constraints. A feasible solution to the full problem is a VRP that also satisfies these packing constraints, which provide the link between the routing and packing problems. Often, furnishing companies make the delivery optimization using experience of planning and loading operator, just counting up to a certain number of seats (the seat is the unit of measure: 1 chair = 1 seat) but without any optimization, inferring several different risks: infeasibility of cargo (it could be impossible to load all the items into the transport mean), space waste (a transport mean could have a lot of empty space); the routes are not optimized. VRP instances can be extremely difficult to solve in practice. So, a heuristic algorithm implementation (Router module) has been added. 3
THE MODEL OF ANALYSIS
3.1 Working hypotheses The goal of the proposed model is to develop and implement a heuristics that links the CLP and VRP. The problem is to deliver the demanded cargo to the shops from a single depot, to minimize the overall travel distances. Assuming that the transportation problem only has a single constraint (the dimensional capacity of the vehicle), the problem is very close to the Capacitated Vehicle Routing Problem (CVRP). The retailers collect the demands of several customers geographically distributed and emit orders to the upstream stages of the SC. In each retailer, K identical vehicles, with dimensions W, L and a specific height H, are available to serve n customers, each one demands a certain number of sofas and furnishings of different shapes and dimensions. The vehicles have a three-dimensional loading volume. The aim is to find K routes of minimum cost, taking into account the capacity and dimensional constraints of the vehicles and finding a feasible allocation of the items inside them, such that the individual deliveries are ordered in a vehicle and all items to deliver to a customer can be unloaded without moving items to the other customers. Therefore, all the items belonging to a customer must be loaded closely one to each other.
So, the problem can be considered as a 3L-CVRP where 3L means three-dimensional loading constrained, and link CLP and VRP. Therefore, the problem is NP-hard in the strong sense. Since the problem is NP-hard it is often desirable to obtain approximate solutions, so they can be found fast enough and are sufficiently accurate for the purpose. 3.2 Heuristics description In a three-dimensional-capacitated VRP, a given route (starting at the depot, visiting the customers c1, c2, cn, ending at the depot) must be feasible. Hence, it will be tested if the packing chart is feasible. The heuristics is composed by three parts: pre-computing of loading of the items demanded by each customer; matching pre-computation of the possible pairing (it will be clearly explained in the following); simulated annealing for solving VRP. Loading pre-computation In the loading pre-computation, the approach is the one typical of SPP, with the aim to pack all the items of each customer separately into the container (vehicle) minimizing the used volume of the packing (Figure 2a). Due to the intrinsic hardness of three-dimensional (3D) packing, it is impossible to expect to check feasibility of a packing in every step of the algorithm, in reasonable time. Instead, as far as possible, the heuristics pre-computes the loading of each customer, giving as an output of the two-dimensional (2D) packing of a certain number (from 5 to 10) “good” packing solutions. For this purpose, the loading modules (Constructor, Pair and, in particular, Packer) are employed. Using the item models built with Constructor module, the Packer module allows a 3D loading and returns a 2D packing projection, which will be used by the VRP solver, of an ideal “customer order”, made by several items of different shape and dimensions, as shown in Figure 2-a. In the loading pre-computation, each set of items (belonging to a customer) is packed at the end of the container. Therefore, here are considered only particular structures of loading having three flat sides and a split line contour on the fourth side. The container surface is defined as a positive quadrant of a Cartesian coordinate system in which the origin (0, 0) is the bottom-left corner and the x-axis and the y-axis are the right and the bottom sides, respectively, of the loading surface (Figure 2-b).
Figure 2 – loading pre-computation for a single customer The coordinates of its four points define the position of the packed set pi contour, as follows (Figure 3): The heuristics will get as an output not only the optimal solution (minimal area), but also a certain number (5-10, at the most) other good solutions (pi) encountered during the search. Matching computation Before applying the CVRP heuristics, complexity can be reduced by evaluating all the pairing data between the
“customer orders”, i.e. the packed set pi and pj of each couple of customers. In fact, this way each couple of customer orders results in a “wall”, because one side of the packed set pi is flat by construction. Looking at Figure 3, let (xi1, yi1), (xi2, yi2), (xi3, yi3), (xi4, yi4), and (xj1, yj1), (xj2, yj2), (xj3, yj3), (xj4, yj4) the coordinates of the packed sets pi and pj, respectively.
Figure 3 – packing set loading representation First, the length of the pairing pij depends by the joint type. In fact, in mathematics: if (yj4 - yj3 ) ≥ yi3 then length (pij) = xi4 + xj4; else (i.e., the joint is like in Figure 4) length (pij) = max {(xi4 + xj1); (xi1 + xj4)}; Once the length (pij) has been evaluated for each couple of customers and for each possible pairing (considering all the 5-10 “good” solutions of the pre-loading computation), will set pij,min = min {length (pij)}.
Figure 4 – matching computation example The aim is to pre-compute the best pair (minimum total depth) achievable by each possible pairing pij, between the packed sets pi and pj of each couple of customers, considering all the “good” solutions obtained in the previous phase. All these minimum pairings will be stored into a Matching Table that will be used as an input for the VRP solver. VRP solver The first two phases reduce the complexity of the problem so this phase addresses a classical CVRP with dimensional constraint. The underlying problem is a classical CVRP. A graph G(V,E), where V is a set of n+1 vertices, corresponding to the depot d (vertex 0) and to the customers (vertices 1,….,n), is here considered. A set of K identical bins (container) is available at the depot. Anyway, a VRP instance could be solved employing just a subset Z ⊂ K of bins. Each one has a parallelepiped-loading surface, accessible only form one side (loading/unloading operations), whose width, height is equal to the couple (W, L) as shown in Figure 3. For each edge (i,j) ∈ E a arc travelling cost cij is defined. The aim is to find a set of vehicle routes of minimal total cost, starting and ending at a depot, such that every customer is visited exactly once by one vehicle. The first step of the VRP heuristics is to find an initial solution. Without loss of generality, one can imagine to dispatch one vehicle to each customer if it is possible (otherwise, one can imagine using as much as possible vehicles).
19th International Conference on Production Research
According to Iori et al. [11], a feasible route is made by a couple r = (S, σ) where S is a subset of customers and σ is a bijection σ : S {1,…., S }, such that σ(i) is the position of a customer along the route. Once it finds a route r, heuristics checks it feasibility, trying to load the customer packing set pi (σ(i) ∈ r) in a forward and reverse mode, ensuring that the sum of the lengths of the packing set pairings does not exceed the vehicle length L (1). (1) p ij , min < L
∑
i , j∈r
In order to explain the difference between forward and reverse mode, one can consider the following example (Figure 5). Considering the same set of customers and their packing sets, the forward route (Depot-c1-c2-c3) is not feasible because the total length of the packed set is greater than the vehicle length L. On the contrary, the reverse route (Depot-c3-c2-c1 ) is feasible.
Figure 5 – an example of feasible/not feasible route Considering a cost per Km travelled by a vehicle (Km_cost) and a cost per vehicle rent (vehicle_cost), the objective function is the following:
min( ∑ Km_cost ×r + r∈R
∑ vehicle_cost × z )
(2)
z∈Z
where R is the set of routes r that solve the instance and z identify a vehicle of Z employed of the fleet K. The heuristics is based on Simulated Annealing. The reason why annealing metaheuristics has been chosen for the implementation is because it appears as one of the best performing heuristics for VRP and it is used by Pisinger and Ropke [2005] for the ALNS algorithm. Moreover, local search could constrain the solution in a local minimum valley, while others (e.g. Genetic algorithms) generally have a bad performance, because they need to maintain a population of (often same) solutions. The heuristic algorithm in each iteration replaces the current solution by a random "nearby" solution, chosen with a probability that depends on the difference between the corresponding function values and on a global parameter T (called the temperature), that is gradually decreased during the process. The heuristics tries to reduce the total costs reducing the numbers of used vehicles, by randomly selecting one customer of the route ri, and moving it to the route rj . Then, the temperature is decreased according with the pre-defined cooling schedule. The heuristics works until the stopping criterion is satisfied.
Cooling schedule 10 customers 20 customers 25 customers 50 customers 100 customers
COST
4
RESULTS
4.1 Heuristics Tuning In analogy with physics, a control parameter (called “temperature”) decreases at each step. The cooling function adopted is the geometric reduction α(t) = αt, with α