Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

QUBONotebooks: Quantum Integer Programming

This book collects Julia and Python notebooks for learning mathematical programming, quadratic unconstrained binary optimization, and quantum and quantum-inspired optimization workflows. The notebooks pair mathematical formulations with executable examples, local validation, and explicitly gated cloud-hardware paths.

Notebook outputs are generated before publication rather than during the site build. This keeps the public book reproducible without placing solver credentials in GitHub Actions or consuming cloud-service credits on every documentation build.

Notebook map

Follow Lectures 1–5 in order: mathematical programming → classical QUBO/Ising models → classical augmentation methods → D-Wave and quantum methods → benchmarking. Lecture 4’s Python notebook places an optional CUDA-Q QAOA comparison after quantum annealing, using the same QUBO and exact baseline. Later notebooks extend the applications and methods, including a dedicated QAOA lesson in Lecture 10.

TopicPythonJulia
Mathematical Programming1-MathProg_python.ipynb1-MathProg.ipynb
QUBO and Ising Models2-QUBO_python.ipynb2-QUBO.ipynb
Graver Augmentation Multiseed Algorithm3-GAMA_python.ipynb3-GAMA.ipynb
D-Wave4-DWAVE_python.ipynb4-DWave.ipynb
Benchmarking5-Benchmarking_python.ipynb5-Benchmarking.ipynb
QCI6-QCi_python.ipynb6-QCi.ipynb
Canonical QUBO problems—7-CanonicalProblems.ipynb
Order partitioning for A/B testing—8-OrderPartitioning.ipynb
Altered cancer pathways—9-CancerGenomics.ipynb
Local-first QAOA—10-QAOA.ipynb
Local simulated and quantum annealing—11-Annealing.ipynb

See Local Setup to build the book or reproduce notebook outputs. Each notebook page also provides an Open in Colab action.