The Vehicle Routing Problem Decision-aid Methodologies in Transportation: Computer Lab 11 Iliya Markov Transport and Mobility Laboratory School of Architecture, Civil and Environmental Engineering ´ Ecole Polytechnique F´ ed´ erale de Lausanne May 5, 2015 Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 1 / 21
Overview Introduction 1 MILP Formulation 2 Extensions 3 Solution approaches 4 Exercise 5 References 6 Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 2 / 21
Introduction Overview Introduction 1 MILP Formulation 2 Extensions 3 Solution approaches 4 Exercise 5 References 6 Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 3 / 21
Introduction Introduction Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 4 / 21
Introduction Introduction The Vehicle Routing Problem (VRP) is a combinatorial optimization and integer programming problem that seeks to find c 7 c 8 c 9 the most efficient utilization and routing c 6 of a vehicle fleet to service a set of c 10 customers subject to constraints. depot c 11 It was introduced by Dantzig and Ramser c 5 (1959), and is one of the most practically c 2 relevant and widely studied problems in c 4 Operations Research. c 3 c 1 It has numerous applications in the distribution and collection of goods and the transportation of people. Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 5 / 21
MILP Formulation Overview Introduction 1 MILP Formulation 2 Extensions 3 Solution approaches 4 Exercise 5 References 6 Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 6 / 21
MILP Formulation Formulating the capacitated VRP (CVRP) We present the three-index directed vehicle-flow formulation of the VRP, modified from Golden, Magnanti and Nguyen (1977). For it, we need to define the following: Sets: K is a set of identical vehicles N is a set of all nodes, where the depot is represented by two nodes, o and d , for the start and end point of each tour Parameters: Q is the vehicle capacity q i is the demand at node i c ij is the travel cost from node i to j Variables: x ijk = 1 iff vehicle k moves from node i to j ; 0 otherwise y ik = 1 iff vehicle k visits node i ; 0 otherwise u ik is the cumulated demand serviced by vehicle k when arriving at node i Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 7 / 21
MILP Formulation Formulating the capacitated VRP (CVRP) Objective: minimize total travel cost � � � minimize c ij x ijk k ∈ K i ∈ N j ∈ N Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 8 / 21
MILP Formulation Formulating the capacitated VRP (CVRP) Objective: minimize total travel cost � � � minimize c ij x ijk k ∈ K i ∈ N j ∈ N A customer is visited by exactly one vehicle � s.t. y ik = 1 , ∀ i ∈ N \ { o , d } k ∈ K Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 8 / 21
MILP Formulation Formulating the capacitated VRP (CVRP) Objective: minimize total travel cost � � � minimize c ij x ijk k ∈ K i ∈ N j ∈ N A customer is visited by exactly one vehicle � s.t. y ik = 1 , ∀ i ∈ N \ { o , d } k ∈ K Path-flow � � s.t. x ijk − x jik = 0 , ∀ i ∈ N \ { o , d } , k ∈ K j ∈ N \{ i } j ∈ N \{ i } � � s.t. x ojk − x jok = 1 , ∀ k ∈ K j ∈ N \{ o } j ∈ N \{ o } Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 8 / 21
MILP Formulation Formulating the capacitated VRP (CVRP) Coupling � s.t. y ik = ∀ i ∈ N \ { d } , k ∈ K x ijk , j ∈ N \{ i } � s.t. y dk = x idk , ∀ k ∈ K i ∈ N \{ d } Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 9 / 21
MILP Formulation Formulating the capacitated VRP (CVRP) Coupling � s.t. y ik = ∀ i ∈ N \ { d } , k ∈ K x ijk , j ∈ N \{ i } � s.t. y dk = x idk , ∀ k ∈ K i ∈ N \{ d } Domain s.t. x ijk ∈ { 0 , 1 } , ∀ i , j ∈ N , k ∈ K s.t. y ik ∈ { 0 , 1 } , ∀ i ∈ N , k ∈ K Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 9 / 21
MILP Formulation Let’s stop and think c 7 c 8 c 9 Look at the solution depicted here. c 6 The cycles c 6 − → c 7 − → c 8 − → c 6 and c 10 c 3 − → c 4 − → c 3 are referred to as subtours. depot c 11 Subtours are part of the vehicles’ tours that are disconnected from the depot. c 5 Apparently a solution like this should not exist. c 2 c 4 c 3 c 1 Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 10 / 21
MILP Formulation Let’s stop and think c 7 c 8 c 9 Look at the solution depicted here. c 6 The cycles c 6 − → c 7 − → c 8 − → c 6 and c 10 c 3 − → c 4 − → c 3 are referred to as subtours. depot c 11 Subtours are part of the vehicles’ tours that are disconnected from the depot. c 5 Apparently a solution like this should not exist. c 2 c 4 However, is it a feasible solution for the model c 3 defined above? c 1 Let’s check constraint by constraint. Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 10 / 21
MILP Formulation Let’s stop and think � � � c 7 min c ij x ijk c 8 c 9 k ∈ K i ∈ N j ∈ N c 6 � s.t. y ik = 1 , ∀ i ∈ N \ { o , d } c 10 k ∈ K � � depot c 11 x ijk − x jik = 0 , ∀ i ∈ N \ { o , d } , k ∈ K j ∈ N \{ i } j ∈ N \{ i } c 5 � � x ojk − x jok = 1 , ∀ k ∈ K c 2 c 4 j ∈ N \{ o } j ∈ N \{ o } c 3 � y ik = ∀ i ∈ N \ { d } , k ∈ K x ijk , c 1 j ∈ N \{ i } � y dk = ∀ k ∈ K x idk , i ∈ N \{ d } x ijk ∈ { 0 , 1 } , ∀ i , j ∈ N , k ∈ K y ik ∈ { 0 , 1 } , ∀ i ∈ N , k ∈ K Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 11 / 21
MILP Formulation Subtour elimination constraints The constraints we are missing are called subtour elimination constraints (SEC). Their role is to eliminate the possibility of subtours and to enforce the vehicle capacity constraints. SEC can be formulated in different ways, with an impact on the number of SEC and the integrality gap. Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 12 / 21
MILP Formulation Subtour elimination constraints The constraints we are missing are called subtour elimination constraints (SEC). Their role is to eliminate the possibility of subtours and to enforce the vehicle capacity constraints. SEC can be formulated in different ways, with an impact on the number of SEC and the integrality gap. In the labs, we will focus on the so-called MTZ-formulation introduced by Miller, Tucker and Zemlin (1960) for the TSP. The first set of constraints links the node demand q i with the cumulated demand u ik in a big-M fashion: s.t. u ik + q j ≤ u jk + Q (1 − x ijk ) , ∀ i , j ∈ N , k ∈ K The second set of constraints enforces the vehicle capacity and provides a lower bound for u ik : s.t. q i ≤ u ik ≤ Q , ∀ i ∈ N , k ∈ K Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 12 / 21
MILP Formulation Complete model � � � min c ij x ijk k ∈ K i ∈ N j ∈ N � s.t. y ik = 1 , ∀ i ∈ N \ { o , d } k ∈ K � � x ijk − x jik = 0 , ∀ i ∈ N \ { o , d } , k ∈ K j ∈ N \{ i } j ∈ N \{ i } � � x ojk − x jok = 1 , ∀ k ∈ K j ∈ N \{ o } j ∈ N \{ o } � y ik = x ijk , ∀ i ∈ N \ { d } , k ∈ K j ∈ N \{ i } � y dk = x idk , ∀ k ∈ K i ∈ N \{ d } u ik + q j ≤ u jk + Q (1 − x ijk ) , ∀ i , j ∈ N , k ∈ K q i ≤ u ik ≤ Q , ∀ i ∈ N , k ∈ K x ijk ∈ { 0 , 1 } , ∀ i , j ∈ N , k ∈ K y ik ∈ { 0 , 1 } , ∀ i ∈ N , k ∈ K Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 13 / 21
Extensions Overview Introduction 1 MILP Formulation 2 Extensions 3 Solution approaches 4 Exercise 5 References 6 Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 14 / 21
Extensions Versions of the VRP Many versions of the VRP have been considered in the literature Capacitated VRP VRP with time windows Pickup and delivery VRP VRP with backhauls VRP with split deliveries Periodic VRP Heterogeneous fleet VRP Dial-a-ride problem (DARP) Stochastic VRP Dynamic VRP Inventory routing problem (IRP) etc... The interested student is referred to Toth and Vigo (2002) or Toth and Vigo (2014). The full text of the former can be accessed online from the EPFL library website if you are on campus or connected through VPN. Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 15 / 21
Solution approaches Overview Introduction 1 MILP Formulation 2 Extensions 3 Solution approaches 4 Exercise 5 References 6 Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 16 / 21
Solution approaches Solution approaches The VRP, and by generalization, all of its extensions are NP-hard. Solution approaches can broadly be classified into three categories: Exact approaches: Branch-and-bound Branch-and-cut Branch-and-price-and-cut Heuristic approaches: Construction heuristics Improvement heuristics Metaheuristics–neighborhood based, population based Hybridizations Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 17 / 21
Exercise Overview Introduction 1 MILP Formulation 2 Extensions 3 Solution approaches 4 Exercise 5 References 6 Markov (TRANSP-OR) Computer Lab 11 May 5, 2015 18 / 21
Recommend
More recommend