Skip to main content

Hybrid Asynchronous Decomposition Solver Framework

Project description

Latest version on PyPI Linux/MacOS/Windows build status Code coverage Supported Python versions

D-Wave Hybrid

A general, minimal Python framework for building hybrid asynchronous decomposition samplers for quadratic unconstrained binary optimization (QUBO) problems.

dwave-hybrid facilitates three aspects of solution development:

  • Hybrid approaches to combining quantum and classical compute resources

  • Evaluating a portfolio of algorithmic components and problem-decomposition strategies

  • Experimenting with workflow structures and parameters to obtain the best application results

The framework enables rapid development and insight into expected performance of productized versions of its experimental prototypes.

Your optimized algorithmic components and other contributions to this project are welcome!

Installation or Building

Install from a package on PyPI:

pip install dwave-hybrid

or from source in development mode:

git clone https://github.com/dwavesystems/dwave-hybrid.git
cd dwave-hybrid
pip install -e .

Testing

Install test requirements and run unittest:

pip install -r tests/requirements.txt
python -m unittest

Example

import dimod
import hybrid

# Construct a problem
bqm = dimod.BinaryQuadraticModel({}, {'ab': 1, 'bc': -1, 'ca': 1}, 0, dimod.SPIN)

# Define the workflow
iteration = hybrid.RacingBranches(
    hybrid.InterruptableTabuSampler(),
    hybrid.EnergyImpactDecomposer(size=2)
    | hybrid.QPUSubproblemAutoEmbeddingSampler()
    | hybrid.SplatComposer()
) | hybrid.ArgMin()
workflow = hybrid.LoopUntilNoImprovement(iteration, convergence=3)

# Solve the problem
init_state = hybrid.State.from_problem(bqm)
final_state = workflow.run(init_state).result()

# Print results
print("Solution: sample={.samples.first}".format(final_state))

Documentation

Documentation for latest stable release included in Ocean is available as part of Ocean docs.

License

Released under the Apache License 2.0. See LICENSE file.

Contributing

Ocean’s contributing guide has guidelines for contributing to Ocean packages.

Project details


Download files

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

Source Distribution

dwave-hybrid-0.6.11.tar.gz (64.2 kB view details)

Uploaded Source

Built Distribution

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

dwave_hybrid-0.6.11-py3-none-any.whl (77.1 kB view details)

Uploaded Python 3

File details

Details for the file dwave-hybrid-0.6.11.tar.gz.

File metadata

  • Download URL: dwave-hybrid-0.6.11.tar.gz
  • Upload date:
  • Size: 64.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for dwave-hybrid-0.6.11.tar.gz
Algorithm Hash digest
SHA256 201230a937f92bd820311bdd6dd6ce8b68ff4e35392fe88e31aa8e41849c4eb9
MD5 ae8699fea803c4623094d1c88359fa9e
BLAKE2b-256 6555f96f88e31f2855742b1cb07fb51ca4112d396adc54eb9e61bd2bea88c8c4

See more details on using hashes here.

File details

Details for the file dwave_hybrid-0.6.11-py3-none-any.whl.

File metadata

  • Download URL: dwave_hybrid-0.6.11-py3-none-any.whl
  • Upload date:
  • Size: 77.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for dwave_hybrid-0.6.11-py3-none-any.whl
Algorithm Hash digest
SHA256 2c84c0e999bb6332f2868e28f324aeb6ac0f6faa6741334499b4e45542774a2f
MD5 760405a4e037352ffe7672238af15ea2
BLAKE2b-256 ee00ddad309f77bc5f18a8815062e64643d14b513bfb481029942e23d8a7793e

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