Plowing the Streets of Pittsburgh A Dynamic Route Planning System J. Kinable 1,2 W-J. van Hoeve 2 S.F. Smith 1 1 Robotics Institute - Carnegie Mellon University, USA 2 Tepper School of Business - Carnegie Mellon University, USA January 19, 2016 J. Kinable (Carnegie Mellon University) January 19, 2016 1 / 33
Motivation & Goals "Drivers have printed routing directions laying on the passenger seat. Most of them know the route (or an interpretation thereof) by heart." "A lot of time is lost due to emergency plow requests." "People complain that primary roads in their district are full of snow, while in other districts tertiary roads have already been serviced." J. Kinable (Carnegie Mellon University) January 19, 2016 3 / 33
Motivation (2) 1 Consumable resource costs: 4,3M$ (2014/2015), 3.3M$ (2013/2014) 2 Labor costs: 3.3M$ (2014/2015) 3 Equipment costs: 800K$ (2014/2015) 4 Snow and ice control staff: 275 safety economy environment Generalizes to street sweeping, street maintenance, garbage collection, etc. J. Kinable (Carnegie Mellon University) January 19, 2016 4 / 33
Goal Design a route planning system that issues optimized turn-by-turn instructions to the vehicles as they execute routes, and dynamically revises these plans as unexpected events force changes. J. Kinable (Carnegie Mellon University) January 19, 2016 5 / 33
Problem Description - Routes Road segments: start/end # lanes priority class shape driving speed directionality J. Kinable (Carnegie Mellon University) January 19, 2016 6 / 33
Problem Description - Vehicles Vehicles: Location Salt Capacity Fuel Capacity Salt economy Fuel economy J. Kinable (Carnegie Mellon University) January 19, 2016 7 / 33
Problem Description - Depots Depots: Location Salt (y/n) Fuel (y/n) J. Kinable (Carnegie Mellon University) January 19, 2016 8 / 33
Related models Chinese postman problem Vehicle routing with resource constraints Resource-constrained project scheduling with renewable and non-renewable resources For overview of Snow plowing literature, see N. Perrier, A. Langevin, et. al: [1, 2, 3, 4] Synchronized arc routing for snow plowing operations [5] City of Dieppe: 24,000 inhabitants, 462 intersections, 1,234 road segments ( 20% Downtown Pittsburgh) J. Kinable (Carnegie Mellon University) January 19, 2016 9 / 33
Model - Objective Objectives: 1 Makespan 2 Minimize deadheading 3 Weighted objective of Completion times per priority class J. Kinable (Carnegie Mellon University) January 19, 2016 10 / 33
Model - Constraints Constraints: 1 Vehicles start/end at depot 2 Every lane on a street segment must be covered, subject to traffic direction. 3 Renewable resource constraints: fuel, salt 4 Time constraints J. Kinable (Carnegie Mellon University) January 19, 2016 11 / 33
Model Job: 1 ID 2 start location 3 end location 4 duration 5 fuel & salt requirement Job types: 1 source depot job 2 target depot job 3 plow job 4 refuel job 5 resupply salt job J. Kinable (Carnegie Mellon University) January 19, 2016 12 / 33
Mathematical models Mixed Integer Programming Constraint Programming J. Kinable (Carnegie Mellon University) January 19, 2016 13 / 33
Mixed Integer Programming Model - Outline Variables: Three-index formulation: Vehicle k performs job j after job i. Variables recording resource utilization: time, salt, fuel Constraints: All plow jobs have to be performed, refuel/resupply jobs are optional Decide on direction for bidirectional jobs Resource constraints for fuel/salt/time J. Kinable (Carnegie Mellon University) January 19, 2016 14 / 33
Constraint Programming Model - Outline Variables: Job (interval) variables. Job to vehicle assignment variables Constraints (outline): Job sequencing constraints for each vehicle Alternative constraint for job to vehicle assignment Cumulative functions to manage resources J. Kinable (Carnegie Mellon University) January 19, 2016 15 / 33
Heuristic Constructive Heuristic Late Acceptance improvement heuristic J. Kinable (Carnegie Mellon University) January 19, 2016 16 / 33
Constructive Heuristic - Phase 1 1 Order jobs based on their priority 2 Constructively build schedules - Insert jobs 1 by 1? J. Kinable (Carnegie Mellon University) January 19, 2016 17 / 33
Constructive Heuristic - Phase 2 1 Insert Refuel and Resupply salt jobs Fuel Time?? J. Kinable (Carnegie Mellon University) January 19, 2016 18 / 33
Late acceptance improvement heuristic Quality (lower is better) Compare with solution L iterations ago Candidate solution Solution L iterations ago Iteration J. Kinable (Carnegie Mellon University) January 19, 2016 19 / 33
Late acceptance heuristic Moves: 1 Swap 2 Remove/insert Termination: 1 Time limit 2 Max number of non-improvements J. Kinable (Carnegie Mellon University) January 19, 2016 20 / 33
Experiments - Setup 1 Take 2 snapshots from OSM 2 Extract graph, pre-process and ensure Strong Connectivity 3 Execute routing algorithm J. Kinable (Carnegie Mellon University) January 19, 2016 21 / 33
Routing and Plowing Graph J. Kinable (Carnegie Mellon University) January 19, 2016 22 / 33
Experiments (4/22 instances) Kamin St: 1 28 intersections 2 45 plow jobs 3 plowing: 4mi 4 bidirectional: 38% mt Washington: 1 406 intersections 2 577 plow jobs 3 plowing: 52mi 4 bidirectional: 81% Residential: 1 2441 intersections 2 4073 plow jobs 3 plowing: 316mi 4 bidirectional: 64% Downtown: 1 345 intersections 2 724 plow jobs 3 plowing: 38mi 4 bidirectional: 38% J. Kinable (Carnegie Mellon University) January 19, 2016 23 / 33
Experiments J. Kinable (Carnegie Mellon University) January 19, 2016 24 / 33
Experiments - Kamin 1 0.8 Coverage(%) 0.6 0.4 0.2 0 00:00:00 00:02:00 00:04:00 00:06:00 00:08:00 Time LA range LA average Constructive Heuristic CP 00:10:00 00:12:00 00:14:00 00:16:00 J. Kinable (Carnegie Mellon University) January 19, 2016 25 / 33
Experiments - Downtown 1 0.8 Coverage(%) 0.6 0.4 0.2 0 00:00:00 00:10:00 00:20:00 00:30:00 00:40:00 00:50:00 Time LA range LA average Constructive Heuristic CP 01:00:00 01:10:00 01:20:00 01:30:00 J. Kinable (Carnegie Mellon University) January 19, 2016 26 / 33
Experiments - Mnt Washington 1 0.8 Coverage(%) 0.6 0.4 0.2 0 00:00:00 00:10:00 00:20:00 00:30:00 00:40:00 00:50:00 01:00:00 Time 01:10:00 LA range LA average Constructive Heuristic CP 01:20:00 01:30:00 01:40:00 01:50:00 02:00:00 J. Kinable (Carnegie Mellon University) January 19, 2016 27 / 33
Experiments - Residential 1 0.8 Coverage(%) 0.6 0.4 0.2 0 00:00:00 01:00:00 02:00:00 03:00:00 04:00:00 05:00:00 Time LA range LA average Constructive Heuristic 06:00:00 07:00:00 08:00:00 09:00:00 10:00:00 J. Kinable (Carnegie Mellon University) January 19, 2016 28 / 33
Experiments - Residential Pittsburgh solution Schedule completion time: 07:38:33 05:30:00 05:00:00 04:30:00 04:00:00 Pittsburgh Residential - Makespan (runtime 2h) Plowing Deadheading 50 45 40 35 30 Pittsburgh Residential - Makespan (runtime 2h) Refuels Resupply salt U-turns Time 03:30:00 03:00:00 02:30:00 02:00:00 Value 25 20 15 10 5 01:30:00 1 2 3 4 5 Vehicle 0 1 2 3 4 5 Vehicle J. Kinable (Carnegie Mellon University) January 19, 2016 29 / 33
Summary of preliminary results MIP not suitable: bounds are too weak CP works well for small instances Constructive heuristic finds reasonable solutions in ms. LA heuristic produces solutions of consistent quality Idea: Improve LA solutions with a CP-Large Neighborhood Search J. Kinable (Carnegie Mellon University) January 19, 2016 30 / 33
Future requirements 1 Road priorities 2 U-turns 3 Vehicle weight/width restrictions on roads 4 Efficient construction/updating of distance matrix 5 Adaptive system J. Kinable (Carnegie Mellon University) January 19, 2016 31 / 33
Bibliography I [1] N. Perrier, A. Langevin, and J. F. Campbell, A survey of models and algorithms for winter road maintenance. part i: system design for spreading and plowing. Computers & Operations Research, vol. 33, pp. 209 238, 2006. [2], A survey of models and algorithms for winter road maintenance. part ii: system design for snow disposal, Computers & Operations Research, vol. 33, no. 1, pp. 239 262, 2006. [3], A survey of models and algorithms for winter road maintenance. part iii: Vehicle routing and depot location for spreading, Computers & Operations Research, vol. 34, no. 1, pp. 211 257, 2007. J. Kinable (Carnegie Mellon University) January 19, 2016 32 / 33
Bibliography II [4], A survey of models and algorithms for winter road maintenance. part iv: Vehicle routing and fleet sizing for plowing and snow disposal, Computers & Operations Research, vol. 34, no. 1, pp. 258 294, 2007. [5] M. A. Salazar-Aguilar, A. Langevin, and G. Laporte, Synchronized arc routing for snow plowing operations. Computers & Operations Research, vol. 39, no. 7, pp. 1432 1440, 2012. J. Kinable (Carnegie Mellon University) January 19, 2016 33 / 33