Quantum Dynamics
Delivery routing · QAOA on CUDA-Q
Dynamics dashboard Materials explorer Spin chain
Optimisation · QAOA

Which van takes which stop? Let a quantum optimiser choose.

Two vans, one depot each, and a set of delivery stops. Each stop becomes a qubit: 0 for van A, 1 for van B. QAOA, a quantum optimisation algorithm, tunes a circuit so that cheap plans come up more often when it is measured. Because the problem is small, every possible plan is also checked, so you can see exactly how close it gets.

The map
Van A (qubit 0) Van B (qubit 1) Stop not assigned yet

Tuning the circuit

Each point is one try of the circuit's angles: the average cost of the plans it would produce. The optimiser pushes it down.

Average plan cost, this circuit Random plan (average) and exact best plan
What the quantum circuit produced

The tuned circuit is measured 2,000 times on CUDA-Q. Each measurement is one complete plan; you keep the cheapest.

How it works
1 · Plans as qubits

One qubit per stop. 8 stops give 28 = 256 possible plans, 12 stops give 4,096. A real fleet has far more.

2 · A cost formula

Distance from each stop to its van's depot, plus distance between stops that share a van, plus a penalty when one van gets more stops than the other.

3 · QAOA

Start with every plan equally likely. Each layer adds phases from the cost formula, then mixes plans together. More layers can do better.

4 · Tune, then measure

A classical optimiser adjusts the layer angles, running the circuit on CUDA-Q at every step. The tuned circuit is then measured, and each measurement gives a plan.

Every tuning step runs the circuit on CUDA-Q's state-vector simulator, on this site's CPU server. The starting angles come from a quick scan of 720 settings on an exact NumPy copy of the circuit. Tuning has a time budget, so 12 stops with 3 or 4 layers takes fewer steps. Each van's driving order is worked out classically once the stops are split. At these sizes a laptop checks every plan instantly, and classical solvers still beat QAOA on real routing problems. This demo shows how the method works, not a speed-up.