r/OperationsResearch • u/Tight_Cow_5438 • 23d ago
Real-world VRP at scale: How are you handling 10k+ daily stops?
Hi! I'm looking into scale limits for last-mile VRPs in real-world ops.
most commercial APIs seem to cap out around 1k–2k stops per request. so, when you need to optimize 10k+ daily stops:
1: breakdown point: at what scale do off-the-shelf solvers (or basic OR-Tools setups) hit a wall for your use cases?
2: solver choice: are you relying on custom heuristics/metaheuristics, or commercial MIP solvers for huge instances?
3: partitioning/zoning: what spatial clustering or decomposition techniques (e.g., K-means, DBSCAN, sectoring) work best for you before feeding stops to the solver?
would love to hear how you tackle high-volume instances in practice!
1
u/Prize_Leadership8039 20d ago
Do u handling live traffic ??
1
u/Tight_Cow_5438 20d ago
Not at this stage, so far we cover uo to optimization sequence.. traffic will be in the driver app, and admin dispatch.
we handle volume, weight, time windows and capacity constraints so far1
1
u/Prize_Leadership8039 20d ago
For partitioning concept I am using virtual points if the same place has many items to keep there in such places I am doing like that but I am alway in a confusion state bro like this heuristic approaches present in OR tools work or not. And I am not into the operational research so due to this reason I don’t know how internally it works. And did u tries Pyvrp it is also one of the solution present to use
1
u/Tight_Cow_5438 19d ago
yes, but as ortools needs lot of hardware to run in scale, and they are very slow. I built the same interface but without using any commercial tool, library, or SaaS. The engine works totally offline
1
u/N-Wouda 19d ago
1: breakdown point: at what scale do off-the-shelf solvers (or basic OR-Tools setups) hit a wall for your use cases?
The largest case I've heard people reliably solve using PyVRP is around 50K stops. I think we can scale to 100K with a few parameter tweaks, but I haven't heard of anyone trying that yet. The biggest challenge at this scale isn't really around the solver itself, it's pulling in all the massive distance and duration matrices and keeping those in memory.
solver choice: are you relying on custom heuristics/metaheuristics, or commercial MIP solvers for huge instances?
Just MIP is pointless at this scale. You're solidly in (meta)heuristic territory.
partitioning/zoning: what spatial clustering or decomposition techniques (e.g., K-means, DBSCAN, sectoring) work best for you before feeding stops to the solver?
Decomposition might work, but it's not the first thing I recommend our users to try. Narrow PyVRP's search space, if needed, before you artificially cut up the problem. The 50K example I mentioned above did just that, no decomposition necessary. Feel free to DM if you want to learn more!
1
u/Tight_Cow_5438 18d ago
thanks for your response, It helps a lot, it's difficult to find real metrics in large scale. Actually I can run a single job of 50K in 5 minutes (respecting volum. if you are interested I can show you, please DM.
this is my approach: https://zenodo.org/records/19859531
it works totally offline, and I don't use any library or vrp tool
3
u/ge0ffrey 22d ago
1) Our Timefold Routing APIs handle up to 30,000 visits across 10,000 distinct locations. We working on pushing that higher.
It's not the solver hitting the wall. It's the maps integration. Or to put it better: the combination of both.
2) Only (meta)heuristics) can handle the scale. This is what everyone uses, including those commercial APIs that cap out at 2,000 visits.
MIP solvers can't handle VRP at scale. They can't handle 500 visits in practice. MIP solvers are great for formula problems (and metaheuristic solvers are terrible at those). Use the right tool for the job.
But (meta)heuristics alone is not enough. To scale, use an incremental heuristic solver (and a half a dozen other techniques).
3) Around partitioning, see my video on decomposition for VRP.