Logistics and transportation
Route optimisation: what 400 qubits actually buys you
Vehicle routing is among the most often cited quantum computing applications for industry: an intuitive problem, famously hard, with exponentially many routes to choose between. This page works through the arithmetic of encoding one, and measures it against the classical solver.
Load the instance yourself and change the numbers. Open the console
The short version
- Routing scales quadratically in qubits. N stops needs N squared binary variables, so ten stops needs 100 qubits and 200 stops needs 40,000
- The encoding is the binding constraint, not the hardware. You cannot reach 40,000 logical qubits by improving fidelity
- Hundreds of logical qubits buys about fifteen stops. That is what the 2029 roadmaps target, against a delivery round of 200
- OR-Tools solves 200 stops in three seconds. On a laptop, and the three seconds was the budget we gave it rather than the time it needed
Run on our engines
A random 16-variable QUBO, seed 20260902, whose exact optimum is -18.7897: the size a machine can hold, with no routing structure in it, generated by small_qubo.py in the public benchmarks folder. It is deliberately small, because the 100-stop round this benchmark is about needs 10,000 qubits and fits nothing. Submitted to each kind of compute we offer, on 16 and 25 September 2026 at 500 shots. Every figure below is a real job on the service, priced as any customer would be priced.
| Device | Engine | Kind | Qubits | Result | Cost |
|---|---|---|---|---|---|
| mps.quimb.cpu | CPU | 16 | -16.3521, gap 2.44 certificate | $0.0001 | |
| exact.cpu | CPU | 16 | -14.0904, gap 4.70 certificate | $0.0001 | |
![]() | exact.gpu | GPU | 16 | -16.5132, gap 2.28 certificate | $0.0001 |
![]() | qpu.rigetti | QPU | 16 | -216.06, gap 76.30 on the routing instance * certificate | $0.5125 |
![]() | qpu.iqm.garnet | QPU | 16 | -14.7420, gap 4.05 certificate | $1.025 |
![]() | qpu.iqm.emerald | QPU | 16 | -10.5934, gap 8.20 certificate | $1.100 |
![]() | exact.tpu | TPU | 16 | -18.7897, the optimum certificatebest outcome | $0.0776 |
![]() | neural.tpu | TPU | — | a QUBO is diagonal, which is not the shape a neural ansatz is for | — |
Exact statevector simulation on an NVIDIA GPU in our 24 GB tier returned the lowest routing cost at -16.5132, against an exact optimum of -18.7897, with a tensor-network simulator close behind at -16.3521. IQM Garnet returned -14.7420 and IQM Emerald -10.5934 on the same vehicle routing instance.
Emerald placed last here and first on the satellite tasking page, on the same fixed-parameter method and the same shot count. A single 500-shot draw of an unoptimised circuit does not separate these two superconducting processors, and the order here should not be read as one.
* The Rigetti row is not scored against the optimum named above. The run used the 4-vehicle routing instance that sector_instances.py generates instead. Its exhaustive minimum is -292.3588, and the 76.30 gap is measured against that rather than against -18.7897. The IQM rows are our own internal testing. The exact.tpu row, added 25 September, is the only run on this instance to reach the exact optimum of -18.7897. The steps are in the docs.
A note on the hardware certificates: they state Hellinger fidelity against the exact distribution. For an optimisation circuit that distribution is spread across many outcomes rather than concentrated on one, so the figure is low by construction and is not a measure of whether the device found a good answer. The result column above is.
The same problem is yours to run: every instance here is seeded, so it rebuilds exactly. Open the console and a cost estimate is free before anything executes.
Run this instance yourself. The notebook rebuilds the exact seeded instance behind every figure on this page, in a browser tab, with nothing to install and no account. Read it on GitHub
Then run it on our engines
The notebook proves the numbers on free public packages. This is the step it does not cover: the same circuit on a certified engine, with a public certificate you can cite instead of citing ours.
pip install qsim-sdk import qsim_sdk client = qsim_sdk.Client(token="...") # free account at app.zksf.org client.estimate(circuit, shots=512) # free, before you spend anything job = client.run(circuit, shots=512) # $0.0001 on CPU job.certificate() # a public, verifiable URL
Every finished job can be exported as a public certificate that opens without an account, and the rules these benchmarks follow apply to your run exactly as they do to ours.
This page has no quantum benchmark, and that is the result
On our other pages we run the quantum method and report how it did. Here we cannot, and the reason is the finding.
To put a travelling salesman problem on a quantum computer you encode it as a QUBO, which needs a binary variable for every combination of stop and position in the tour. That is N squared variables for N stops, and one qubit per variable. Ten stops needs 100 qubits.
The largest processor we can run is 108, and the largest built anywhere is around 1,600. Neither helps much: a thousand qubits buys you a 31-stop route, and those are physical qubits with no error correction, where a routing circuit of that depth would return noise.
A ten-stop delivery round is not a logistics problem. It is a morning.
The encoding cost, against what classical does
OR-Tools routing solver with guided local search, three-second budget per instance, seed 20260902. Measured 2 September 2026.
| Stops | Qubits needed | OR-Tools tour | OR-Tools time | Quantum feasibility |
|---|---|---|---|---|
| 10 | 100 | 3,375 | < 3 s | Beyond exact simulation |
| 20 | 400 | 3,360 | < 3 s | Beyond any current hardware |
| 50 | 2,500 | 5,781 | < 3 s | 23x the widest processor we offer |
| 100 | 10,000 | 7,853 | < 3 s | 93x the widest processor we offer |
| 200 | 40,000 | 11,446 | < 3 s | 374x the widest processor we offer |
The three-second figure is the budget we gave the solver, not the time it needed. OR-Tools returns a good tour far sooner and spends the remainder improving it.
Because it optimises against a wall-clock budget rather than to completion, tour lengths move by a fraction of a percent between runs: the accompanying notebook reproduced 11,454 at 200 stops against the 11,446 shown here. The qubit column does not move.
Read the two middle columns together
At 200 stops, a real distribution problem, the classical solver produces a route inside a three-second budget on an ordinary laptop. The quantum encoding of the same problem needs 40,000 qubits, with no error correction accounted for. Add fault tolerance at today's error rates and the physical requirement passes 60 million.
The gap is not a matter of waiting for the next hardware generation. It is four orders of magnitude on logical qubits alone, against a classical method that already answers the question faster than you can read the output.
Why it is often presented otherwise
Two moves, and both are technically true in isolation.
The first is to quote the size of the search space. A 200-stop tour has more orderings than there are atoms in the observable universe, which is correct and irrelevant, because no solver enumerates them. Branch and bound with good bounds never visits the vast majority of that space, which is exactly why OR-Tools finishes in seconds.
The second is to demonstrate on a tiny instance. A five or six stop route does fit on current hardware, and a demonstration at that size is real. It is also a problem you can solve by hand, and the encoding cost means it does not extend.
What would have to change
Not hardware, in the first instance. The encoding would have to change. Quadratic qubit scaling is a property of the standard QUBO formulation of routing, not a law, and better formulations exist in the literature for restricted variants.
Until one of them reduces the cost by orders of magnitude, hardware progress does not help, because you cannot reach 40,000 logical qubits by improving fidelity.
The published roadmaps make this concrete. Quantinuum Sol targets roughly 100 logical qubits in 2027, and IBM Starling and Quantinuum Apollo target hundreds by 2029. Hundreds of logical qubits is a genuine achievement and it buys a delivery round of about fifteen stops.
The encoding, not the roadmap, is the binding constraint here.
If someone offers you a quantum routing solution, the question worth asking is not how many qubits their machine has. It is how many binary variables their encoding needs for the instance size you actually run, and how that compares to what OR-Tools does with it on a laptop.
Where operations problems do fit
This is not a general statement about operations research. Satellite observation tasking encodes as a maximum weighted independent set at one variable per request, which is linear rather than quadratic, and on that problem we do have a quantum benchmark and QAOA does sometimes find the optimum. The difference between the two pages is the encoding, not the industry.
What you can run here
Routing does not reduce to anything this hardware solves natively, and no engine here changes the conclusion above. What you can run is your own QAOA formulation on the gate engines, with each optimiser step sent as a single sweep so the cost is one job per step rather than one per evaluation, and the exact simulators as the reference that says how far the answer sits from the best one. That is the comparison worth repeating on your own instances before any of it is budgeted for.
For context: where the hardware actually is
Gaps on this page are quoted against the processors ZKSF can run. That is not the frontier. Quantinuum, IBM, Atom Computing and QuEra’s newest systems are not available through us, and those machines are considerably further along. As of September 2026:
Physical qubits built
| Infleqtion Sqale | 1,600 | Neutral atom |
| Atom Computing | 1,180 | Neutral atom, 1,225 sites |
| IBM Condor | 1,121 | Superconducting, 2023 |
| IBM Heron R2 | 156 | Superconducting, ~99.5% two-qubit fidelity |
| Rigetti Cepheus | 108 | The largest available through ZKSF |
Two-qubit gate fidelity
The number that actually governs what a circuit can do.
| IonQ | 99.99% | Trapped ion, first past four nines |
| Silicon Quantum Computing | 99.99% | Silicon spin |
| Quantinuum | 99.97% | Trapped ion, all-to-all |
| IQM | 99.91% | Superconducting, available through ZKSF |
Logical qubits demonstrated
Published results, not roadmap targets.
| QuEra | 96 logical / 448 physical | Neutral atom |
| Quantinuum | 48 logical / 98 physical | Trapped ion, iceberg code |
| Atom Computing | 24 logical | On the 1,180-qubit system |
| 1 logical / 105 physical | Surface code, below threshold |
Announced roadmap
Targets. Roadmaps slip, and these are not results.
| Quantinuum Sol, 2027 | 192 physical, ~100 logical | Iceberg code, distance 2. Error detection with postselection, not correction |
| IBM Starling, 2029 | ~200 logical | Bivariate bicycle qLDPC, 100 million gates |
| Quantinuum Apollo, 2029 | hundreds of logical | Thousands of physical, logical error 1e-6 or better |
See an operations problem that does encode well.
Same solver, same methodology, a problem whose structure suits a quantum computer, and a real head-to-head result.



