Definitions
The input to the market-equilibrium-computation consists of the following ingredients: # 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 ,1. # 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 . # An initial ''endowment'' for each agent. #* In aKinds 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 areMain results
Approximate algorithms
Scarf was the first to show the existence of a CE using Sperner's lemma (seeHardness 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 - 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 solves maximum flow problems, and thus it runs in time , 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 . He then improved his algorithm to run in strongly-polynomial time: . 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 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 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 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 ; the total BPB is . 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, . * Agent ''i'' consumes only resources with the maximum possible BPB, i.e., . Assume that every product has a potential buyer - a buyer with . Then, the above inequalities imply that , i.e, all prices are positive.Cell decomposition
Cell decomposition is a process of partitioning the space of possible prices into small "cells", either byConvex optimization: homogeneous utilities
If the utilities of all agents areVazirani'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: # All prices are non-negative: . # If a product has a positive price, then all its supply is exhausted: . # The total BPB is weakly larger than the BPB from any individual resource, . # Agent ''i'' consumes only resources with the maximum possible BPB, i.e., . 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. 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 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 (,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.See also
* Efficient envy-free division * Efficient approximately-fair item allocationReferences
{{Reflist Market (economics) Computational economics