PyQBPP Document

This documentation for PyQBPP (Python binding of QUBO++) is currently under development. Some pages may contain incomplete or provisional information.

Getting Started

  1. HUBO and QUBO
  2. Quick Start
  3. Installation

Basics

This section provides a step-by-step introduction to PyQBPP. By reading the pages in order, you will learn how to define variables and expressions, model optimization problems, and solve them using PyQBPP. After completing this tutorial, you should be able to use PyQBPP for most typical applications.

  1. Defining Variables and Creating Expressions
  2. Solving Expressions
  3. Array of Variables and Array Functions
  4. Solving Partitioning Problem Using Array of Variables
  5. Permutation Matrix and Solving Assignment Problem
  6. Integer Variables and Solving Simultaneous Equations
  7. Factorization Through HUBO Expression
  8. Range Constraints and Solving Integer Linear Programming
  9. Native Constraints

Topics

This section provides topic-wise explanations of selected features of PyQBPP. Each page focuses on a specific topic and offers deeper insights into design decisions, usage patterns, and, where appropriate, internal implementations.

  1. Data Types of Variables and Expressions
  2. Basic Operators and Functions
  3. Basic Operators and Functions for Arrays
  4. Multi-dimensional Variables and Expressions
  5. Comparison Constraints
  6. Expression Classes
  7. Evaluating Expressions
  8. Replace Functions
  9. Negated Literals
  10. Reducing HUBO to QUBO
  11. Sum Functions for Multi-dimensional Arrays
  12. Einsum Function for Tensor Contraction
  13. Slice and Concat
  14. One-Hot to Integer Conversion
  15. Easy Solver Usage
  16. Exhaustive Solver Usage
  17. ABS3 Solver Usage
  18. Search Parameters
  19. Performance Tips

Case Studies

This section provides examples of solving optimization, mathematical, and graph problems using PyQBPP. See the Case Studies page for the full list.

Quick References

  1. Variables and Expressions
  2. Operators and Functions
  3. Operations and Functions for Integer Variables and Constraints
  4. Solutions

External Solver Integrations

Besides the three built-in solvers, PyQBPP can hand a model to a number of external solvers, grouped by the model form each one consumes:

  • QUBO/HUBO Solvers — solvers that take the QUBO/HUBO model directly (no linearization): Gurobi, IBM CPLEX, dimod ExactSolver, IBM Qiskit Optimization (exact / quadratic-direct), plus Fixstars Amplify, D-Wave (Advantage / Native / Leap Hybrid / Neal / Tabu / Steepest Descent), OpenJij, TYTAN-SDK MIKAS, qubovert, Simulated Bifurcation (heuristic samplers / annealers).
  • MILP Solvers (SCIP, HiGHS, GLPK, CBC) — exact solvers that require linearization of the QUBO into a pure MILP.
  • CP Solvers (OR-Tools CP-SAT) — constraint-programming engine; HUBO of any degree and negated literals handled natively.

These integrations require each solver to be installed separately, and their APIs may change without notice.


Back to top

Page last modified: 2026.07.12.

© 2026 Koji Nakano, Hiroshima University