Auction Algorithms for Market Equilibrium Rahul Garg IBM India Research Sanjiv Kapoor Illionis Institute of Technology
Overview The market equilibrium problem History and recent developments A parameterized linear programming formulation The auction algorithm Analysis and proof outline Conclusions and future work
A (Fisher) Market There are n buyers and m sellers Each seller has exactly one commodity (seller j has a j amount of commodity j) Buyers have only money (buyer i has e i units of money) Sellers want only money, buyers want only commodities
A (Fisher) Market Buyers have utilities on commodity bundles u i : R + m R + The utility function u i of buyer i maps an endowment of commodities to a “happiness” index The buyers and sellers come to the market and exchange commodities to maximize happiness Each buyer and seller acts independently to maximize its own happiness
There are n traders and m commodities Each trader has initial endowments of commodities a ij = amount of commodity j with trader i Traders have utilities on commodity bundles u i : R + m R + The utility function u i of trader i maps an endowment of commodities to a “happiness” index The traders come to the market and exchange commodities to maximize happiness Each trader acts independently and acts to maximize its own happiness The General Market Model (Walras)
Market Equilibrium Commodities are divisible x ij : the amount of commodity j with trader i after the trade Commodity j is tagged with a price p j x ij is a solution to the optimization problem No excess or deficiency of any commodity
Market Equilibrium No incentive for a trade No deficiency or surplus of any commodity p 1, p 2, …, p m are equilibrium prices Prices are in terms of an abstract currency Prices invariant to scaling Real money is a commodity (say m) Real price of commodity j is p j / p m Not an optimization problem
Market Equilibrium History Posed by 1891Fisher 1894Walras (Walrasian Equilibrium) Existence 1954Arrow and Debreu Computation Hydraulic apparatus by Fisher Walrasian tatonnement Convergence? Polynomial time algorithms?
Computation of Market Equilibrium Arrow et al Stability of a local greedy price adjustment method for “Gross Substitute” utility functions Eisenberg and Gale, 1959 Fisher model, additive linear utilities Optimization problem Eaves, 1976 Linear complementarity problem Lemke’s algorithm Newman and Primak, 1992 Ellipsoid method – provably polynomial-time method
Computation of Market Equilibrium Devanur et al Fisher model, separable additive and linear utilities Combinatorial algorithm based on max flows Complexity: n 4 / max-flow computations ~ n 7 / Jain et al 2003, Devanur and Vazirani 2003 Approximation algorithm for Walrasian model, linear utilities Jain, 2004 General Walrasian model, additive linear utilities Ellipsoid method (similar to Eisenberg and Gale) Ye 2004 Fisher and Walrasian model, linear utilities Complexity: n 4 L
Algorithms for Market Equilibrium Centralized Slow Very difficult to define and report utility functions Impractical
Auction Algorithms for Market Equilibrium Fisher and General Walrasian model Additive linear utilities Approximation algorithm Decentralized and distributed Very simple Natural auction interpretation Complexity: 1/ (n m 2 + m n 2 ) log v max steps
The Market Equilibrium Problem Linear, additive utilities
A Parameterized LP Formulation A family of LPs p j are market clearing prices iff there is a dual optimal with = 0 Search for p such that optimal dual has = 0
The Auction Algorithm Fix a bid increment factor (1 + ) Start with low prices A trader with “sufficient” surplus money finds its best commodity a commodity that maximizes v ij / p j Acquires a best item by outbidding the current winning trader Raises the price of the acquired commodity by (1 + ) Stop when all the traders have small surplus
Outbidding y ij h ij pjpj (1 + ) p j h ij pjpj (1 + ) p j Trader i Item j y kj Trader k Trader i Trader k pjpj y kj
Divisible Items Every item may be sold two prices: p j and p j (1 + ) h ij amount sold at p j (1 + ) y ij amount sold at p j Price at which item is available p j (1 + ) y ij h ij
Some Details Initialize with p j = 1 for all j X ij = h ij = y ij = 0 Demand set of a trader D i = { j: v ij / p j = max v ik / p k } Surplus of a trader r i = a ij p j - y ij p j - h ij p j (1 + )
The Auction Algorithm while i such that r i > a ij p j pick j D i if j is unassigned then get j at price 1 else iff y kj > 0 for some k then outbid k on item j update r i and r k else increase p j by factor (1 + ) i: y ij = h ij ; h ij = 0; recompute D i ’ s endif endwhile
riri rkrk y ij h ij pjpj (1 + ) p j y ij h ij pjpj (1 + ) p j h ij y ij pjpj (1 + ) p j h ij p j = (1 + ) p j y ij (1 + ) p j r i = a ij p j - y ij p j - h ij (1 + ) p j Bidding process: Transfers surplus Reduces it by (1 + ) Price raise: Increases surplus
A Primal-Dual Interpretation Maintains dual feasibility Satisfies complementary slackness Successively improves primal feasibility Stops when primal infeasibility is sufficiently small
Analysis Terminates and achieves approximate market clearing If order of bidding is fixed, then time complexity is good
Analysis Number of prices raises < O(m/ log (p max )) Bidding in rounds every bidders bids once in a round either a price is raised or r reduces by factor (1 + ) Gives a bound of O(1 / 2 nm log (a p max / ( a min )) log p max )
Aggressive Bidders Bidder i bidding on item j Raises prices: m / log (p max ) Knocks out a bidder (say k) Can a bidder get the same item again? Yes: if j D k Exhausts surplus Can surplus come again? How many times? A modification If i is getting j at p j then it upgrades to (1 + ) p j If j D k then k bids back on item immediately and gets it a price (1 + ) p j
Analysis Define a bipartite graph G (i, j) G iff j D i (j, i) G iff y kj > 0 and j D i G is acyclic Three types of assignments h ij > 0 y ij > 0 and j D i y ij > 0 and j D i BiddersItems i j k j D i y kj > 0 and j D i
Amortization Define Y = (j, i) : y ij > 0 Bidding raises prices atmost m / log (p max ) times adds atmost n new edges in Y exhausts an edge in Y: n m / log (p max ) times reduces surplus to zero atmost n 2 times for every price rise Demand set computation atmost m / log (p max ) times requires atmost nm steps Requires 1/ (n m 2 + m n 2 ) log v max ) steps
Conclusions Fast polynomial time algorithm for approximate market equilibrium – linear additive utilities Decentralized auction algorithm No need to reveal private information Natural and practical Conceivable implementation in grid economies using software agents
Future Work Fast algorithm for exact market equilibrium (linear utilities) Strongly polynomial time exact equilibrium algorithms Greedy monotone price mechanisms Separable additive gross substitute utilities General gross substitute utilities General (concave) utilities