Spending Fewer Atoms: Slack-Free One-Hot Clustering of the CVRP on an Analog Neutral-Atom Register
Team Qualies — DuQuantum Hackathon, Pasqal challenge "Analog quantum devices for optimization problems" (brief v3.0, 24 Oct 2026). Track A (capacity-feasible clustering) is the primary submission; Track B (clustering + intra-cluster routing) is a complete, honestly-labelled supplementary slice.
One-command reproduction of the headline row:
python -m pip install -r requirements.txt # exact pins (Python 3.11+; hackathon venv is 3.14) python scripts/make.py demo # validate instances, assert device limits, run S_seed00 on # pulser-simulation (QuTiP) + random sampler, 500 shots, # write out/demo/*.json and out/demo/results_demo.csvThe demo runs
python -m cvrp.run --instance instances/S_seed00.json --formulation onehot-ub --embedder polygons --backend qutip --shots 500 --seed 0on the committed register inembeddings/. The register, the pulse and every classical number reproduce exactly; emulator sampling reproduces to sampling noise (TV ≈ 0.05 at 500 shots).
Contents
- What we built and how each step improved it
- The problem and the decomposition (Derive 2.1)
- What the register minimises (Derive 3.1)
- The clustering model: one-hot, no slack (Task A1)
- Variable accounting (Derive 4.1)
- Instances, certificates and reference values (Task A2)
- Embedding (Task A3)
- Pulse shaping (Task A4)
- Results in full (brief §9)
- Track B: routing (Tasks B1–B3)
- What did not work
- Use of AI
- Repository map and how to reproduce everything
- Deliverable checklist (brief §10)
1. What we built and how each step improved it
We encoded the capacity-feasible clustering of customers onto vehicles with one atom per (customer, vehicle) pair and no slack atoms: 8 / 30 / 60 atoms on tiers S / M / L, where the textbook slack encoding needs 14 / 45 / 80. The capacity inequality is handled by unbalanced penalization, which on valid (one-hot) strings collapses exactly to a load-balance coupling, so every coupling is positive and every linear term is equal — the model runs on one global detuning, with no DMM. We then built the pieces needed to make the register actually sample this model, and measured every change before and after. The result is a pipeline that returns the model-optimal clustering in 89–99 % of raw shots on every tier-S instance, decodes 98–100 % of shots on tier M, and produces capacity-feasible clusterings in 14–23 % of shots on the 60-atom tier L.
The improvement ladder. Each row was measured on the same instances and committed registers before and after the change (raw shots, 500 per row, no repair). P(opt) is the fraction of shots that are the model-optimal clustering; values are per instance in the order listed.
| # | What we changed | Why | Measured on | Before → after |
|---|---|---|---|---|
| 1 | Textbook slack encoding → one-hot + unbalanced penalization (the one-hot identity drops every non-uniform linear term) | Slack bits cost atoms and give per-atom linear terms that a global detuning cannot realise | all tiers | Atoms 14/45/80 → 8/30/60; linear terms non-uniform → uniform |
| 2 | Generic embedder → rigid 5 µm polygons fitted on the one-hot subspace | The "zero" cross-vehicle couplings came out as strong as the wanted ones | S_seed00/01/04 | Coupling error 0.95 → 0.21–0.32; P(opt) 0.13/0.07/0.03 → 0.90/0.88/0.62; feasibility 0.22/0.09/0.06 → 0.99/0.88/0.99 |
| 3 | Pulse 4000 ns at $\Omega_{\max}$ → 5800 ns at $\boldsymbol{0.75\,\Omega_{\max}}$ (from a scan) | Longer sweep; gentler drive on the 55 rad/µs clique couplings | S_seed00/01/04 | P(opt) 0.90/0.88/0.62 → 0.94/0.95/0.89; feasibility 0.99/0.88/0.99 → 1.00/0.95/1.00 |
| 4 | Enforce $\boldsymbol{\delta_f < U_{\mathrm{clique}}}$ (derived bound) | The fit ran to 125.66 rad/µs, which rewards two excitations per triangle | M_seed00/02 | Decodable 0/0 → 0.99/1.00; feasible 0/0 → 0.044/0.446 |
| 5 | Bound from the weakest polygon pair | A square's diagonal coupling is 8× weaker than its side | tier L | $\delta_f$ 35.8 → 4.5 rad/µs; the mis-set run was discarded before reporting |
| 6 | Polygon spacing 5 µm → 8 µm | Caps spurious couplings at 3.3 rad/µs; defect gaps 1.1 → 2.4 rad/µs | L_seed00/01/02 | Optimum's one-hot rank on L_seed00: 16 534 → 1 795 |
| 7 | Drive matched to the $\boldsymbol{K = 4}$ energy scale, $\Omega$: $0.75 \to 0.15\,\Omega_{\max}$ | The whole one-hot landscape spans only a few rad/µs | L_seed00/01/02 | Feasible 0.008/0.004/0 → 0.208/0.140/0.226; best CVRP gap 80/75/— → 47/40/36 % |
| 8 | Bond dimension $\boldsymbol{\chi = 32 \to 64}$ | Convergence of the 30-atom emulation | M_seed01 | Best CVRP gap 9.2 → 5.9 %; peak $\chi$ 14 (converged) |
Best final row per tier (brief Table 3 metrics; every gap on feasible decodes only):
| instance | atoms | feasibility | model gap | CVRP gap | P(reach $C^*$) | P(gap $\le$ 5 %) | fidelity full (subspace) | reference | emulation |
|---|---|---|---|---|---|---|---|---|---|
| S_seed00 | 8 | 1.00 | 0.0 % | 0.0 % | 0.94 | 0.94 | 0.26 (0.38) | proven | QuTiP, exact |
| S_seed02 | 8 | 1.00 | 0.0 % | 0.0 % | 0.99 | 0.99 | 0.31 (0.28) | proven | QuTiP, exact |
| M_seed01 | 30 | 0.39 | 33.8 % | 5.9 % | 0.00 | 0.00 | 0.08 (0.96) | best known | emu-mps $\chi = 64$ |
| L_seed02 | 60 | 0.23 | 47.1 % | 36.3 % | 0.00 | 0.00 | 0.51 (1.05) | best known | emu-mps $\chi = 32$ |
All quantum numbers are raw shots: no repair, no DMM, no post-selection other than discarding infeasible decodes (which never contribute a cost). Repair rows exist and are labelled separately (§9.6). Classical and random reference points requested by brief §9.2 are given in §9 as context.
Log in or sign up for Devpost to join the conversation.