Skip to main content

Python bindings for QUBO++ (HUBO/QUBO symbolic computation)

Project description

PyQBPP: Python Interface for QUBO++

PyQBPP is a Python wrapper for the QUBO++ library, allowing you to model and solve combinatorial optimization problems using QUBO/HUBO formulations directly from Python.

Features

  • Symbolic construction of QUBO/HUBO expressions in Python
  • Access to QUBO++ solvers (Easy Solver, Exhaustive Solver, ABS3)
  • Familiar Python syntax with the full power of the QUBO++ engine

Supported Environment

  • Linux (Ubuntu 20.04 or later)
  • x86_64 or arm64 (aarch64) CPUs
  • CUDA-enabled NVIDIA GPUs
  • Python 3.8 or later

Installation

PyQBPP is available on PyPI. We recommend using a Python virtual environment (venv) to install PyQBPP. No sudo privileges are required.

$ python3 -m venv ~/qbpp-env
$ source ~/qbpp-env/bin/activate
$ pip install pyqbpp

After installation, activate your QUBO++ license. The following command will activate an anonymous trial license:

$ qbpp-license -a

If you have a QUBO++ license key, activate it as follows:

$ qbpp-license -k YOUR-LICENSE-KEY -a

Quick Example

The following program solves a simple QUBO problem by expanding and minimizing the expression f = (a + 2b + 3c - 4)^2.

import pyqbpp as qbpp

a = qbpp.var("a")
b = qbpp.var("b")
c = qbpp.var("c")
f = qbpp.sqr(a + 2 * b + 3 * c - 4)
f = qbpp.simplify_as_binary(f)
print("f =", f)

solver = qbpp.EasySolver(f)
sol = solver.search(time_limit=10, target_energy=0)
print("sol =", sol)

Output:

f = 16 -7*a -12*b -15*c +4*a*b +6*a*c +12*b*c
sol = Sol(energy=0, {a: 1, b: 0, c: 1})

Documentation

https://qubo-plus.github.io/python/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyqbpp-2026.4.20-py3-none-manylinux_2_31_x86_64.whl (78.6 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ x86-64

pyqbpp-2026.4.20-py3-none-manylinux_2_31_aarch64.whl (75.0 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ ARM64

File details

Details for the file pyqbpp-2026.4.20-py3-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyqbpp-2026.4.20-py3-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 09def91f54595240f511ca53b514e48475e64f42b9c3f4ef6d9d7c90775392b4
MD5 8adfc9780fe2027c2a8a5a1dda00c36a
BLAKE2b-256 1ded287b05a1416d1db1ba128230a084ab96c343a69715c182183931fb1f85df

See more details on using hashes here.

File details

Details for the file pyqbpp-2026.4.20-py3-none-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyqbpp-2026.4.20-py3-none-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 a248a7211bb0743f91e0c0c2c53fe9fe79cbfe215c92dc86fea307236a843c43
MD5 6a460615b46ca53cf6a79409944114d2
BLAKE2b-256 8444497df1452f59bb4f4edf5477f50dab3152b15e77c672204ccf9a3601721f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page