- What is QUBO?
- QUBO stands for Quadratic Unconstrained Binary Optimization. It is the standard mathematical form for expressing optimization problems on quantum annealers like D-Wave's Advantage system. In a QUBO, you have binary variables (0 or 1), an objective function that is at most quadratic in those variables, and no explicit constraints, constraints are encoded as penalty terms added to the objective. Solving a QUBO means finding the assignment of binary variables that minimizes the objective function.
- What is the relationship between QUBO and the Ising model?
- QUBO and the Ising model are mathematically equivalent, you can convert between them with a linear substitution. The Ising model uses spin variables (-1 or +1) instead of binary variables (0 or 1), and is the native form for quantum annealing hardware. D-Wave's Ocean SDK accepts both forms and handles the conversion internally. Most optimization literature uses QUBO; quantum hardware documentation often uses Ising. Understanding both is useful for reading papers and working with different tools.
- What kinds of problems can be expressed as QUBOs?
- Many combinatorial optimization problems have natural QUBO representations: graph partitioning, maximum cut (MaxCut), number partitioning, vehicle routing, job scheduling, portfolio optimization, traffic flow optimization, supply chain logistics, and protein folding. The key requirement is that the problem can be expressed with binary decision variables and a quadratic objective. Constraints are added as penalty terms. Problems with continuous variables or high-degree polynomial objectives require reformulation.
- Do I need a quantum computer to solve QUBOs?
- No. QUBO is a mathematical formulation, not a hardware requirement. Classical solvers (simulated annealing, tabu search, branch-and-bound) can solve QUBOs, and for small instances they are often faster than quantum hardware. D-Wave's hybrid solvers combine quantum annealing with classical heuristics and are competitive on larger instances. You can develop and test QUBO formulations locally using D-Wave's Ocean SDK simulators before running on real hardware.
- How do you encode constraints in a QUBO?
- Constraints are encoded as penalty terms: mathematical expressions that add a large positive value to the objective whenever a constraint is violated. For example, the constraint x1 + x2 = 1 (exactly one of two binary variables must be 1) becomes the penalty term P * (x1 + x2 - 1)^2, where P is a penalty coefficient large enough to make constraint violations suboptimal. D-Wave's Ocean SDK provides utilities like Constraints and add_constraint() to handle this automatically for common constraint types.