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.
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.
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.
Quick check before we run. Did you build this file from the sample workbook? This tool reads a workbook with sheets named locations, vehicles and parameters — it cannot read an arbitrary spreadsheet, and that is by far the most common reason a run fails.
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.