QUBO / MaxCut Explorer

Edit a small binary optimization problem and inspect every assignment, objective value, and optimum in the browser.

Choose a preset or edit the coefficients directly. The explorer evaluates every binary assignment, so you can see how a local choice compares with the global optimum instead of treating an optimizer as a black box.

These demonstrations were built with generative AI.

Objective conventions

In QUBO mode, the explorer minimizes an upper-triangular binary quadratic objective

f(x)=\sum_i Q_{ii}x_i+\sum_{i<j}Q_{ij}x_ix_j, \qquad x_i\in\{0,1\}.

The diagonal entries are linear coefficients because x_i^2=x_i.

In weighted MaxCut mode, the explorer maximizes

C(x)=\sum_{i<j}w_{ij}\mathbf{1}\{x_i\ne x_j\}.

Here, \mathbf{1}\{x_i\ne x_j\} equals 1 when the endpoints are on different sides and 0 otherwise. The bit value assigns each vertex to one side of the cut. Negative weights are allowed for inspection and instead favor keeping their endpoints together.

How to use it

Click a graph vertex or its bit button to change the selected assignment. The graph highlights contributing quadratic terms or cut edges. The landscape shows all 2^n objective values in binary order; click a bar or a row in the best-solutions list to inspect that assignment. Use optimum jumps directly to the global optimum found by exhaustive enumeration.