BENCHMARKS / GAP %
Results, in full, including where we lose.
Every row is a seeded instance solved two ways: a quick solve and a thorough solve on the same instance. The gap is the honest price of stopping early. Reproduce any row with one command.
| instance | stops | vehicles | best found | result | gap % | wall ms | unassigned | seed |
|---|---|---|---|---|---|---|---|---|
| Loading results… | ||||||||
best found is the strongest plan the thorough solve reaches on that instance; result is a single timed quick solve. Positive gap means the quick solve left distance on the table, we publish it rather than hide it.
GAP / AT A GLANCE
The same numbers, as bars.
Shorter is better. Hover any bar for stops, vehicles, distance, and wall-clock.
Loading chart…
METHOD / HOW
Methodology
- Instances are generated deterministically from a seed, clustered stops, two depots, a mixed fleet, and time windows across a working morning.
- The solver is nearest-neighbour construction followed by first-improvement local search (2-opt, or-opt, swap) with a ruin-and-recreate kick. It is a metaheuristic, not an exact method.
- Quick solve stops after 40 non-improving kicks; thorough solve after 400. Both are deterministic for a given seed.
- Wall-clock is a single-threaded run, release build, on the hardware below.
HARDWARE / SPEC
- CPU
- Apple M-series, single core
- Build
- cargo --profile perf, opt-level 3
- Threads
- 1
- Allocator
- system
Reproduce every row
cargo run --profile perf \ -p arclane-cli -- bench
Same seeds, same results. Add --json for machine-readable output.
These are our instances. Bring yours.
Upload a real run sheet and see the numbers on your own routes.
Benchmark your routes