DM204 – Autumn 2013 Scheduling, Timetabling and Routing Lecture 11 Vehicle Routing Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark
Vehicle Routing Outline MILP Models 1. Vehicle Routing 2. MILP Models 2
Vehicle Routing Course Overview MILP Models ✔ Scheduling Timetabling ✔ Classification ✔ Crew/Vehicle Scheduling ✔ Complexity issues Public Transports ✔ Single Machine Workforce scheduling Parallel Machine ✔ Reservations Flow Shop and Job Shop ✔ Education Resource Constrained Project Sport Timetabling Scheduling Model Vehicle Routing MILP Approaches Construction Heuristics Local Search Algorithms 3
Vehicle Routing Outline MILP Models 1. Vehicle Routing 2. MILP Models 4
Vehicle Routing Outline MILP Models 1. Vehicle Routing 2. MILP Models 5
Vehicle Routing Problem Definition MILP Models Vehicle Routing: distribution of goods between depots and customers. Delivery, collection, transportation. Examples: solid waste collection, street cleaning, school bus routing, dial-a-ride systems, transportation of handicapped persons, routing of salespeople and maintenance unit. Vehicle Routing Problems Input: Vehicles, depots, road network, costs and customers requirements. Output: Set of routes such that: requirement of customers are fulfilled, operational constraints are satisfied and a global transportation cost is minimized. 6
Vehicle Routing MILP Models 7
Vehicle Routing Refinement MILP Models Road Network represented by a (directed or undirected) complete graph travel costs and travel times on the arcs obtained by shortest paths Customers vertices of the graph collection or delivery demands time windows for service service time subset of vehicles that can serve them priority (if not obligatory visit) 8
Vehicle Routing MILP Models Vehicles capacity types of goods subsets of arcs traversable fix costs associated to the use of a vehicle distance dependent costs a-priori partition of customers home depot in multi-depot systems drivers with union contracts Operational Constraints vehicle capacity delivery or collection time windows working periods of the vehicle drivers precedence constraints on the customers 9
Vehicle Routing MILP Models Objectives minimization of global transportation cost (variable + fixed costs) minimization of the number of vehicles balancing of the routes minimization of penalties for un-served customers History: Dantzig, Ramser “The truck dispatching problem”, Management Science, 1959 Clark, Wright, “Scheduling of vehicles from a central depot to a number of delivery points”. Operation Research. 1964 10
Vehicle Routing Vehicle Routing Problems MILP Models Capacitated (and Distance Constrained) VRP (CVRP and DCVRP) VRP with Time Windows (VRPTW) VRP with Backhauls (VRPB) VRP with Pickup and Delivery (VRPPD) Periodic VRP (PVRP) Multiple Depot VRP (MDVRP) Split Delivery VRP (SDVRP) VRP with Satellite Facilities (VRPSF) Site Dependent VRP Open VRP Stochastic VRP (SVRP) ... 11
Vehicle Routing Capacitated Vehicle Routing (CVRP) MILP Models Input: (common to all VRPs) (di)graph (strongly connected, typically complete) G ( V , A ) , where V = { 0 , . . . , n } is a vertex set: 0 is the depot. V ′ = V \{ 0 } is the set of n customers A = { ( i , j ) : i , j ∈ V } is a set of arcs C a matrix of non-negative costs or distances c ij between customers i and j (shortest path or Euclidean distance) ( c ik + c kj ≥ c ij ∀ i , j ∈ V ) a non-negative vector of costumer demands d i a set of K (identical!) vehicles with capacity Q , d i ≤ Q 12
Vehicle Routing MILP Models Task: Find collection of K circuits with minimum cost, defined as the sum of the costs of the arcs of the circuits and such that: each circuit visits the depot vertex each customer vertex is visited by exactly one circuit; and the sum of the demands of the vertices visited by a circuit does not exceed the vehicle capacity Q . Note: lower bound on K ⌈ d ( V ′ ) / Q ⌉ number of bins in the associated Bin Packing Problem 13
Vehicle Routing MILP Models A feasible solution is composed of: a partition R 1 , . . . , R m of V ; a permutation π i of R i � { 0 } specifying the order of the customers on route i . A route R i is feasible if � π m i = π 1 d i ≤ Q . The cost of a given route ( R i ) is given by: F ( R i ) = � π i 0 c j , j + 1 m j = π i The cost of the problem solution is: F VRP = � m i = 1 F ( R i ) . 14
Vehicle Routing MILP Models Relation with TSP VRP with K = 1, no limits, no (any) depot, customers with no demand ➜ TSP VRP is a generalization of the Traveling Salesman Problem (TSP) ➜ is NP-Hard. VRP with a depot, K vehicles with no limits, customers with no demand ➜ Multiple TSP = one origin and K salesman Multiple TSP is transformable in a TSP by adding K identical copies of the origin and making costs between copies infinite. 15
Vehicle Routing MILP Models Variants of CVRP: minimize number of vehicles different vehicles Q k , k = 1 , . . . , K Distance-Constrained VRP: length t ij on arcs and total duration of a route cannot exceed T associated with each vehicle Generally c ij = t ij (Service times s i can be added to the travel times of the arcs: t ′ ij = t ij + s i / 2 + s j / 2) Distance constrained CVRP 16
Vehicle Routing Vehicle Routing with Time Windows (VRPTW) MILP Models Further Input: each vertex is also associated with a time interval [ a i , b j ] . each arc is associated with a travel time t ij each vertex is associated with a service time s i Task: Find a collection of K simple circuits with minimum cost, such that: each circuit visit the depot vertex each customer vertex is visited by exactly one circuit; and the sum of the demands of the vertices visited by a circuit does not exceed the vehicle capacity Q . for each customer i , the service starts within the time windows [ a i , b i ] (it is allowed to wait until a i if early arrive) 17
Vehicle Routing MILP Models Time windows induce an orientation of the routes. 18
Vehicle Routing MILP Models Variants Minimize number of routes Minimize hierarchical objective function Makespan VRP with Time Windows (MPTW) minimizing the completion time Delivery Man Problem with Time Windows (DMPTW) minimizing the sum of customers waiting times 19
Vehicle Routing Solution Techniques for CVRP MILP Models Integer Programming Construction Heuristics Local Search Metaheuristics Hybridization with Constraint Programming 20
Vehicle Routing Outline MILP Models 1. Vehicle Routing 2. MILP Models 21
Vehicle Routing Basic Models MILP Models arc flow formulation integer variables on the edges counting the number of time it is traversed one, two or three index variables set partitioning formulation multi-commodity network flow formulation for VRPTW integer variables representing the flow of commodities along the paths traveled by the vehicles and integer variables representing times 22
Vehicle Routing MILP Models Two index arc flow formulation � � min c ij x ij (1) i ∈ V j ∈ V � s.t. x ij = 1 ∀ j ∈ V \ { 0 } (2) i ∈ V � x ij = 1 ∀ i ∈ V \ { 0 } (3) j ∈ V � x i 0 = K (4) i ∈ V � x 0 j = K (5) j ∈ V � � x ij ≥ r ( S ) ∀ S ⊆ V \ { 0 } , S � = ∅ (6) i ∈ S j �∈ S x ij ∈ { 0 , 1 } ∀ i , j ∈ V (7) r ( S ) minimum number of vehicles needed to serve set S (6): capacity-cut constraints 23
Vehicle Routing MILP Models One index arc flow formulation � min c e x e (8) e ∈ E � s.t. x e = 2 ∀ i ∈ V \ { 0 } (9) e ∈ δ ( i ) � x e = 2 K (10) e ∈ δ ( 0 ) � x e ≥ 2 r ( S ) ∀ S ⊆ V \ { 0 } , S � = ∅ (11) e ∈ δ ( S ) x e ∈ { 0 , 1 } ∀ e �∈ δ ( 0 ) (12) x e ∈ { 0 , 1 , 2 } ∀ e ∈ δ ( 0 ) (13) r ( S ) minimum number of vehicles needed to serve set S x e = 2 if we allow single visit routes 24
Vehicle Routing MILP Models Three index arc flow formulation K � � � min (14) c ij x ijk i ∈ V j ∈ V k = 1 K � ∀ i ∈ V \ { 0 } (15) s.t. y ik = 1 k = 1 K � y 0 k = K (16) k = 1 � � x ijk = x jik = y ik ∀ i ∈ V , k = 1 , . . . , K (17) j ∈ V j ∈ V � d i y ik ≤ C ∀ k = 1 , . . . , K (18) i ∈ V � � x ijk ≥ y hk ∀ S ⊆ V \ { 0 } , h ∈ S , k = 1 , . . . , K (19) i ∈ S j �∈ S y ik ∈ { 0 , 1 } ∀ i ∈ V , k = 1 , . . . , K (20) x ijk ∈ { 0 , 1 } ∀ i , j ∈ V , k = 1 , . . . , K (21) 25
Vehicle Routing Commodity Flow Models MILP Models y ij , y ji two commodities and x ij if arc is in solution � min c ij x ij (22) ( i , h ) ∈ A ′ � s.t. ( y ji − y ij ) = 2 d i ∀ i ∈ V \ { 0 , n + 1 } (23) j ∈ V ′ � y 0 j = d ( V \ { 0 , n + 1 } (24) j ∈ V ′ \{ 0 , n + 1 } � y j 0 = KC − d ( V \ { 0 , n + 1 } (25) j ∈ V ′ \{ 0 , n + 1 } � y n + 1 , j = KC (26) j ∈ V ′ \{ 0 , n + 1 } ∀ ij ∈ A ′ (27) y ij + y ji = Cx ij � ∀ i ∈ V \ { 0 , n + 1 } (28) ( x ij + x ji ) = 2 j ∈ V ′ ∀ ij ∈ A ′ (29) y ij ≥ 0 ∀ ij ∈ A ′ (30) x ij ∈ { 0 , 1 } 26
Vehicle Routing Set Partitioning Formulation MILP Models R = { 1 , 2 , . . . , R } index set of routes � 1 if costumer i is served by r a ir = 0 otherwise � 1 if route r is selected x r = 0 otherwise � min c r x r (31) r ∈R � s.t. a ir x r = 1 ∀ i ∈ V (32) r ∈R � x r ≤ K (33) r ∈R x r ∈ { 0 , 1 } ∀ r ∈ R (34) 27
Recommend
More recommend