The Variable Neighborhood Search Heuristic for the Containers Drayage Problem with Time Windows

Size: px
Start display at page:

Download "The Variable Neighborhood Search Heuristic for the Containers Drayage Problem with Time Windows"

Transcription

1 The Variable Neighborhood Search Heuristic for the Containers Drayage Problem with Time Windows Dražen Popović 1, Milorad Vidović 1, Miloš Nikolić 2 1 University of Belgrade, Faculty of Transport and Traffic Engineering, Department of Logistics, Belgrade, Serbia {d.popovic, m.vidovic}@sf.bg.ac.rs 2 University of Belgrade, Faculty of Transport and Traffic Engineering, Department of Operations Research in Traffic, Belgrade, Serbia m.nikolic@sf.bg.ac.rs Abstract The containers drayage problem studied here arise in International Standards Organization (ISO) container distribution and collecting processes, in regions which are oriented to container sea ports or inland terminals. Containers of different sizes, but mostly 20ft, and 40ft empty and loaded should be delivered to, or collected from the customers. Therefore, the problem studied here is closely related to the vehicle routing problem with the time windows where an optimal set of routes is obtained. Both delivery and pickup demands can be satisfied in a single route. The specificity of the containers drayage problem analyzed here lies in the fact that a truck may simultaneously carry one 40ft, or two 20ft containers, using an appropriate trailer type. This means that in one route there can be one, two, three or four nodes, which is equivalent to the problem of matching nodes in single routes. This paper presents the Variable Neighborhood Search (VNS) heuristic for solving the Containers Drayage Problem with Time Windows (CDPTW). The results from the VNS heuristic are compared with the two optimal MIP mathematical formulations that were introduced in our previous research papers. Keywords: Variable Neighborhood Search, Containers Drayage, Vehicle Routing, Time Windows, Pickup Delivery 1 Introduction The routing problem studied here is a typical for the intermodal transportation systems where containers are delivered by trucks to customers oriented to a container sea port or an inland container terminal. In the intermodal transportation the major part of the cargo s journey is performed by rail, inland waterway or sea, while the initial and/or final legs, distribution and collection of containers, are typically carried out by road (for more details about intermodal transportation systems see [1]). Truck should deliver a loaded container that has arrived at a terminal (import i.e. inbound container) to a consignee, and to pickup and haul back the loaded container from consignor to the terminal (export i.e. outbound container). In the case when a part of a container terminal serves as an empty containers depot, in addition to pickup/delivery operations with loaded containers, the empty containers also needs to be delivered to a shipper for loading and hauled back empty to the terminal after unloading goods at the consignee site. Container transportation within a local region oriented to an intermodal terminal with a few possible types of container moves is also known as drayage operations [2]. Drayage operations are driven by the need to fulfill customer demands while satisfying various constraints imposed by the technology and customers requirements. Drayage includes regional movements of loaded and empty equipment (trailers and containers) by tractors between terminals, shippers, consignees, and equipment yards. In general, drayage opera- 1

2 tions involve not only the provision of containers but also empty trailers [2], while in this research only the problem of containers pickup and delivery is considered. Most intermodal containers are sized according to International Standards Organization (ISO). Based on ISO, containers are classified in several groups (10ft, 20ft, 30ft, 40ft, 45ft and since recently 48ft and 53ft), where 20ft and 40ft containers are the most frequently used all over the world. In Europe (except Finland and Sweden) and Asia, road vehicles are restricted to transport only 20ft and 40ft containers, only few countries allow 45ft containers, while larger containers are in use only in the USA and Canada [3]. In most countries transport of two loaded 20ft containers by a standard vehicle is not permitted, except in the case when the weight limitation of 26 tons is not exceeded. In the USA, Australia, Canada, Finland and Sweden the vehicles in use are the ones that offer the possibility of transporting two fully loaded 20ft containers, while the EU has set up regulations which permit certain types of vehicles called "modular concept vehicles", offering the possibility of transporting two fully loaded 20ft containers using special combined chassis. In the containers drayage operations realized by combined chassis vehicles, up to four nodes can be visited in a single route starting and ending in container terminal or depot which is assumed here to be part of the terminal. In turn, the use of those technical solutions provides different opportunities for improving the efficiency of container transportation by merging different pickup and delivery operations in a single route. Drayage operations and especially container truck transportation account for a significant portion of the total transportation cost. Therefore, it is very important to improve the efficiency of container transportation through the optimization of such transportation processes, which leads to necessity of solving the truck scheduling problem in containers drayage operation [4]. Optimization of containers operation has received increased attention over the past decade due to its importance in intermodal freight transportation. Jula et al. [5] formulated the problem of container movement with time windows at origins and destinations as asymmetric multiple traveling salesman problem and proposed three solving approaches. Coslovich et al. [6] investigated containers drayage operation with the present and future operating costs minimized. Imai et al. [7] formulated containers drayage problem as a pickup and delivery and proposed Lagrangian relaxation to solve the problem. Chung et al. [8] built several mathematical models of container truck transportation. They formulate the basic problem where every vehicle can transport exactly one container at a time, and the multi-commodity problem with a combined chassis used in transporting two 20ft containers or one 40ft container. To solve the problem a solution algorithm based on the Insertion Heuristic was proposed. Namboothiri and Erera [9] studied the management of a fleet of trucks providing container pickup and delivery service (drayage) to a port with an appointmentbased access control system. Zhang et al. [4], considered a truck scheduling problem for container transportation in a local area with multiple depots and multiple terminals. They proposed an approach based on an integer programming heuristic determines pickup and delivery sequences for daily drayage operations with minimum transportation cost. Savelsbergh and Sol [10] show that container transportation problems belong to pickup and delivery problems, and because of the nature of the problem, drayage operations also corresponds to multi-stop Vehicle Routing Problems with Backhauls (VRPB). A more detailed insight in VRPB, as well as in Vehicle Routing Problems with Pickup and Delivery (VRPPD), can be found in recent comprehensive overview given by [11] and [12]. The purpose of this paper is to propose the heuristic approach for finding the optimal trucks routing in containers drayage in the case when pickup and delivery nodes may be visited only during a certain predefined time intervals (Containers Drayage Problem with Time Windows - CDPTW). In this way, our previous research ([13], [14], and [15]) is extended by introducing a Variable Neighborhood Search heuristic for solving the CDPTW. The main reason for developing the heuristic approach is solving a large problem instances that cannot be solved optimally in reasonable CPU time. A VNS heuristic approach was originally developed by [16] and it mostly depends on the quality of the local search and shaking procedure. For an insight in methods and application of VNS we recommend the paper [17]. For the local search procedure we applied Variable Neighborhood Descend (VND) with two neighborhoods: reallocating and interchange of tasks between routes. As for the shaking procedure, we use a method of the "destruction" of randomly chosen route/routes with multiple tasks and reconstruction of a single task routes from those tasks. The remainder of this paper is organized as follows. Section 2 presents a brief problem description. Section 3 presents the mathematical formulation for the CDPTW. The VNS heuristic is presented in Section 4. Computational results are presented in Section 5, and Section 6 gives some concluding remarks.

3 2 Problem Description The problem of distributing/collecting ISO containers (20ft, and 40ft) may be described as a variant of VRPB in which a truck visits up to four nodes until return to terminal. In this paper we observe the CDPTW where empty and loaded containers from terminal should be distributed to costumers, and empty and loaded containers should be picked up at customers sites and hauled back to the terminal. Vehicle fleet is of unlimited size and homogenous, with capacity of 2 twenty-foot equivalent units (TEUs). Therefore, when truck tow combined chassis is used, matching possibilities include all feasible combinations of 20ft, and 40ft containers (there are fifteen possible matchings of task nodes into merged routes, and four direct pickup or delivery routes) that should be transported from/to terminal and customers. A few possible matchings of task nodes are presented in Fig. 1. Obviously, it is worthwhile to choose those resulting with minimal length. Additionally, pickup and delivery nodes may be visited only during a certain predefined time windows. Fig. 1. Some of routing possibilities when drayage is realized by combined chassis 3 Mathematical Formulation for the CDPTW Vidović et al. [15] presented two mathematical formulations for the CDPTW: multiple assignment formulation, and general mixed integer programming (MIP) formulation. While the first, multiple assignment formulation, has been proposed in [14], the second, general MIP formulation presented here is adopted from [18]. The results from these two optimal MIP mathematical formulations are used as benchmarks for the evaluation of the VNS heuristic proposed in this paper. For the purpose of mathematical presentation of the CDPTW we use the general MIP formulation because of its clarity and easiness of understanding. Let G(N,E) be a graph, where N is the set of nodes in with containers move requests, and E={(i,j) ij; i,jn} is the edge set. All container move requests are known at the beginning of the planning horizon (usually one day), and all vehicles start from the terminal. Node with index "0" represents the terminal node. It is assumed that any node may simultaneously have both, containers demand and supply move requests. This graph is transformed into another graph, in which each customer node is replaced with task nodes. In this way all task nodes of the transformed graph have single move request, either pickup or delivery. It is assumed that the transport costs between task nodes which belong to the same customer node may be neglected. In the model we used the following notation: K - total number of used vehicles (routes) Q - vehicle capacity (expressed in number of TEUs) c ij - transport costs between customer nodes i and j (Euclidian distance) x ijk - binary decision variable equals to 1 if vehicle k travel from the task node i to node j 3

4 y ij - integer variable (number of pickup TEUs transported in arc i,je) z ij - integer variable (number of delivery TEUs transported in arc i,je) s ik - time of beginning of service at task node i by the vehicle k a i - start time of a time window for task node i - end time of a time window for task node i b i t i - service time in the task node i t ij - travel time between task nodes i and j p j - pickup demand of task node j d j - delivery demand of task node j M - a sufficiently big number Objective function: (1) st. 1 1, (2) 0 1, ; 1, (3) 1 1, (4) 1, (5) 1, (6) 0, ; 0, ; ; 1, (7) 1 0, ; 1, ; ; 1, (8) 1, ; 1, (9) 0,1; 0; 0;0, ; 0, ;;1, (10) The objective function (1) seeks to minimize total transport costs. Constraints (2) ensure that each task node is visited exactly once from exactly one task node, while constraints (3) guarantee that the same vehicle arrives and departs from each task node it serves. Constraints (4) prevent multiple departure of the vehicle from the terminal, in the same route. Constraints (5) and (6) are flow equations for pickup and delivery demands, respectively. Constraints (7) prevent vehicle overloading. Constraints (8) and (9) are time windows constraints. Constraints (10) define variables domains. 4 VNS Heuristic for the CDPTW Mladenovic and Hansen [16] developed the VNS algorithm as a new metaheuristic concept with the basic idea of a systematic change of a neighborhood within a local search algorithm. After the initial solution construction, the VNS heuristic uses local search and shaking procedure to iteratively improve the current best solution until a stopping criterion is met. The VNS concept is based on the use of several neighborhoods in a search for a solution improvement, where each succeeding neighborhood covers a larger search space. Shaking procedure is responsible for obtaining a new starting point for a local search with the main purpose of overcoming the local optima "trap". For the purpose of solving large scale problem instances of CDPTW we introduce the VNS heuristic. The initial solution is obtained by the classical sweep method [19], with additional modification regarding the sweep starting point; routes are constructed starting from the task that has the biggest "polar gap" to its nearest preceding task (effective for the multi-compartment vehicle routing, according to [20]). For the local search procedure we applied Variable Neighborhood Descend (VND) with two neighborhoods: reallocating and interchange of tasks between routes. The local search procedure examines all possible changes in a neighborhood of a current solution (Current_sol) for improvement of its objective function (Current_obj_val). If a change in observed neighborhood incurs improvement of a Current_obj_val, then both Current_sol and Current_obj_val are updated and

5 the local search is restarted within observed neighborhood. The reallocation of tasks between routes observes all possible transfers of a task from one route to another. The interchange of tasks between routes observes all possible exchanges of a task from one route with a task from another route. The local search VND algorithm is presented in Fig. 2. improvement True; LOCAL_SEARCH_PROCEDURE ( Current_sol, Current_obj_val ) : while improvement: improvement False; REALLOCATE _PROCEDURE: reallocate_improvement True; while reallocate_improvement: reallocate_improvement False; for route_1 in all_routes: for task_1 in route_1: for route_2 in all_routes/route_1: if task_1 reallocation to route_2 is feasible: if the reallocation incurs lower Current_obj_val: improvement True; reallocate_improvement True; update Current_sol, Current_obj_val; break to REALLOCATE_PROCEDURE; INTERCHANGE_PROCEDURE: interchange_improvement True; while interchange_improvement: interchange_improvement False; for route_1 in all_routes: for task_1 in route_1: for route_2 in all_routes/route_1: for task_2 in route_2: if the interchange of the task_1 and task_2 is feasible: if the interchange incurs lower Current_obj_val: improvement True; interchange_improvement True; update Current_sol, Current_obj_val; break to INTERCHANGE_PROCEDURE; if improvement: break to LOCAL_SEARCH_PROCEDURE; Fig. 2. The algorithm of the local search procedure (VND) As for the shaking procedure, we use a method of the "destruction" of randomly chosen route/routes with multiple stops and reconstruction of single stop (direct) routes to each of those stops. For example, if we select two routes servicing five different locations in total, after shaking procedure we would have five direct routes (each servicing one location). The number of routes to be "destructed" is denoted as Sh_size, and the number of repeated passes for given Sh_size is denoted by Sh_pass. By changing the maximum values for these two parameters (Sh_size_max, and Sh_pass_max) we define the total number of shaking neighborhoods in the VNS heuristic. The shaking procedure used in proposed VNS heuristic is presented in Fig. 3. SHAKING_PROCEDURE ( Current_sol, Sh_size_max ) : counter 0; while counter < Sh_size_max: counter counter + 1; if route with multiple stops exists: rnd_route chose a random multiple stops route; for stop in rnd_route: /*stop represents a P/D location*/ add direct route terminal-stop to Current_sol; delete rnd_route from Current_sol; else break; Fig. 3. The shaking procedure For both local search and shaking procedure, only feasible changes to current solution are allowed. The feasibility is defined by time windows and possible matchings of task nodes into routes. For 5

6 example, it is not feasible for a vehicle to load 40ft container at the terminal, to load additional 20ft container at a pickup node, then to unload 40ft container to a delivery node before returning to the terminal (constraint of a vehicle capacity is violated). The flowchart of the proposed VNS heuristic is presented in Fig. 4. The stopping criterion of the VNS heuristic becomes active when the shaking and local search procedures for the last neighborhood (Sh_size=Sh_size_max, and Sh_pass=Sh_pass_max) does not incur improvement in current best solution value. Construction of the initial solution (Sweep algorithm) The local search procedure (VND) Calculate: Current_obj_val; Current_sol Initialize: Sh_size 0; Sh_pass 0; Sh_size Sh_size + 1 Sh_pass Sh_pass + 1 The shaking procedure The local search procedure (VND) Calculate: Temp_obj_val; Temp_sol NO NO Temp_obj_val < Current_obj_val NO Sh_pass == Sh_pass_max YES Sh_size == Sh_size_max YES Current_obj_val Temp_obj_val Current_sol Temp_sol YES FINAL SOLUTION = Current_sol Fig. 4. The flowchart of the VNS heuristic 5 Computational Results Testing the quality of the VNS heuristic to solving the containers drayage problem when combined chassis is used has been carried out on the several problem instances. Our idea was to test the VNS heuristic on three group of instances presented in [15] for which optimal solutions exists. Additionally, we generated fourth group of large scale problem instances that cannot be solved optimally in reasonable CPU time and that are solved only by VNS heuristics. All instances are generated according to the Solomon VRPTW benchmark problems ( There are six different sets of problem instances. Task nodes are randomly generated in problem sets R1 and R2, clustered in problem sets C1 and C2, and both, randomized and clustered in problem sets RC1 and RC2. Also, problem sets R1, C1 and RC1 have a short scheduling horizon (few possible costumers per route) while problem sets R2, C2 and RC2 have a long scheduling horizon (many possible costumers per route). Demand at each task node in original Solomon instances can have up to 50 units. In the CDPTW we observe only several containers that need to be picked from or delivered to each task node. Therefore, we have transformed the original Solomon instances to have both pickup and delivery task, to have fewer tasks per each node and to have four types of tasks. Total number of tasks in each node is obtained by dividing the original Solomon demand by 20 and rounding that number to greater integer value. Then, we randomly allocate derived tasks to 20ft or 40ft containers, as pickup or delivery demand. Total number of pickup/delivery locations (nodes) is denoted with N', and total number of containers (tasks) is denoted with N. We observe following four cases: small scale problems with N'=10 and N'=15 nodes, medium scale problems with N'=50 nodes (only first 10, 15 or 50 nodes are observed in each instance), and large scale problems with N'=100 nodes (to be solved only by the VNS heuristic). In each case we observe only the first two instances from the problem set (to provide clarity of the results presenta-

7 tion and to save paper space). For all four cases, each instance is solved in 50 iterations by the VNS heuristic with the following values of the neighborhood parameters: Sh_size_max=5, and Sh_pass_max=10. The results for the small scale problem instances are presented in Table 1, for the medium scale problem instances in Table 2, and for the large scale problem instances in Table 3. Large scale problem instances with N'=100 could not be optimally solved in reasonable CPU time and therefore these instances are solved only sub-optimally by the VNS heuristic. The CPU time needed to obtain the solution for the CDPTW is very important for real life applications. The reason lies in the fact that a routing plan for all pickup/delivery tasks needs to be obtained on day to day basis. Mathematical models were implemented by the CPLEX on the Intel(R) Core(TM) i3 CPU M Ghz with 6 GB RAM, while the VNS model was implemented by C++ and Microsoft Visual Studio 2010 (64-bit). Table 1. Results for small scale problem instances (results from two mathematical formulations are taken from [15]) Multiple assignment General MIP formulation formulation VNS heuristic CPU time CPU time Average StDev Average Avg. CPU N' Instance N Solution [sec] Solution [sec] solution [%] Err [%] time [sec] 10 C C * C C R R R R RC RC RC RC * Average R R R R C C * C C RC RC * RC * RC * Average * Solution obtained after 1800 sec of CPU time (CPLEX parameter timelimit is set to 1800) 7

8 Table 2. Results for medium scale problem instances; general MIP formulation cannot solve medium scale problem instances in reasonable CPU time (optimal results taken from [15]) Multiple assignment formulation VNS heuristic N' Instance N Solution CPU time [sec] Average solution StDev [%] Average Error [%] Avg. CPU time [sec] 50 C C C C R R R R RC RC RC RC Average Table 3. Results for large scale problem instances (large scale problem instances cannot be optimally solved in reasonable CPU time) Avg. solution VNS heuristic StDev [%] Avg. CPU time [sec] N' Instance N 100 R R R R C C C C RC RC RC RC Average Concluding Remarks Because the CDPTW is NP-hard problem, for obtaining a solution we propose the VNS heuristic approach. We consider both, empty and loaded containers moves in case when combined chassis for transporting two 20ft containers or one 40ft container are used, and where pickup and delivery nodes are visited only in specific time intervals. For small and medium scale problem instances we compare the heuristic results with the results of two mathematical formulations presented in [15]. Tables 1 and 2 shows that the VNS heuristic has relatively small average error compared to optimal solutions (0.30%, 0.45%, and 0.97% for cases with 10, 15, and 50 nodes respectively). At the same time solution CPU time of the VNS heuristic is considerably lower than that from the mathematical models (e.g. for the medium scale problem instances general MIP formulation is not capable of finding the optimal solution in reasonable CPU time, multiple assignment formulation takes in average sec per instance, and the VNS heuristic takes in average 0.57 sec per instance with average error of only 0.97%). Additionally, standard deviation of heuristic solutions is in average less than 0.60% for all four groups of instances which shows high level of solution convergence. Wang and Regan [21] stated that typical sub-fleet of trucks consists of less than 20 trucks and is able to handle at most 75 containers a day. Table 3 shows that the VNS heuristic is capable of finding solutions for real life scale problems in a few seconds.

9 Although we observe 20ft and 40ft containers in our model (because they are the most frequently used ones), the proposed VNS heuristic can be applied to the CDPTW with other container dimensions where a modular concept vehicle can carry up to two containers of any dimension. Further research should focus on more extensive testing, introducing additional constraints such as heterogeneous vehicles and multiple use of vehicles, and additional improvement of the VNS heuristic (neighborhoods for local search procedure, as well as techniques for shaking procedure). Acknowledgment This research was partially supported by the Ministry of Education, Science and Technological Development, Government of the Republic of Serbia, through the project TR 36006, for the period References [1] Crainic TG, Kim KH (2007) Intermodal transportation. In: Barnhart C, Laporte G (Eds) Handbook in OR & MS, Vol. 14 Elsevier B.V., pp [2] Macharis C, Bontekoning YM (2004) Opportunities for OR in intermodal freight transport research: a review. European Journal of Operational Research, 153, pp [3] Nagl P (2007) Longer combination vehicles (LCV) for Asia and Pacific region: Some economic implications, UNESCAP Working Papers, No.2, UN. [4] Zhang R, Yun WY, Kopfer H (2010) Heuristic-based truck scheduling for inland container transportation. OR Spectrum, 32, pp [5] Jula H, Dessouky M, Ioannou P, Chassiakos A (2005) Container movement by trucks in metropolitan networks: modeling and optimization. Transportation Research Part E: Logistics and Transportation Review, 41, pp [6] Coslovich L, Pesenti R, Ukovich W (2006) Minimizing fleet operating costs for a container transportation company. European Journal of Operational Research, 171, pp [7] Imai A, Nishimura E, Current J (2007) A Lagrangian relaxation-based heuristic for the vehicle routing with full container load. European Journal of Operational Research, 176, pp [8] Chung KH, Ko CS, Shin JY, Hwang H, Kim KH (2007) Development of mathematical models for the container road transportation in Korean trucking industries. Computers & Industrial Engineering, 53, pp [9] Namboothiri R, Erera AL (2008) Planning local container drayage operations given a port access appointment system. Transportation Research Part E: Logistics and Transportation Review, 44, pp [10] Savelsbergh MWP, Sol M (1995) The general pickup and delivery problem. Transportation Science, 29, pp [11] Parragh S, Doerner K, Hartl R (2008a) A survey on pickup and delivery problems Part I: Transportation between customers and depot. Journal für Betriebswirtschaft, 58, pp 21-51, DOI: /s [12] Parragh S, Doerner K, Hartl R (2008b) A survey on pickup and delivery problems Part II: Transportation between pickup and delivery locations. Journal für Betriebswirtschaft, 58, pp , DOI: /s [13] Vidović M, Radivojević G, Ratković B (2011) Vehicle routing in containers pickup up and delivery processes. Procedia Social and Behavioral Sciences, 20, pp [14] Vidović M, Radivojević G, Ratković B, Bjelić N, Popović D (2012a) Containers drayage problem with time windows. CD book of proceedings of the 15th International conference on transport science ICTS 2012, Portoroz, Slovenia. 9

10 [15] Vidović M, Nikolić M, Popović D (2012b) Two mathematical formulations for the containers drayage problem with time windows. 2nd International conference on supply chains ICSC 2012, Katerini, Greece. [16] Mladenovic N, Hansen P (1997) Variable Neighborhood Search. Computers and Operations Research, 24(11), pp [17] Hansen P, Mladenovic N, Perez JAM (2010) Variable neighbourhood search: methods and applications. Annals of Operation Research, 175, pp [18] Lai M, Cao E, (2010) An improved differential evolution algorithm for vehicle routing problem with simultaneous pickups and deliveries and time windows, Engineering Applications of Artificial Intelligence 23, pp [19] Gillett BE, Miller LR (1974) A heuristic Algorithm for the Vehicle-Dispatch Problem. Operations Reserch, 22 (2), pp [20] Derigs U, Gottlieb J, Kalkoff J, Piesche M, Rothlauf F, Vogel U (2010) Vehicle routing with compartments: applications, modelling and heuristics. OR Spectrum, 334, pp [21] Wang X, Regan CA (2002) Local truckload pickup and delivery with hard time window constraints. Transportation Research Part B: Methodological, 36, pp