derlin / hepqpr-qallse

The HEPQPR.Qallse project encodes the HEP (ATLAS) pattern recognition problem into a QUBO and solves it using a D-Wave or other classical QUBO libraries (qbsolv, neal). Master's project (2019).
https://arxiv.org/abs/1902.08324
Apache License 2.0
25 stars 19 forks source link

How many triplets can be in a model? #1

Closed kenenbek closed 5 years ago

kenenbek commented 5 years ago

From official D-Wave docs:

The D-Wave 2000Q QPU has up to 2048 qubits and 6016 couplers.

For solving the tracking problem, you converted it into the QUBO problem.

If you solve it on D-Wave, does it mean dataset has to have at most 2048 possible triplets and no more than 6016 qplets candidates?

Or there is another "physical qubit" <--> "triplet mapping"?

derlin commented 5 years ago

Dear @kenenbek ,

Current D-Waves are indeed very limited in terms of qubits, and this is why this repo uses qbsolv to circonvent the problem. From the docs, qbsolv is

a decomposing solver that finds a minimum value of a large quadratic unconstrained binary optimization (QUBO) problem by splitting it into pieces. The pieces are solved using a classical solver running the tabu algorithm. qbsolv also enables configuring a D-Wave system as the solver.

In other words, there is no limitation on the number of xplets or on the QUBO size, as qbsolv will split the big qubo into smaller chunks that fit the given hardware (the default parameter is to create sub-QUBOs of 47 variables/qubits). Note that:

Notes: qbsolv seemed the easiest option to use a D-Wave with larger QUBOs at the time. However, let me stress that we discovered a lot of limitations and problems. The biggest one is that it seems to rely vastly on the tabu optimization phase to get to a minima, thus rendering the subsolver quite useless. Indeed, if you use a random solver as the subQUBO solver, you will find that you often get a better solution and in less time... Thus, before drawing conclusions, it would be important to either modify qbsolv or find an alternative.