Products Contact

Vehicle Routing Optimizer

Upload your delivery data, solve the routing challenge and get optimized routes in minutes. Time windows, multi-dimensional capacity constraints (weight, volume, pallets), and warm-start re-optimization included.

VRP with Time Windows Capacity Constraints GuidedLocalSearch Open Source Road Network Warm-Start Re-Optimization
1
Prepare your data
Download the sample workbook. It holds a real problem: 112 delivery stops around Cleveland, each with a load size and a delivery window, plus the depot they run from and ten vans with capacities and shift limits.
Open it and read the locations sheet. That plain list of addresses is the problem the optimizer solves. The help sheet explains every column.
Upload it unchanged and run it — no editing yet. Watch those 112 stops become routes on the map, with stop tables and a CSV. Travel times come from our distance engine and are cached.
Then make it yours. Replace the addresses in locations with your own, keep row 1 as the header (first data row = the depot), and run it again.
Required sheets
This is why you start from the sample rather than your own file: the optimizer reads its own workbook layout, not any spreadsheet. It needs these sheet names, exactly.
locations vehicles parameters help  reference warm_start  optional
In locations, each row needs either lat + lon, or an address to geocode, plus demand1, service_time, window_open, window_close, block_start and block_end. Column order doesn't matter; the header names do.
Download the sample workbook — 112 stops, 10 vans
2
Upload & Run
Upload the sample workbook — unchanged the first time, then with your own data in it. What doesn't work is your own spreadsheet: if the sheets aren't named locations, vehicles and parameters, the file is rejected.
📂
Browse file or drag & drop your workbook
.xlsm or .xlsx · max 20 MB
OR
No Excel needed — keep your data in Google Sheets and edit it any time, then paste the link. Copy our Google Sheet template ↗ — this makes your own copy in your Drive; you don't need permission from us to edit it.
Then, in your copy: Share → General access → Anyone with the link → Viewer, and paste that link here. A sheet shared only with specific people returns a sign-in page to us, not your data.
If you upload a file above, this link is ignored.
OR
No file needed — every stop is geocoded automatically. Every stop gets an equal, unlimited-window demand of 1; need per-stop time windows or capacities? Use the workbook upload above instead.
If you upload a file or paste a Google Sheet link above, this is ignored.
Fetching road times & optimizing routes — this may take 2–3 minutes on first run

🔒 Privacy: the coordinates you submit are sent to OSRM's public routing server to compute travel times. If you enter addresses instead of lat/lon, they're first looked up via the US Census geocoder, falling back to OpenStreetMap's Nominatim — nothing beyond what's needed to build the route. Travel-time results are cached locally by coordinate hash to speed up repeat solves. Nothing is sold or shared.

3
Solution Summary
Routes
Stops Served
Total Time (min)
Dropped
4
Route Map
5
Route Detail