Solving the Min-Max Multi-Depot Vehicle Routing Problem

Download Report

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

[email protected]

24