Case Studies
This section provides examples of solving optimization, mathematical, and graph problems using PyQBPP. The Easy / Medium / Hard label after each problem indicates how hard the page is to understand, judged from the background needed to understand the problem, the ideas in the formulation, and the structure of the program.
Some of the case studies are also presented in videos (see the Videos (Case Studies) page).
Math Problems
- Math Problem: Find Three Integers (Easy)
- 3-Digit Math Problem (Easy)
- Cubic Equation (Easy)
- Square Root (Easy)
- Fractions Close to Pi (Easy)
- Greatest Common Divisor (GCD) (Easy)
- Remainder Problem (Easy)
- Pythagorean Triples (Medium)
- Taxicab Number 1729 (Medium)
- Prime Factorization by Recursion (Medium)
Puzzle
- N-Queens Problem (Easy)
- Star Battle (Easy)
- Sudoku (Medium)
- Nonogram (Medium)
- Slitherlink (Medium)
- Magic Square (Medium)
- SEND + MORE = MONEY Problem (Medium)
Graph Problems
Selecting vertices and sets
- Maximum Independent Set (MIS) Problem (Easy)
- Maximum Clique Problem (Easy)
- Minimum Vertex Cover Problem (Easy)
- Minimum Dominating Set Problem (Medium)
- Minimum Set Cover Problem (Medium)
Cuts and partitioning
- Max-Cut Problem (Easy)
- Minimum Graph Bisection Problem (Easy)
- Cutwidth Problem (Medium)
Matching
- Maximum Matching Problem (Easy)
- Minimum Maximal Matching Problem (Medium)
Coloring
- Graph Coloring Problem (Easy)
- 3-Colorable Vertex Deletion Problem (Medium)
- Graph Edge Coloring Problem (Medium)
Isomorphism
- Subgraph Isomorphism Problem (Medium)
Routing Problems
- Shortest Path Problem (Medium)
- Traveling Salesman Problem (Medium)
- Capacitated Vehicle Routing Problem (CVRP) (Hard)
Combinatorial Optimization Problems
- QUBO Problem (Easy)
- Integer Linear Programming (Easy)
- LABS Problem (Easy)
- Knapsack Problem (Medium)
- Three Formulations of the Partitioning Problem (Medium)
- Interval Subset Sum Problem (ISSP) (Medium)
- Cutting Stock Problem (Medium)
- Facility Location (p-median and p-center) (Medium)
- Portfolio Optimization (Hard)
Scheduling
- Shift Scheduling Problem (Medium)
- Day and Night Shift Roster (Medium)
- Machine Scheduling with Due Dates (Hard)
- Job Shop Scheduling (Hard)
Satisfiability
- Boolean Satisfiability Problem (SAT) (Medium)
- Not-All-Equal SAT (NAE-SAT) (Medium)
Circuit Simulation
- Adder Simulation (Medium)
- Multiplier Simulation and Factorization (Hard)
Image processing
- Image Halftoning (Medium)
- Image Denoising (Medium)
- Optical Flow (Medium)
- Clustered-Dot Halftoning (Hard)
- ASCII Art Generation (Hard)
Black-box optimization
- Black-Box Optimization with FMQA (Hard)
- Quantum Chemistry with FMQA (Hard)
Quantum annealers
- Simulating a Quantum Annealer (Medium)
NOTE Graph case studies include visualization code using
matplotlibandnetworkx. Install them with:pip install matplotlib networkx