HOME

TheInfoList



OR:

Market equilibrium computation (also called competitive equilibrium computation or clearing-prices computation) is a
computational problem In theoretical computer science, a computational problem is one that asks for a solution in terms of an algorithm. For example, the problem of factoring :"Given a positive integer ''n'', find a nontrivial prime factor of ''n''." is a computati ...
in the intersection of
economics Economics () is a behavioral science that studies the Production (economics), production, distribution (economics), distribution, and Consumption (economics), consumption of goods and services. Economics focuses on the behaviour and interac ...
and
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied 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 Competitive equilibrium (also called: Walrasian equilibrium) is a concept of economic equilibrium, introduced by Kenneth Arrow and Gérard Debreu in 1951, appropriate for the analysis of commodity markets with flexible prices and many traders, and ...
'', 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). Market equilibrium computation is interesting due to the fact that a competitive equilibrium is always
Pareto efficient In welfare economics, a Pareto improvement formalizes the idea of an outcome being "better in every possible way". A change is called a Pareto improvement if it leaves at least one person in society better off without leaving anyone else worse ...
. The special case of a Fisher market, in which all buyers have equal incomes, is particularly interesting, since in this setting a competitive equilibrium is also envy-free. Therefore, market equilibrium computation is a way to find an allocation which is both fair and efficient.


Definitions

The input to the market-equilibrium-computation consists of the following ingredients: # A set of m ''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 \mathbf = x_1,\dots,x_m, where x_j is the quantity of resource j. When resources are indivisible, all ''xj'' are integers; when resources are divisible, the ''xj'' can be arbitrarily real numbers (usually normalized to ,1. # A set of n ''agents''. For each agent, there is a preference relation over bundles, which can be represented by a utility function. The utility function of agent i is denoted by u_i. # An initial ''endowment'' for each agent. #* In a Fisher market, the endowment is a budget B_i 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 \mathbf^i; in this model, agents can be both buyers and sellers. The required output should contain the following ingredients: # A ''price-vector'' \mathbf = p_1,\dots,p_m; 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 \mathbf is \mathbf \cdot \mathbf=\sum_^m p_j\cdot x_j. # An ''allocation'' - a bundle \mathbf^i for each agent ''i''. The output should satisfy the following requirements: # The bundle \mathbf^i 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 \mathbf \cdot \mathbf^i \leq B_i. #* In an Arrow-Debreu market, this means that \mathbf \cdot \mathbf^i \leq \mathbf \cdot \mathbf^i. # The bundle \mathbf^i should be in the ''demand set'' of ''i'': \mathbf^i \in \text_i(\mathbf), defined as the set of bundles maximizing the agent's utility among all affordable bundles (regardless of supply), e.g., in a Fisher market: \text_i(\mathbf) := \arg\max_ u_i(\mathbf) # 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 Competitive equilibrium (also called: Walrasian equilibrium) is a concept of economic equilibrium, introduced by Kenneth Arrow and Gérard Debreu in 1951, appropriate for the analysis of commodity markets with flexible prices and many traders, and ...
'' (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 function In mathematics, a concave function is one for which the function value at any convex combination of elements in the domain is greater than or equal to that convex combination of those domain elements. Equivalently, a concave function is any funct ...
s, i.e., display
diminishing returns In economics, diminishing returns means the decrease in marginal (incremental) output of a production process as the amount of a single factor of production is incrementally increased, holding all other factors of production equal ('' ceter ...
. * Homogeneity: In some cases, it is assumed that the utilities are
homogeneous function In mathematics, a homogeneous function is a function of several variables such that the following holds: If each of the function's arguments is multiplied by the same scalar (mathematics), scalar, then the function's value is multiplied by some p ...
s. This includes, in particular, utilities with
constant elasticity of substitution Constant elasticity of substitution (CES) is a common specification of many production functions and utility function In economics, utility is a measure of a certain person's satisfaction from a certain state of the world. Over time, the term ...
. *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., u_i(\mathbf) = \sum_^m u_(x_j). *Piecewise-linearity is a special case of separability, in which the utility function for each individual resource, u_(x_j), is a
piecewise linear function In mathematics, a piecewise linear or segmented function is a real-valued function of a real variable, whose graph is composed of straight-line segments. Definition A piecewise linear function is a function defined on a (possibly unbounded) ...
of ''x''j. *Linearity is an even more special case, in which the utility function for each individual resource is a
linear function In mathematics, the term linear function refers to two distinct but related notions: * In calculus and related areas, a linear function is a function whose graph is a straight line, that is, a polynomial function of degree zero or one. For di ...
. That is, u_i(\mathbf) = \sum_^m u_\cdot x_j, where u_ are constants. Utilities that are piecewise-linear and concave are often called PLC; if they are also separable, then they are called SPLC.


Main results


Approximate algorithms

Scarf 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 gave an extended algorithm for approximate CE. Kakade, Kearns and Ortiz 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. Newman and Primak studied two variants of the
ellipsoid method In mathematical optimization, the ellipsoid method is an iterative method for convex optimization, minimizing convex functions over convex sets. The ellipsoid method generates a sequence of ellipsoids whose volume uniformly decreases at every ste ...
for finding a CE in an Arrow-Debreu market with linear utilities. They prove that the inscribed ellipsoid method is more computat`ionally efficient than the circumscribed ellipsoid method.


Hardness results

In some cases, computing an approximate CE is PPAD-hard: * Devanur and Kannan proved PPAD-hardness in an Arrow-Debreu market with
Leontief utilities In economics, especially in consumer theory, a Leontief utility function is a function of the form: u(x_1,\ldots,x_m)=\min\left\ . where: * m is the number of different goods in the economy. * x_i (for i\in 1,\dots,m) is the amount of good i in the ...
- a special case of PLC utilities. * Chen, Dai, Du and Teng proved PPAD-hardness in an Arrow-Debreu market with SPLC utilities. Their proof shows that this market-equilibrium problem does not have an FPTAS unless PPAD is in P. * Chen and Teng proved PPAD-hardness in a Fisher market with SPLC utilities. *Chaudhury, Garg, McGlaughlin and Mehta proved PPAD-hardness in a Exchange (Arrow-Debreu) market with bads and linear utilities, even under a certain condition that guarantees CE existence.


Exact algorithms

Devanur, Papadimitriou, Saberi and Vazirani 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 solvesO((n+m)^5\log(u_) + (n+m)^4\log)
maximum flow problem In Optimization (mathematics), optimization theory, maximum flow problems involve finding a feasible flow through a flow network that obtains the maximum possible flow rate. The maximum flow problem can be seen as a special case of more complex ...
s, and thus it runs in time O((n+m)^8\log(u_) + (n+m)^7\log), where ''u''max and ''B''max are the maximum utility and budget, respectively. Orlin gave an improved algorithm for a Fisher market model with linear utilities, running in time O((n+m)^4\log(u_) + (n+m)^3 B_). He then improved his algorithm to run in
strongly-polynomial time In computer science, a ''polynomial-time algorithm'' is generally speaking an algorithm whose running time is upper-bounded by some polynomial function of the input size. The definition naturally depends on the computational model, which determin ...
: O((m+n)^4\log(m+n)). Devanur and Kannan gave algorithms for ''Arrow-Debreu'' markets with ''concave'' utility functions, 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 Marginal utility, in mainstream economics, describes the change in ''utility'' (pleasure or satisfaction resulting from the consumption) of one unit of a good or service. Marginal utility can be positive, negative, or zero. Negative marginal utilit ...
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 In economics, especially in consumer theory, a Leontief utility function is a function of the form: u(x_1,\ldots,x_m)=\min\left\ . where: * m is the number of different goods in the economy. * x_i (for i\in 1,\dots,m) is the amount of good i in the ...
, 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 gave an algorithm for Arrow-Debreu markes with CES utilities where the elasticity of substitution is at least 1/2.


Bads and mixed manna

Bogomolnaia and Moulin and Sandomirskiy and Yanovskaia studied the existence and properties of CE in a Fisher market with bads (items with negative utilities) and with a mixture of goods and bads. In contrast to the setting with goods, when the resources are bads the CE does not solve any convex optimization problem even with linear utilities. CE allocations correspond to local minima, local maxima, and saddle points of the product of utilities on the Pareto frontier of the set of feasible utilities. The CE rule becomes multivalued. This work has led to several works on algorithms of finding CE in such markets: * Branzei and Sandomirskiy gave an algorithm for finding all the CE in a Fisher market with bads and linear utilities. Their algorithm runs in strongly-polynomial time if either ''n'' or ''m'' is fixed. Their approach combines three ideas: all consumption graphs of PO allocations can be listed in polynomial time; for a given consumption graph, a CE candidate can be constructed via explicit formula; and a given allocation can be checked for being a CE using a
maximum flow In optimization theory, maximum flow problems involve finding a feasible flow through a flow network that obtains the maximum possible flow rate. The maximum flow problem can be seen as a special case of more complex network flow problems, such ...
computation. * Garg and McGlaughlin gave an algorithm for computing all the CE in a Fisher market with mixed manna and linear utilities. Their algorithm runs in polynomial time if either ''n'' or ''m'' is fixed. *Chaudhury, Garg, McGlaughlin and Mehta gave an algorithm for computing a single CE in a Fisher market with mixed manna and SPLC utilities. Their algorithm is simplex-like and based on Lemke's scheme. While its worst-case runtime is not polynomial (the problem is PPAD-hard even with goods), it runs fast on random instances. It also proves that the problem is in PPAD, the solutions are rational-valued, and the number of solutions is odd. Their algorithm runs in polynomial time in the special case in which all utilities are negative. If both ''n'' and ''m'' are variable, the problem becomes computationally hard: * Chaudhury, Garg, McGlaughlin and Mehta show that, in a Fisher market with bads and linear utilities, it is NP-hard to decide whether a CE exists. The same hardness holds even for finding an (11/12+δ)-CE for any δ>0, and even with equal incomes. They also prove a sufficient condition, based on graph connectivity, to the existence of a CE. With this condition, a CE always exists, but finding it is PPAD-hard.


Main techniques


Bang-for-buck

When the utilities are linear, the ''bang-per-buck'' of agent ''i'' (also called BPB or ''utility-per-coin'') is defined as the utility of ''i'' divided by the price paid. The BPB of a single resource is bpb_ := \frac; the total BPB is bpb_ := \frac. A key observation for finding a CE in a Fisher market with linear utilities is that, in any CE and for any agent ''i'': * The total BPB is weakly larger than the BPB from any individual resource, \forall j: bpb_\leq bpb_ . * Agent ''i'' consumes only resources with the maximum possible BPB, i.e., \forall j: x_>0 \implies bpb_ = bpb_. Assume that every product j has a potential buyer - a buyer i with u_>0. Then, the above inequalities imply that p_j>0, i.e, all prices are positive.


Cell decomposition

Cell decomposition is a process of partitioning the space of possible prices \mathbb^m_+ into small "cells", either by
hyperplane In geometry, a hyperplane is a generalization of a two-dimensional plane in three-dimensional space to mathematical spaces of arbitrary dimension. Like a plane in space, a hyperplane is a flat hypersurface, a subspace whose dimension is ...
s or, more generally, by polynomial surfaces. A cell is defined by specifying on which side of each of these surfaces it lies (with polynomial surfaces, the cells are also known as ''semialgebraic sets''). For each cell, we either find a market-clearing price-vector (i.e., a price in that cell for which a market-clearing allocation exists), or verify that the cell does not contain a market-clearing price-vector. The challenge is to find a decomposition with the following properties: * The total number of cells is polynomial in the size of the input. This uses the fact that any collection of ''k'' hyperplanes in \mathbb^m_+ partitions the space into O(k^m) cells. This is polynomial if ''m'' is fixed. Moreover, any collection of ''k'' polynomial surfaces of degree at most ''d'' partitions the space into O(k^\cdot d^) non-empty cells, and they can be enumerated in time linear in the output size. * Finding a market-clearing price-vector in each cell can be done in polynomial time, e.g., using linear programming.


Convex optimization: homogeneous utilities

If the utilities of all agents are
homogeneous function In mathematics, a homogeneous function is a function of several variables such that the following holds: If each of the function's arguments is multiplied by the same scalar (mathematics), scalar, then the function's value is multiplied by some p ...
s, then the equilibrium conditions in the Fisher model can be written as solutions to a
convex optimization Convex optimization is a subfield of mathematical optimization that studies the problem of minimizing convex functions over convex sets (or, equivalently, maximizing concave functions over convex sets). Many classes of convex optimization problems ...
program called the Eisenberg-Gale convex program. This program finds an allocation that maximizes the ''weighted
geometric mean In mathematics, the geometric mean is a mean or average which indicates a central tendency of a finite collection of positive real numbers by using the product of their values (as opposed to the arithmetic mean which uses their sum). The geometri ...
'' 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 \sum_^n \left( B_i\cdot \log \right) :: Subject to: :::: ''Non-negative quantities'': For every buyer i and product j: x_\geq 0 :::: ''Sufficient supplies'': For every product j: \sum_^n x_ \leq 1 (since supplies are normalized to 1). This optimization problem can be solved using the
Karush–Kuhn–Tucker conditions In mathematical optimization, the Karush–Kuhn–Tucker (KKT) conditions, also known as the Kuhn–Tucker conditions, are first derivative tests (sometimes called first-order necessary conditions) for a solution in nonlinear programming to be ...
(KKT). These conditions introduce Lagrangian multipliers that can be interpreted as the ''prices'', p_1,\dots,p_m. 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.


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 x_ and prices p_j) satisfy the following inequalities: # All prices are non-negative: p_j\geq 0. # If a product has a positive price, then all its supply is exhausted: p_j>0 \implies \sum_^n x_ = 1. # The total BPB is weakly larger than the BPB from any individual resource, \forall j: bpb_\leq bpb_ . # Agent ''i'' consumes only resources with the maximum possible BPB, i.e., \forall j: x_>0 \implies bpb_ = bpb_. Assume that every product j has a potential buyer - a buyer i with u_>0. Then, inequality 3 implies that p_j>0, 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 In mathematics, a concave function is one for which the function value at any convex combination of elements in the domain is greater than or equal to that convex combination of those domain elements. Equivalently, a concave function is any funct ...
, 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. Vazirani 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 graph theory, a flow network (also known as a transportation network) is a directed graph where each edge has a capacity and each edge receives a flow. The amount of flow on an edge cannot exceed the capacity of the edge. Often in operations re ...
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 p_j (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 B_i (the maximum expenditure of ''i''). The price-vector ''p'' is an equilibrium price-vector, if and only if the two cuts (,V\) and (V\,) 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.


Online computation

Recently, Gao, Peysakhovich and Kroer presented an algorithm for online computation of market equilibrium.


See also

* Efficient envy-free division * Efficient approximately fair item allocation


References

{{Reflist Market (economics) Computational economics