Skip to content

Add warm-start QAOA tutorial#5039

Closed
henryzou50 wants to merge 3 commits into
Qiskit:mainfrom
henryzou50:add-warm-start-qaoa-tut
Closed

Add warm-start QAOA tutorial#5039
henryzou50 wants to merge 3 commits into
Qiskit:mainfrom
henryzou50:add-warm-start-qaoa-tut

Conversation

@henryzou50
Copy link
Copy Markdown
Collaborator

Summary

Adds a new tutorial, Warm-starting QAOA with the Optimization Addon, demonstrating how to improve QAOA convergence on Max-Cut problems by initializing the circuit from a continuous (QP) relaxation of the binary problem, following Egger, Mareček, and Woerner (arXiv:2009.10095). Problem modeling uses the qiskit-addon-opt-mapper package.

The tutorial walks through:

  • Mapping a Max-Cut problem to a QUBO with qiskit-addon-opt-mapper
  • Running standard QAOA on a simulator as a baseline
  • Building the WS-QAOA initial state and custom mixer from the QP-relaxed solution
  • Comparing energy convergence and solution quality between the two

Files changed

  • docs/tutorials/warm-start-qaoa.ipynb — the new tutorial
  • public/docs/images/tutorials/warm-start-qaoa/ — output images
  • docs/tutorials/_toc.json, docs/tutorials/index.mdx — registered under Verifiable sampling algorithms
  • qiskit_bot.yaml — reviewer notifications
  • scripts/config/notebook-testing.toml — added to the tutorials exclude list (tutorials are not run in CI)

Adds a new tutorial demonstrating how to warm-start QAOA on Max-Cut
problems by initializing the circuit from a continuous relaxation
solution (Egger, Mareček, Woerner 2020), using the
qiskit-addon-opt-mapper package. Registers it in the tutorials TOC
and index, sets reviewer notifications, and excludes it from
notebook CI like other tutorials.
@henryzou50 henryzou50 requested a review from a team April 27, 2026 18:30
@qiskit-bot
Copy link
Copy Markdown
Contributor

One or more of the following people are relevant to this code:

  • @nathanearnestnoble

@review-notebook-app
Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@henryzou50
Copy link
Copy Markdown
Collaborator Author

Re: failing Pull request / Execute notebooks check

Just flagging that this CI failure isn't caused by changes in this PR, but instead it's a regression from a recently merged PR on main.

What's failing:
Several notebooks in [groups.normal] are erroring out, including docs/guides/estimator-noise-management.ipynb and others, all for the same underlying reason: they call QiskitRuntimeService() directly, but there are no IBM credentials available in fork CI and no mock patch is applied to that group's ci strategy. (See the full list of failures in the job log.)

Why this PR is hitting it:
The CI script scripts/ci/pr-execute-notebooks.py only runs the specific notebooks a PR changed unless a file under scripts/ is touched, in which case it runs every notebook in [groups.normal]. This PR updates scripts/config/notebook-testing.toml (to add the new tutorial to the exclude list) and scripts/nb-tester/requirements.txt, which trips that condition and causes the full suite to run, surfacing the existing breakage on main.

Where the regression seems to came from:
PR #4640 ("Separate out primitives") added the new estimator-noise-management.ipynb and sampler-noise-management.ipynb notebooks to [groups.normal] in notebook-testing.toml. Since [groups.normal]'s ci strategy doesn't apply the qiskit-ibm-runtime-open patch, any notebook in that group that instantiates QiskitRuntimeService() will fail in fork CI.

@henryzou50
Copy link
Copy Markdown
Collaborator Author

henryzou50 commented Apr 28, 2026

Quick update, I tested locally with tox -- path/to/notebook and it runs successfully, so this PR is good to go from the notebook side. Flagging for a maintainer: the suggested path is to merge this to a temporary branch in Qiskit/documentation first, then PR that branch into main so CI can run with the token.

@henryzou50
Copy link
Copy Markdown
Collaborator Author

Closing this PR to open a new one

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants