Computing Walrasian equilibria: fast algorithms and structural properties
We present the first polynomial time algorithm for computing Walrasian equilibrium in an economy with indivisible goods and general buyer valuations having only access to an aggregate demand oracle, i.e., an oracle that given prices on all goods, returns the aggregated demand over the entire population of buyers. For the important special case of gross substitute valuations, our algorithm queries the aggregate demand oracle O(n) times and takes O(n 3 ) time, where n is the number of goods and
... e O(·) notation denotes an asymptotic bound up to polylogarithmic factors. Both algorithms are randomized. At the heart of our solution is a method for exactly minimizing certain convex functions which cannot be evaluated but for which the subgradients can be computed. We also give the fastest known algorithm for computing Walrasian equilibrium for gross substitute valuations in the value oracle model. Our algorithm has running time O((mn + n 3 )T V ) where T V is the cost of querying the value oracle. A key technical ingredient is to regularize a convex programming formulation of the problem in a way that subgradients are cheap to compute. En route, we give necessary and sufficient conditions for the existence of robust Walrasian prices, i.e., prices for which each agent has a unique demanded bundle and the demanded bundles clear the market. When such prices exist, the market can be perfectly coordinated by solely using prices. Mathematics Subject Classification 90C25 (Convex programming) · 91B26 (Market models) A shorter conference version of this paper appeared in the ACM-SIAM Symposium on Discrete Algorithms (SODA17) and has been posted on arXiv (https://arxiv.org/abs/1511.04032). The conference version is attached to this submission for the records.