The Min-Max Split Delivery MultiDepot Vehicle Routing Problem with Minimum Delivery Amounts X. Wang, B. Golden, and E. Wasil INFORMS San Francisco November 2014 Introduction: Min-max objective • In the Multi-Depot VRP, the objective is to minimize the total distance traveled by all vehicles • In the min-max MDVRP, the objective is to minimize the maximum distance traveled by a vehicle (Carlsson et al. 2009) 1 Introduction Why is the min-max objective important? • Applications ▫ Disaster relief efforts Serve all victims as soon as possible ▫ Computer networks Minimize maximum latency between a server and a client ▫ Workload balance Balance workload among drivers or across time horizon 2 Introduction: Split service • Yakici and Karasakal (2013) studied a min-max service VRP with split delivery and heterogeneous demand • Duration of a route = travel time + service time • Service times can significantly change the optimal routing plan of the min-max VRP (Bertazzi et al. 2014) 3 Introduction: Minimum delivery • Split delivery may inconvenience the customers • Gulczynski et al. (2010) introduced a split delivery VRP with minimum delivery amounts 4 Introduction: Min-max SDMDVRP-MDA • We want to develop an algorithm for a problem with ▫ ▫ ▫ ▫ ▫ Min-max objective Multiple depots Service times Split deliveries Minimum delivery amounts 5 Structural Properties • k-split cycle (Dror and Trudeau, 1970) • Any min-max SDMDVRP (no minimum delivery requirement) has an optimal solution in which there is no k-split cycle 6 Structural properties: Clusters • Consider an auxiliary graph ▫ Vertices: routes ▫ Edges: customers with split service • A cluster of routes is a set of routes with the corresponding vertices in a connected component of the auxiliary graph 7 Structural properties: Clusters 8 Structural properties • Any min-max SDMDVRP has an optimal solution such that any two routes that split a customer have the same duration • Any min-max SDMDVRP has an optimal solution with all routes in the same cluster having the same duration (balanced clusters) 9 Algorithm: Cluster balance subroutine • The balanced structure is frequently disrupted during the local search procedure • We developed a cluster balance subroutine using a network model to ▫ Restore balance if possible ▫ Break up clusters if balance cannot be restored 10 Algorithm: Cluster balance subroutine Cluster Auxiliary graph 11 Algorithm: Cluster balance subroutine • Compute the target duration • Determine the flows that minimize the maximum deviation of the route durations from the target duration • If the maximum deviation is zero, balance is restored; otherwise, break the cluster 12 Algorithm • Initialization ▫ We modified MD (Wang et al. 2014) to initialize a feasible solution with no split deliveries • Local search (ignoring minimum delivery amounts) ▫ Step 1. From the cluster with the longest route duration, identify a customer to split, starting from the end customers 13 Algorithm • Local search ▫ Step 2. Locate a position in another cluster to insert the customer (cheapest insertion) ▫ Step 3. Merge the two clusters ▫ Step 4. Restore balance in the merged cluster Improved – go back to Step 1 Not improved – try splitting another customer ▫ Step 5. Stop if we have tried to split every customer in the cluster 14 Algorithm: Local search Before merge Merged cluster 15 Algorithm: Local search Merged cluster Balanced cluster 16 Algorithm • Perturbation ▫ Step 1. Perturb the locations of the depots 17 Algorithm • Perturbation ▫ Step 2. Solve the new problem ▫ Step 3. Set the depots back to the their original positions ▫ Step 4. Solve the problem and update the solution ▫ Step 5. Repeat the process until there is no improvement for five consecutive perturbations 18 Algorithm: Satisfy the minimum delivery amounts • Apply the cluster balance subroutine with additional constraints ▫ If delivered service <= minimum amount/2 Remove all service ▫ If delivered service > minimum amount/2 Increase the service delivered to the minimum amount 19 Computational results • Generated 258 test instances from the 43 instances in Wang et al. (2014) • Service time ▫ Short service ▫ Medium service ▫ Long service [1 – 10) [10 – 100) [100 – 1000) • Customer-to-vehicle ratio ▫ Short route (less than 20) ▫ Medium route(between 20 and 50) ▫ Long route (between 50 and 100) 20 Computational results Short route Medium route Long route Average Short service 2.64 0.68 0.28 1.24 Medium service 4.60 1.08 0.33 2.08 Long service 7.80 1.61 0.55 3.45 Average 5.01 1.12 0.39 2.26 (%) Table 1: Savings from non-split solutions 21 Computational results: MDA fraction 0 0.1 0.2 0.3 0.4 Short service 1.24 1.21 1.11 1.00 0.84 Medium service 2.08 1.89 1.53 1.23 0.76 Long service 3.45 3.19 2.83 2.39 1.73 Short route 5.01 4.71 4.16 3.49 2.56 Medium route 1.12 1.01 0.84 0.73 0.51 Long route 0.39 0.34 0.27 0.22 0.14 Average 2.26 2.10 1.83 1.54 1.11 Table 2: Average savings from splitting with various minimum delivery fractions 22 Conclusions • We developed a heuristic that solved the minmax SDMDVRP – MDA in four stages • In future work, we want to improve the algorithm further and compare its performance to other possible approaches 23 Q&A wangxy@umd.edu 24