How to Optimize Snow Plow Routes: A Complete Guide for Municipal Operations
From road network data to measurably faster clearance times — a step-by-step process for municipalities ready to treat routing as an engineering problem.
Greg Dogum · 2026-01-15
Municipal snow removal is one of the largest line items in northern city budgets. U.S. state and local agencies spend $2.3–4 billion annually on winter road maintenance, with individual states like Minnesota spending $133 million in a single season. For most cities, the routes that plow trucks follow were designed years or decades ago by experienced operators using paper maps and local knowledge. Those routes work. But "works" and "optimized" are not the same thing.
Research consistently shows that formal route optimization reduces deadhead distance — the miles driven with the blade up between service passes — by 13 to 26 percent compared to conventional routing 123. On a fleet running 20 trucks across a full winter season, that's thousands of unnecessary miles eliminated, meaningful fuel savings, and measurably faster clearance times for residential streets.
This guide walks through the process: understanding the problem, gathering the data, measuring your baseline, choosing an optimization approach, and implementing changes.
Step 1: Understand what you're optimizing
Snow plowing is an arc-routing problem. Every road in the service zone must be traversed — there's nothing to skip. The optimization isn't about choosing which roads to plow; it's about choosing the order and direction each truck plows them to minimize wasted travel.
The waste you're targeting is called deadheading: driving with the blade up, repositioning between service passes. Across the towns in PlowPath's gallery (October 2026), a naive greedy approach (always drive to the nearest unplowed street) produces deadhead rates from 23% to 71% of total distance driven, 45% at the median. On a typical town, for every two miles your trucks drive during a storm, roughly one mile clears no snow.
The metric that captures this is the deadhead ratio: deadhead distance divided by total distance driven. Lower is better. A deadhead ratio of 45% means nearly half your driving is unproductive. Optimized routes in the gallery land between under 1% and 41% on real road networks, 15% at the median. The pipeline walks through every step on one town, Oberlin, Ohio.
The theoretical floor comes from the Chinese Postman Problem — an idealized single-vehicle traversal of every edge with no capacity constraints. This floor sits at 1–5% for real networks but isn't practically achievable with multi-vehicle fleets that need to reload salt. It serves as the benchmark: the gap between Chinese Postman and your current ratio is the total inefficiency, and the gap between your current ratio and an optimized solution is the recoverable waste.
Step 2: Gather your road network data
Route optimization starts with a graph representation of your road network. You need three things:
Road geometry. Every road segment in your service zone, represented as edges in a graph with accurate distances. The most accessible source is OpenStreetMap (OSM), which provides free, downloadable road network data for every municipality in the United States. OSM data includes road classification (highway, primary, secondary, residential), one-way designations, and geographic coordinates. PlowPath and most academic CARP solvers can ingest OSM data directly.
Priority classification. Most municipalities operate a three-tier system. Tier 1 arterials — hospital access roads, emergency routes, major thoroughfares — must be cleared first, typically within 2–4 hours. Tier 2 collectors are next, within 6–8 hours. Tier 3 residential streets are last, within 12–24 hours. Your priority assignments may already exist in a GIS system or public works database. If not, OSM highway tags (trunk, primary, secondary, tertiary, residential) provide a reasonable starting classification that can be refined with local knowledge.
Depot locations and fleet data. Where do your trucks start and return to? How many trucks are available? What is each truck's salt capacity (typically 8–14 tons)? How many lane-miles can a truck service before needing to reload? If you have multiple depots, their geographic distribution relative to the road network significantly affects optimal routes — a depot on the edge of the service area creates fundamentally different route structures than one in the center.
Most municipalities already have this data — it's just not assembled in a format that a routing solver can use. The assembly step is often the most time-consuming part of the process, but it only needs to be done once. Road networks change slowly; a model built this year will be valid for several seasons with minor updates.
Step 3: Establish your baseline
Before optimizing, you need to know where you stand. If your trucks have GPS, you already have the data.
Pull GPS traces from your most recent storm events and calculate the current deadhead ratio for each truck and each route. You'll need to distinguish service miles (blade down, spreading salt) from deadhead miles (blade up, repositioning). Most modern fleet management platforms — Samsara, Routeware, Verizon Connect — can tag this distinction using plow position sensors. If you don't have blade-position data, you can approximate by comparing the GPS trace against the assigned route: segments that match the route are service; segments off-route or retracing covered roads are deadhead.
Compute the deadhead ratio per truck, per route, and per storm event. Look for patterns:
High-deadhead routes are your highest-leverage targets. A route at 55% has more recoverable waste than one at 30%. Focus optimization efforts on the worst performers first.
Depot-adjacent patterns. If trucks consistently deadhead long distances to and from the depot for salt reloads, the reload timing or depot assignment may be suboptimal.
Zigzag traces. Pull up GPS traces on a map. Unoptimized routes show visible crisscrossing — a truck driving past unplowed roads to reach a distant one, then doubling back. Optimized routes look like systematic sweeps with short transitions. You can see this contrast visually in PlowPath's city gallery, where every city shows both the greedy baseline and the CARP-optimized routes side by side.
Inter-truck overlap. If two trucks' traces overlap significantly in the same area, the zone assignments may need rebalancing.
If you don't have GPS data yet, you can still establish a baseline by running a greedy simulation on your road network — assigning each truck to the nearest unplowed road at each decision point. This produces an estimate that typically lands between 40% and 55%, giving you a conservative baseline against which to measure optimization gains.
Step 4: Choose your optimization approach
There are three tiers of optimization, each with different implementation effort and expected improvement.
Tier 1: Manual route redesign
Effort: Low. Impact: Moderate (5–10% deadhead-ratio improvement).
Using your baseline data, identify the most obvious inefficiencies — the routes where trucks deadhead across the zone to reach isolated pockets, where depot returns happen far from the depot, or where priority tier transitions create unnecessary travel. Manually redesign these routes to create more geographically contiguous zones with natural depot-return points.
This is the approach most municipalities use today, and it works reasonably well when done by experienced operators who know the road network intimately. The limitation is that human intuition can't optimize across 2,000+ edge segments simultaneously. You'll catch the big inefficiencies but miss the compound savings that come from precise sequencing.
Tier 2: Heuristic optimization
Effort: Moderate. Impact: Significant (10–20% deadhead-ratio improvement).
Apply algorithmic heuristics to generate route sequences. The most effective framework is route-first, cluster-second: construct a single giant tour covering all edges (using a nearest-neighbor or savings-based heuristic), then split it into vehicle-feasible routes using Ulusoy splitting that respects salt capacity and depot returns. This is the approach PlowPath uses for its CARP solver.
Follow the initial solution with local search — systematically swap, reorder, and move edge assignments between routes, keeping any change that reduces total deadhead. Common operators include 2-opt (reversing a segment within a route), or-opt (moving a sequence to a better position), and cross-exchange (swapping segments between trucks).
This approach requires software — either a commercial CARP solver, a purpose-built tool like PlowPath, or a custom build. The input is your road network graph, depot locations, fleet data, and priority assignments. The output is a set of turn-by-turn route sequences for each truck.
Tier 3: Metaheuristic and multi-objective optimization
Effort: High. Impact: Maximum (15–26% deadhead-ratio improvement, plus tradeoff visibility).
Multi-objective evolutionary algorithms like NSGA-II don't just minimize deadhead — they simultaneously optimize across competing objectives: deadhead distance, total clearance time, fuel consumption, salt usage, and priority tier compliance. The output is a Pareto frontier: a set of solutions showing exactly what you trade for every percentage point of deadhead-ratio improvement.
This matters because the deadhead ratio isn't the only thing that matters. A route at 28% that clears all arterials in 2.5 hours might be preferable to a route at 25% that takes 3.5 hours to finish arterials. The Pareto frontier makes these tradeoffs visible and lets operations managers choose the solution that best fits their priorities. PlowPath's NSGA-II solver produces these frontiers, and four towns in the gallery have one so far.
Tier 3 also enables storm simulation — modeling time-evolving snow accumulation with dynamic re-planning. As plowed roads re-accumulate during an extended storm, the solver can re-sequence routes to address re-plowing needs, accounting for snowfall intensity and road exposure.
Step 5: Validate before you deploy
An optimized route that looks good on paper can fail in practice if it ignores ground truth that the model doesn't capture:
Turnaround restrictions. Some roads don't allow U-turns or have medians that prevent plowing both directions in a single pass. The solver may assume bidirectional traversal where it's physically impossible. Walk the routes with experienced drivers before deployment.
Grade and terrain. Steep hills may require downhill-only plowing passes or different plow/salt configurations. If your model uses flat-distance edge weights, it will underestimate the cost of hilly routes. Elevation-aware models — PlowPath uses Google Elevation API with SRTM fallback — address this but add complexity.
Equipment heterogeneity. If your fleet includes different truck sizes, blade widths, or salt capacities, the solver must model each vehicle's constraints separately. A route optimized for a 12-ton truck will fail if assigned to an 8-ton truck that needs more frequent depot returns.
Driver familiarity. Routes that are mathematically optimal but unfamiliar to drivers will be executed less efficiently in the first storms. Plan for a transition period where drivers run the new routes in dry conditions or light storms before full deployment. The CMU Pittsburgh study found that even their dramatically shorter routes required driver orientation to achieve full efficiency gains.
Incremental rollout. Don't replace all routes at once. Start with your 3–5 highest-deadhead routes, measure the improvement over several storm events, and expand. This lets you validate the optimization against real conditions and build operational confidence before fleet-wide adoption.
Step 6: Measure and iterate
After deploying optimized routes, measure the deadhead ratio on the same per-truck, per-route, per-storm basis you used for the baseline. Compare directly: same route zone, same storm conditions (as close as possible), old sequence vs new sequence.
Expect the first-storm execution to underperform the model's prediction — driver unfamiliarity, unexpected road conditions, and equipment issues will introduce variance. By the third or fourth storm on the new routes, performance should converge toward the modeled ratio.
Track improvements over the full season and report them in terms the budget conversation understands: miles saved, fuel gallons saved, hours of faster clearance on residential streets, and reduction in overtime labor. A 15% deadhead reduction across a 20-truck fleet operating 30 storms per season can translate to substantial budget savings — enough to justify the optimization investment many times over. The Iowa DOT study measured 13.2% deadhead reduction; the CMU study found routes up to 156% longer than optimal.
Road networks change slowly, but they do change. New developments, road closures, depot relocations, and fleet changes all affect optimal routes. Re-run the optimization annually or whenever significant network changes occur. The data pipeline — OSM download, classification, solver run — should take hours, not weeks, once established.
The bottom line
Snow plow route optimization isn't a technology purchase. It's a measurement practice. You measure your baseline deadhead ratio, apply mathematical solvers to reduce deadheading, validate against ground truth, deploy incrementally, and measure again. The road network data is free. The algorithms are well-established. The improvements are consistent and well-documented across dozens of research studies and municipal deployments.
The cities that plow most efficiently aren't necessarily the ones with the biggest budgets or the newest trucks. They're the ones that have treated routing as an engineering problem with a quantifiable solution — rather than an art practiced by institutional memory alone.
PlowPath runs CARP solvers on real OpenStreetMap road networks for every town in the gallery. Explore the gallery → or request an analysis for your city →.
References
-
Iowa DOT Office of Maintenance. "Snowplow Optimization." InTrans Project 17-626, Iowa State University. rosap.ntl.bts.gov ↩
-
Kinable, J., van Hoeve, W.J., & Smith, S.F. (2021). "Snow Plow Route Optimization: A Constraint Programming Approach." IISE Transactions 53(6):685–703. DOI: 10.1080/24725854.2020.1831713 ↩
-
Nguyen, M. & Tran, B. (2024). "Optimizing Snow and Ice Route Removal Operations Using Vehicle Routing Problems and Geographic Information System." J. Cold Regions Engineering, ASCE 38(2). DOI: 10.1061/JCRGEI.CRENG-721 ↩
Further reading
- Golden, B.L. & Wong, R.T. (1981). "Capacitated Arc Routing Problems." Networks 11(3):305–315. DOI: 10.1002/net.3230110308
- Prins, C., Lacomme, P., & Prodhon, C. (2014). "Order-first split-second methods for vehicle routing problems: A review." Transportation Research Part C 40:179–200. DOI: 10.1016/j.trc.2014.01.011
- FHWA Road Weather Management Program. "Snow & Ice." ops.fhwa.dot.gov
- MnDOT 2018–19 Winter Maintenance Report. dot.state.mn.us
- Corberán, Á., Eglese, R., Hasle, G., Plana, I., & Sanchis, J.M. (2021). "Arc Routing Problems: A Review of the Past, Present and Future." Networks 77(1):88–115. DOI: 10.1002/net.21965