Market equilibrium computation: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 45: Line 45:
Kakade, Kearns and Ortiz<ref>{{Cite journal|last=Kakade|first=Sham M.|last2=Kearns|first2=Michael|last3=Ortiz|first3=Luis E.|date=2004|editor-last=Shawe-Taylor|editor-first=John|editor2-last=Singer|editor2-first=Yoram|title=Graphical Economics|url=https://link.springer.com/chapter/10.1007/978-3-540-27819-1_2|journal=Learning Theory|series=Lecture Notes in Computer Science|language=en|location=Berlin, Heidelberg|publisher=Springer|pages=17–32|doi=10.1007/978-3-540-27819-1_2|isbn=978-3-540-27819-1}}</ref> gave algorithms for approximate CE in a generalized Arrow-Debreu market in which agents are located on a graph and trade may occur only between neighboring agents. They considered non-linear utilities.
Kakade, Kearns and Ortiz<ref>{{Cite journal|last=Kakade|first=Sham M.|last2=Kearns|first2=Michael|last3=Ortiz|first3=Luis E.|date=2004|editor-last=Shawe-Taylor|editor-first=John|editor2-last=Singer|editor2-first=Yoram|title=Graphical Economics|url=https://link.springer.com/chapter/10.1007/978-3-540-27819-1_2|journal=Learning Theory|series=Lecture Notes in Computer Science|language=en|location=Berlin, Heidelberg|publisher=Springer|pages=17–32|doi=10.1007/978-3-540-27819-1_2|isbn=978-3-540-27819-1}}</ref> gave algorithms for approximate CE in a generalized Arrow-Debreu market in which agents are located on a graph and trade may occur only between neighboring agents. They considered non-linear utilities.


Devanur and Kannan<ref name=":0" /> showed that finding a CE is [[PPAD-hard]] for [[Leontief utilities]], which are a special case of PLC utilities.
Chen and Teng<ref>{{Cite journal|last=Chen|first=Xi|last2=Teng|first2=Shang-Hua|date=2009|editor-last=Dong|editor-first=Yingfei|editor2-last=Du|editor2-first=Ding-Zhu|editor3-last=Ibarra|editor3-first=Oscar|title=Spending Is Not Easier Than Trading: On the Computational Equivalence of Fisher and Arrow-Debreu Equilibria|url=https://link.springer.com/chapter/10.1007/978-3-642-10631-6_66|journal=Algorithms and Computation|series=Lecture Notes in Computer Science|language=en|location=Berlin, Heidelberg|publisher=Springer|pages=647–656|doi=10.1007/978-3-642-10631-6_66|isbn=978-3-642-10631-6}}</ref> showed that, even for SPLC utiltiies, computing an approximate equilibrium in a Fisher market is [[PPAD-hard]].

Chen and Teng<ref>{{Cite journal|last=Chen|first=Xi|last2=Teng|first2=Shang-Hua|date=2009|editor-last=Dong|editor-first=Yingfei|editor2-last=Du|editor2-first=Ding-Zhu|editor3-last=Ibarra|editor3-first=Oscar|title=Spending Is Not Easier Than Trading: On the Computational Equivalence of Fisher and Arrow-Debreu Equilibria|url=https://link.springer.com/chapter/10.1007/978-3-642-10631-6_66|journal=Algorithms and Computation|series=Lecture Notes in Computer Science|language=en|location=Berlin, Heidelberg|publisher=Springer|pages=647–656|arxiv=0907.4130|doi=10.1007/978-3-642-10631-6_66|isbn=978-3-642-10631-6}}</ref> showed that, even for SPLC utiltiies, computing an approximate equilibrium in a Fisher market is [[PPAD-hard]].


=== Exact algorithms ===
=== Exact algorithms ===
Line 52: Line 54:
Orlin<ref>{{Cite journal|last=Orlin|first=James B.|date=2010-06-05|title=Improved algorithms for computing fisher's market clearing prices: computing fisher's market clearing prices|url=https://doi.org/10.1145/1806689.1806731|journal=Proceedings of the forty-second ACM symposium on Theory of computing|series=STOC '10|location=Cambridge, Massachusetts, USA|publisher=Association for Computing Machinery|pages=291–300|doi=10.1145/1806689.1806731|isbn=978-1-4503-0050-6}}</ref> gave an improved algorithm for a Fisher market model with linear utilities, running in time <math>O((n+m)^4\log(u_{\max}) + (n+m)^3 B_{\max})</math>. He then improved his algorithm to run in [[Strongly polynomial time|strongly-polynomial time]]: <math>O((m+n)^4\log(m+n))</math>.
Orlin<ref>{{Cite journal|last=Orlin|first=James B.|date=2010-06-05|title=Improved algorithms for computing fisher's market clearing prices: computing fisher's market clearing prices|url=https://doi.org/10.1145/1806689.1806731|journal=Proceedings of the forty-second ACM symposium on Theory of computing|series=STOC '10|location=Cambridge, Massachusetts, USA|publisher=Association for Computing Machinery|pages=291–300|doi=10.1145/1806689.1806731|isbn=978-1-4503-0050-6}}</ref> gave an improved algorithm for a Fisher market model with linear utilities, running in time <math>O((n+m)^4\log(u_{\max}) + (n+m)^3 B_{\max})</math>. He then improved his algorithm to run in [[Strongly polynomial time|strongly-polynomial time]]: <math>O((m+n)^4\log(m+n))</math>.


Devanur and Kannan<ref>{{Cite journal|last=Devanur|first=N. R.|last2=Kannan|first2=R.|date=2008-10-01|title=Market Equilibria in Polynomial Time for Fixed Number of Goods or Agents|url=https://ieeexplore.ieee.org/abstract/document/4690939/?casa_token=rSD_SrYgWk4AAAAA:qenQfv1wtvZk-wywCIZVS-jlImfI8YpqBFP2OkRW23VGWwPVii2J6Lxid1mhVNPGZU_Ujz1i6p8|journal=2008 49th Annual IEEE Symposium on Foundations of Computer Science|pages=45–53|doi=10.1109/FOCS.2008.30}}</ref> gave algorithms for ''Arrow-Debreu'' markets with ''concave'' utility fuctions, where all resources are goods (the utilities are positive):
Devanur and Kannan<ref name=":0">{{Cite journal|last=Devanur|first=N. R.|last2=Kannan|first2=R.|date=2008-10-01|title=Market Equilibria in Polynomial Time for Fixed Number of Goods or Agents|url=https://ieeexplore.ieee.org/abstract/document/4690939/?casa_token=rSD_SrYgWk4AAAAA:qenQfv1wtvZk-wywCIZVS-jlImfI8YpqBFP2OkRW23VGWwPVii2J6Lxid1mhVNPGZU_Ujz1i6p8|journal=2008 49th Annual IEEE Symposium on Foundations of Computer Science|pages=45–53|doi=10.1109/FOCS.2008.30}}</ref> gave algorithms for ''Arrow-Debreu'' markets with ''concave'' utility fuctions, where all resources are goods (the utilities are positive):


* When the utilities are SPLC and either ''n'' or ''m'' is a constant, their algorithm is polynomial in the other parameter. The technique is decomposing the space of possible prices into ''cells'' using a constant number of hyperplanes, so that in each cell, each buyer’s threshold marginal utility is known (when both ''n'' and ''m'' are variable, it was left open whether a polytime algorithm exists).
* When the utilities are SPLC and either ''n'' or ''m'' is a constant, their algorithm is polynomial in the other parameter. The technique is decomposing the space of possible prices into ''cells'' using a constant number of hyperplanes, so that in each cell, each buyer’s threshold marginal utility is known (when both ''n'' and ''m'' are variable, it was left open whether a polytime algorithm exists).
* When the utilities are PLC (not necessarily separable) and ''m'' is constant, their algorithm is polynomial in ''n''. When both ''m'' and ''n'' are variable, finding a CE is [[PPAD-hard]] even for [[Leontief utilities]], which are a special case of PLC utilities (when ''n'' is constant but ''m'' is variable, it was left open whether a polytime algorithm exists).
* When the utilities are PLC (not necessarily separable) and ''m'' is constant, their algorithm is polynomial in ''n''. When both ''m'' and ''n'' are variable, finding a CE is [[PPAD-hard]] even for [[Leontief utilities]], which are a special case of PLC utilities (when ''n'' is constant but ''m'' is variable, it was left open whether a polytime algorithm exists).
Codenotti, McCune, Penumatcha and Varadarajan<ref>{{Cite journal|last=Codenotti|first=Bruno|last2=McCune|first2=Benton|last3=Penumatcha|first3=Sriram|last4=Varadarajan|first4=Kasturi|date=2005|editor-last=Sarukkai|editor-first=Sundar|editor2-last=Sen|editor2-first=Sandeep|title=Market Equilibrium for CES Exchange Economies: Existence, Multiplicity, and Computation|url=https://link.springer.com/chapter/10.1007/11590156_41|journal=FSTTCS 2005: Foundations of Software Technology and Theoretical Computer Science|series=Lecture Notes in Computer Science|language=en|location=Berlin, Heidelberg|publisher=Springer|pages=505–516|doi=10.1007/11590156_41|isbn=978-3-540-32419-5}}</ref> gave an algorithm for Arrow-Debreu markes with [[Constant elasticity of substitution|CES utilities]] where the elasticity of substitution is at least 1/2.


== Convex optimization: homogeneous utilities ==
== Convex optimization: homogeneous utilities ==

Revision as of 08:21, 5 March 2021

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 resources and a set of agents. There are various kinds of markets, such as Fisher market and Arrow–Debreu market, with divisible or indivisible resources. The required output is a competitive equilibrium, consisting of a price-vector (a price for each resource), and an allocation (a resource-bundle for each agent), such that each agent gets the best bundle possible (for him) given the budget, and the market clears (all resources are allocated).

Definitions

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

  1. A set of resources with pre-specified supplies. The resources 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 resource . When resources are indivisible, all xj are integers; when resources 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 enter 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 resource. The price of a bundle is the sum of the prices of the resources 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 resources 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.

Kinds of utility functions

Market equilibrium computation has been studied under various assumptions regarding the agents' utility functions.

  • Concavity: the most general assumption (made by Fisher and Arrow&Debreu) is that the agents' utilities are concave functions, i.e., display diminishing returns.
  • Homogeneity: In some cases, it is assumed that the utilities are homogeneous functions. This includes, in particular, utilities with constant elasticity of substitution.
  • Separability: A utility function is called separable if the utility of a bundle is the sum of the utilities of the individual resources in the bundle, i.e., .
  • Piecewise-linearity is a special case of separability, in which the utility function for each individual resource, , is a piecewise linear function of xj.
  • Linearity is an even more special case, in which the utility function for each individual resource is a linear function. That is, , where are constants.

Utilities that are piecewise-linear and concave are often called PLC; if they are also separable, then they are called SPLC.

Algorithms

Approximate algorithms

Scarf[2] was the first to show the existence of a CE using Sperner's lemma (see Fisher market). He also gave an algorithm for computing an approximate CE.

Merrill[3] gave an extended algorithm for approximate CE.

Kakade, Kearns and Ortiz[4] gave algorithms for approximate CE in a generalized Arrow-Debreu market in which agents are located on a graph and trade may occur only between neighboring agents. They considered non-linear utilities.

Devanur and Kannan[5] showed that finding a CE is PPAD-hard for Leontief utilities, which are a special case of PLC utilities.

Chen and Teng[6] showed that, even for SPLC utiltiies, computing an approximate equilibrium in a Fisher market is PPAD-hard.

Exact algorithms

Devanur, Papadimitriou, Saberi and Vazirani[7] gave a polynomial-time algorithm for exactly computing an equilibrium for Fisher markets with linear utility functions. Their algorithm uses the primal–dual paradigm in the enhanced setting of KKT conditions and convex programs. Their algorithm is weakly-polynomial: it solves maximum flow problems, and thus it runs in time , where umax and Bmax are the maximum utility and budget, respectively.

Orlin[8] gave an improved algorithm for a Fisher market model with linear utilities, running in time . He then improved his algorithm to run in strongly-polynomial time: .

Devanur and Kannan[5] gave algorithms for Arrow-Debreu markets with concave utility fuctions, where all resources are goods (the utilities are positive):

  • When the utilities are SPLC and either n or m is a constant, their algorithm is polynomial in the other parameter. The technique is decomposing the space of possible prices into cells using a constant number of hyperplanes, so that in each cell, each buyer’s threshold marginal utility is known (when both n and m are variable, it was left open whether a polytime algorithm exists).
  • When the utilities are PLC (not necessarily separable) and m is constant, their algorithm is polynomial in n. When both m and n are variable, finding a CE is PPAD-hard even for Leontief utilities, which are a special case of PLC utilities (when n is constant but m is variable, it was left open whether a polytime algorithm exists).

Codenotti, McCune, Penumatcha and Varadarajan[9] gave an algorithm for Arrow-Debreu markes with CES utilities where the elasticity of substitution is at least 1/2.

Convex optimization: homogeneous utilities

If the utilities of all agents are homogeneous functions, then the equilibrium conditions in the Fisher model can be written as solutions to a convex optimization program called the Eisenberg-Gale convex program.[10] 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 

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

A special case of homogeneous utilities is when all buyers have linear utility functions. We assume that each resource has a potential buyer - a buyer that derives positive utility from that resource. 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[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.

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. ^ Scarf, Herbert E. (1967). "On the Computation of Equilibrium Prices". {{cite journal}}: Cite journal requires |journal= (help)
  3. ^ O. H. Merrill (1972). Applications and Extensions of an algorithm that computes fixed points of certain upper semi-continuous point to set mappings. PhD thesis.
  4. ^ Kakade, Sham M.; Kearns, Michael; Ortiz, Luis E. (2004). Shawe-Taylor, John; Singer, Yoram (eds.). "Graphical Economics". Learning Theory. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer: 17–32. doi:10.1007/978-3-540-27819-1_2. ISBN 978-3-540-27819-1.
  5. ^ a b Devanur, N. R.; Kannan, R. (2008-10-01). "Market Equilibria in Polynomial Time for Fixed Number of Goods or Agents". 2008 49th Annual IEEE Symposium on Foundations of Computer Science: 45–53. doi:10.1109/FOCS.2008.30.
  6. ^ Chen, Xi; Teng, Shang-Hua (2009). Dong, Yingfei; Du, Ding-Zhu; Ibarra, Oscar (eds.). "Spending Is Not Easier Than Trading: On the Computational Equivalence of Fisher and Arrow-Debreu Equilibria". Algorithms and Computation. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer: 647–656. arXiv:0907.4130. doi:10.1007/978-3-642-10631-6_66. ISBN 978-3-642-10631-6.
  7. ^ Devanur, Nikhil R.; Papadimitriou, Christos H.; Saberi, Amin; Vazirani, Vijay V. (2008-11-05). "Market equilibrium via a primal--dual algorithm for a convex program". Journal of the ACM. 55 (5): 22:1–22:18. doi:10.1145/1411509.1411512. ISSN 0004-5411.
  8. ^ Orlin, James B. (2010-06-05). "Improved algorithms for computing fisher's market clearing prices: computing fisher's market clearing prices". Proceedings of the forty-second ACM symposium on Theory of computing. STOC '10. Cambridge, Massachusetts, USA: Association for Computing Machinery: 291–300. doi:10.1145/1806689.1806731. ISBN 978-1-4503-0050-6.
  9. ^ Codenotti, Bruno; McCune, Benton; Penumatcha, Sriram; Varadarajan, Kasturi (2005). Sarukkai, Sundar; Sen, Sandeep (eds.). "Market Equilibrium for CES Exchange Economies: Existence, Multiplicity, and Computation". FSTTCS 2005: Foundations of Software Technology and Theoretical Computer Science. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer: 505–516. doi:10.1007/11590156_41. ISBN 978-3-540-32419-5.
  10. ^ Eisenberg, E. (1961). "Aggregation of Utility Functions". Management Science. 7 (4): 337–350. doi:10.1287/mnsc.7.4.337.