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.csv

The demo runs python -m cvrp.run --instance instances/S_seed00.json --formulation onehot-ub --embedder polygons --backend qutip --shots 500 --seed 0 on the committed register in embeddings/. The register, the pulse and every classical number reproduce exactly; emulator sampling reproduces to sampling noise (TV ≈ 0.05 at 500 shots).


Contents

  1. What we built and how each step improved it
  2. The problem and the decomposition (Derive 2.1)
  3. What the register minimises (Derive 3.1)
  4. The clustering model: one-hot, no slack (Task A1)
  5. Variable accounting (Derive 4.1)
  6. Instances, certificates and reference values (Task A2)
  7. Embedding (Task A3)
  8. Pulse shaping (Task A4)
  9. Results in full (brief §9)
  10. Track B: routing (Tasks B1–B3)
  11. What did not work
  12. Use of AI
  13. Repository map and how to reproduce everything
  14. 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.

Built With

Share this project:

Updates

Submission history