1 / 28

# Auction Algorithms for Market Equilibrium - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Auction Algorithms for Market Equilibrium' - stephanie-hebert

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Auction Algorithms for Market Equilibrium

Rahul Garg

IBM India Research

Sanjiv Kapoor

Illionis Institute of Technology

• The market equilibrium problem

• History and recent developments

• A parameterized linear programming formulation

• The auction algorithm

• Analysis and proof outline

• Conclusions and future work

• There are n buyers and m sellers

• Each seller has exactly one commodity(seller j has aj amount of commodity j)

• Sellers want only money, buyers want only commodities

• Buyers have utilities on commodity bundlesui: R+m R+The utility function ui 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 aij = amount of commodity j with trader i

• Traders have utilities on commodity bundlesui: R+m R+The utility function ui 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

• Commodities are divisible

• xij: the amount of commodity j with trader i after the trade

• Commodity j is tagged with a price pj

• xij is a solution to the optimization problem

• No excess or deficiency of any commodity

• No incentive for a trade

• No deficiency or surplus of any commodity

• p1, p2, …, pm 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 pj / pm

• Not an optimization problem

• Posed by

• 1891 Fisher

• 1894 Walras (Walrasian Equilibrium)

• Existence

• 1954 Arrow and Debreu

• Computation

• Hydraulic apparatus by Fisher

• Walrasian tatonnement

• Convergence?

• Polynomial time algorithms?

• Arrow et al. 1959

• 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

• Devanur et al. 2002

• Fisher model, separable additive and linear utilities

• Combinatorial algorithm based on max flows

• Complexity: n4/ max-flow computations ~ n7/

• 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: n4 L

• Centralized

• Slow

• Very difficult to define and report utility functions

• Impractical

• Fisher and General Walrasian model

• Approximation algorithm

• Decentralized and distributed

• Very simple

• Natural auction interpretation

• Complexity: 1/  (n m2 + m n2) log vmax steps

• A family of LPs

• pj are market clearing prices iff there is a dual optimal with  = 0

Search for p such that optimal dual has  = 0

• Fix a bid increment factor (1 + )

• A trader with “sufficient” surplus money finds its best commodity

• a commodity that maximizes vij / pj

• 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

Item j

pj

ykj

(1 + ) pj

hij

yij

pj

(1 + ) pj

hij

ykj

pj

• Every item may be sold two prices: pj and pj (1 + )

• hij amount sold at pj (1 + )

• yij amount sold at pj

• Price at which item is available pj (1 + )

hij

yij

• Initialize with pj = 1 for all j

• Xij = hij = yij = 0

• Demand set of a trader

• Di = { j: vij / pj = max vik / pk }

• ri =  aij pj -  yij pj -  hij pj (1 + )

while i such that ri >   aij pjpick j  Diif j is unassigned then get j at price 1else iff ykj > 0 for some k then outbid k on item j update ri and rk else increase pj by factor (1 + )i: yij = hij; hij = 0; recompute Di’s endifendwhile

ri

rk

(1 + ) pj

(1 + ) pj

hij

hij

pj

yij

pj

yij

hij

yij

(1 + ) pj

(1 + ) pj

pj

hij

yij

pj = (1 + ) pj

• ri =  aij pj -  yij pj

• -  hij(1 + ) pj

• Bidding process:

• Transfers surplus

• Reduces it by (1 + )

• Price raise:

• Increases surplus

• Maintains dual feasibility

• Satisfies complementary slackness

• Successively improves primal feasibility

• Stops when primal infeasibility is sufficiently small

• Terminates and achieves approximate market clearing

• If order of bidding is fixed, then time complexity is good

• Number of prices raises < O(m/ log (pmax))

• 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 pmax / ( amin)) log pmax)

• Bidder i bidding on item j

• Raises prices: m /  log (pmax)

• Knocks out a bidder (say k)

• Can a bidder get the same item again?

• Yes: if j  Dk

• Exhausts surplus

• Can surplus come again? How many times?

• A modification

• If i is getting j at pj then it upgrades to (1 + ) pj

• If j  Dk then k bids back on item immediately and gets it a price (1 + ) pj

• Define a bipartite graph G

• (i, j)  G iff j  Di

• (j, i)  G iff ykj > 0 and j Di

• G is acyclic

• Three types of assignments

• hij > 0

• yij > 0 and j  Di

• yij > 0 and j Di

Bidders

Items

i

j  Di

j

k

ykj > 0 and j Di

• Define Y = (j, i) : yij > 0

• Bidding

• raises prices

• atmost m /  log (pmax) times

• adds atmost n new edges in Y

• exhausts an edge in Y: n m /  log (pmax) times

• reduces surplus to zero

• atmost n2 times for every price rise

• Demand set computation

• atmost m /  log (pmax) times

• requires atmost nm steps

• Requires 1/  (n m2 + m n2) log vmax) steps

• 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

• 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