Skip to content

MSeelbach/SplittingForQA

Repository files navigation

Compensating connectivity restrictions in quantum annealers via splitting and linearization techniques

Marcel Seelbach Benkner1, Zorah Lähner1,2, Vladislav Golyanik3, Martin Kliesch4 and Michael Möller1

1University of Siegen, 2University of Bonn, 3Max Planck Institute for Informatics, 4University of Hamburg.

This is the official repository for the publication "Compensating connectivity restrictions in quantum annealers via splitting and linearization techniques". In this work an iterative algorithm is presented to utilize a hardware restricted QUBO solver for approximating arbitrary QUBO problems. The preprint can be found at https://arxiv.org/abs/2507.12536. The code can be executed with the D-Wave ocean sdk. To run the code without a quantum annealer on can use D-Wave neal instead of a QPU Sampler.

arXiv Python

Getting Started

-The repository can be cloned with
git clone https://github.com/MSeelbach/SplittingForQA/
-We recommend the user to set up a conda environment with

conda create -n Splitting-env python=3.8
conda activate Splitting-env

-The D-Wave ocean sdk can be installed with
python -m pip install dwave-ocean-sdk
and following the steps from https://docs.ocean.dwavesys.com/en/stable/overview/install.html. In particular to get access to the solvers from D-Wave one has to create an account for D-Wave Leap (https://cloud.dwavesys.com/leap/login/?next=/leap/) and can then use the API Token (https://docs.ocean.dwavesys.com/en/stable/overview/sapi.html). We tested the code for dwave-ocean-sdk version 6.3.

-After this execute
conda install pandas, matplotlib

How to access benchmark instances

To conduct expirements on MQlib the dataset has to be downloaded from https://github.com/MQLib/MQLib. The problem instances from Mehta et al. "On the hardness of quadratic unconstrained binary optimization problems" can be found at https://jugit.fz-juelich.de/qip/qubo-problems.

Code description

In the following we give a description about the content of the 5 folders:

  • AblationPlot contains information about the ablation experiments in Appendix B.

  • In DatasetPreperation scripts to preprocess the literature problems instances can be found.

  • MethodinGeneral contains minimalistic Code of the main method presented in our publication.

  • QuantumAnnealingExperiments has Code to understand the experiments on quantum annealing hardware.

  • SimulatedAnnealingExperiments has Code to understand the exhaustive simulated annealing experiments.

We publish code for all methods that were benchmarked against each other in the publication. MethodinGeneral contains the polished code for the main splitting method. With the other folders one can see how the numerical experiments were conducted and the plots generated.
The pickle file Hardware.p entails information about the used QPU solver in the experiments. To read it out one has to look how it was created at the initialization of DirectQUBOSolvers.py.

License

Shield: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

About

Official Implementation of "Compensating connectivity restrictions in quantum annealers via splitting and linearization techniques"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors