Upper Help
Optimization

Optimization taking longer than expected

If route optimization in Upper is running slow, the usual causes are too many stops, tight time windows, or invalid addresses. Reduce constraints, split, or refresh.

When you press Optimize Route in Upper, the optimizer works out the best stop sequence — and, on multi-driver plans, how to spread stops across your drivers — using the settings on that route. The more a route has to weigh up, the longer that takes. If optimization is consistently slower than you expect, it is almost always down to the size of the route, the constraints you have set, or address data that did not resolve cleanly. This page walks through what to check, in the order most likely to help.

This article uses Upper's default driver and delivery labels (for example Assign Drivers and Optimize Route). Your workspace may be set up to show Technician and Service instead — the steps are the same.

What slows optimization down

Optimization has to balance every constraint you place on the route at once. Each of the following adds work, and stacking several together is what usually causes a noticeably slow run:

What you setWhy it adds time
A large number of stops on one routeMore possible sequences for the optimizer to weigh
Many tight time windowsEach window narrows the choices and has to be reconciled with the others
Invalid or partial addressesStops that did not resolve cleanly slow down the distance calculations
Capacity rules across many driversMulti-driver balancing has more combinations to evaluate

Capacity-aware optimization and multi-driver workload balancing are available on the Optimize and Enterprise plans.

What to try, in order

Run a small test optimization first

Build a route with around 20 stops and one driver and optimize it. If that finishes quickly, your address data and settings are fine, and the slowdown is coming from route size or the number of constraints on your real route. If even the small test is slow, refresh the browser before changing anything else.

Check your addresses

Look through the stop list for any address that did not resolve to a clean location. Stops with partial or invalid addresses slow down the distance calculations for the whole run. Fix or re-enter those addresses and optimize again.

Loosen tight time windows

Where a customer's time window can be relaxed, widen it. Every tight window the optimizer has to satisfy narrows its options and adds work. Keep the windows that genuinely matter and ease the rest.

Split a very large route

If one route carries far more stops than your drivers can realistically run, split it into two or three smaller routes and optimize each. Smaller routes give the optimizer less to weigh and finish faster.

Simplify the settings, then add them back

Open Advanced Settings (the gear icon on the route) and start from the default Auto Workload Balancing mode rather than a more specific distribution rule. Get a clean, fast optimization first, then layer constraints back on only where you need them.

Refresh and retry

A temporary browser or network blip can stall a run. Refresh the page and optimize once more — a fresh attempt often clears it.

The small test optimization in the first step is the fastest way to tell what is slow. If 20 stops and one driver run quickly, you know the problem is route size or constraints — not your data or your connection.

Troubleshooting

On this page