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.
-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
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.
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.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
