Jump to content

Market equilibrium computation

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Erel Segal (talk | contribs) at 07:06, 5 March 2021. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Market equilibrium computation (also called competitive equilibrium computation or clearing-prices computation) is a computational problem in the intersection of economics and computer science. The input to this problem is a market, consisting of a set of objects and a set of agents. There are various kinds of markets, such as Fisher market and Arrow–Debreu market, with divisible or indivisible objects. The required output is a competitive equilibrium, consisting of a price-vector (a price for each object), and an allocation (a subset of objects for each agent), such that each agent gets the best bundle possible (for him) given the budget, and the market clears (all objects are allocated).

Definitions

The input to the market-equilibrium-computation consists of the following ingredients:[1]: chap.5 

  1. A set of objects with pre-specified supplies. The objects can be divisible (in which case, their supply is w.l.o.g. normalized to 1), or indivisible.
    • A bundle is represented by a vector , where is the quantity of object . When objects are indivisible, all xj are integers; when objects are divisible, the xj can be arbitrarily real numbers (usually normalized to [0,1]).
  2. A set of agents. For each agent, there is a preference relation over bundles, which can be represented by a utility function. The utility function of agent is denoted by .
  3. An initial endowment for each agent.
    • In a Fisher market, the endowment is a budget of "fiat money" - a money that has no value outside the market, and thus does not get into the utility function. Since the agents come with money only, they are often called buyers.
    • In an Arrow–Debreu market, the endowment is an arbitrary bundle ; in this model, agents can be both buyers and sellers.

The required output should contain the following ingredients:

  1. A price-vector ; a price for each object. The price of a bundle is the sum of the prices of the products in the, so the price of a bundle is .
  2. An allocation - a bundle for each agent i.

The output should satisfy the following requirements:

  1. The bundle should be affordable to i, that is, its price should be at most the price of agent i's endowment.
    • In a Fisher market, this means that .
    • In an Arrow-Debreu market, this means that .
  2. The bundle should be in the demand set of i: , defined as the set of bundles maximizing the agent's utility among all affordable bundles (regardless of supply), e.g., in a Fisher market:
  3. The market clears, i.e., all objects are allocated. The corresponding prices are called market-clearing prices.

A price and allocation satisfying these requirements are called a competitive equilibrium (CE) or a market equilibrium; the prices are also called equilibrium prices or clearing prices.

Computing an equilibrium through convex optimization

The existence of a CE can be proved by Sperner's lemma (see Fisher market), and it can also be used to compute a CE, but it is very computationally inefficient. There are much more efficient methods, which are usually based on convex programming or linear programming.

Homogeneous utilities

Suppose the utilities of all the buyers are homogeneous functions (this includes, in particular, utilities with constant elasticity of substitution).

Then, the equilibrium conditions in the Fisher model can be written as solutions to a convex optimization program called the Eisenberg-Gale convex program.[2] This program finds an allocation that maximizes the weighted geometric mean of the buyers' utilities, where the weights are determined by the budgets. Equivalently, it maximizes the weighted arithmetic mean of the logarithms of the utilities:

Maximize
Subject to:
Non-negative quantities: For every buyer and product :
Sufficient supplies: For every product :

(since supplies are normalized to 1).

This optimization problem can be solved using the Karush–Kuhn–Tucker conditions (KKT). These conditions introduce Lagrangian multipliers that can be interpreted as the prices, . In every allocation that maximizes the Eisenberg-Gale program, every buyer receives a demanded bundle. I.e, a solution to the Eisenberg-Gale program represents a market equilibrium.[1]: 141–142 

Linear utilities

A special case of homogeneous utilities is when all buyers have linear utility functions. This means that for every buyer and product , there is a constant (utility of buyer for product ) such that the total utility that a buyer derives from a bundle is:

, where

We assume that each product has a potential buyer - a buyer that derives positive utility from that product. Under this assumption, market-clearing prices exist and are unique. The proof is based on the Eisenberg-Gale program. The KKT conditions imply that the optimal solutions (allocations and prices ) satisfy the following inequalities:

  1. All prices are non-negative: .
  2. If a product has a positive price, then all its supply is exhausted: .
  3. The total bang-per-buck of a buyer (also called BPB or utility-per-coin; defined as the utility attained divided by the price paid) is weakly larger than his BPB from each single product: .
  4. If a buyer buys a positive amount of a product, then his total BPB from that product equals his total BPB: .

Assume that every product has a potential buyer - a buyer with . Then, inequality 3 implies that , i.e, all prices are positive. Then, inequality 2 implies that all supplies are exhausted. Inequality 4 implies that all buyers' budgets are exhausted. I.e, the market clears.

Since the log function is a strictly concave function, if there is more than one equilibrium allocation then the utility derived by each buyer in both allocations must be the same (a decrease in the utility of a buyer cannot be compensated by an increase in the utility of another buyer). This, together with inequality 4, implies that the prices are unique.[1]: 107 

Vazirani's algorithm: linear utilities, weakly polynomial-time

Vazirani[1]: 109–121  presented an algorithm for finding equilibrium prices and allocations in a linear Fisher market. The algorithm is based on condition 4 above. The condition implies that, in equilibrium, every buyer buys only products that give him maximum BPB. Let's say that a buyer "likes" a product, if that product gives him maximum BPB in the current prices. Given a price-vector, construct a flow network in which the capacity of each edge represents the total money "flowing" through that edge. The network is as follows:

  • There is a source node, s.
  • There is a node for each product; there is an edge from s to each product j, with capacity (this is the maximum amount of money that can be expended on product j, since the supply is normalized to 1).
  • There is a node for each buyer; there is an edge from a product to a buyer, with infinite capacity, iff the buyer likes the product (in the current prices).
  • There is a target node, t; there is an edge from each buyer i to t, with capacity (the maximum expenditure of i).

The price-vector p is an equilibrium price-vector, if and only if the two cuts ({s},V\{s}) and (V\{t},{t}) are min-cuts. Hence, an equilibrium price-vector can be found using the following scheme:

  • Start with very low prices, which are guaranteed to be below the equilibrium prices; in these prices, buyers have some budget left (i.e, the maximum flow does not reach the capacity of the nodes into t).
  • Continuously increase the prices and update the flow-network accordingly, until all budgets are exhausted.

There is an algorithm that solves this problem in weakly polynomial time.

Devanur and Kannan: general utilities

References

  1. ^ a b c d Vazirani, Vijay V.; Nisan, Noam; Roughgarden, Tim; Tardos, Éva (2007). "Chapter 5: Combinatorial Algorithms for Market Equilibria / Vijay V. Vazirani". Algorithmic Game Theory (PDF). Cambridge, UK: Cambridge University Press. ISBN 0-521-87282-0.
  2. ^ Eisenberg, E. (1961). "Aggregation of Utility Functions". Management Science. 7 (4): 337–350. doi:10.1287/mnsc.7.4.337.