The classical pipeline
A QUBO problem on variables consists in a symmetric matrix of size .
Solving a QUBO problem means to find the bitstring that minimizes the quantity
Qubo Solver's classical machinery runs entirely on CPU, without going through the quantum pipeline, and serves three purposes:
- Solvers as a baseline β exact or heuristic algorithms to solve a QUBO instance from scratch, to validate or compare against the quantum pipeline.
- Solvers as a refinement step β some solvers take an initial solution and improve it, which is useful to post-process the output of a quantum solver.
- Transforms to reduce or adapt an instance before solving β fixing variables to shrink the problem, or removing negative off-diagonal coefficients so it becomes embeddable on a quantum device.
Baseline: solving from scratch
Section titled βBaseline: solving from scratchβSolvers that don't need a starting point are the simplest way to get a reference solution: an exact solve, or a fast heuristic to compare quality and runtime against the quantum pipeline. See Solvers for the full list.
Refinement: improving an existing solution
Section titled βRefinement: improving an existing solutionβSolvers that take an initial solution can post-process the result of any other solver, including a quantum one β for example, running local bitflips on a quantum sampler's output to squeeze out a better bitstring. See Solvers for the refinement algorithms and an example.
Adapting the instance: transforms
Section titled βAdapting the instance: transformsβTransforms change the Instance itself before it reaches a solver, and record enough history to
map a Solution of the transformed problem back to the original one. Some transforms are exact β
variable fixing only fixes a variable when it is guaranteed to be optimal, so the transformed
problem is equivalent to the original β while others are approximations: zeroing negative
off-diagonal coefficients (needed to make an instance embeddable on a quantum device) changes the
objective, and should be used with that trade-off in mind. See Transforms for
details on each.
Where to go next
Section titled βWhere to go nextβ- Choose a baseline or refinement algorithm in Solvers.
- Reduce or adapt an instance before solving in Transforms.
