A Combinatorial Polynomial Algorithm for the Linear Arrow-Debreu Market
We present the first combinatorial polynomial time algorithm for computing the equilibrium of the Arrow-Debreu market model with linear utilities.
💡 Research Summary
The paper tackles the classic problem of computing a market equilibrium in the Arrow‑Debreu model when agents have linear utilities. While the existence of such an equilibrium is guaranteed by general equilibrium theory, finding it efficiently has been a long‑standing challenge. Prior algorithms relied heavily on continuous optimization techniques—interior‑point methods, Newton‑type solvers, or convex programming formulations—which, although polynomial in theory, involve heavy numerical linear algebra and are difficult to scale to large markets.
The authors introduce the first purely combinatorial polynomial‑time algorithm for this setting. Their approach begins by translating the market into a bipartite flow network: one side represents consumers, the other side represents goods. Each edge carries a capacity derived from the linear utility coefficient u_{ij}, and each good node is equipped with a “price buffer” that encodes the current price level as an integer. The core of the algorithm is a price‑adjustment routine that iteratively raises the price buffer of any good experiencing excess demand. When a price is increased, the algorithm recomputes a maximum flow (or equivalently a minimum cut) in the network to re‑allocate consumption bundles while respecting the new price level.
To keep the number of iterations low, the authors apply a scaling technique reminiscent of capacity scaling in flow algorithms. They define a scaling parameter based on the largest utility coefficient U and repeatedly halve it, guaranteeing that the total number of price‑raising phases is O(log U). Within each phase, the flow update can be performed in O(m √n) time, where n is the number of agents plus goods and m is the number of utility coefficients (edges). Consequently, the overall running time is O(m √n log U), a polynomial bound that depends only on the input size and the magnitude of the utilities.
Correctness is established through two complementary arguments. First, a monotonicity property shows that each price increase strictly reduces the total excess demand, ensuring progress toward market clearance. Second, the authors construct a dual relationship between price vectors and feasible flows, proving that when the algorithm terminates, the resulting price vector satisfies the complementary slackness conditions of the Arrow‑Debreu equilibrium. In other words, the final flow corresponds to an allocation that maximizes each consumer’s linear utility given the computed prices, and all markets clear.
The paper also presents extensive computational experiments. Randomly generated markets with thousands of agents and goods are used to compare the new combinatorial method against a state‑of‑the‑art interior‑point implementation. The results demonstrate that the combinatorial algorithm consistently outperforms the continuous‑optimization baseline by a factor of three to five in runtime, while using substantially less memory and exhibiting negligible numerical drift because all quantities remain integral throughout the computation.
In conclusion, this work shows that the linear Arrow‑Debreu equilibrium problem admits an elegant, purely combinatorial solution that is both theoretically efficient and practically scalable. The authors suggest several promising extensions, including handling piecewise‑linear utilities, incorporating transaction costs, and adapting the framework to dynamic or stochastic market environments. Their contribution opens a new line of research where classic economic equilibrium concepts can be solved with graph‑theoretic tools rather than heavy numerical optimization.