Computing Market Equilibria
Fisher and Arrow–Debreu models; the Eisenberg–Gale program; tight sets, balanced flows and the primal-dual algorithm; auction-based Arrow–Debreu; Kelly's resource allocation markets; convex programs for WGS, linear and CES economies; production; and PPAD-hardness for Leontief
Motivation: an algorithmic theory of markets
Thinkers have pondered markets and money through the ages; the credit for initiating formal mathematical modelling is generally given to the nineteenth-century economist Léon Walras (1874). The overwhelming importance given to this study within mathematical economics has a lot to do with the fact that Western economies are capitalistic — essentially, our most critical decision-making is relegated to pricing mechanisms. Prices determine the relative worth of goods and services, ensure the economy is efficient in that goods reach the entities producing what is most in demand, and ensure stable operation.
ImportantThe central tenet, and the celebrated theorem
A central tenet of pricing mechanisms is that prices be such that demand equals supply — the economy should operate at equilibrium. Unsurprisingly, the most celebrated theorem of general equilibrium theory, the Arrow–Debreu theorem (1954), establishes precisely the existence of such prices under a very general model. The First Welfare Theorem, showing Pareto optimality of equilibrium allocations, provides the social justification.
Historically: Walras (1874) posed the system; Wald (1936) gave the first existence proof under severe restrictions; Arrow and Debreu proved existence under much milder assumptions. The proofs are fixed-point arguments, via Brouwer or Kakutani depending on the setting.
WarningThe shortcoming
Although general equilibrium theory enjoyed the status of crown jewel within mathematical economics, it suffers from a serious defect: other than a few isolated results — some of them real gems, such as Eisenberg–Gale (1959) and Scarf (1973) — it was essentially a nonalgorithmic theory.
From the 1960s, Scarf and coauthors exploited the fixed-point connection computationally, using path-following techniques: decompose the price simplex into many small regions and construct a path that terminates near a fixed point. The fixpoint theorems guarantee termination, but the worst-case running time is exponential.
IntuitionWhy this matters now
With the emergence of new markets on the Internet — already an important part of today’s economy and projected to grow — and massive computational power available to run them centrally or distributedly, the need for an algorithmic theory of markets is apparent. Such algorithms are also a tool for understanding the repercussions of technological advances, new goods, or tax changes on existing prices, production and consumption.
A good beginning has been made, but given that markets were studied for over a century within mathematical economics, it is safe to say we have only scratched the surface.
NoteThe two approaches, and how this note is organized
Two lines of attack have emerged, both covered here:
| Approach | Technique | Model treated |
|---|---|---|
| Combinatorial | primal-dual schema | Fisher, linear utilities |
| Combinatorial | auction-based | Arrow–Debreu, linear utilities |
| Convex programming | Eisenberg’s program | Fisher, homogeneous utilities |
| Convex programming | discrete tâtonnement | exchange economies satisfying WGS |
| Convex programming | convex feasibility | linear and CES exchange, production |
The primal-dual algorithm is notable for extending the primal-dual schema from its usual setting of solving linear programs to exactly solving a nonlinear convex program.
The two models
DefinitionFisher’s model (linear case)
A set of buyers and a set of divisible goods, , . Buyer has money ; good is available in amount . Utilities are linear: if is the utility derives per unit of good , then on receiving units of each good her happiness is .
Prices are market clearing if, after each buyer is assigned an optimal basket, there is no surplus or deficiency of any good.
NoteNormalizations
WLOG each is unit (scale the ), and the and are integral (scale again, since they are rational). We make the mild assumption that each good has a potential buyer — someone deriving nonzero utility from it — under which market clearing prices exist.
DefinitionArrow–Debreu (exchange, Walrasian) model
A set of agents and of goods. Agent arrives with an initial endowment ; WLOG the total amount of each good is unit, . Utilities are linear as above.
Find prices so that if each agent sells her endowment at these prices and buys her optimal bundle, the market clears. An agent may have several optimal bundles; we are free to hand her any one of them to meet the clearing condition.
ImportantFisher reduces to Arrow–Debreu
A Fisher market with goods and buyers becomes an Arrow–Debreu market with goods and agents: money is the st good. The first agents are the buyers, endowed with the money they bring and having the Fisher utilities (and no utility for money); the st agent is endowed with all goods and has utility for money only.
Equivalently, in the general exchange model, Fisher is the special case of proportional endowments — so that relative incomes are independent of prices.
DefinitionThe exchange model in general
Trader has a concave utility and endowment , with nonsatiable (for any there is with ) and monotone (), and for at least one . At prices trader sells her endowment and demands the maximizing subject to .
An equilibrium is at which there exist bundles such that each maximizes under the budget constraint, and for each good.
DefinitionDemand, excess demand, Walras’ Law
is a demand of trader at ; there is at least one and possibly several. We usually assume exactly one — a demand function — which holds under strict quasi-concavity; for linear utilities the demand is a correspondence, not a function.
is the individual excess demand, the market demand, and the market excess demand.
The economy satisfies positive homogeneity, , and since , it satisfies Walras’ Law:
Equivalently, an equilibrium is a with for every .
NoteTâtonnement
The model predicts no dynamics leading to equilibrium, though it conveys the intuition that a disequilibrium price must rise if demand exceeds supply. Walras introduced a price-adjustment mechanism — tâtonnement — inspired by the Paris stock exchange: a fictitious auctioneer announces prices, agents report demands, the auctioneer adjusts prices in proportion to aggregate demand, and the process repeats. In continuous form,
for continuous, differentiable, sign-preserving .
Utility functions and approximation
| Family | Form | Note |
|---|---|---|
| Linear | perfect substitutes | |
| Cobb–Douglas | , | spends a fixed fraction of income on each good |
| Leontief (fixed-proportions) | perfect complements | |
| CES | , , | elasticity of substitution |
IntuitionCES interpolates all three
As , CES becomes linear — perfect substitutes, no preference for variety. For the goods are partial substitutes, with expressing the degree of preference for variety. As it becomes Cobb–Douglas, a perfect balance of substitution and complementarity. For it models significant complementarity, reaching perfect complementarity — Leontief — as .
A utility is homogeneous if , and log-homogeneous if .
DefinitionApproximate equilibria
is a -approximate demand () if and , where is the optimal utility under the budget.
is a strong -approximate equilibrium if there are bundles that are exact demands with ; it is weak if the bundles need only be -approximate demands.
An algorithm running in time polynomial in the input and is a polynomial time approximation scheme; polynomial in makes it a polynomial time algorithm.
NoteWhy approximation is usually unavoidable
A rational equilibrium price vector exists only in very special cases, so most algorithms compute an approximate equilibrium. The linear cases below are among the exceptions.
Gross substitutability
DefinitionGS and WGS
Market excess demand satisfies gross substitutability (resp. weak gross substitutability, WGS) if for prices with for all and strict for some , then implies (resp. ).
In words: raising the price of some goods while keeping others fixed can only increase demand for the fixed-price goods.
ImportantWhat WGS buys
WGS implies equilibrium prices are unique up to scaling, and market excess demand satisfies WGS whenever each individual excess demand does.
WGS is also exactly what makes the ascending-price strategy of The main algorithm work: on raising one good’s price, no other good’s demand falls, so the need to decrease a price never arises.
WarningIn general, equilibria need not even be connected
Not only are equilibria not unique; the equilibrium set may be disconnected. Economists have therefore sought realistic restrictions under which the problem has structure — uniqueness or convexity — either at the level of individuals (restricting utilities or endowments) or of the aggregate market. See Limitations of convex programming.
The Eisenberg–Gale convex program
The problem. For the linear case of Fisher’s model, equilibrium allocations are captured as optimal solutions to a remarkable convex program. Before stating it, it is instructive to ask what such a program must look like.
IntuitionDeriving the objective function
The constraints must be the packing constraints on the . The objective, maximizing utilities derived, should satisfy two conditions:
- Scale invariance: if one buyer’s utilities are scaled by a constant, the optimal allocation is unchanged.
- Splitting: if buyer ‘s money is split between two new buyers with ‘s utility function, the sum of their optimal allocations should be optimal for .
The money-weighted geometric mean of buyers’ utilities satisfies both: , equivalently . Taking its log gives the program.
FormulaThe Eisenberg–Gale program
Interpreting the Lagrangian variables of the second constraint set as prices, the KKT conditions are
TheoremProperties of Fisher equilibria, linear case
- If each good has a potential buyer, equilibrium exists.
- The set of equilibrium allocations is convex.
- Equilibrium utilities and prices are unique.
- If all and are rational, equilibrium allocations and prices are rational, writable in polynomially many bits.
ProofAll four claims from the KKT conditions
Existence. For good there is a buyer with , so by KKT (3), — all prices are positive, and by KKT (2) all goods are fully sold.
Conditions (3) and (4) say that if buyer gets good , then is among the goods giving her maximum utility per unit money — so each buyer receives an optimal bundle. Condition (4) is equivalent to ; summing over gives — every buyer’s money is fully spent. Together these establish equilibrium.
Convexity. Each equilibrium allocation is an optimal solution to a convex program, so the set of them is convex.
Uniqueness. is strictly concave, so if there is more than one equilibrium, each buyer’s utility is the same in all of them; with (4), prices are then unique too.
Rationality. Equilibrium allocations and prices solve a linear system. Introduce and let be the number of nonzero : the system has unknowns (the and the nonzero ) and equations — the equality of KKT (2) per good, and of KKT (4) per nonzero .
∎
NoteEisenberg’s generalization
Eisenberg (1961) extends the program to Fisher markets with any homogeneous utilities, maximizing subject to . He proves an arguably stronger result: with , the social utility function is homogeneous and concave, and the market demand of the whole Fisher economy equals the demand of a single trader with utility and income 1. See Convex programming for the Fisher model for the proof of optimality.
NoteNegishi’s characterization
More generally, Negishi (1960) showed equilibrium allocations of an exchange economy solve a convex program with unknown welfare weights: there exist such that maximizing subject to yields equilibrium allocations, with prices coming from the KKT dual variables. For log-homogeneous utilities KKT forces , so at equilibrium .
The combinatorial algorithm for Fisher’s linear case
Checking whether given prices are equilibrium prices
DefinitionBang per buck and the equality subgraph
At prices , buyer gets utility per unit money spent on good ; her bang per buck is . Always , with equality only for her bang-per-buck goods — among which she is equally happy with any combination.
The equality subgraph is bipartite on with edge iff .
DefinitionThe network
Direct the equality-subgraph edges from to with infinite capacity; add source with an edge to each good of capacity , and sink with an edge from each buyer of capacity . If edge carries flow , buyer receives units of good .
flowchart LR s((s)) -->|p_1| g1["good 1"] s -->|p_2| g2["good 2"] g1 -->|infinite| b1["buyer 1"] g1 -->|infinite| b2["buyer 2"] g2 -->|infinite| b2 b1 -->|e_1| t((t)) b2 -->|e_2| t
LemmaEquilibrium test by one max-flow
are equilibrium prices iff in both cuts and are min-cuts. If so, allocations corresponding to any max-flow are equilibrium allocations.
IntuitionWhat each cut being min means
The first says all goods can be sold; the second says all money is spent. The algorithm will maintain the first as an invariant and drive toward the second.
The two crucial ingredients
The algorithm starts with prices guaranteed below equilibrium, so buyers have surplus money, and raises prices iteratively to reduce the surplus; when the surplus vanishes it terminates. This raises two questions, whose answers are the two key notions.
| Question | Answer |
|---|---|
| How do we ensure no good’s equilibrium price is exceeded? | Tight sets |
| How do we ensure the surplus falls fast enough for polynomial time? | Balanced flows |
ImportantWhy the primal-dual schema needs enhancing
The fundamental difference between complementary slackness for LPs and KKT conditions for nonlinear convex programs: the former do not involve primal and dual variables simultaneously in an equality constraint; the latter do. The repercussions are visible in the structure of the algorithm.
The dual growth process here is greedy — as in all known primal-dual algorithms, with the single exception of Edmonds’ maximum weight matching. The disadvantage of greed is that a raised dual may turn out to “obstruct” others, and only later in the run does this become clear. More sophisticated dual growth makes primal objects go tight and loose, requiring an accounting of the reversals; matching’s impeccable combinatorial structure supports such accounting, but attempts elsewhere have failed.
Here, even though growth is greedy, the complex nature of KKT conditions makes equality-subgraph edges appear and disappear as the algorithm proceeds — so we are forced into that difficult accounting anyway.
FormulaWhich KKT conditions are relaxed
Conditions (1) and (2) are enforced throughout — via a max-flow in , all goods can always be sold. Buyers may have surplus. With the money buyer spends under a balanced flow, her surplus is , and conditions (3) and (4) are relaxed to
The potential function is ; when it drops to zero, all KKT conditions hold exactly.
NoteContinuous rather than discrete satisfaction
Primal-dual algorithms for LPs satisfy complementary conditions in discrete steps — each iteration satisfies at least one new condition — so strongly polynomial iterations give a strongly polynomial algorithm. This algorithm satisfies KKT conditions continuously: as it proceeds, each buyer’s conditions are satisfied to a greater extent. Since ‘s initial value depends on the money possessed by buyers, and hence on the input length, the algorithm is polynomial but not strongly polynomial even though each phase is.
Tight sets and the Invariant
DefinitionTight set
For let be the total price of goods in , for let , and let be ‘s neighbourhood in — the buyers currently interested in goods in . Then is tight if .
Under this circumstance, raising prices in may exceed some good’s equilibrium price, so the algorithm freezes the prices of all goods in . (When new edges enter the equality subgraph, frozen goods may be unfrozen.)
ImportantThe Invariant
The prices are such that is a min-cut in .
LemmaCharacterization of the Invariant
satisfies the Invariant iff .
ProofMove and its neighbourhood across the cut
Forward is trivial: under a max-flow of value , every must send into its neighbourhood.
Reverse: let be a min-cut, of capacity . Necessarily , else the cut is infinite. Moving and to the side gives another cut, and by hypothesis , so its capacity is no larger — hence it too is a min-cut, and the Invariant holds.
∎
Balanced flows
DefinitionBalanced flow
Given a feasible flow in , the surplus of buyer is the residual capacity of edge — her money minus what she spends. A balanced flow minimizes , the norm of the surplus vector.
A balanced flow must be a max-flow, since augmenting can only decrease the norm.
LemmaUniqueness of the surplus vector
All balanced flows in have the same surplus vector.
ProofConvexity plus strict convexity of the objective
If are surplus vectors of then is that of ; since feasible flows form a convex region, so do feasible surplus vectors. Minimizing a strictly convex function over a convex set gives a unique optimum.
∎
ImportantProperty 1 — the property used critically throughout
If then there is no path from to in . A max-flow is balanced iff it satisfies Property 1.
ProofBoth directions, via circulations
Balanced Property 1. Suppose yet a path exists in . In the only edge out of is , so the path must start with a different positive-capacity edge; by flow conservation has positive residual capacity. Since , so does . Concatenating , the path, and gives a positive-capacity cycle; pushing a circulation around it raises ‘s surplus slightly and lowers ‘s — a more balanced flow, contradiction.
Property 1 balanced. A max-flow satisfying Property 1 is locally optimal with respect to changes in pairs of surplus components, since any circulation in can only move flow from a high-surplus buyer to a low-surplus one, making things less balanced. As the norm is strictly convex, local optimality implies global.
∎
AlgorithmFinding a balanced flow by divide and conquer
Assume satisfies the Invariant. Continuously reduce the capacities of all edges from to (excepting those hitting zero) until the capacity of equals that of . Call the result , let be a max-flow in it, and find a maximal – min-cut .
- Case 1: . Output a max-flow in — this is balanced in .
- Case 2: otherwise let be the subnetworks of induced by and — inheriting original capacities from , not the reduced ones from . Recursively find balanced and output .
Proof is a max-flow
Case 1: the output saturates , whose capacity in equals that of ; by the Invariant it is a max-flow in .
Case 2: are edge-disjoint so is feasible; we show it saturates all edges from to . Let be a max-flow in . Neither nor has edges from to , so all of ‘s flow into exits via ; hence restricted to saturates , and so must the max-flow . Since is a min-cut in , saturates and all that flow exits via , so restricted is feasible in and the max-flow also saturates .
∎
Proof is balanced
By induction on recursion depth. Base case (): the surplus vector is precisely the amounts subtracted from the capacities, which makes the components as equal as possible and hence minimizes the norm.
Inductive step. is a max-flow; we verify Property 1. By hypothesis it holds within and , so only cross paths matter. There are no edges in , hence no residual paths . For paths , we show for , .
By maximality of the min-cut in , every node of has positive surplus under (zero-surplus nodes are all in ), so the same amount was subtracted from each edge , . Let be the minimum-surplus vertices of and the vertices of reachable from in ; then , else there is a residual path from to violating Property 1. All edges are saturated in and that flow leaves via , so ; and . Hence the total surplus on is , and since all these edges have equal surplus, each exceeds . Symmetrically each has surplus below .
∎
TheoremComputing a balanced flow
The above computes a balanced flow using at most max-flow computations: the biggest piece shrinks by at least one good per iteration, and are vertex-disjoint apart from , so the work per level is bounded by one max-flow in .
The main algorithm
NoteInitialization
Two conditions guarantee the Invariant at the start:
- Prices low enough that each buyer can afford all goods — suffices, since the goods cost one unit together and the are integral.
- Each good has an incident equality edge; if good has none, reduce its price to .
WarningThe naive approach fails
Under the Invariant there is a unique maximal tight set , whose prices cannot be raised. One could raise all prices in — but no way is known to bound the running time of such an algorithm, and it seems it can be forced to take many steps making very little progress, hence superpolynomial time.
The fix: always raise prices of goods desired by buyers with a lot of surplus. When a subset of these goes tight, the surplus of some of those buyers vanishes — substantial progress. Property 1 is what lets the algorithm keep working with a high-surplus set even as changes.
AlgorithmThe main loop
A run is partitioned into phases, each ending with a new tight set; phases are partitioned into iterations.
A phase begins by computing a balanced flow . If the balanced-flow algorithm terminates in Case 1, the current prices and allocations are an equilibrium — halt. Otherwise let be the maximum surplus, the buyers achieving it, and the goods with edges to ; the network induced by is the active subgraph.
Step: multiply the prices of goods in by a variable , initialized to 1, and raise continuously. (Raising all of by the same factor keeps the ratio of any two prices fixed, so each buyer in keeps the same favourite set — all within . As soon as , buyers in lose interest in and those edges leave the equality subgraph.)
- Event 1: a subset goes tight — the phase ends.
- Event 2: an edge with , enters the equality subgraph, as goods outside become relatively more desirable. Add to and recompute a balanced flow. (If that terminates in Case 1, halt.) Otherwise update to be all buyers with residual paths to the current — which certainly contains the old — update accordingly, and return to Step.
Compute the smallest at which each event occurs and take the smaller.
IntuitionThe primal-dual reading
The primal variables are the flows in and the dual variables the current prices. The current flow suggests how to improve the prices, and vice versa.
Finding tight sets
Let be the current prices (at ). WLOG the tight set at is empty, since we can restrict attention to the active subgraph. Define
the value of at which a nonempty set goes tight, with the tight set at .
LemmaHow the min-cut changes with
W.r.t. prices : if then is a min-cut; if it is not, and moreover any min-cut has .
ProofBoth cases
: by definition for all , so the Invariant holds.
: since , the cut is strictly smaller than , so the latter is not min.
For the second claim, let and , and suppose . Certainly . If we could move and to the side and get a smaller cut; in particular , so and . Then while , giving — contradicting the definition of .
∎
LemmaRecursing on a smaller graph
With , if and is a min-cut in , then is a proper subset of .
(If then and is a min-cut; but at this that cut has the same capacity as , which is not min since .)
LemmaFinding and
Both can be found using max-flow computations: set ; if is a min-cut then and ; otherwise and we recurse on .
Running time
Let and .
LemmaPrices of newly tight goods are nicely rational
At the end of a phase, the prices of goods in the newly tight set are rational with denominator .
ProofAlternating products along a path
Let be the newly tight set; assume the equality subgraph on is connected (else argue per component). Pick and a subgraph in which reaches every other — at most edges. If reaches by a path of length then where are products of utility parameters each, since alternate edges of the path contribute to and to . Hence with , and .
∎
LemmaPrices jump by a definite amount
If good lies in the newly tight set at the end of two phases and (not necessarily consecutive), the price increase between them is — since with and the two prices and , .
LemmaIterations per phase
At most . Each Event-2 iteration brings at least one new good into the active subgraph, and there is at least one there to begin with, so at most of those; the last iteration of each phase is Event 1.
LemmaThe surplus norm drops
If is feasible and balanced in with for some and , then .
ProofDecompose and keep only the paths through
Augment by only those flow paths and circulations of that go through , getting . These are paths or circulations . Then and with ; moreover each is reachable from in , so by Property 1, .
The elementary inequality (for , ) then gives , and since is balanced, .
∎
LemmaMonotonicity across iterations
A balanced flow at the end of iteration is feasible in — both raising prices in and adding an Event-2 edge can only support an augmented max-flow — so is monotonically decreasing. Moreover if the minimum active surplus strictly drops, some buyer’s surplus drops by at least , whence .
LemmaProgress per phase
In a phase, drops by a factor .
ProofTelescope, then use ,
The difference telescopes into nonnegative terms; keeping only those with , the sum is minimized when all the differences are equal, giving since . With the claim follows.
∎
TheoremRunning time
The algorithm finds equilibrium prices and allocations for Fisher’s linear case using max-flow computations.
ProofMultiply the three bounds
The squared surplus halves every phases; it starts at most and the algorithm is done once it drops below (by the two price lemmas), so the number of phases is . Each phase has iterations and each iteration max-flows.
∎
Auction-based algorithm for Arrow–Debreu
The target. For any fixed , find prices such that the market clears and each agent gets a bundle worth at least times the utility of her optimal bundle.
AlgorithmThe auction
Initialize every price to 1, compute the worth of each agent’s endowment, and give her that money; all goods are unsold. As prices change, endowment worths and agents’ money are recomputed. Initially the total surplus is .
At any point part of good is sold at and part at . The run splits into iterations, each ending when some price rises by a factor ; iterations split into rounds, in which agents are considered in a fixed order.
For agent with surplus, find her bang-per-buck optimal good and execute outbid: buy back from agents holding it at price and sell it to at . This ends either when
- ‘s surplus is exhausted — move to the next agent; or
- no agent holds at price — raise to , ending the iteration and updating all agents’ money.
After each round, if the total surplus is at most , halt; at termination give unsold goods to an arbitrary agent so the market clears.
(Notation: , , the largest price assigned, the extreme utility values.)
LemmaRounds per iteration
.
Why: outbid buys at and sells at , so each fully completed round reduces total surplus by a factor . Surplus starts at most and the algorithm stops at .
LemmaTotal iterations
, since each iteration raises some price by .
LemmaApproximation quality
Each agent gets utility at least times her optimum.
ProofTwo sources of loss
The algorithm always sells an agent her optimal goods at current prices (charging ). First, some of her money may remain unspent: with her endowment’s terminating worth and what she spent, the total surplus at termination is at most , so . Second, she paid for part of good though the announced price is — equivalently she gets optimal goods at prices for
of her money.
∎
TheoremRunning time
ProofBound , then apply the two lemmas
Every good whose price exceeds 1 is fully sold. Since the agents’ total money is the total worth of all goods, the surplus condition must be reached before all prices exceed 1 — so at termination some good still has price 1, and the ratio of max to min price is bounded by , hence so is . Each round takes time.
∎
Kelly’s resource allocation markets
ImportantWhere this came from
In a different context — modelling and understanding TCP congestion control — Kelly (1997) defined a class of resource allocation markets and gave a convex program for their equilibria. Kelly’s program has the same structure as Eisenberg–Gale.
Kelly’s object was to explain the unprecedented success of TCP and Jacobson’s congestion avoidance protocol, which played a crucial role in the Internet’s growth. Fairness is a key desired property, and Jacobson’s protocol seems to ensure it. Recent results show that with Jacobson’s protocol at end-nodes and Floyd–Jacobson at buffer queues, traffic flows converge in the limit to an optimal solution of Kelly’s program — i.e. to equilibrium allocations. Kelly used the formulation to prove equilibrium allocations are proportionally fair, formally ratifying the protocol.
DefinitionKelly’s model
Resources with capacities , agents with money . Each agent wants to build as many objects as possible from resources; agent can use any of the subsets . With the (not necessarily integral) number of objects built from and the total, the program is
FormulaProportional fairness
An optimal satisfies, for every feasible ,
Intuitively: the only way to make one agent 5% happier is to make others unhappy by at least 5% in total.
NoteEquilibrium conditions, and uniqueness
KKT gives Lagrangian variables interpreted as resource prices, with (i) a resource has positive price only if used to capacity; (ii) each agent uses only the cheapest sets; (iii) each agent’s money is fully used. Since the objective is strictly concave, the vector is unique at optimality — and hence in every equilibrium.
| Market | Resources | Agents | Objects |
|---|---|---|---|
| 1: flow market | edges of a directed or undirected | source–sink pairs | – paths |
| 2 | edges of a directed | branchings rooted at spanning | |
| 3 | edges of an undirected | spanning trees |
NoteThe flow market and the question that motivated this line
The flow market is of special significance: find equilibrium flows and edge prices (in the TCP reading, drop rates at links). Continuous-time algorithms, though not polynomial, were given by Kelly et al. Kelly and Vazirani observed that Kelly’s model essentially generalizes Fisher’s linear case, and asked: “Continuous time algorithms similar to TCP are known, but insights from discrete algorithms may be provocative.” The next section answers a special case.
Single-source multiple-sink flow markets
Setup. A directed with edge capacities, source , sinks with money . (Undirected graphs reduce by replacing each edge with two directed edges of the same capacity.)
ExampleA small instance worth simulating
; sinks and with $120 and $10. Edges and of capacity 2, of capacity 1, and of capacity 10. The unique equilibrium prices are , , , with the rest zero; the flows are 1 on , 1 on , and 2 on . Simulating the algorithm reveals the complex sequence of cuts needed.
ImportantThe algorithm as an ascending-price auction
Buyers are sinks, sellers are edges. Buyers have fixed budgets and want maximum flow; sellers want the highest price. The deviation from a usual auction: the sellers act in a highly coordinated manner — at any point, all edges of one particular cut raise their prices simultaneously while the rest stay fixed.
Prices start at zero. The first cut considered is the unique maximal min-cut separating all sinks from .
Let be the cost of the cheapest – path at current prices; sink demands flow — infinite at the start, when all prices are zero. Indeed no feasible flow satisfies all demands at any intermediate point: some cuts must be oversaturated.
The price of the current cut rises as long as demand across it exceeds supply. When does the cut realize it must sell itself? As soon as there is a cut with whose capacity differs from ‘s by exactly the flow demanded by sinks in . Take maximal (it is unique). If , halt; otherwise is oversaturated, becomes the new , and the next iteration begins.
An edge in several such cuts is priced at the sum of the assigned prices.
IntuitionWhy the cut stops there
From the edges’ own viewpoint: raise prices any further and demand would fall below supply — the cut would be under-saturated, and then these edges would have to be priced at zero.
ProofCorrectness
Suppose iterations, with cuts and , the terminals in , and the price assigned to the edges of cut . Then for .
Form by adding a sink and edges of capacity . Each cut has the same capacity, and all are minimum – cuts in . Take a max-flow in and let ignore the flow into ; then sends to each sink.
All three KKT conditions hold: each is saturated by , so priced edges are used to capacity; every flow to uses a path of cost ; and since the flow to is , each terminal’s money is fully spent.
∎
AlgorithmFinding the next cut
Let be the current cut with edge set and capacity , the sinks in , the sum of prices assigned so far, and the price on . Define by adding and edges of capacity .
Let be a cut’s capacity assuming price on ; the maximal – min-cut in at that price; and the smallest price making that cut minimum ( if impossible) — found by solving one equation in . Then:
- While : set and
- Output
LemmaThe search shrinks monotonically
Suppose , with , and . Then .
ProofSubmodularity rules out crossing
Since , , so . With the capacities at and the money of sinks in , : minimality of at gives , and of at gives , whence
If then , contradicting this since . If cross, there is with ; by submodularity either — and since the money in is at most , at price this beats , contradiction — or — and since the money in is at least , at price this beats , contradiction.
∎
TheoremRunning time
The algorithm finds equilibrium edge prices and flows using max-flow computations, the number of sinks: the subroutine takes max-flows (it keeps finding cuts with fewer sinks on the side), and the number of trapped sinks increases each iteration so .
Convex programming for the Fisher model
FormulaEisenberg’s program
With homogeneous utilities,
Notice the program has no price variables. The optimal allocations are exactly the individual demands at prices given by the Lagrangian duals.
ProofOptimality, for differentiable utilities
Let be optimal; note . KKT gives and with
Budget exhaustion. Multiply the third by and sum over ; using the second and Euler’s identity for homogeneous , this collapses to .
Optimality of the bundle. Let with . By concavity,
Market clearance. The first KKT condition gives whenever ; for goods with , allocate the excess to trader 1 — which keeps her bundle a demand, since the new goods are free and adding positive quantities cannot decrease .
∎
Exchange economies satisfying WGS
LemmaThe separating hyperplane
Let be an equilibrium price vector for an exchange economy satisfying gross substitutability, and any nonequilibrium price vector. Then
ImportantWhy this is the whole story for WGS
The lemma says the set of equilibrium prices is convex, by exhibiting for any non-equilibrium a hyperplane separating it from that set — namely , since while by Walras’ Law. To compute the hyperplane we need only the demands at .
It also says: if we start at and move in the direction , the Euclidean distance to equilibrium decreases — the crux of the proof that tâtonnement converges.
Two transformations
DerivationNormalizing total supply, then adding a Cobb–Douglas trader
Transformation 1 (): make the total amount of each good 1. Set with , and ; then . Concavity and WGS are preserved, and -approximate demands and weak -approximate equilibria correspond under the rescaling .
Transformation 2 (): fix and add one extra trader with endowment and the Cobb–Douglas utility — so she spends exactly of her budget on each good: . Now .
LemmaProperties of
(1) has an equilibrium. (2) Every equilibrium satisfies . (3) A weak -approximate equilibrium for is a weak -approximate equilibrium for . (4) satisfies WGS if does.
IntuitionWhat the extra trader is for
Existence follows from standard microeconomic theory: a quasi-equilibrium always exists, and at it the extra trader’s income is strictly positive, forcing for every good — which upgrades the quasi-equilibrium to an equilibrium. Property (2) — bounding the spread of prices — is the other crucial role she plays, and it is what makes the price region compact.
DefinitionThe price regions
, which contains an equilibrium of ; and , on which .
The discrete tâtonnement process
AlgorithmDiscrete tâtonnement
Assume an oracle computing the excess demand of at any (readily built from one for ). Start at any . Given :
- If , let be the point of closest to (clamp each coordinate into ).
- Otherwise, .
LemmaQuantitative separation
Let fail to be a weak -approximate equilibrium for . Then for any equilibrium , where is polynomial in , , .
ProofA telescoping path of price vectors, with WGS applied at each step
Order the goods so and write . Let componentwise, i.e. — so is an equilibrium price vector (a scaling of ) and . Let (prices fixed during step ) and .
By Walras’ Law at both ends, ; expanding and applying WGS twice — to giving for , and to giving for — yields
Since is not an approximate equilibrium, , so some has and hence .
Here the extra trader earns her keep. Her income rises by at least , and since she spends of income on each good, . The other traders satisfy WGS and , so their demand for good 1 does not fall. Substituting into the displayed inequality and adding the nonnegative terms for ,
∎
LemmaBounded step length
For any , — bound by , use on and .
TheoremConvergence
With , within iterations the algorithm computes a price in that is a weak -approximate equilibrium for .
ProofEach iteration cuts the distance to a fixed equilibrium
Fix an equilibrium . If , clamping moves no coordinate away from and moves some coordinate at least toward it, so .
If and is not approximately optimal, the separation lemma gives , and Walras’ Law gives . With , the step-length bound gives , whence
Summing over iterations gives .
∎
TheoremMain WGS result
For an exchange market satisfying WGS and equipped with an excess-demand oracle, the tâtonnement-based algorithm computes in time polynomial in the input and a sequence of prices, one of which is a weak -approximate equilibrium.
NotePicking the right one out of the sequence
We need an algorithm that recognizes an approximate equilibrium — it suffices that it assert a weak -approximation whenever given a weak one. Since recognizing is an explicitly presented convex program, this is generally easy. Using the separation lemma with the ellipsoid method instead makes the dependence on polynomial in .
Convex programs for specific utilities
FormulaLinear exchange economies
With and , find and with
Solutions correspond exactly to equilibria via , in both directions.
NoteExact solutions for linear utilities
For linear utilities an equilibrium price vector with small rational components exists. Jain exploits this in an ellipsoid variant using the above separating hyperplane to compute the equilibrium exactly in polynomial time; Ye gives an interior-point algorithm doing the same.
FormulaCES demand
For with and , (and if some when , ensuring continuity), the demand is unique and
TheoremCES with is a convex feasibility problem
Set , and . Equilibria are the with for each good — and each is convex, so the right side being linear makes this a convex feasibility program.
ProofConvexity of
It suffices that define a convex set for . Using the demand formula, rewriting and raising to the power , the constraint becomes
The left side is convex; the right side is concave and nondecreasing in , since the exponents are nonnegative and add up to one. Since , the expression for is itself concave (a CES function), so substituting it keeps the right side concave.
∎
NoteAn unexpected corollary
The demand of such an economy need not satisfy WGS, so the connectedness of the equilibria implied by this convex formulation is a genuinely new consequence.
Limitations of convex programming
WarningDisconnected equilibria for CES with
Two traders, two goods. Trader 1 has and ; trader 2 has and . For each there is a sufficiently small for which
- is an equilibrium price, and
- is an equilibrium for some , while is not for any .
So the equilibria are multiple and disconnected. This economy therefore admits no convex programming formulation in terms of any “relative” of the prices — such a formulation would force every intermediate between two equilibrium prices to be one too. It is unlikely the CES results above extend past .
ImportantLeontief exchange economies are PPAD-hard
Equilibrium computation belongs in TFNP, the class of total search problems: Nash’s theorem makes finding a Nash equilibrium total, and Arrow–Debreu gives sufficient conditions making market equilibrium total. The relevant subclass is PPAD.
The game–market correspondence. Take a bimatrix game with positive entries, of size . Build a Leontief exchange economy with traders and goods: trader is endowed with one unit of good ; traders derive utility only from goods , in proportions given by row of ; traders derive utility only from goods , in proportions given by column of . The traders split into two groups bringing disjoint goods and interested only in the other group’s goods.
The Nash equilibria of are in one-to-one, polynomial-time computable correspondence with the market equilibria of this economy. (For this we must drop the convention of considering only positive-price equilibria; only then does the economy capture the complexity of bimatrix games.)
Combined with the PPAD-completeness of bimatrix Nash, computing a market equilibrium is PPAD-complete even for this restricted family of Leontief economies.
Models with production
Setup. A constant returns economy adds producers to the exchange model. Producer can make good from the goods via a concave, degree-1 homogeneous : inputs produce up to units of .
ImportantProfit maximization is well defined only at zero profit
If some feasible plan makes strictly positive profit , then scaling inputs by scales the profit by — so no profit-maximizing plan exists. A maximizing plan exists iff no feasible plan makes positive profit, in which case a maximizing plan makes zero profit, and the trivial plan always qualifies.
In terms of the unit cost function : if maximization is undefined; if only the trivial plan maximizes; if , the trivial plan and any with all maximize.
DefinitionEquilibrium with production
Prices , consumer bundles and producer input bundles with output , such that (i) profit maximization is well defined at and each plan is profit-maximizing; (ii) each is consumer ‘s demand; and (iii) the market clears: .
Requirement (i) rules out the trivial approach of ignoring the production units and computing an exchange equilibrium.
DerivationTransforming to a market with trivial consumption
Transform into with consumers, goods and producers. Add a good per consumer, and set — consumer now wants only good . Endowments are unchanged on the first goods and zero after. The first producers are unchanged; the th produces good with technology . There is a one-to-one correspondence between equilibria of and , and the simplicity of ‘s consumption side is what makes the characterization tractable.
FormulaInequalities characterizing equilibrium of
In variables , consumer demands , producer inputs and outputs :
ProofWhy any feasible solution is an equilibrium
Evidently every equilibrium is feasible. Conversely, (b) and (c) imply no producer makes positive profit: . Adding these and (a) shows the cost of consumer and producer demands is at least the cost of endowments and outputs; multiplying (d) and (e) by prices and adding shows it is at most that. Hence the two are equal, forcing — every plan makes exactly zero profit and, by (c), is optimal — and forcing equality in (a), so is the demand. Conservation follows from (d) and (e).
∎
ImportantThe substitution that convexifies everything
Put . All constraints become convex except possibly (c). For a CES production function with the unit cost is with ; raising both sides to the power turns (c) into
which the substitution makes convex. The same holds for linear and Cobb–Douglas production.
So we obtain convex programs for constant-returns economies whose utility and production functions are linear, Cobb–Douglas, or CES with — and for a family of nested CES functions. Interestingly, using production technologies to simplify the consumption side is also the key to convex programs for pure exchange economies with nested CES utilities.
Discussion and open problems
WarningLinear utilities are easy but unrealistic
Linear functions gave us the easiest algorithmic questions with which to commence the study — but they are much too restrictive to be useful. Concave utilities are considered especially useful in economics because they model decreasing marginal utilities. If strictly concave, each agent has a unique optimal bundle at any prices, which yields a remarkable communication-complexity fact: it suffices to announce equilibrium prices — all agents can then individually compute and buy their optimal bundles and the market clears.
ImportantWhy concavity breaks the ascending-price approach
The approach of starting at very low prices and raising them is made possible by weak gross substitutability: raising one good’s price never lowers another’s demand, so the need to decrease a price never arises. Concave utility functions do not satisfy WGS.
Open: does the piecewise-linear-concave approach yield an efficient algorithm, exactly or approximately? If so, general concave functions could be handled by approximation. Alternatively, can one show finding an equilibrium for such utilities is PPAD-hard?
NoteOther open problems
- Given the properties in the Fisher-equilibria theorem, can equilibrium allocations for the linear Fisher case be captured by a linear program? Resolving this either way seems exciting.
- Is there a strongly polynomial algorithm for the linear Fisher case? The dependence on the buyers’ money in the potential function is what currently blocks this.
- Numerous questions remain for a deeper algorithmic understanding of Eisenberg–Gale markets generally.
Quick reference
| Object | Statement |
|---|---|
| Fisher model | buyers with money , linear utilities ; find market-clearing prices |
| Arrow–Debreu | agents with endowments ; sell, then buy optimal bundles |
| Fisher Arrow–Debreu | money as the st good, plus one agent endowed with all goods |
| Walras’ Law | |
| WGS | raising some prices cannot lower demand for the fixed-price goods equilibrium unique up to scaling |
| Eisenberg–Gale | s.t. packing constraints; duals are prices |
| Fisher linear equilibria | exist, form a convex set, have unique utilities and prices, and are rational |
| Bang per buck | ; equality subgraph has edge iff attained |
| Equilibrium test | both and min-cuts in |
| Invariant | is a min-cut |
| Tight set | ; freeze its prices |
| Balanced flow | minimizes ; unique surplus vector; Property 1 |
| Primal-dual running time | max-flows |
| Auction (Arrow–Debreu) | -optimal bundles; |
| Kelly’s program | s.t. capacities; proportionally fair |
| Single-source flow market | max-flows, = number of sinks — strongly polynomial |
| WGS separation | for non-equilibrium |
| Discrete tâtonnement | weak -approximate equilibrium in poly |
| Linear exchange | convex feasibility in ; exact solution in poly time |
| CES, | convex feasibility in |
| CES, | multiple disconnected equilibria — no convex formulation |
| Leontief exchange | PPAD-complete, via the bimatrix game–market correspondence |
| Production, CES | convex after ; also linear and Cobb–Douglas |
Facts to keep to hand:
- Both combinatorial algorithms are ascending price — and that is legitimate only because linear utilities satisfy WGS, so no price ever needs to come back down.
- The primal-dual algorithm’s two inventions answer two separate needs: tight sets stop prices overshooting, balanced flows guarantee fast surplus reduction.
- KKT conditions mix primal and dual variables, unlike LP complementary slackness — which is why the equality subgraph churns and why the algorithm satisfies conditions continuously rather than in discrete steps.
- The algorithm is polynomial but not strongly polynomial, because ‘s starting value depends on the buyers’ money and hence on the input length.
- Eisenberg–Gale’s objective is forced by two requirements: scale invariance and splitting, which the money-weighted geometric mean uniquely satisfies.
- Kelly’s resource allocation program has the same structure as Eisenberg–Gale, which is how TCP congestion control connects to market equilibrium.
- In the WGS analysis, the added Cobb–Douglas trader does two jobs: forces all prices positive (existence) and bounds the price spread (compactness).
- The convexity frontier sits at CES : above it convex feasibility works; below it equilibria disconnect, and at the Leontief extreme the problem is PPAD-complete.
References
- Nisan, Roughgarden, Tardos & Vazirani, Algorithmic Game Theory — chapters 5 (Vazirani) and 6 (Codenotti & Varadarajan)