Skip to content

add new QMOO tutorial - #5499

Open
kcmccormibm wants to merge 4 commits into
mainfrom
km/add-qmoo-portfolio
Open

add new QMOO tutorial#5499
kcmccormibm wants to merge 4 commits into
mainfrom
km/add-qmoo-portfolio

Conversation

@kcmccormibm

Copy link
Copy Markdown
Collaborator

New portfolio optimization tutorial using the QMOO method introduced in Kotil, et al.

Summary

Adds a new tutorial, Quantum approximate multi-objective optimization applied to a portfolio optimization problem. The tutorial shows how to trace the risk/return/diversification Pareto front of a cardinality-constrained portfolio with QAOA. The cardinality constraint is enforced with an XY mixer, the three objectives are scalarized with the weighted-sum method, and the weights are swept to map out the Pareto front.

What's included

  • Small-scale walkthrough (8-asset, exact simulation) that can be verified by brute force.
  • Large-scale example (40 assets, 8 GICS sectors, K=6) sized for IBM Heron hardware, using QAP-truncation to sparsify the covariance and moocore for hypervolume and dominated-solution filtering.
  • QAOA angles trained classically (exact statevector at small scale, MPS at 40 qubits); pre-trained angles ship in instances/ so the slow training step is skipped by default.
  • Real market data and parameters file in datasets/tutorials and dowloaded at runtime

Testing / notes

Hardware section selects the least-busy Heron device via least_busy(min_num_qubits=156) (the 156-qubit threshold restricts selection to Heron, excluding Eagle and Nighthawk).
Adapted from Kotil et al. (2025), Nature Computational Science (arXiv:2503.22797), which develops the method for max-cut.

@kcmccormibm
kcmccormibm requested a review from a team August 11, 2026 19:36
@qiskit-bot

Copy link
Copy Markdown
Contributor

Thanks for contributing to Qiskit documentation!

Before your PR can be merged, it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient. Thanks! 🙌

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

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

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants