Abstract
This article addresses the question of implementing a maximum flow algorithm on directed graphs in a formulation suitable for a quantum annealing computer. Three distinct approaches are presented. In all three cases, the flow problem is formulated as a quadratic unconstrained binary optimization (QUBO) problem amenable to quantum annealing. The first implementation augments a graph with integral edge capacities into a multigraph with unit-capacity edges and encodes the fundamental objective and constraints of the maximum flow problem using a number of qubits equal to the total capacity of the graph $\sum _i{c_i}$ . The second implementation, which encodes flows through edges using a binary representation, reduces the required number of qubits to $\mathcal {O}(|E| \log C_{\max })$ , where $|E|$ and $C_{\max }$ denote the number of edges and maximum edge capacity of the graph, respectively. The third implementation adapts the dual minimum cut formulation and encodes the problem instance using $|V|$ qubits, where $|V|$ is the number of vertices in the graph. Scaling factors for penalty terms and coupling matrix construction times are made explicit in this article.
Highlights
The maximum flow problem aims to the optimize stationary flow in a directed graph
The slow progression of the quantum energy state allows the system of qubits to traverse energy barriers through quantum tunneling and find the global minimum of the high-dimensional energy function
The energy function is generally represented as an Ising model or an equivalent quadratic unconstrained binary optimization (QUBO) formulation
Summary
The maximum flow problem aims to the optimize stationary flow in a directed graph. The load flows from a single source vertex to a single sink vertex through a network in which each edge has a maximum carrying capacity, optimizing transit to a consistently sustainable maximum rate. The maximum flow problem is traditionally defined on a directed graph wherein each edge (i, j) ∈ E is modeled to possess a capacity constraint for flow between its endpoint. The classic Ford–Fulkerson algorithm, which works for general graphs with edge capacities that are rational numbers, can solve the maximum flow problem in O(|E| f ) time, where f is the magnitude of the maximum flow [11]. The Edmonds–Karp algorithm works for graphs with any positive edge capacities, and it solves the problem in O(|V ||E|2) time, which despite being potentially worse than Ford–Fulkerson for some graphs, is independent of the graph’s edge capacities or maximum flow amount [23]. This seems to be a practical choice, as empirical evidence has found that limiting the second-term constraint to near −1 is most effective
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have