A Heuristic for Solving the Swap-Body VRP Oliver Lum, Xingyin Wang, Ping Chen, Bruce Golden, Edward Wasil 1 Swap-Body VRP • Models scenario in which the vehicles have detachable components, and certain customers may be visited by only the smallest vehicle possible (due to space constraints) • Single depot • Maximum route duration Truck Q = swap-body capacity Train Figure 1: Truck, semi-trailer, and swap-body Figure 2: Valid vehicle combinations (truck and train) 2 Related Problems Gerdessen Semet Chao Scheuerer Lin et al. Caramia and Guerriero Villegas et al. Yu et al. Derigs et al. Lin et al. Lin et al. Derigs et al. Drexl Drexl • All single-objective • Closest variant is the Truck and Trailer Routing Problem (TTRP) • No dedicated swap locations • Generally load transfer is allowed • No vehicle fixed cost 3 Swap-Body VRP Cost • Vehicle Cost: Cost of renting the vehicle for use • Service Time Cust. Swap Location • Time: An hourly wage associated with driver cost • Distance: A cost / kilometer for use of the vehicle which is greater for a larger vehicle (gas costs) • Swap Action Times 4 Swap-Body VRP Swap Actions / Subtours • At a designated Swap Location, there are four possible actions, each with an associated performance time: Swap Location Figure 3: Park • Park: The entering train parks its trailing swap-body, leaving it at the swap location for pickup at a later time Swap Location Figure 4: Pickup 5 Swap-Body VRP Swap Actions / Subtours • At a designated Swap Location, there are four possible actions, each with an associated performance time: Swap Location Figure 3: Park • Pickup: The entering truck reattaches to the previously parked swap-body, picking it up to continue the tour Swap Location Figure 4: Pickup 6 Swap-Body VRP Swap Actions / Subtours Swap Location Figure 5: Swap • Swap: The incoming truck changes the position of its swap-bodies, and then leaves, still a truck, with a different quantity of goods, (joining two consecutive subtours) Swap Location Figure 6: Exchange 7 Swap-Body VRP Swap Actions / Subtours Swap Location Figure 5: Swap • Exchange: The incoming train changes the position of its swap-bodies, parks its trailing swap-body, and leaves a truck Swap Location Figure 6: Exchange 8 Swap-Body VRP Swap Actions / Subtours Cust. • A swap-body belongs to its vehicle, and cannot be abandoned. Therefore, it must eventually return to pick up a dropped off swapbody. … Cust. Cust. Swap Location Cust. … 9 Swap-Body VRP Swap Actions / Subtours Cust. • A swap-body belongs to its vehicle, and cannot be abandoned. Therefore, it must eventually return to pickup a dropped off swap-body Cust. Cust. Swap Location … Cust. … 10 Swap-Body VRP Swap Actions / Subtours Cust. • A swap-body belongs to its vehicle, and cannot be abandoned. Therefore, it must eventually return to pick up a dropped off swapbody … Cust. Cust. Swap Location Cust. … 11 Swap-Body VRP Swap Actions / Subtours • A train may choose to serve a customer from a swap-body (or partially from both), but there is no load transfer allowed 10 10 5 Cust. Demand: 5 12 Swap-Body VRP Swap Actions / Subtours • A train may choose to serve a customer from a swap-body (or partially from both), but there is no load transfer allowed 10 7 10 8 Cust. Demand: 5 13 Swap-Body VRP Swap Actions / Subtours • A train may choose to serve a customer from a swap-body (or partially from both), but there is no load transfer allowed 5 3 Swap Location Subtour Demand: 7 14 Swap-Body VRP Swap Actions / Subtours • A simple procedure for determining the feasibility of a route’s subtours: Check whether any one subtour exceeds demand, (Q), or the sum of the entire route’s demand exceeds 2Q If both are not violated, use a simple dynamic programming approach to construct the closest possible solution to the partition problem (where the elements of the set correspond to the demands of the subtours). If this produces two partitions with sums P1 and P2 , then check P1 < Q and P2 < Q • Subtour demands: {2, 5, 6, 3, 2}, Q = 10 10 5 6 2 2 3 Swap-Body 1 Swap-Body 2 15 Swap-Body VRP Swap Actions / Subtours • After a route is determined, its optimal orientation can be found by solving the main tour orientation separately from the subtour • Because an exchange is the most costly operation, we minimize the number of exchanges, which means minimizing the number of transitions in a binary representation of the subtour swap-body string: Suppose the string was {1,1,0,0,1} This corresponds to {exchange, no action, exchange, no action, exchange} First rule: serve first subtour from swap-body 1 (can always flip and maintain feasibility) Idea: exchange swap-bodies that serve subtours to get consecutive subtours on the same swap-body 16 Swap-Body VRP Example 17 Heuristic • Idea: try to repurpose and reuse existing code as much as possible, (in this case, COIN-OR’s VRPH Code from Chris Groër) Flexible for drop-in solver, (i.e., any capacitated vehicle routing problem solver may be used for initialization) When compared to heuristics specifically designed for the SB-VRP and/or exact solvers, solution quality can help quantify the ‘difficulty’ of the variant (the gap is a proxy for the difference in structure) Cuts down development time 18 Heuristic: Two Stages • We approach the problem using a two-stage heuristic: In the first stage, we ignore subtours entirely, and model as many elements of the problem as a traditional VRP, (homogeneous fleet, with service times), that allows us to use any VRP solver to obtain a feasible initial solution. In the second stage, we apply improvement procedures, some of which are designed to introduce subtours into the solution, and some of which are slightly modified versions of VRP local search operators. Stage 1 Stage 2 19 Heuristic: Stage 1 • (Asymmetric) VRP Model If there are truck-only customers, fleet only contains trucks Service time added to the depot to reflect the vehicle cost V SDepot = a * C Ct -1 -1 é $D ù é ù C a = ê1+ ú = ê1+V * D ú CT û ë $T û ë V» D T Weights in the graph are according to time (since a max route duration exists) • Used codes in the VRPH library, with minor modifications to solve the VRP model 20 Heuristic: Stage 2 • Improvement Procedures • 2-Swap between main tours. 2-Opt on a main tour. Distance-constrained evacuation. Distance-constrained exchange. Truck-only customer migration. Perturbation: Exchange several random strings of nodes between main tours. 2-Swap 2-Opt 21 Heuristic: Stage 2 • Improvement Procedures • 2-Swap between main tours. 2-Opt on a main tour. Distance-constrained evacuation. Distance-constrained exchange. Truck-only customer migration. Perturbation: Exchange several random strings of nodes between main tours. Distance-constrained evacuation 22 Heuristic: Stage 2 • Improvement Procedures • 2-Swap between main tours. 2-Opt on a main tour. Distance-constrained evacuation. Distance-constrained exchange. Truck-only customer migration. Perturbation: Exchange several random strings of nodes between main tours. Distance-constrained exchange 23 Heuristic: Stage 2 • Improvement Procedures • 2-Swap between main tours. 2-Opt on a main tour. Distance-constrained evacuation. Distance-constrained exchange. Truck-only customer migration. Perturbation: Exchange several random strings of nodes between main tours. Truck-only customer migration 24 Test Instances • VeRoLog 2014 Solver Challenge 27 teams Common set of test data 9 public instances 3 small, 3 medium, and 3 large instances For each size, the three instances were identical, except for the restrictions on which vehicle types could visit the customers In one instance, all customers could be reached by all vehicle types In one instance, all customers could only be reached by trucks In one instance, some customers could be reached by trains, and some could not 3 hidden instances Teams provided only with their performance on these instances • Platform Algorithm written in C++ Core i7 2.8 GHz (2009), 8 GB RAM PC 25 Computational Results Instance nSL nC VRPH Improvement Small 20 57 5452,99 4959 Small (Trailer) 20 57 4930,06 4868,67 Small (Truck) 20 57 5357,03 5356,36 Medium 41 206 8735,81 8293,06 Medium (Trailer) 41 206 8434,87 8330,78 Medium (Truck) 41 206 8698,13 8614,46 Large 99 548 22851,1 21463,2 Large (Trailer) 99 548 21160,5 21020,3 Large (Truck) 99 548 22593,4 22468,7 New NA NA NA 26712,4 New (Trailer) NA NA NA 26658,1 New (Truck) NA NA NA 26712,4 NA = Not Available nSL = number of swap locations nC = number of customers 26 Conclusions • Solving the SB-VRP as VRP gives good performance (outperformed initial clustering approach, and two-stage approach to subtour formation) • VRPH leverages existing solvers, but the subtour structure seems suboptimal • Parts of the swap-body VRP can be simplified (e.g., subtour feasibility, separate fixed vehicle costs and time costs). • Most difficult aspect is understanding the interaction between subtours and neighboring routes 27 References • Caramia, M., Guerriero, F., 2010. A heuristic approach for the truck and trailer routing problem. Journal of the Operational Research Society 61(7), 1168 – 1180. • Chao, I., 2002. A tabu search method for the truck and trailer routing problem. Computers & Operations Research 29(1), 33 – 51 • Derigs, U., Pullmann, M., Vogel, U., 2013. Truck and trailer routing- problems, heuristics and computational experience. Computers & Oper- ations Research 40(2), 536 – 546. • Drexl, M., 2011. Branch-and-price and heuristic column generation for the generalized truck-andtrailer routing problem. Revista De Metodos Cuan- titativos Para La Economia Y La Empresa 12, 5–38. • Drexl, M., 2007. On some generalized routing problems. Ph.D thesis, RWTH Aachen University, Germany. • Drexl, M., 2014. Branch-and-cut algorithms for the vehicle routing problem with trailers and transshipments. Networks 63(1), 119 – 133. • Gerdessen, J. C., 1996. Vehicle routing problem with trailers. European Journal of Operational Research 93(1), 135 – 147. • . 28 References • Groër, C., 2011. VRPH. http://www.coin-or.org/projects/VRPH.xml. • Hansen, P., Mladenovic, N., 2001. Variable neighborhood search: Principles and applications. European Journal of Operational Research 130(3), 449 – 467. • Lin, S. W., Yu, V. F., Chou, S. Y., 2009. Solving the truck and trailer routing problem based on a simulated annealing heuristic. Computers & Operations Research 36(5), 1683 – 1692. 24 References • Lin, S. W., Yu, V. F., Chou, S. Y., 2010. A note on the truck and trailer routing problem. Expert Systems with Applications 37(1), 899 – 903. • Lin, S. W., Yu, V. F., Lu, C. C., 2011. A simulated annealing heuristic for the truck and trailer routing problem with time windows. Expert Systems with Applications 38(12), 15244 – 15252. • Scheuerer, S., 2006. A tabu search heuristic for the truck and trailer routing problem. Computers & Operations Research 33(4), 894 – 909. • Semet, F., 1995. A two-phase algorithm for the partial accessibility con- strained vehicle routing problem. Annals of Operations Research 61(1), 45–65. 29 References • VeRoLog, 2014. http://verolog.deis.unibo.it/news-events/general-news /verolog-solver-challenge2014. • VeRoLog, 2014. http://verolog.deis.unibo.it/sites/verolog.deis.unibo.it/files /VSC2014 %20Problem.pdf. • Villegas, J. G., Prins, C., Prodhon, C., Medaglia, A. L., Velasco, N., 2011. A GRASP with evolutionary path relinking for the truck and trailer routing problem. Computers & Operations Research 38(9), 1319 – 1334. • Villegas, J. G., Prins, C., Prodhon, C., Medaglia, A. L., Velasco, N., 2013. A matheuristic for the truck and trailer routing problem. European Journal of Operational Research 230(2), 231 – 244. • Yu, V., Lin, T., Lu, C., 2011. An ant colony system for solving the truck and trailer routing problem. Journal of the Chinese Institute of Transportation 23(2), 199 – 218. 30