Vehicle Routing & Scheduling Vehicle Routing & Scheduling - Janny Leung Vehicle Routing & Scheduling Find the best routes and schedule to deliver goods to a set of customers (with specified demands) from a central depot using a fleet of (identical) vehicles 1959 Dantzig and Ramser, ARCO gasoline delivery to gas stations 1964 Clarke and Wright, consumer goods delivery for Coop. Wholesale Society in Midlands, England 1930’s Menger, Travelling salesman problem 1800’s Hamiltonian circuit
Practical Complications Vehicle Routing & Scheduling - Janny Leung Practical Complications Travel costs not symmetric, not known Heterogeneous fleet, fleet size variable Multiple capacity restriction weight, volume, time different for different products Customer-vehicle compatibility Delivery time-windows Pickup & delivery on same route Capacity? Precedence? Multiple depots Optional deliveries (e.g. replenishment), periodic deliveries Complex or multiple objective(s)
Vehicle Routing: Theory and Practice Vehicle Routing & Scheduling - Janny Leung Vehicle Routing: Theory and Practice First generation (1950-60’s) greedy, local improvement heuristics Second generation (1970-80’s) mathematical programming models Third generation ? Artificial intelligence? Human-machine interactive? “on-line” optimisation-based heuristics? Need “robust” approach
Vehicle Routing & Scheduling - Janny Leung Shortest Path Problem Given a network with (non-negative) costs on the arcs, find a “shortest-path” from a given origin node to a destination node. ORIGIN Amarillo Oklahoma City E 90 minutes B 84 84 A I 138 66 120 132 C 90 348 F 60 126 H 156 126 132 48 48 Note: All link times are in minutes J D 150 DESTINATION Fort Worth G
Dijkstra’s algorithm (1959) Vehicle Routing & Scheduling - Janny Leung Dijkstra’s algorithm (1959) 1. Initially, set e0 = 0 and ej= ¥ for all other nodes j. Let R= f. 2. Choose node k among nodes in N\R that minimises ej.Let R ¬ R U {k}. 3. If destination node in R, stop. 4. Update: for each arc (k,j) adjacent to k, ej ¬ min{ ej , ej + dkj } 5. Repeat from Step 2. Fast O(n2) Easy to understand
Vehicle Routing & Scheduling - Janny Leung ORIGIN Amarillo Oklahoma City E 90 minutes B 84 84 A I 138 66 120 132 C 90 348 F 60 126 H 156 126 132 48 48 Note: All link times are in minutes J D 150 DESTINATION Fort Worth G
Travelling Salesman Problem Vehicle Routing & Scheduling - Janny Leung Travelling Salesman Problem Starting from the depot, find a shortest “tour” that visits all other nodes exactly once and returns to the depot. Very difficult (NP-complete) No “quick” method to find a “guaranteed” optimal solution
Lin-Kernighan (1965, 1973) Local improvement heuristics Vehicle Routing & Scheduling - Janny Leung Lin-Kernighan (1965, 1973) Local improvement heuristics 2-opt 3-opt k-opt k j m i (a) n l k j m i (b) n l (a) Current tour (b) Tour after exchange
Vehicle Routing Clarke-Wright (1964) Vehicle Routing & Scheduling - Janny Leung Vehicle Routing Clarke-Wright (1964) Initially, each (customer) is served by a separate route from the depot. Consider merging routes to nodes i and j: savings= sij = di0 + d0j - dij Merge routes with maximum (positive) savings. dA,O dO,A A A dO,A O O dO,B dA,B Depot Depot dB,O B B dB,O
Vehicle Routing & Scheduling - Janny Leung Re-calculate savings for current set of routes: insert at beginning: savings= dX0 + d0A - dXA insert at end: savings= d0X + dB0 - dBX insert in middle: savings= d0X + dX0 + dAB - dAX - dXB Repeat merging until no positive savings. X A X B B A X A B
Practical Vehicle Routing & Scheduling Problems Vehicle Routing & Scheduling - Janny Leung Practical Vehicle Routing & Scheduling Problems fleet of vehicles vehicles capacitated time restrictions
Modified Clarke-Wright Savings methods Capacitated homogeneous fleet calculate C-W savings, but only merge routes if vehicle capacity not exceeded Capacitated non-homogeneous fleet consider vehicle one at a time, merge routes if capacity not exceeded ? Order of vehicles to consider? Delivery time windows only merge routes if delivery time (and/or vehicle capacity) restrictions met
Two-phased Heuristic Gillette & Miller’s Sweep Method (1974) Vehicle Routing & Scheduling - Janny Leung Two-phased Heuristic Gillette & Miller’s Sweep Method (1974) First assigns nodes to vehicles (cluster), then find best route for each cluster. (a) Pickup stop data (b) “Sweep” method solution Geographical region Route #1 10,000 units Pickup points Route #3 8,000 units 1,000 1,000 4,000 4,000 2,000 2,000 3,000 3,000 2,000 2,000 3,000 3,000 3,000 3,000 2,000 1,000 Depot 2,000 1,000 Depot 2,000 2,000 2,000 2,000 Route #2 9,000 units 2,000 2,000
Heuristic Principles for Good Routing and Scheduling (Ballou) Vehicle Routing & Scheduling - Janny Leung Heuristic Principles for Good Routing and Scheduling (Ballou) Customers on a route should be in close proximity (“clustered”) Routes for different days should give tight clusters and avoid overlap Build routes beginning from farthest customer from depot Use largest vehicle first Pickups should be mixed into delivery routes Consider alternate means for a customer isolated from others on same route Tight time-windows should be avoided
Vehicle Routing & Scheduling - Janny Leung Second Generation Mathematical Programming Models and Heuristics
Travelling Salesman Problem
Vehicle Routing & Scheduling - Janny Leung Generalised Assignment Model for Vehicle Routing (Fisher & Jaikumar [1981]) The vehicle routing problem can be represented exactly by the following nonlinear generalized assignment problem. Defining
Vehicle Routing & Scheduling - Janny Leung Of course, we lack a closed form expression for f(yk). The generalized assignment heuristic replaces f(yk) with a linear approximation Si dik yik and solves the resulting linear generalized assignment problem to obtain an assignment of customers to vehicles.
Set Partitioning Model for Vehicle Routing Vehicle Routing & Scheduling - Janny Leung Set Partitioning Model for Vehicle Routing The set partitioning heuristic begins by enumerating a number of candidate vehicle routes. A candidate route is defined by a set S Í {1,…,n} of customers to be delivered by a single vehicle and a delivery sequence for these customers. We index the candidate routes by j and define the following parameters.
Vehicle Routing & Scheduling - Janny Leung There are many effective optimization algorithms for set partitioning. The set partitioning approach will find an optimal solution if the candidate route list contains all feasible routes. In most situations, this would result in a set partitioning problem too large to be solvable, so one instead heuristically generate routes that are likely to be near-optimal for consideration.
Vehicle Routing & Scheduling - Janny Leung Third Generation Optimisation-based heuristics AI techniques human-machine interactive systems Preview-Solve-Review