The set of binary vectors of a fixed length n > 0 {\displaystyle n>0} is denoted by B n {\displaystyle \mathbb {B} ^{n}} , where B = { 0 , 1 } {\displaystyle \mathbb {B} =\lbrace 0,1\rbrace } is the set of binary values (or bits). We are given a real-valued upper triangular matrix Q ∈ R n × n {\displaystyle Q\in \mathbb {R} ^{n\times n}} , whose entries Q i j {\displaystyle Q_{ij}} define a weight for each pair of indices i , j ∈ { 1 , … , n } {\displaystyle i,j\in \lbrace 1,\dots ,n\rbrace } within the binary vector. We can define a function f Q : B n → R {\displaystyle f_{Q}:\mathbb {B} ^{n}\rightarrow \mathbb {R} } that assigns a value to each binary vector through
Intuitively, the weight Q i j {\displaystyle Q_{ij}} is added if both x i {\displaystyle x_{i}} and x j {\displaystyle x_{j}} have value 1. When i = j {\displaystyle i=j} , the values Q i i {\displaystyle Q_{ii}} are added if x i = 1 {\displaystyle x_{i}=1} , as x i x i = x i {\displaystyle x_{i}x_{i}=x_{i}} for all x i ∈ B {\displaystyle x_{i}\in \mathbb {B} } .
The QUBO problem consists of finding a binary vector x ∗ {\displaystyle x^{*}} that is minimal with respect to f Q {\displaystyle f_{Q}} , namely
In general, x ∗ {\displaystyle x^{*}} is not unique, meaning there may be a set of minimizing vectors with equal value w.r.t. f Q {\displaystyle f_{Q}} . The complexity of QUBO arises from the number of candidate binary vectors to be evaluated, as | B n | = 2 n {\displaystyle |\mathbb {B} ^{n}|=2^{n}} grows exponentially in n {\displaystyle n} .
Sometimes, QUBO is defined as the problem of maximizing f Q {\displaystyle f_{Q}} , which is equivalent to minimizing f − Q = − f Q {\displaystyle f_{-Q}=-f_{Q}} .
QUBO is scale invariant for positive factors α > 0 {\displaystyle \alpha >0} , which leave the optimum x ∗ {\displaystyle x^{*}} unchanged:
In its general form, QUBO is NP-hard and cannot be solved efficiently by any polynomial-time algorithm.6 However, there are polynomially-solvable special cases, where Q {\displaystyle Q} has certain properties,7 for example:
QUBO can be solved using integer linear programming solvers like CPLEX or Gurobi Optimizer. This is possible since QUBO can be reformulated as a linear constrained binary optimization problem. To achieve this, substitute the product x i x j {\displaystyle x_{i}x_{j}} by an additional binary variable z i j ∈ { 0 , 1 } {\displaystyle z_{ij}\in \{0,1\}} and add the constraints x i ≥ z i j {\displaystyle x_{i}\geq z_{ij}} , x j ≥ z i j {\displaystyle x_{j}\geq z_{ij}} and x i + x j − 1 ≤ z i j {\displaystyle x_{i}+x_{j}-1\leq z_{ij}} . Note that z i j {\displaystyle z_{ij}} can also be relaxed to continuous variables within the bounds zero and one.
QUBO is a structurally simple, yet computationally hard optimization problem. It can be used to encode a wide range of optimization problems from various scientific areas.9
As an illustrative example of how QUBO can be used to encode an optimization problem, we consider the problem of cluster analysis. Here, we are given a set of 20 points in 2D space, described by a matrix D ∈ R 20 × 2 {\displaystyle D\in \mathbb {R} ^{20\times 2}} , where each row contains two cartesian coordinates. We want to assign each point to one of two classes or clusters, such that points in the same cluster are similar to each other. For two clusters, we can assign a binary variable x i ∈ B {\displaystyle x_{i}\in \mathbb {B} } to the point corresponding to the i {\displaystyle i} -th row in D {\displaystyle D} , indicating whether it belongs to the first ( x i = 0 {\displaystyle x_{i}=0} ) or second cluster ( x i = 1 {\displaystyle x_{i}=1} ). Consequently, we have 20 binary variables, which form a binary vector x ∈ B 20 {\displaystyle x\in \mathbb {B} ^{20}} that corresponds to a cluster assignment of all points (see figure).
One way to derive a clustering is to consider the pairwise distances between points. Given a cluster assignment x {\displaystyle x} , one of x i x j {\displaystyle x_{i}x_{j}} or ( 1 − x i ) ( 1 − x j ) {\displaystyle (1-x_{i})(1-x_{j})} evaluates to 1 if points i {\displaystyle i} and j {\displaystyle j} are in the same cluster. Similarly, one of x i ( 1 − x j ) {\displaystyle x_{i}(1-x_{j})} or ( 1 − x i ) x j {\displaystyle (1-x_{i})x_{j}} indicates that they are in different clusters. Let d i j ≥ 0 {\displaystyle d_{ij}\geq 0} denote the Euclidean distance between points i {\displaystyle i} and j {\displaystyle j} . In order to define a cost function to minimize, when points i {\displaystyle i} and j {\displaystyle j} are in the same cluster we add their positive distance d i j {\displaystyle d_{ij}} , and subtract it when they are in different clusters. This way, an optimal solution tends to place points which are far apart into different clusters, and points that are close into the same cluster. The cost function thus comes down to
From the second line, the QUBO parameters can be easily found by re-arranging to be:
Using these parameters, the optimal QUBO solution will correspond to an optimal cluster w.r.t. above cost function.
QUBO is very closely related and computationally equivalent to the Ising model, whose Hamiltonian function is defined as
with real-valued parameters h j , J i j , μ {\displaystyle h_{j},J_{ij},\mu } for all i , j {\displaystyle i,j} . The spin variables σ j {\displaystyle \sigma _{j}} are binary with values from { − 1 , + 1 } {\displaystyle \lbrace -1,+1\rbrace } instead of B {\displaystyle \mathbb {B} } . Moreover, in the Ising model the variables are typically arranged in a lattice where only neighboring pairs of variables ⟨ i j ⟩ {\displaystyle \langle i~j\rangle } can have non-zero coefficients. Applying the identity σ ↦ 2 x − 1 {\displaystyle \sigma \mapsto 2x-1} yields an equivalent QUBO problem:10
where
and using the fact that for a binary variable x j = x j x j {\displaystyle x_{j}=x_{j}x_{j}} .
As the constant C {\displaystyle C} does not change the position of the optimum x ∗ {\displaystyle x^{*}} , it can be neglected during optimization and is only important for recovering the original Hamiltonian function value.
Kochenberger, Gary; Hao, Jin-Kao; Glover, Fred; Lewis, Mark; Lu, Zhipeng; Wang, Haibo; Wang, Yang (2014). "The unconstrained binary quadratic programming problem: a survey" (PDF). Journal of Combinatorial Optimization. 28: 58–81. doi:10.1007/s10878-014-9734-0. S2CID 16808394. https://leeds-faculty.colorado.edu/glover/454%20-%20xQx%20survey%20article%20as%20published%202014.pdf ↩
Glover, Fred; Kochenberger, Gary (2019). "A Tutorial on Formulating and Using QUBO Models". arXiv:1811.11538 [cs.DS]. /wiki/ArXiv_(identifier) ↩
Lucas, Andrew (2014). "Ising formulations of many NP problems". Frontiers in Physics. 2: 5. arXiv:1302.5843. Bibcode:2014FrP.....2....5L. doi:10.3389/fphy.2014.00005. https://doi.org/10.3389%2Ffphy.2014.00005 ↩
Mücke, Sascha; Piatkowski, Nico; Morik, Katharina (2019). "Learning Bit by Bit: Extracting the Essence of Machine Learning" (PDF). LWDA. S2CID 202760166. Archived from the original (PDF) on 2020-02-27. /wiki/Katharina_Morik ↩
Tom Simonite (8 May 2013). "D-Wave's Quantum Computer Goes to the Races, Wins". MIT Technology Review. Archived from the original on 24 September 2015. Retrieved 12 May 2013. https://web.archive.org/web/20150924141050/http://www.technologyreview.com/view/514686/d-waves-quantum-computer-goes-to-the-races-wins/ ↩
A. P. Punnen (editor), Quadratic unconstrained binary optimization problem: Theory, Algorithms, and Applications, Springer, Springer, 2022. ↩
Çela, E., Punnen, A.P. (2022). Complexity and Polynomially Solvable Special Cases of QUBO. In: Punnen, A.P. (eds) The Quadratic Unconstrained Binary Optimization Problem. Springer, Cham. https://doi.org/10.1007/978-3-031-04520-2_3 https://doi.org/10.1007/978-3-031-04520-2_3 ↩
See Theorem 3.16 in Punnen (2022); note that the authors assume the maximization version of QUBO. ↩
Ratke, Daniel (2021-06-10). "List of QUBO formulations". Retrieved 2022-12-16. https://blog.xa0.de/post/List-of-QUBO-formulations/ ↩