The Min-Max Split Delivery Multi- Depot 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 ClusterAuxiliary 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 mergeMerged cluster 15
Algorithm: Local search Merged clusterBalanced 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[1 – 10) ▫Medium service[10 – 100) ▫Long service[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 Medium service Long service Average Table 1: Savings from non-split solutions
Computational results: MDA fraction Short service Medium service Long service Short route Medium route Long route Average Table 2: Average savings from splitting with various minimum delivery fractions
Conclusions We developed a heuristic that solved the min- max SDMDVRP – MDA in four stages In future work, we want to improve the algorithm further and compare its performance to other possible approaches 23
24 Q & A