Quadratic Unconstrained Binary Optimization
   HOME

TheInfoList



OR:

Quadratic unconstrained binary optimization (QUBO), also known as unconstrained binary quadratic programming (UBQP), is a combinatorial optimization problem with a wide range of applications from
finance Finance is the study and discipline of money, currency and capital assets. It is related to, but not synonymous with economics, the study of production, distribution, and consumption of money, assets, goods and services (the discipline of fina ...
and
economics Economics () is the social science that studies the Production (economics), production, distribution (economics), distribution, and Consumption (economics), consumption of goods and services. Economics focuses on the behaviour and intera ...
to
machine learning Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...
. QUBO is an
NP hard In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
problem, and for many classical problems from
theoretical computer science Theoretical computer science (TCS) is a subset of general computer science and mathematics that focuses on mathematical aspects of computer science such as the theory of computation, lambda calculus, and type theory. It is difficult to circumsc ...
, like
maximum cut For a graph, a maximum cut is a cut whose size is at least the size of any other cut. That is, it is a partition of the graph's vertices into two complementary sets and , such that the number of edges between and is as large as possible. Fin ...
,
graph coloring In graph theory, graph coloring is a special case of graph labeling; it is an assignment of labels traditionally called "colors" to elements of a graph subject to certain constraints. In its simplest form, it is a way of coloring the vertices o ...
and the
partition problem In number theory and computer science, the partition problem, or number partitioning, is the task of deciding whether a given multiset ''S'' of positive integers can be partitioned into two subsets ''S''1 and ''S''2 such that the sum of the numbers ...
, embeddings into QUBO have been formulated. Embeddings for machine learning models include support-vector machines, clustering and probabilistic graphical models. Moreover, due to its close connection to Ising models, QUBO constitutes a central problem class for
adiabatic quantum computation Adiabatic quantum computation (AQC) is a form of quantum computing which relies on the adiabatic theorem to do calculations and is closely related to quantum annealing. Description First, a (potentially complicated) Hamiltonian (quantum mechanic ...
, where it is solved through a physical process called
quantum annealing Quantum annealing (QA) is an optimization process for finding the global minimum of a given objective function over a given set of candidate solutions (candidate states), by a process using quantum fluctuations. Quantum annealing is used mainl ...
.


Definition

The set of
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two digits (0 and 1) * Binary function, a function that takes two arguments * Binary operation, a mathematical operation that t ...
vectors of a fixed length n>0 is denoted by \mathbb^n, where \mathbb=\lbrace 0,1\rbrace is the set of binary values (or ''bits''). We are given a real-valued upper triangular matrix Q\in\mathbb^, whose entries Q_ define a weight for each pair of indices i,j\in\lbrace 1,\dots,n\rbrace within the binary vector. We can define a function f_Q: \mathbb^n\rightarrow\mathbb that assigns a value to each binary vector through : f_Q(x) = x^\top Qx = \sum_^n \sum_^n Q_ x_i x_j Intuitively, the weight Q_ is added if both x_i and x_j have value 1. When i=j, the values Q_ are added if x_i=1, as x_ix_i=x_i for all x_i\in\mathbb. The QUBO problem consists of finding a binary vector x^* that is minimal with respect to f_Q, namely : x^*=\underset ~f_Q(x) In general, x^* is not unique, meaning there may be a set of minimizing vectors with equal value w.r.t. f_Q. The complexity of QUBO arises from the number of candidate binary vectors to be evaluated, as , \mathbb^n, =2^n grows exponentially in n. Sometimes, QUBO is defined as the problem of ''maximizing'' f_Q, which is equivalent to minimizing f_=-f_Q.


Properties

* Multiplying the coefficients Q_ with a positive factor \alpha>0 scales the output of f accordingly, leaving the optimum x^* unchanged: : f_(x) = \sum_(\alpha Q_)x_ix_j = \alpha\sum_Q_x_ix_j = \alpha f_Q(x) * Flipping the sign of all coefficients flips the sign of f's output, making x^* the binary vector that ''maximizes'' f_: : f_(x) = \sum_(-Q_)x_ix_j = -\sum_Q_x_ix_j = -f_Q(x) * If all coefficients are positive, the optimum is trivially x^*=(0,\dots,0). Similarly, if all coefficients are negative, the optimum is x^*=(1,\dots,1). * If \forall i\neq j: ~Q_=0, i.e., the bits can be optimized independently, then the corresponding QUBO problem is solvable in \mathcal(n), the optimal variable assignments x^*_i simply being 1 if Q_<0 and 0 otherwise.


Applications

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.


Cluster Analysis

As an illustrative example of how QUBO can be used to encode an optimization problem, we consider the problem of
cluster analysis Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some sense) to each other than to those in other groups (clusters). It is a main task of ...
. Here, we are given a set of 20 points in 2D space, described by a matrix D\in\mathbb^, where each row contains two
cartesian coordinates A Cartesian coordinate system (, ) in a plane is a coordinate system that specifies each point uniquely by a pair of numerical coordinates, which are the signed distances to the point from two fixed perpendicular oriented lines, measured in t ...
. 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\in\mathbb to the point corresponding to the i-th row in D, indicating whether it belongs to the first (x_i=0) or second cluster (x_i=1). Consequently, we have 20 binary variables, which form a binary vector x\in\mathbb^ 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, the values x_ix_j or (1-x_i)(1-x_j) evaluate to 1 if points i and j are in the same cluster. Similarly, x_i(1-x_j) or (1-x_i)x_j indicate that they are in different clusters. Let d_\geq 0 denote the
Euclidean distance In mathematics, the Euclidean distance between two points in Euclidean space is the length of a line segment between the two points. It can be calculated from the Cartesian coordinates of the points using the Pythagorean theorem, therefor ...
between points i and j. In order to define a cost function to minimize, when points i and j are in the same cluster we add their positive distance d_, 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 : \begin f(x) &= \sum_d_(x_ix_j + (1-x_i)(1-x_j))-d_(x_i(1-x_j)+(1-x_i)x_j) \\ &= \sum_\left d_x_ix_j-2d_x_i-2d_x_j+d_\right \end From the second line, the QUBO parameters can be easily found by re-arranging to be: : \begin Q_ &= \begin 4d_ &\text i\neq j \\ \sum_^ d_ +\sum_^n d_&\text i=j \end \end Using these parameters, the optimal QUBO solution will correspond to an optimal cluster w.r.t. above cost function.


Connection to Ising models

QUBO is very closely related and computationally equivalent to the Ising model, whose
Hamiltonian function Hamiltonian mechanics emerged in 1833 as a reformulation of Lagrangian mechanics. Introduced by Sir William Rowan Hamilton, Hamiltonian mechanics replaces (generalized) velocities \dot q^i used in Lagrangian mechanics with (generalized) ''momenta ...
is defined as : H(\sigma) = -\sum_ J_ \sigma_i \sigma_j - \mu \sum_j h_j \sigma_j with real-valued parameters h_j, J_, \mu for all i,j. The ''spin variables'' \sigma_j are binary with values from \lbrace -1,+1\rbrace instead of \mathbb. Moreover, in the Ising model the variables are typically arranged in a lattice where only neighboring pairs of variables \langle i~j\rangle can have non-zero coefficients. Applying the identity \sigma\mapsto 2x-1 yields an equivalent QUBO problem: : \beginf(x) &= \sum_ -J_(2x_i-1)(2x_j-1) +\sum_\mu h_j(2x_j-1) \\ &= \sum_ -4J_x_ix_j +2J_x_i +2J_x_j -J_ +\sum_2\mu h_jx_j-\mu h_j &&\text x_j=x_jx_j\\ &= \sum_^n\sum_^i q_x_ix_j + C\end where : \beginQ_ &= \begin-4J_ &\text i\neq j \\ \sum_2J_+\sum_2J_+2\mu h_i &\text i=j\end \\ C &= -\sum_J_ -\sum_\mu h_j\end As the constant C does not change the position of the optimum x^*, it can be neglected during optimization and is only important for recovering the original Hamiltonian function value.


References


External links


QUBO Benchmark
(Benchmark of software packages for the exact solution of QUBOs; part of the well-known Mittelmann benchmark collection) * * Machine learning algorithms {{compu-AI-stub