Computing Walrasian Equilibrium Renato Paes Leme - - PowerPoint PPT Presentation

computing walrasian equilibrium
SMART_READER_LITE
LIVE PREVIEW

Computing Walrasian Equilibrium Renato Paes Leme - - PowerPoint PPT Presentation

Computing Walrasian Equilibrium Renato Paes Leme Sam Wong (Google) (Berkeley) supplies: demand: flour, bakeries, milk, hospitals, vegetables, households, medicine, schools, paper,


slide-1
SLIDE 1

Computing Walrasian Equilibrium

Renato Paes Leme Sam Wong (Google) (Berkeley)

slide-2
SLIDE 2

supplies: flour, milk, vegetables, medicine, paper, … demand: bakeries, hospitals, households, schools, …

slide-3
SLIDE 3

supplies: flour, milk, vegetables, medicine, paper, … demand: bakeries, hospitals, households, schools, … Task: Allocate supplies efficiently to satisfy the demands

  • f the city.
slide-4
SLIDE 4

supplies: flour, milk, vegetables, medicine, paper, … demand: bakeries, hospitals, households, schools, … Task: Allocate supplies efficiently to satisfy the demands

  • f the city.

Invisible Hand

  • f the market
slide-5
SLIDE 5
  • Adam Smith: “Wealth of the

Nations” (1776): invisible hand


  • Leon Walras: “Elements of Pure

Economics” (1874): mathematical
 theory of market equilibrium


  • Arrow-Debreu (1950’s): general

equilibrium theory


  • Kelso-Crawford (1982): discrete and

combinatorial theory of market equilibr.

Theory of Market Equilibrium

slide-6
SLIDE 6

Market equilibrium

n goods m buyers

slide-7
SLIDE 7
  • Valuations

Market equilibrium

n goods m buyers vi : 2N → R v1 v2 v3 v4

slide-8
SLIDE 8
  • Valuations

Market equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4

slide-9
SLIDE 9
  • Valuations

Market equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4 D(vi, p) = argmaxS⊆N[vi(S) − P

i∈S pi]

  • Demands
slide-10
SLIDE 10
  • Valuations

Market equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4 D(vi, p) = argmaxS⊆N[vi(S) − P

i∈S pi]

  • Demands

S1 ∈ D(v1, p)

slide-11
SLIDE 11
  • Valuations

Market equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4 D(vi, p) = argmaxS⊆N[vi(S) − P

i∈S pi]

  • Demands

S1 ∈ D(v1, p) S2 ∈ D(v2, p)

slide-12
SLIDE 12
  • Valuations

Market equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4 D(vi, p) = argmaxS⊆N[vi(S) − P

i∈S pi]

  • Demands

S1 ∈ D(v1, p) S2 ∈ D(v2, p) ∅ ∈ D(v3, p)

slide-13
SLIDE 13
  • Valuations

Market equilibrium

n goods m buyers vi : 2N → R p1 p2 p3 p4 p5 p6 v1 v2 v3 v4 D(vi, p) = argmaxS⊆N[vi(S) − P

i∈S pi]

  • Demands

S1 ∈ D(v1, p) S2 ∈ D(v2, p) S4 ∈ D(v4, p) ∅ ∈ D(v3, p)

slide-14
SLIDE 14
  • Market equilibrium: prices s.t. 


i.e. each good is demanded by exactly one buyer.

Market equilibrium

p ∈ Rn Si ∈ D(vi, p) First Welfare Theorem: in equilibrium the welfare
 is maximized. P

i vi(Si)

(proof: LP duality) How do markets converge to equilibrium prices ? How to compute a Walrasian equilibrium ?

slide-15
SLIDE 15

How to access the input

Microscopic Macroscopic Telescopic

slide-16
SLIDE 16

How to access the input

Microscopic Macroscopic Telescopic Value oracle: given i and S:
 query . vi(S)

slide-17
SLIDE 17

How to access the input

Microscopic Macroscopic Telescopic Value oracle: given i and S:
 query . vi(S) Demand oracle: given i and p:
 query .

S ∈ D(vi, p)

slide-18
SLIDE 18

How to access the input

Microscopic Macroscopic Telescopic Value oracle: given i and S:
 query . vi(S) Demand oracle: given i and p:
 query .

S ∈ D(vi, p)

Aggregate Demand: given p, query.

P

i Si; Si ∈ D(vi, p)

slide-19
SLIDE 19

Algorithms for computing equilibria (general case)

Algorithm Oracle Access Running time

tatonnement (trial-and-error) [Walras, Kelso-Crawford, …]

slide-20
SLIDE 20

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6

slide-21
SLIDE 21

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6

slide-22
SLIDE 22

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6

slide-23
SLIDE 23

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6

slide-24
SLIDE 24

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6

slide-25
SLIDE 25

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6 +1 +1 −1

slide-26
SLIDE 26

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6 +1 +1 −1

slide-27
SLIDE 27

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6 +1 +1 −1

slide-28
SLIDE 28

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6 +1 +1 −1

slide-29
SLIDE 29

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6 +1 +1 −1

slide-30
SLIDE 30

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6 +1 +1 −1

slide-31
SLIDE 31

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6 +1 +1 −1

slide-32
SLIDE 32

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6 +1 +1 −1 +1

slide-33
SLIDE 33

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6 +1 +1 −1 +1

slide-34
SLIDE 34

Walrasian tatonnement

n goods m buyers v1 v2 v3 v4 p1 p2 p3 p4 p5 p6 +1 +1 −1 +1

slide-35
SLIDE 35

Gradient Descent Interpretation

  • [Kelso-Crawford] analyzes it and shows convergence

under a condition called gross substitutes.

  • pseudo poly algorithm
slide-36
SLIDE 36
  • [Ausubel] defined the potential:



 
 such that gradient descent is exactly tatonnement:
 


  • If equilibrium exists then equil prices =

Gradient Descent Interpretation

argminf(p) ∂jf(p) = 1 − [total demand for j] f(p) = P

i maxS[vi(S) − p(S)] + p([n])

  • [Kelso-Crawford] analyzes it and shows convergence

under a condition called gross substitutes.

  • pseudo poly algorithm
slide-37
SLIDE 37

Algorithms for computing equilibria (general case)

Algorithm Oracle Access Running time

tatonnement / gradient descent [Walras, Kelso-Crawford, …] aggregate demand pseudo poly

slide-38
SLIDE 38

Algorithms for computing equilibria (general case)

Algorithm Oracle Access Running time

tatonnement / gradient descent [Walras, Kelso-Crawford, …] aggregate demand pseudo poly Linear programming [Nisan-Segal] demand + value


  • racle

poly time

slide-39
SLIDE 39

Algorithms for computing equilibria (general case)

Algorithm Oracle Access Running time

tatonnement / gradient descent [Walras, Kelso-Crawford, …] aggregate demand pseudo poly Linear programming [Nisan-Segal] demand + value


  • racle

poly time

this paper

poly time aggregate demand

˜ O(n2 · TAD + n5)

slide-40
SLIDE 40
  • Nisan and Segal LP:

From LP to convex optimization

min P

i ui + p([n])

ui ≥ vi(S) − p(S), ∀i, S

slide-41
SLIDE 41
  • Nisan and Segal LP:

From LP to convex optimization

min P

i ui + p([n])

ui ≥ vi(S) − p(S), ∀i, S

  • demand oracle finds

separating constraint

  • value oracle to add the

hyperplane

slide-42
SLIDE 42
  • Nisan and Segal LP:

From LP to convex optimization

min P

i ui + p([n])

ui ≥ vi(S) − p(S), ∀i, S

  • demand oracle finds

separating constraint

  • value oracle to add the

hyperplane

  • Idea: using cutting plane method to minimize

f(p) = P

i[maxS vi(S) − p(S)] + p([n])

slide-43
SLIDE 43
  • Nisan and Segal LP:

From LP to convex optimization

min P

i ui + p([n])

ui ≥ vi(S) − p(S), ∀i, S

  • demand oracle finds

separating constraint

  • value oracle to add the

hyperplane

  • Idea: using cutting plane method to minimize

f(p) = P

i[maxS vi(S) − p(S)] + p([n])

  • Two issues with black box application:
  • Evaluate f: ellipsoid and cutting plane need
  • Approximation: give only approximate solutions

f(p), ∂f(p)

slide-44
SLIDE 44
  • Optimizing only using the gradient


We adapt the cutting plane algorithm of
 Lee-Sidford-Wong’15 to optimize f using only


  • Obtaining exact solutions
  • Exact solution is only known for LPs [Khachiyan]
  • idea: explore the connection of this program and LP
  • But we have restricted access to constraints


(only via aggregate demand oracle)

  • Only a restricted perturbation is enough.

From LP to convex optimization

∂f(p)

slide-45
SLIDE 45

Gross substitutes case

slide-46
SLIDE 46

Gross substitutes case

gross substitutes [Kelso-Crawford]

necessary and “sufficient” condition for tatonnement to converge “increase in the price for one good doesn’t decrease demand for other good.”

slide-47
SLIDE 47

Gross substitutes case

gross substitutes [Kelso-Crawford]

necessary and “sufficient” condition for tatonnement to converge

valuated matroids [Dress-Wenzel]

generalization of Grassman-Plucker relations, when can be

  • ptimized using Greedy algo

v(S) − P

S pj

“increase in the price for one good doesn’t decrease demand for other good.”

slide-48
SLIDE 48

Gross substitutes case

gross substitutes [Kelso-Crawford]

necessary and “sufficient” condition for tatonnement to converge

valuated matroids [Dress-Wenzel]

generalization of Grassman-Plucker relations, when can be

  • ptimized using Greedy algo

v(S) − P

S pj

v(S) ∈ {0, −∞}

(if those are matroids). “increase in the price for one good doesn’t decrease demand for other good.”

slide-49
SLIDE 49

Gross substitutes case

gross substitutes [Kelso-Crawford]

necessary and “sufficient” condition for tatonnement to converge

valuated matroids [Dress-Wenzel]

generalization of Grassman-Plucker relations, when can be

  • ptimized using Greedy algo

v(S) − P

S pj

v(S) ∈ {0, −∞}

(if those are matroids).

discrete concavity [Murota-Shioura]

local certificate of global optimality “increase in the price for one good doesn’t decrease demand for other good.”

slide-50
SLIDE 50

Gross substitutes case

gross substitutes [Kelso-Crawford]

necessary and “sufficient” condition for tatonnement to converge

valuated matroids [Dress-Wenzel]

generalization of Grassman-Plucker relations, when can be

  • ptimized using Greedy algo

v(S) − P

S pj

v(S) ∈ {0, −∞}

(if those are matroids).

discrete concavity [Murota-Shioura]

local certificate of global optimality

Discrete Convex Analysis

“increase in the price for one good doesn’t decrease demand for other good.”

slide-51
SLIDE 51

Algorithm Oracle Access Running time

tatonnement / gradient descent [Walras, Kelso-Crawford, …] aggregate demand pseudo poly

Algorithms for computing equilibria (gross substitutes case)

slide-52
SLIDE 52

Algorithm Oracle Access Running time

tatonnement / gradient descent [Walras, Kelso-Crawford, …] aggregate demand pseudo poly Combinatorial flow-based algos [Murota] value oracle strong poly time

˜ O(mn3 · TV )

Algorithms for computing equilibria (gross substitutes case)

slide-53
SLIDE 53

Algorithm Oracle Access Running time

tatonnement / gradient descent [Walras, Kelso-Crawford, …] aggregate demand pseudo poly Combinatorial flow-based algos [Murota] value oracle strong poly time

˜ O(mn3 · TV )

this paper

aggregate demand

˜ O(n · TAD + n3)

Algorithms for computing equilibria (gross substitutes case)

slide-54
SLIDE 54

Algorithm Oracle Access Running time

tatonnement / gradient descent [Walras, Kelso-Crawford, …] aggregate demand pseudo poly Combinatorial flow-based algos [Murota] value oracle strong poly time

˜ O(mn3 · TV )

this paper

aggregate demand

˜ O(n · TAD + n3)

this paper

value oracle

˜ O((mn + n3) · TV )

Algorithms for computing equilibria (gross substitutes case)

slide-55
SLIDE 55

Improving the algorithm for gross substitutes

  • Better rounding using structure of gross substitutes


gets us to

  • plugging we get
  • Regularization: gradients are expensive to compute.
  • it takes to run Greedy for each buyer.
  • gradients are cheap near the optimal
  • re-use computation from one step to the next
  • we only need precise gradients near the optimum

˜ O(mn3 · TV ) O(n2 · TV ) ˆ f(p) = P

i[maxS vi(S) − p(S)+✏|S|] + p([n])−✏n

˜ O(n · TAD + n3) TAD = O(mn2 · TV )

slide-56
SLIDE 56

Improving the algorithm for gross substitutes

  • Regularized objective:

  • Same optimal value
  • Very accurate near the optimal value, directionally


correct for other values.

  • Takes only time to compute with 


pre-processing. O(n2) O(mn) ˆ f(p) = P

i[maxS vi(S) − p(S)+✏|S|] + p([n])−✏n

slide-57
SLIDE 57
  • Market equilibrium can

be computed:

  • only very aggregated

information

  • in calls to this
  • racle.

Conclusion

˜ O(n)

  • Questions to think about:
  • Markets that change over time ? New items, new

buyers, … How to update market equilibrium.

  • Strongly poly time algorithms.