MarketMarket equilibrium computation
Company Profile

Market equilibrium computation

Market equilibrium 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, and an allocation, such that each agent gets the best bundle possible given the budget, and the market clears.

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} = 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 [0,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{e}^i; in this model, agents can be both buyers and sellers. The required output should contain the following ingredients: • A price-vector \mathbf{p} = 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{x} is \mathbf{p} \cdot \mathbf{x}=\sum_{j=1}^m p_j\cdot x_j. • An allocation - a bundle \mathbf{x}^i for each agent i. The output should satisfy the following requirements: • The bundle \mathbf{x}^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{p} \cdot \mathbf{x}^i \leq B_i. • In an Arrow-Debreu market, this means that \mathbf{p} \cdot \mathbf{x}^i \leq \mathbf{p} \cdot \mathbf{e}^i. • The bundle \mathbf{x}^i should be in the demand set of i: \mathbf{x}^i \in \text{Demand}_i(\mathbf{p}), 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{Demand}_i(\mathbf{p}) := \arg\max_{\mathbf{p} \mathbf{x}\leq B_i} u_i(\mathbf{x}) • 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 ==
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. This assumption is very common in economics. • Homogeneity: In some cases, it is assumed that the utilities are homogeneous functions. • A special case is utilities with constant elasticity of substitution (CES). • 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{x}) = \sum_{j=1}^m u_{i,j}(x_j). • Piecewise-linearity is a special case of separability, in which the utility function for each individual resource, u_{i,j}(x_j), is a piecewise linear function of xj. This assumption is common in computer science, as it allows a finite representation of the utility functions. • Utilities that are piecewise-linear and concave are often called PLC; if they are also separable, then they are called SPLC. • Linearity is an even more special case, in which the utility function for each individual resource is a linear function. That is, u_i(\mathbf{x}) = \sum_{j=1}^m u_{i,j}\cdot x_j, where u_{i,j} are constants. • Lenotief utilities are a special case of PLC utilities. == Main results ==
Main results
Approximate algorithms Herbert Scarf presented a proof of existence of a CE using Sperner's lemma (see Fisher market). He converted this proof to an algorithm for computing an approximate CE. In his later work, he continued to develop these algorithms. Merrill gave an extended algorithm for approximate CE. Other algorithms for fixed-point computation, such as the homotopy method, can also be used to compute CE. All these algorithms do not have a polynomial runtime guarantee. Hardness results Papadimitriou (who invented the class PPAD) proved that computing an approximate CE for Arrow-Debreu markets given by aggregate excess demand functions is PPAD-complete. Later results have shown PPAD-hardness even for more specific classes of utility functions: • Codenotti, Saberi, Varadrajan and Ye prove that exchange markets with Leontief utilities encode nonzero sum two-player games. This implies that computing CE (even in a special class which is guaranteed to have a CE) is at least as hard as Nash equilibrium computation for two-player nonzero sum games. • Devanur and Kannan proved PPAD-hardness for 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 for a Fisher market with SPLC utilities. • Chaudhury, Garg, McGlaughlin and Mehta proved that computing CE prices for exchange markets with algebraic demand functions is FIXP-complete. Later results have shown FIXP-hardness for more specific classes of utilities: • Garg, Mehta, Vazirani and Yazdanbod proved FIXP-hardness even for Leontief utilities, which implies FIXP-hardness for PLC utilities. Combined with a previous proof of membership in FIXP, their results imply FIXP-completeness. The FIXP-hardness result holds when only "yes" instances are considered; when all instances are considered, deciding whether a CE exists is ETR-complete. Exact algorithms For some special cases, polynomial-time algorithms have been developed. Eaves showed that, in an exchange market with Cobb-Douglas utilities, the CE be written as the solution to a linear program; hence it is possible to compute all CE in polynomial time. Deng, Papadimitriou and Safra present a polytime algorithm for finding the CE when m is bounded and the utilities are linear. Kakade, Kearns and Ortiz generalize the above algorithm for bounded m. Their generalized algorithm computes an approximate CE for a general class of non-linear utility functions. Newman and Primak studied two variants of the ellipsoid method for finding a CE in an Arrow-Debreu market with linear utilities. They prove that the inscribed ellipsoid method is more computationally efficient than the circumscribed ellipsoid method. Codenotti and Varadarajan gave a polytime algorithm for Fisher markes with Leontief utilities. Their approach extends to a wider family of utilities, which includes CES utilities. However, unlike in the linear case, the equilibrium prices can be irrational, which means that an exact computation is not possible. Codenotti, McCune, Penumatcha and Varadarajan gave a polytime algorithm for Arrow-Debreu markes with CES utilities where the elasticity of substitution is at least 1/2. Codenotti, Pemmaraju, Raman and Varadarajan presented a polytime algorithm for exchange markets with weak gross substitute utilities; these generalize linear, Cobb-Douglas, CES and even some non-homogeneous utility functions. Chen, Deng, Sun and Yao gave a polytime algorithm for Fisher markets with logarithmic utilities, when either m or n is constant. Kamal Jain introduced a convex program (already described in 1983 by Nenakov and Primak) that characterizes the CE for exchange markets with linear utilities, CES utilities with r>0, and some other utility functions. He also proved that for linear utilities there exists a normalized CE with rational prices. Jain used this property to develop a variant of the ellipsoid method to compute the CE exactly in polytime. Later, Ye showed how to use Interior-point methods, which are much more efficient in practice. Codenotti and Varadarajan presented a different convex program that characterizes the CE also for CES utilities with -1 O((n+m)^5\log(u_{\max}) + (n+m)^4\log{B_{\max}}) maximum flow problems, and thus it runs in time O((n+m)^8\log(u_{\max}) + (n+m)^7\log{B_{\max}}), where umax and Bmax 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_{\max}) + (n+m)^3 B_{\max}). He then improved his algorithm to run in strongly-polynomial time: 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 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, a subclass of PLC utilities (when n is constant but m is variable, it was left open whether a polytime algorithm exists). Garg, Mehta, Vazirani and Yazdanbod 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 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. Indivisible goods When the goods are indivisible, a CE may not exist, but it may be possible to compute an approximate CE. Deng, Papadimitriou and Safra study exchange markets with m goods, that may be indivisible. They show the following: • WIth indivisible goods, it is NP-hard to approximate the deficiency of the market to a factor better than 1/3. It is NP-hard to find equilibrium prices even when they are known to exist. This holds even for linear utilities. • With indivisible goods, there is a polytime algorithm for finding an approximate CE when m is bounded and the utilities are linear. • When utilities are not strictly-concave, computing a Pareto efficient allocation requires Omega(n log(m+n)) bits of communication, in order to coordinate the bundles (when utilities are strictly-concave no coordination is needed, as each agent has a unique optimal bundle given the price vector). The lower bound holds even for divisible goods; for indivisible goods, the lower bound is even for approximately-efficient allocation, for any approximation ratio. These bounds hold even for constant m. == Main techniques ==
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_{i,j} := \frac{u_{i,j}}{p_j}; the total BPB is bpb_{i,total} := \frac{\sum_{j=1}^m u_{i,j}\cdot x_{i,j}}{B_i}. A key observation for finding a CE in a Fisher market with linear utilities is that, in any CE and for any agent i: • 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 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. 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 \sum_{i=1}^n \left( B_i\cdot \log{(u_i)} \right) :: Subject to: :::: Non-negative quantities: For every buyer i and product j: x_{i,j}\geq 0 :::: Sufficient supplies: For every product j: \sum_{i=1}^n x_{i,j} \leq 1 (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, 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_{i,j} 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_{i=1}^n x_{i,j} = 1. • The total BPB is weakly larger than the BPB from any individual resource, \forall j: bpb_{i,j}\leq bpb_{i,total} . • Agent i consumes only resources with the maximum possible BPB, i.e., \forall j: x_{i,j}>0 \implies bpb_{i,j} = bpb_{i,total}. Assume that every product j has a potential buyer - a buyer i with u_{i,j}>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, 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 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 ({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. == Generalizations and extensions ==
Generalizations and extensions
Graphical markets Kakade, Kearns and Ortiz presented an algorithm for online computation of market equilibrium. == See also ==
tickerdossier.comtickerdossier.substack.com