Solving the Min-Max Multi-Depot Vehicle Routing Problem

advertisement
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
Download