Transcript Solving the Min-Max Multi-Depot Vehicle Routing Problem
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
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 [1 – 10) [10 – 100) ▫ Long service [100 – 1000) Customer-to-vehicle ratio ▫ Short route ▫ Long route (less than 20) ▫ Medium route(between 20 and 50) (between 50 and 100) 20
Computational results
(%) Short service Medium service Long service Average Short route
2.64
4.60
7.80
5.01
Medium route
0.68
1.08
1.61
1.12
Long route
0.28
0.33
0.55
0.39
Table 1: Savings from non-split solutions
Average
1.24
2.08
3.45
2.26
21
Computational results:
MDA fraction Short service Medium service Long service Short route Medium route Long route Average 0
1.24
2.08
3.45
5.01
1.12
0.39
2.26
0.1
1.21
1.89
3.19
4.71
1.01
0.34
2.10
0.2
1.11
1.53
2.83
4.16
0.84
0.27
1.83
0.3
1.00
1.23
2.39
3.49
0.73
0.22
1.54
0.4
0.84
0.76
1.73
2.56
0.51
0.14
1.11
Table 2: Average savings from splitting with various minimum delivery fractions 22
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
Q & A
24