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

· 55 min read · 10,839 words

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:

ApproachTechniqueModel treated
Combinatorialprimal-dual schemaFisher, linear utilities
Combinatorialauction-basedArrow–Debreu, linear utilities
Convex programmingEisenberg’s programFisher, homogeneous utilities
Convex programmingdiscrete tâtonnementexchange economies satisfying WGS
Convex programmingconvex feasibilitylinear 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 BB of buyers and a set AA of divisible goods, ∣A∣=n|A| = n, ∣B∣=n′|B| = n'. Buyer ii has money eie_i; good jj is available in amount bjb_j. Utilities are linear: if uiju_{ij} is the utility ii derives per unit of good jj, then on receiving xijx_{ij} units of each good her happiness is ∑juijxij\sum_j u_{ij}x_{ij}.

Prices p1,…,pnp_1,\ldots,p_n are market clearing if, after each buyer is assigned an optimal basket, there is no surplus or deficiency of any good.

NoteNormalizations

WLOG each bjb_j is unit (scale the uiju_{ij}), and the uiju_{ij} and eie_i 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 AA of mm agents and GG of nn goods. Agent ii arrives with an initial endowment ei=(ei1,…,ein)e_i = (e_{i1},\ldots,e_{in}); WLOG the total amount of each good is unit, ∑ieij=1\sum_i e_{ij} = 1. 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 nn goods and mm buyers becomes an Arrow–Debreu market with n+1n+1 goods and m+1m+1 agents: money is the (n+1)(n{+}1)st good. The first mm agents are the buyers, endowed with the money they bring and having the Fisher utilities (and no utility for money); the (m+1)(m{+}1)st agent is endowed with all nn goods and has utility for money only.

Equivalently, in the general exchange model, Fisher is the special case of proportional endowments wi=δiww_i = \delta_i w — so that relative incomes are independent of prices.

DefinitionThe exchange model in general

Trader ii has a concave utility ui:R+n→R+u_i : \mathbb{R}^n_+\to\mathbb{R}_+ and endowment wiw_i, with uiu_i nonsatiable (for any xx there is yy with ui(y)>ui(x)u_i(y) > u_i(x)) and monotone (y≥x⇒ui(y)≥ui(x)y\ge x \Rightarrow u_i(y)\ge u_i(x)), and wij>0w_{ij}>0 for at least one jj. At prices π\pi trader ii sells her endowment and demands the xix_i maximizing ui(x)u_i(x) subject to π⋅x≤π⋅wi\pi\cdot x\le\pi\cdot w_i.

An equilibrium is π\pi at which there exist bundles xˉi\bar x_i such that each xˉi\bar x_i maximizes uiu_i under the budget constraint, and ∑ixˉij≤∑iwij\sum_i\bar x_{ij}\le\sum_i w_{ij} for each good.

DefinitionDemand, excess demand, Walras’ Law

xi(π)x_i(\pi) is a demand of trader ii at π\pi; 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.

zi(π)=xi(π)−wiz_i(\pi) = x_i(\pi) - w_i is the individual excess demand, Xk(π)=∑ixik(π)X^k(\pi) = \sum_i x_{ik}(\pi) the market demand, and Zk(π)=Xk(π)−∑iwikZ^k(\pi) = X^k(\pi) - \sum_i w_{ik} the market excess demand.

The economy satisfies positive homogeneity, Z(π)=Z(λπ)Z(\pi) = Z(\lambda\pi), and since π⋅xi(π)=π⋅wi\pi\cdot x_i(\pi) = \pi\cdot w_i, it satisfies Walras’ Law:

π⋅Z(π)=0\pi\cdot Z(\pi) = 0

Equivalently, an equilibrium is a π\pi with Zj(π)≤0Z^j(\pi)\le0 for every jj.

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,

dπkdt=Gk(Zk(π))\frac{d\pi_k}{dt} = G_k\big(Z_k(\pi)\big)

for continuous, differentiable, sign-preserving GkG_k.

Utility functions and approximation

FamilyFormNote
Linearui(x)=∑jaijxiju_i(x) = \sum_j a_{ij}x_{ij}perfect substitutes
Cobb–Douglasui(x)=∏jxijaiju_i(x) = \prod_j x_{ij}^{a_{ij}}, ∑jaij=1\sum_j a_{ij}=1spends a fixed fraction of income on each good
Leontief (fixed-proportions)ui(x)=min⁡jaijxiju_i(x) = \min_j a_{ij}x_{ij}perfect complements
CESu(x)=(∑iαixiρ)1/ρu(x) = \big(\sum_i \alpha_i x_i^\rho\big)^{1/\rho}, −∞<ρ<1-\infty<\rho<1, ρ≠0\rho\ne0elasticity of substitution 1/(1−ρ)1/(1-\rho)

IntuitionCES interpolates all three

As ρ→1\rho\to1, CES becomes linear — perfect substitutes, no preference for variety. For ρ>0\rho>0 the goods are partial substitutes, with ρ\rho expressing the degree of preference for variety. As ρ→0\rho\to0 it becomes Cobb–Douglas, a perfect balance of substitution and complementarity. For ρ<0\rho<0 it models significant complementarity, reaching perfect complementarity — Leontief — as ρ→−∞\rho\to-\infty.

A utility is homogeneous if u(αx)=αu(x)u(\alpha x) = \alpha u(x), and log-homogeneous if u(αx)=log⁡α+u(x)u(\alpha x) = \log\alpha + u(x).

DefinitionApproximate equilibria

xix_i is a μ\mu-approximate demand (μ≥1\mu\ge1) if ui(xi)≥1μu∗u_i(x_i)\ge\frac1\mu u^* and π⋅xi≤μ π⋅wi\pi\cdot x_i\le\mu\,\pi\cdot w_i, where u∗u^* is the optimal utility under the budget.

π\pi is a strong μ\mu-approximate equilibrium if there are bundles that are exact demands with ∑ixij≤μ∑iwij\sum_i x_{ij}\le\mu\sum_i w_{ij}; it is weak if the bundles need only be μ\mu-approximate demands.

An algorithm running in time polynomial in the input and 1/ϵ1/\epsilon is a polynomial time approximation scheme; polynomial in log⁡(1/ϵ)\log(1/\epsilon) 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 π,π′\pi,\pi' with 0<πj≤πj′0<\pi_j\le\pi'_j for all jj and strict for some jj, then πk=πk′\pi_k = \pi'_k implies Zk(π)<Zk(π′)Z^k(\pi) < Z^k(\pi') (resp. ≤\le).

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 xijx_{ij}. 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 bb‘s money is split between two new buyers with bb‘s utility function, the sum of their optimal allocations should be optimal for bb.

The money-weighted geometric mean of buyers’ utilities satisfies both: max⁡(∏iuiei)1/∑iei\max\big(\prod_i u_i^{e_i}\big)^{1/\sum_i e_i}, equivalently max⁡∏iuiei\max\prod_i u_i^{e_i}. Taking its log gives the program.

FormulaThe Eisenberg–Gale program

maximize∑i=1n′eilog⁡ui\text{maximize}\quad \sum_{i=1}^{n'} e_i\log u_i s.t.ui=∑j=1nuijxij  ∀i∈B,∑i=1n′xij≤1  ∀j∈A,xij≥0\text{s.t.}\quad u_i = \sum_{j=1}^n u_{ij}x_{ij}\ \ \forall i\in B, \qquad \sum_{i=1}^{n'} x_{ij}\le 1\ \ \forall j\in A, \qquad x_{ij}\ge0

Interpreting the Lagrangian variables pjp_j of the second constraint set as prices, the KKT conditions are

  1. ∀j:pj≥0\forall j: p_j \ge 0
  2. ∀j:pj>0⇒∑ixij=1\forall j: p_j > 0 \Rightarrow \sum_i x_{ij} = 1
  3. ∀i,j:uijpj≤∑j′uij′xij′ei\forall i,j: \dfrac{u_{ij}}{p_j} \le \dfrac{\sum_{j'}u_{ij'}x_{ij'}}{e_i}
  4. ∀i,j:xij>0⇒uijpj=∑j′uij′xij′ei\forall i,j: x_{ij}>0 \Rightarrow \dfrac{u_{ij}}{p_j} = \dfrac{\sum_{j'}u_{ij'}x_{ij'}}{e_i}

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 uiju_{ij} and eie_i are rational, equilibrium allocations and prices are rational, writable in polynomially many bits.
ProofAll four claims from the KKT conditions

Existence. For good jj there is a buyer with uij>0u_{ij}>0, so by KKT (3), pj≥eiuij/∑j′uij′xij′>0p_j \ge e_iu_{ij}/\sum_{j'}u_{ij'}x_{ij'} > 0 — all prices are positive, and by KKT (2) all goods are fully sold.

Conditions (3) and (4) say that if buyer ii gets good jj, then jj is among the goods giving her maximum utility per unit money — so each buyer receives an optimal bundle. Condition (4) is equivalent to eiuijxij/∑j′uij′xij′=pjxije_iu_{ij}x_{ij}/\sum_{j'}u_{ij'}x_{ij'} = p_jx_{ij}; summing over jj gives ei=∑jpjxije_i = \sum_j p_jx_{ij} — 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. log⁡\log 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 qj=1/pjq_j = 1/p_j and let kk be the number of nonzero xijx_{ij}: the system has k+nk+n unknowns (the qjq_j and the nonzero xijx_{ij}) and k+nk+n equations — the equality of KKT (2) per good, and of KKT (4) per nonzero xijx_{ij}.

∎

NoteEisenberg’s generalization

Eisenberg (1961) extends the program to Fisher markets with any homogeneous utilities, maximizing ∑ieilog⁡ui(xi)\sum_i e_i\log u_i(x_i) subject to ∑ixij≤qj\sum_i x_{ij}\le q_j. He proves an arguably stronger result: with ∑iei=1\sum_i e_i = 1, the social utility function u(s)=max⁡{∏iui(xi)ei:∑ixi≤s}u(s) = \max\{\prod_i u_i(x_i)^{e_i} : \sum_i x_i\le s\} is homogeneous and concave, and the market demand of the whole Fisher economy equals the demand of a single trader with utility uu 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 αi>0\alpha_i>0 such that maximizing ∑iαiui(xi)\sum_i\alpha_iu_i(x_i) subject to ∑ixij≤∑iwij\sum_ix_{ij}\le\sum_iw_{ij} yields equilibrium allocations, with prices coming from the KKT dual variables. For log-homogeneous utilities KKT forces αi=π⋅xˉi\alpha_i = \pi\cdot\bar x_i, so at equilibrium αi=π⋅wi\alpha_i = \pi\cdot w_i.


The combinatorial algorithm for Fisher’s linear case

Checking whether given prices are equilibrium prices

DefinitionBang per buck and the equality subgraph

At prices pp, buyer ii gets uij/pju_{ij}/p_j utility per unit money spent on good jj; her bang per buck is αi=max⁡j{uij/pj}\alpha_i = \max_j\{u_{ij}/p_j\}. Always αi≥uij/pj\alpha_i\ge u_{ij}/p_j, with equality only for her bang-per-buck goods — among which she is equally happy with any combination.

The equality subgraph GG is bipartite on (A,B)(A,B) with edge (i,j)(i,j) iff αi=uij/pj\alpha_i = u_{ij}/p_j.

DefinitionThe network N(p)N(p)

Direct the equality-subgraph edges from AA to BB with infinite capacity; add source ss with an edge to each good jj of capacity pjp_j, and sink tt with an edge from each buyer ii of capacity eie_i. If edge (j,i)(j,i) carries flow f(j,i)f(j,i), buyer ii receives f(j,i)/pjf(j,i)/p_j units of good jj.

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

pp are equilibrium prices iff in N(p)N(p) both cuts (s,A∪B∪t)(s, A\cup B\cup t) and (s∪A∪B,t)(s\cup A\cup B, t) 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.

QuestionAnswer
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 N(p)N(p), all goods can always be sold. Buyers may have surplus. With mim_i the money buyer ii spends under a balanced flow, her surplus is γi=ei−mi\gamma_i = e_i - m_i, and conditions (3) and (4) are relaxed to

uijpj≤∑j′uij′xij′mi,xij>0⇒uijpj=∑j′uij′xij′mi\frac{u_{ij}}{p_j}\le\frac{\sum_{j'}u_{ij'}x_{ij'}}{m_i}, \qquad x_{ij}>0\Rightarrow\frac{u_{ij}}{p_j} = \frac{\sum_{j'}u_{ij'}x_{ij'}}{m_i}

The potential function is Φ=γ12+⋯+γn′2\Phi = \gamma_1^2+\cdots+\gamma_{n'}^2; 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 Φ\Phi‘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 S⊆AS\subseteq A let p(S)p(S) be the total price of goods in SS, for T⊆BT\subseteq B let m(T)=∑i∈Teim(T) = \sum_{i\in T}e_i, and let Γ(S)\Gamma(S) be SS‘s neighbourhood in N(p)N(p) — the buyers currently interested in goods in SS. Then SS is tight if p(S)=m(Γ(S))p(S) = m(\Gamma(S)).

Under this circumstance, raising prices in SS may exceed some good’s equilibrium price, so the algorithm freezes the prices of all goods in SS. (When new edges enter the equality subgraph, frozen goods may be unfrozen.)

ImportantThe Invariant

The prices pp are such that (s,A∪B∪t)(s, A\cup B\cup t) is a min-cut in N(p)N(p).

LemmaCharacterization of the Invariant

N(p)N(p) satisfies the Invariant iff ∀S⊆A:p(S)≤m(Γ(S))\forall S\subseteq A: p(S)\le m(\Gamma(S)).

ProofMove A1A_1 and its neighbourhood across the cut

Forward is trivial: under a max-flow of value p(A)p(A), every SS must send p(S)p(S) into its neighbourhood.

Reverse: let (s∪A1∪B1,A2∪B2∪t)(s\cup A_1\cup B_1, A_2\cup B_2\cup t) be a min-cut, of capacity p(A2)+m(B1)p(A_2) + m(B_1). Necessarily Γ(A1)⊆B1\Gamma(A_1)\subseteq B_1, else the cut is infinite. Moving A1A_1 and Γ(A1)\Gamma(A_1) to the tt side gives another cut, and by hypothesis p(A1)≤m(Γ(A1))p(A_1)\le m(\Gamma(A_1)), 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 ff in NN, the surplus γi(N,f)\gamma_i(N,f) of buyer ii is the residual capacity of edge (i,t)(i,t) — her money minus what she spends. A balanced flow minimizes ∥γ(N,f)∥\lVert\gamma(N,f)\rVert, the ℓ2\ell_2 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 NN have the same surplus vector.

ProofConvexity plus strict convexity of the objective

If γ1,γ2\gamma_1,\gamma_2 are surplus vectors of f1,f2f_1,f_2 then (γ1+γ2)/2(\gamma_1+\gamma_2)/2 is that of (f1+f2)/2(f_1+f_2)/2; 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 γj(N,f)<γi(N,f)\gamma_j(N,f) < \gamma_i(N,f) then there is no path from jj to ii in R(f)−{s,t}R(f)-\{s,t\}. A max-flow is balanced iff it satisfies Property 1.

ProofBoth directions, via circulations

Balanced ⇒\Rightarrow Property 1. Suppose γi>γj\gamma_i > \gamma_j yet a path j→ij\to i exists in R(f)−{s,t}R(f)-\{s,t\}. In NN the only edge out of jj is (j,t)(j,t), so the path must start with a different positive-capacity edge; by flow conservation (t,j)(t,j) has positive residual capacity. Since γi>0\gamma_i>0, so does (i,t)(i,t). Concatenating (t,j)(t,j), the path, and (i,t)(i,t) gives a positive-capacity cycle; pushing a circulation around it raises jj‘s surplus slightly and lowers ii‘s — a more balanced flow, contradiction.

Property 1 ⇒\Rightarrow balanced. A max-flow satisfying Property 1 is locally optimal with respect to changes in pairs of surplus components, since any circulation in R(f)R(f) can only move flow from a high-surplus buyer to a low-surplus one, making things less balanced. As the ℓ2\ell_2 norm is strictly convex, local optimality implies global.

∎

AlgorithmFinding a balanced flow by divide and conquer

Assume NN satisfies the Invariant. Continuously reduce the capacities of all edges from BB to tt (excepting those hitting zero) until the capacity of ({s}∪A∪B,{t})(\{s\}\cup A\cup B,\{t\}) equals that of ({s},A∪B∪{t})(\{s\}, A\cup B\cup\{t\}). Call the result N′N', let f′f' be a max-flow in it, and find a maximal ss–tt min-cut (S,T)(S,T).

  • Case 1: T={t}T = \{t\}. Output a max-flow in N′N' — this is balanced in NN.
  • Case 2: otherwise let N1,N2N_1,N_2 be the subnetworks of NN induced by S∪{t}S\cup\{t\} and T∪{s}T\cup\{s\} — inheriting original capacities from NN, not the reduced ones from N′N'. Recursively find balanced f1,f2f_1,f_2 and output f=f1∪f2f = f_1\cup f_2.
Proofff is a max-flow

Case 1: the output saturates ({s}∪A∪B,{t})(\{s\}\cup A\cup B,\{t\}), whose capacity in N′N' equals that of ({s},A∪B∪{t})(\{s\},A\cup B\cup\{t\}); by the Invariant it is a max-flow in NN.

Case 2: N1,N2N_1,N_2 are edge-disjoint so ff is feasible; we show it saturates all edges from ss to AA. Let gg be a max-flow in NN. Neither N′N' nor NN has edges from A1A_1 to B2B_2, so all of gg‘s flow into A1A_1 exits via B1B_1; hence gg restricted to N1N_1 saturates s→A1s\to A_1, and so must the max-flow f1f_1. Since (S,T)(S,T) is a min-cut in N′N', f′f' saturates s→A2s\to A_2 and all that flow exits via B2B_2, so f′f' restricted is feasible in N2N_2 and the max-flow f2f_2 also saturates s→A2s\to A_2.

∎

Proofff is balanced

By induction on recursion depth. Base case (T={t}T=\{t\}): the surplus vector is precisely the amounts subtracted from the B→tB\to t capacities, which makes the components as equal as possible and hence minimizes the norm.

Inductive step. ff is a max-flow; we verify Property 1. By hypothesis it holds within N1N_1 and N2N_2, so only cross paths matter. There are no edges A1→B2A_1\to B_2 in NN, hence no residual paths B1→B2B_1\to B_2. For paths B2→B1B_2\to B_1, we show γi<γj\gamma_i < \gamma_j for i∈B1i\in B_1, j∈B2j\in B_2.

By maximality of the min-cut in N′N', every node of B2B_2 has positive surplus under f′f' (zero-surplus nodes are all in B1B_1), so the same amount XX was subtracted from each edge (i,t)(i,t), i∈B2i\in B_2. Let LL be the minimum-surplus vertices of B2B_2 and KK the vertices of A2A_2 reachable from LL in RR; then Γ(K)=L\Gamma(K) = L, else there is a residual path from LL to B2−LB_2 - L violating Property 1. All edges s→Ks\to K are saturated in f′f' and that flow leaves via LL, so c′(L)>c(K)c'(L) > c(K); and c(L)=c′(L)+∣L∣Xc(L) = c'(L) + |L|X. Hence the total surplus on ELE_L is c(L)−c(K)>∣L∣Xc(L)-c(K) > |L|X, and since all these edges have equal surplus, each exceeds XX. Symmetrically each i∈B1i\in B_1 has surplus below XX.

∎

TheoremComputing a balanced flow

The above computes a balanced flow using at most nn max-flow computations: the biggest piece shrinks by at least one good per iteration, and N1,N2N_1, N_2 are vertex-disjoint apart from s,ts,t, so the work per level is bounded by one max-flow in NN.

The main algorithm

NoteInitialization

Two conditions guarantee the Invariant at the start:

  • Prices low enough that each buyer can afford all goods — 1/n1/n suffices, since the goods cost one unit together and the eie_i are integral.
  • Each good has an incident equality edge; if good jj has none, reduce its price to pj=max⁡i{uij/αi}p_j = \max_i\{u_{ij}/\alpha_i\}.

WarningThe naive approach fails

Under the Invariant there is a unique maximal tight set SS, whose prices cannot be raised. One could raise all prices in A−SA - S — 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 N(p)N(p) 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 ff. If the balanced-flow algorithm terminates in Case 1, the current prices and allocations are an equilibrium — halt. Otherwise let δ\delta be the maximum surplus, II the buyers achieving it, and JJ the goods with edges to II; the network induced by I∪JI\cup J is the active subgraph.

Step: multiply the prices of goods in JJ by a variable xx, initialized to 1, and raise xx continuously. (Raising all of JJ by the same factor keeps the ratio of any two prices fixed, so each buyer in II keeps the same favourite set — all within JJ. As soon as x>1x>1, buyers in B−IB-I lose interest in JJ and those edges leave the equality subgraph.)

  • Event 1: a subset S⊆JS\subseteq J goes tight — the phase ends.
  • Event 2: an edge (i,j)(i,j) with i∈Ii\in I, j∈A−Jj\in A-J enters the equality subgraph, as goods outside JJ become relatively more desirable. Add (j,i)(j,i) to N(p)N(p) and recompute a balanced flow. (If that terminates in Case 1, halt.) Otherwise update II to be all buyers with residual paths to the current II — which certainly contains the old II — update JJ accordingly, and return to Step.

Compute the smallest xx at which each event occurs and take the smaller.

IntuitionThe primal-dual reading

The primal variables are the flows in N(p)N(p) and the dual variables the current prices. The current flow suggests how to improve the prices, and vice versa.

Finding tight sets

Let pp be the current prices (at x=1x=1). WLOG the tight set at pp is empty, since we can restrict attention to the active subgraph. Define

x∗=min⁡∅≠S⊆Am(Γ(S))m(S)x^* = \min_{\emptyset\ne S\subseteq A}\frac{m(\Gamma(S))}{m(S)}

the value of xx at which a nonempty set goes tight, with S∗S^* the tight set at x∗px^*p.

LemmaHow the min-cut changes with xx

W.r.t. prices x⋅px\cdot p: if x≤x∗x\le x^* then (s,A∪B∪t)(s,A\cup B\cup t) is a min-cut; if x>x∗x>x^* it is not, and moreover any min-cut (s∪A1∪B1,A2∪B2∪t)(s\cup A_1\cup B_1, A_2\cup B_2\cup t) has S∗⊆A1S^*\subseteq A_1.

ProofBoth cases

x≤x∗x\le x^*: by definition x⋅m(S)≤m(Γ(S))x\cdot m(S)\le m(\Gamma(S)) for all SS, so the Invariant holds.

x>x∗x>x^*: since x⋅m(S∗)>x∗m(S∗)=m(Γ(S∗))x\cdot m(S^*) > x^*m(S^*) = m(\Gamma(S^*)), the cut (s∪S∗∪Γ(S∗),t)(s\cup S^*\cup\Gamma(S^*), t) is strictly smaller than (s∪A∪B,t)(s\cup A\cup B,t), so the latter is not min.

For the second claim, let S2=S∗∩A2S_2 = S^*\cap A_2 and S1=S∗−S2S_1 = S^*-S_2, and suppose S2≠∅S_2\ne\emptyset. Certainly Γ(S1)⊆B1\Gamma(S_1)\subseteq B_1. If m(Γ(S2)∩B2)<x⋅m(S2)m(\Gamma(S_2)\cap B_2) < x\cdot m(S_2) we could move S2S_2 and Γ(S2)\Gamma(S_2) to the ss side and get a smaller cut; in particular m(Γ(S∗)∩B2)≤m(Γ(S∗))=x∗m(S∗)<x⋅m(S∗)m(\Gamma(S^*)\cap B_2)\le m(\Gamma(S^*)) = x^*m(S^*) < x\cdot m(S^*), so S2≠S∗S_2\ne S^* and S1≠∅S_1\ne\emptyset. Then m(Γ(S2)∩B2)≥x⋅m(S2)>x∗m(S2)m(\Gamma(S_2)\cap B_2)\ge x\cdot m(S_2) > x^*m(S_2) while m(Γ(S2)∩B2)+m(Γ(S1))≤x∗(m(S2)+m(S1))m(\Gamma(S_2)\cap B_2)+m(\Gamma(S_1))\le x^*(m(S_2)+m(S_1)), giving m(Γ(S1))/m(S1)<x∗m(\Gamma(S_1))/m(S_1) < x^* — contradicting the definition of x∗x^*.

∎

LemmaRecursing on a smaller graph

With x=m(B)/m(A)x = m(B)/m(A), if x>x∗x>x^* and (s∪A1∪B1,A2∪B2∪t)(s\cup A_1\cup B_1, A_2\cup B_2\cup t) is a min-cut in N(xp)N(xp), then A1A_1 is a proper subset of AA.

(If A1=AA_1 = A then B1=BB_1 = B and (s∪A∪B,t)(s\cup A\cup B,t) is a min-cut; but at this xx that cut has the same capacity as (s,A∪B∪t)(s,A\cup B\cup t), which is not min since x>x∗x>x^*.)

LemmaFinding x∗x^* and S∗S^*

Both can be found using nn max-flow computations: set x=m(B)/m(A)≥x∗x = m(B)/m(A)\ge x^*; if (s,A∪B∪t)(s,A\cup B\cup t) is a min-cut then x∗=xx^* = x and S∗=AS^* = A; otherwise S∗⊆A1⊂AS^*\subseteq A_1\subset A and we recurse on (A1,Γ(A1))(A_1,\Gamma(A_1)).

Running time

Let U=max⁡i,juijU = \max_{i,j}u_{ij} and Δ=nUn\Delta = nU^n.

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 ≤Δ\le\Delta.

ProofAlternating products along a path

Let SS be the newly tight set; assume the equality subgraph on (S,Γ(S))(S,\Gamma(S)) is connected (else argue per component). Pick j∈Sj\in S and a subgraph in which jj reaches every other j′∈Sj'\in S — at most 2∣S∣≤2n2|S|\le2n edges. If jj reaches j′j' by a path of length 2l2l then pj′=apj/bp_{j'} = ap_j/b where a,ba,b are products of ll utility parameters each, since alternate edges of the path contribute to aa and to bb. Hence m(S)=pjc/dm(S) = p_jc/d with c≤Δc\le\Delta, and pj=m(Γ(S))d/cp_j = m(\Gamma(S))d/c.

∎

LemmaPrices jump by a definite amount

If good jj lies in the newly tight set at the end of two phases PP and P′P' (not necessarily consecutive), the price increase between them is ≥1/Δ2\ge 1/\Delta^2 — since with p/qp/q and r/sr/s the two prices and q,s≤Δq,s\le\Delta, r/s−p/q≥1/Δ2r/s - p/q \ge 1/\Delta^2.

LemmaIterations per phase

At most nn. 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 n−1n-1 of those; the last iteration of each phase is Event 1.

LemmaThe surplus norm drops

If ff is feasible and f∗f^* balanced in N(p)N(p) with γi(p,f∗)=γi(p,f)−δ\gamma_i(p,f^*) = \gamma_i(p,f)-\delta for some ii and δ>0\delta>0, then ∥γ(p,f∗)∥2≤∥γ(p,f)∥2−δ2\lVert\gamma(p,f^*)\rVert^2 \le \lVert\gamma(p,f)\rVert^2 - \delta^2.

ProofDecompose f∗−ff^* - f and keep only the paths through (i,t)(i,t)

Augment ff by only those flow paths and circulations of f∗−ff^*-f that go through (i,t)(i,t), getting f′f'. These are paths s→i→ts\to i\to t or circulations i→t→il→ii\to t\to i_l\to i. Then γi(f′)=γi(f∗)=γi(f)−δ\gamma_i(f') = \gamma_i(f^*) = \gamma_i(f)-\delta and γil(f′)=γil(f)+δl\gamma_{i_l}(f') = \gamma_{i_l}(f)+\delta_l with ∑lδl≤δ\sum_l\delta_l\le\delta; moreover each ili_l is reachable from ii in R(p,f∗)R(p,f^*), so by Property 1, γi(f′)=γi(f∗)≥γil(f∗)≥γil(f′)\gamma_i(f')= \gamma_i(f^*)\ge\gamma_{i_l}(f^*)\ge\gamma_{i_l}(f').

The elementary inequality ∥(a,b1,…,bn)∥2≤∥(a+δ,b1−δ1,…,bn−δn)∥2−δ2\lVert(a,b_1,\ldots,b_n)\rVert^2 \le \lVert(a+\delta, b_1-\delta_1,\ldots,b_n-\delta_n)\rVert^2 - \delta^2 (for a≥bi≥0a\ge b_i\ge0, ∑jδj≤δ\sum_j\delta_j\le\delta) then gives ∥γ(p,f′)∥2≤∥γ(p,f)∥2−δ2\lVert\gamma(p,f')\rVert^2\le\lVert\gamma(p,f)\rVert^2-\delta^2, and since f∗f^* is balanced, ∥γ(p,f∗)∥≤∥γ(p,f′)∥\lVert\gamma(p,f^*)\rVert\le\lVert\gamma(p,f')\rVert.

∎

LemmaMonotonicity across iterations

A balanced flow ftf_t at the end of iteration tt is feasible in Nt+1N_{t+1} — both raising prices in JJ and adding an Event-2 edge can only support an augmented max-flow — so ∥γ(Nt)∥\lVert\gamma(N_t)\rVert is monotonically decreasing. Moreover if the minimum active surplus δt\delta_t strictly drops, some buyer’s surplus drops by at least δt−δt+1\delta_t - \delta_{t+1}, whence ∥γ(Nt)∥2−∥γ(Nt+1)∥2≥(δt−δt+1)2\lVert\gamma(N_t)\rVert^2 - \lVert\gamma(N_{t+1})\rVert^2 \ge (\delta_t-\delta_{t+1})^2.

LemmaProgress per phase

In a phase, ∥γ∥2\lVert\gamma\rVert^2 drops by a factor (1−1n2)\big(1 - \tfrac{1}{n^2}\big).

ProofTelescope, then use δ0=δ\delta_0 = \delta, δk=0\delta_k = 0

The difference ∥γ(N0)∥2−∥γ(Nk)∥2\lVert\gamma(N_0)\rVert^2 - \lVert\gamma(N_k)\rVert^2 telescopes into nonnegative terms; keeping only those with δt>δt+1\delta_t>\delta_{t+1}, the sum is minimized when all the differences are equal, giving ≥δ2/k≥δ2/n\ge\delta^2/k\ge\delta^2/n since k≤nk\le n. With ∥γ(N0)∥2≤nδ2\lVert\gamma(N_0)\rVert^2\le n\delta^2 the claim follows.

∎

TheoremRunning time

The algorithm finds equilibrium prices and allocations for Fisher’s linear case using O(n4(log⁡n+nlog⁡U+log⁡M))O\big(n^4(\log n + n\log U + \log M)\big) max-flow computations.

ProofMultiply the three bounds

The squared surplus halves every O(n2)O(n^2) phases; it starts at most M2M^2 and the algorithm is done once it drops below 1/Δ41/\Delta^4 (by the two price lemmas), so the number of phases is O(n2log⁡(Δ4M2))=O(n2(log⁡n+nlog⁡U+log⁡M))O(n^2\log(\Delta^4M^2)) = O(n^2(\log n + n\log U + \log M)). Each phase has nn iterations and each iteration nn max-flows.

∎


Auction-based algorithm for Arrow–Debreu

The target. For any fixed ϵ>0\epsilon>0, find prices such that the market clears and each agent gets a bundle worth at least (1−ϵ)2(1-\epsilon)^2 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 nn.

At any point part of good jj is sold at pjp_j and part at (1+ϵ)pj(1+\epsilon)p_j. The run splits into iterations, each ending when some price rises by a factor (1+ϵ)(1+\epsilon); iterations split into rounds, in which agents are considered in a fixed order.

For agent ii with surplus, find her bang-per-buck optimal good jj and execute outbid: buy back jj from agents holding it at price pjp_j and sell it to ii at (1+ϵ)pj(1+\epsilon)p_j. This ends either when

  • ii‘s surplus is exhausted — move to the next agent; or
  • no agent holds jj at price pjp_j — raise pjp_j to (1+ϵ)pj(1+\epsilon)p_j, ending the iteration and updating all agents’ money.

After each round, if the total surplus is at most ϵ⋅amin⁡\epsilon\cdot a_{\min}, halt; at termination give unsold goods to an arbitrary agent so the market clears.

(Notation: ai=∑jeija_i = \sum_j e_{ij}, amin⁡=min⁡iaia_{\min} = \min_i a_i, pmax⁡p_{\max} the largest price assigned, vmin⁡,vmax⁡v_{\min}, v_{\max} the extreme utility values.)

LemmaRounds per iteration

O(1ϵlog⁡npmax⁡ϵamin⁡)O\big(\tfrac1\epsilon\log\tfrac{np_{\max}}{\epsilon a_{\min}}\big).

Why: outbid buys at pjp_j and sells at (1+ϵ)pj(1+\epsilon)p_j, so each fully completed round reduces total surplus by a factor (1+ϵ)(1+\epsilon). Surplus starts at most npmax⁡np_{\max} and the algorithm stops at ϵamin⁡\epsilon a_{\min}.

LemmaTotal iterations

O(nϵlog⁡pmax⁡)O\big(\tfrac n\epsilon\log p_{\max}\big), since each iteration raises some price by (1+ϵ)(1+\epsilon).

LemmaApproximation quality

Each agent gets utility at least (1−ϵ)2(1-\epsilon)^2 times her optimum.

ProofTwo sources of loss

The algorithm always sells an agent her optimal goods at current prices (charging (1+ϵ)pj(1+\epsilon)p_j). First, some of her money may remain unspent: with MM her endowment’s terminating worth and M1M_1 what she spent, the total surplus at termination is at most ϵamin⁡\epsilon a_{\min}, so M1≥(1−ϵ)MM_1\ge(1-\epsilon)M. Second, she paid (1+ϵ)pj(1+\epsilon)p_j for part of good jj though the announced price is pjp_j — equivalently she gets optimal goods at prices pp for

M11+ϵ≥(1−ϵ)M1+ϵ≥(1−ϵ)2M\frac{M_1}{1+\epsilon}\ge\frac{(1-\epsilon)M}{1+\epsilon}\ge(1-\epsilon)^2M

of her money.

∎

TheoremRunning time

O(mnϵ2log⁡nvmax⁡ϵamin⁡vmin⁡log⁡vmax⁡vmin⁡)O\left(\frac{mn}{\epsilon^2}\log\frac{nv_{\max}}{\epsilon a_{\min}v_{\min}}\log\frac{v_{\max}}{v_{\min}}\right)

ProofBound pmax⁡p_{\max}, 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 vmax⁡/vmin⁡v_{\max}/v_{\min}, hence so is pmax⁡p_{\max}. Each round takes O(m)O(m) 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 RR with capacities c:R→Z+c : R\to\mathbb{Z}_+, agents A={a1,…,an}A = \{a_1,\ldots,a_n\} with money mim_i. Each agent wants to build as many objects as possible from resources; agent aia_i can use any of the subsets Si1,…,Siki⊆RS_{i1},\ldots,S_{ik_i}\subseteq R. With xijx_{ij} the (not necessarily integral) number of objects built from SijS_{ij} and fi=∑jxijf_i = \sum_j x_{ij} the total, the program is

maximize ∑imilog⁡fis.t.fi=∑j=1kixij,∑(ij):r∈Sijxij≤c(r),xij≥0\text{maximize}\ \sum_i m_i\log f_i \quad\text{s.t.}\quad f_i = \sum_{j=1}^{k_i}x_{ij},\quad \sum_{(ij):r\in S_{ij}}x_{ij}\le c(r),\quad x_{ij}\ge0

FormulaProportional fairness

An optimal f∗f^* satisfies, for every feasible ff,

∑i=1nfi−fi∗fi∗≤0\sum_{i=1}^n \frac{f_i - f_i^*}{f_i^*} \le 0

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 prp_r 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 f1,…,fnf_1,\ldots,f_n is unique at optimality — and hence in every equilibrium.

MarketResourcesAgentsObjects
1: flow marketedges of a directed or undirected GGsource–sink pairs (si,ti)(s_i,t_i)sis_i–tit_i paths
2edges of a directed GGA⊆VA\subseteq Vbranchings rooted at ss spanning VV
3edges of an undirected GGA⊆VA\subseteq Vspanning 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 G=(V,E)G = (V,E) with edge capacities, source ss, sinks T={t1,…,tr}T = \{t_1,\ldots,t_r\} with money mim_i. (Undirected graphs reduce by replacing each edge with two directed edges of the same capacity.)

ExampleA small instance worth simulating

V={s,a,b,c,d}V = \{s,a,b,c,d\}; sinks bb and dd with $120 and $10. Edges (s,a)(s,a) and (s,c)(s,c) of capacity 2, (a,b)(a,b) of capacity 1, and (a,d),(c,d),(c,b)(a,d),(c,d),(c,b) of capacity 10. The unique equilibrium prices are p(s,a)=$10p_{(s,a)} = \text{\textdollar}10, p(a,b)=$30p_{(a,b)}= \text{\textdollar}30, p(s,c)=$40p_{(s,c)}= \text{\textdollar}40, with the rest zero; the flows are 1 on s,a,ds,a,d, 1 on s,a,bs,a,b, and 2 on s,c,bs,c,b. 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 ss.

Let rate(ti)\text{rate}(t_i) be the cost of the cheapest ss–tit_i path at current prices; sink tit_i demands mi/rate(ti)m_i/\text{rate}(t_i) 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 (S,Sˉ)(S,\bar S) 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 (U,Uˉ)(U,\bar U) with S⊂US\subset U whose capacity differs from (S,Sˉ)(S,\bar S)‘s by exactly the flow demanded by sinks in S−US - U. Take (U,Uˉ)(U,\bar U) maximal (it is unique). If U=VU = V, halt; otherwise (U,Uˉ)(U,\bar U) is oversaturated, becomes the new (S,Sˉ)(S,\bar S), 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 kk iterations, with cuts (Si,Sˉi)(S_i,\bar S_i) and S0⊂S1⊂⋯⊂Sk=VS_0\subset S_1\subset\cdots\subset S_k = V, TiT_i the terminals in Si−Si−1S_i - S_{i-1}, and pip_i the price assigned to the edges of cut cic_i. Then rate(t)=p0+⋯+pi−1\text{rate}(t) = p_0+\cdots+p_{i-1} for t∈Tit\in T_i.

Form G′G' by adding a sink tt and edges (ti,t)(t_i,t) of capacity mi/rate(ti)m_i/\text{rate}(t_i). Each cut (Si,Sˉi∪{t})(S_i, \bar S_i\cup\{t\}) has the same capacity, and all k+1k+1 are minimum ss–tt cuts in G′G'. Take a max-flow f′f' in G′G' and let ff ignore the flow into tt; then ff sends mi/rate(ti)m_i/\text{rate}(t_i) to each sink.

All three KKT conditions hold: each cic_i is saturated by ff, so priced edges are used to capacity; every flow to t′∈Tit'\in T_i uses a path of cost rate(t′)\text{rate}(t'); and since the flow to t′t' is mi/rate(t′)m_i/\text{rate}(t'), each terminal’s money is fully spent.

∎

AlgorithmFinding the next cut

Let (S,Sˉ)(S,\bar S) be the current cut with edge set cc and capacity ff, T′T' the sinks in Sˉ\bar S, p′p' the sum of prices assigned so far, and pp the price on cc. Define G′G' by adding tt and edges (ti,t)(t_i,t) of capacity mi/(p′+p)m_i/(p'+p).

Let capp(C)\text{cap}_p(C) be a cut’s capacity assuming price pp on cc; cut(p)\text{cut}(p) the maximal ss–tt min-cut in G′G' at that price; and price(A,Aˉ∪{t})\text{price}(A,\bar A\cup\{t\}) the smallest price making that cut minimum (∞\infty if impossible) — found by solving one equation in pp. Then:

  1. C←(V,t)C\leftarrow(V,t)
  2. p←price(C)p\leftarrow\text{price}(C)
  3. While cut(p)≠C\text{cut}(p)\ne C: set C←cut(p)C\leftarrow\text{cut}(p) and p←price(C)p\leftarrow\text{price}(C)
  4. Output (C,p)(C,p)

LemmaThe search shrinks monotonically

Suppose p>p∗p>p^*, cut(p)=(A,Aˉ∪{t})\text{cut}(p) = (A,\bar A\cup\{t\}) with A≠UA\ne U, q=price(A,Aˉ∪{t})q = \text{price}(A,\bar A\cup\{t\}) and cut(q)=(B,Bˉ∪{t})\text{cut}(q) = (B,\bar B\cup\{t\}). Then B⊂AB\subset A.

ProofSubmodularity rules out crossing

Since A≠UA\ne U, capp(A,Aˉ∪{t})>f\text{cap}_p(A,\bar A\cup\{t\})>f, so q<pq<p. With cA,cBc_A,c_B the capacities at p=0p=0 and mA,mBm_A,m_B the money of sinks in A−SA-S, B−SB-S: minimality of AA at pp gives cA+mA/p<cB+mB/pc_A + m_A/p < c_B + m_B/p, and of BB at qq gives cB+mB/q<cA+mA/qc_B+m_B/q < c_A+m_A/q, whence

mB−mAq<cA−cB<mB−mAp\frac{m_B-m_A}{q} < c_A - c_B < \frac{m_B-m_A}{p}

If A⊂BA\subset B then mA≤mBm_A\le m_B, contradicting this since q<pq<p. If A,BA,B cross, there is q<r<pq<r<p with capr(A,⋅)=capr(B,⋅)=g\text{cap}_r(A,\cdot) = \text{cap}_r(B,\cdot) = g; by submodularity either capr(A∩B,⋅)≤g\text{cap}_r(A\cap B,\cdot)\le g — and since the money in (A∩B)−S(A\cap B)-S is at most mBm_B, at price qq this beats BB, contradiction — or capr(A∪B,⋅)≤g\text{cap}_r(A\cup B,\cdot)\le g — and since the money in (A∪B)−S(A\cup B)-S is at least mAm_A, at price pp this beats AA, contradiction.

∎

TheoremRunning time

The algorithm finds equilibrium edge prices and flows using O(r2)O(r^2) max-flow computations, rr the number of sinks: the subroutine takes rr max-flows (it keeps finding cuts with fewer sinks on the ss side), and the number of trapped sinks increases each iteration so k≤rk\le r.


Convex programming for the Fisher model

FormulaEisenberg’s program

With homogeneous utilities,

maximize ∑ieilog⁡ui(xi)s.t.∑ixij≤qj\text{maximize}\ \sum_i e_i\log u_i(x_i)\quad\text{s.t.}\quad \sum_i x_{ij}\le q_j

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 xˉ\bar x be optimal; note ui(xˉi)>0u_i(\bar x_i)>0. KKT gives πj≥0\pi_j\ge0 and λij≥0\lambda_{ij}\ge0 with

πj(∑ixij−qj)=0,λijxij=0,eiui(xˉi)×∂ui(xˉi)∂xij=πj−λij\pi_j\Big(\sum_i x_{ij}-q_j\Big) = 0, \qquad \lambda_{ij}x_{ij} = 0, \qquad \frac{e_i}{u_i(\bar x_i)}\times\frac{\partial u_i(\bar x_i)}{\partial x_{ij}} = \pi_j - \lambda_{ij}

Budget exhaustion. Multiply the third by xˉij\bar x_{ij} and sum over jj; using the second and Euler’s identity ui(xi)=∑jxij∂ui/∂xiju_i(x_i) = \sum_j x_{ij}\partial u_i/\partial x_{ij} for homogeneous uiu_i, this collapses to ei=∑jπjxˉije_i = \sum_j\pi_j\bar x_{ij}.

Optimality of the bundle. Let yi≥0y_i\ge0 with π⋅yi≤ei\pi\cdot y_i\le e_i. By concavity,

ui(yi)−ui(xˉi)≤∇u(xˉi)⋅(yi−xˉi)=ui(xˉi)ei∑j(πj−λij)(yij−xˉij)=ui(xˉi)ei(∑j(πjyij−λijyij)−ei)≤0u_i(y_i)-u_i(\bar x_i) \le \nabla u(\bar x_i)\cdot(y_i-\bar x_i) = \frac{u_i(\bar x_i)}{e_i}\sum_j(\pi_j-\lambda_{ij})(y_{ij}-\bar x_{ij}) = \frac{u_i(\bar x_i)}{e_i}\Big(\sum_j(\pi_jy_{ij}-\lambda_{ij}y_{ij}) - e_i\Big) \le 0

Market clearance. The first KKT condition gives ∑ixˉij=qj\sum_i\bar x_{ij} = q_j whenever πj>0\pi_j>0; for goods with πj=0\pi_j = 0, allocate the excess to trader 1 — which keeps her bundle a demand, since the new goods are free and adding positive quantities cannot decrease u1u_1.

∎


Exchange economies satisfying WGS

LemmaThe separating hyperplane

Let π^\hat\pi be an equilibrium price vector for an exchange economy satisfying gross substitutability, and π\pi any nonequilibrium price vector. Then

π^⋅Z(π)>0\hat\pi\cdot Z(\pi) > 0

ImportantWhy this is the whole story for WGS

The lemma says the set of equilibrium prices is convex, by exhibiting for any non-equilibrium π\pi a hyperplane separating it from that set — namely {x:x⋅Z(π)=0}\{x : x\cdot Z(\pi) = 0\}, since π^⋅Z(π)>0\hat\pi\cdot Z(\pi)>0 while π⋅Z(π)=0\pi\cdot Z(\pi) = 0 by Walras’ Law. To compute the hyperplane we need only the demands at π\pi.

It also says: if we start at π\pi and move in the direction Z(π)Z(\pi), 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 (M→M′M\to M'): make the total amount of each good 1. Set ui′(x)=ui(W1x1,…,Wnxn)u_i'(x) = u_i(W_1x_1,\ldots,W_nx_n) with Wj=∑iwijW_j = \sum_i w_{ij}, and wij′=wij/Wjw_{ij}' = w_{ij}/W_j; then Wj′=1W_j' = 1. Concavity and WGS are preserved, and μ\mu-approximate demands and weak μ\mu-approximate equilibria correspond under the rescaling πj↔πj/Wj\pi_j\leftrightarrow\pi_j/W_j.

Transformation 2 (M′→M^M'\to\hat M): fix 0<η≤10<\eta\le1 and add one extra trader with endowment w^m+1=(η,…,η)\hat w_{m+1} = (\eta,\ldots,\eta) and the Cobb–Douglas utility ∏jxm+1,j1/n\prod_j x_{m+1,j}^{1/n} — so she spends exactly 1/n1/n of her budget on each good: πjxm+1,j(π)=π⋅w^m+1/n\pi_jx_{m+1,j}(\pi) = \pi\cdot\hat w_{m+1}/n. Now W^j=1+η\hat W_j = 1+\eta.

LemmaProperties of M^\hat M

(1) M^\hat M has an equilibrium. (2) Every equilibrium satisfies max⁡jπjmin⁡jπj≤2n/η\frac{\max_j\pi_j}{\min_j\pi_j}\le 2n/\eta. (3) A weak μ\mu-approximate equilibrium for M^\hat M is a weak μ(1+η)\mu(1+\eta)-approximate equilibrium for M′M'. (4) M^\hat M satisfies WGS if M′M' 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 πj>0\pi_j>0 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

Π={π≥0:η/2n≤πj≤1}\Pi = \{\pi\ge0 : \eta/2n\le\pi_j\le1\}, which contains an equilibrium of M^\hat M; and Π+={π≥0:η/4n≤πj≤1+η/4n}\Pi^+ = \{\pi\ge0:\eta/4n\le\pi_j\le1+\eta/4n\}, on which max⁡jπjmin⁡jπj≤1+η/4nη/4n≤5nη\frac{\max_j\pi_j}{\min_j\pi_j}\le\frac{1+\eta/4n}{\eta/4n}\le\frac{5n}{\eta}.

The discrete tâtonnement process

AlgorithmDiscrete tâtonnement

Assume an oracle computing the excess demand of M^\hat M at any π∈Π+\pi\in\Pi^+ (readily built from one for MM). Start at any π0∈Π\pi^0\in\Pi. Given π0,…,πi−1\pi^0,\ldots,\pi^{i-1}:

  • If πi−1∉Π+\pi^{i-1}\notin\Pi^+, let πi\pi^i be the point of Π\Pi closest to πi−1\pi^{i-1} (clamp each coordinate into [η/2n,1][\eta/2n, 1]).
  • Otherwise, πi=πi−1+δ(12n2/η)2Z(πi−1)\displaystyle \pi^i = \pi^{i-1} + \frac{\delta}{(12n^2/\eta)^2}Z(\pi^{i-1}).

LemmaQuantitative separation

Let π∈Π+\pi\in\Pi^+ fail to be a weak (1+ϵ)(1+\epsilon)-approximate equilibrium for M^\hat M. Then for any equilibrium π^∈Π\hat\pi\in\Pi, π^⋅Z(π)≥δ>0\hat\pi\cdot Z(\pi)\ge\delta>0 where 1/δ1/\delta is polynomial in nn, 1/ϵ1/\epsilon, 1/η1/\eta.

ProofA telescoping path of price vectors, with WGS applied at each step

Order the goods so π^1/π1≤⋯≤π^n/πn\hat\pi_1/\pi_1\le\cdots\le\hat\pi_n/\pi_n and write αs=π^s/πs\alpha_s = \hat\pi_s/\pi_s. Let qs=min⁡{αsπ^,π}q^s = \min\{\alpha_s\hat\pi, \pi\} componentwise, i.e. qs=(π1,…,πs−1,αsπ^s,…,αsπ^n)q^s = (\pi_1,\ldots,\pi_{s-1},\alpha_s\hat\pi_s,\ldots,\alpha_s\hat\pi_n) — so q1q^1 is an equilibrium price vector (a scaling of π^\hat\pi) and qn=πq^n = \pi. Let Gsh={1,…,s}G_s^h = \{1,\ldots,s\} (prices fixed during step ss) and Gst={s+1,…,n}G_s^t = \{s+1,\ldots,n\}.

By Walras’ Law at both ends, 0=qs+1⋅Z(qs+1)−qs⋅Z(qs)0 = q^{s+1}\cdot Z(q^{s+1}) - q^s\cdot Z(q^s); expanding and applying WGS twice — to (qs,αsπ^)(q^s, \alpha_s\hat\pi) giving Zj(qs)≤0Z_j(q^s)\le0 for j∈Gstj\in G_s^t, and to (qs,qs+1)(q^s,q^{s+1}) giving Zj(qs+1)≥Zj(qs)Z_j(q^{s+1})\ge Z_j(q^s) for j∈Gshj\in G_s^h — yields

π^⋅(Z(qs+1)−Z(qs))≥(1−αsαs+1)∑j∈Gshπ^j(Zj(qs+1)−Zj(qs))≥0\hat\pi\cdot\big(Z(q^{s+1})-Z(q^s)\big) \ge \Big(1-\frac{\alpha_s}{\alpha_{s+1}}\Big)\sum_{j\in G_s^h}\hat\pi_j\big(Z_j(q^{s+1})-Z_j(q^s)\big) \ge 0

Since π\pi is not an approximate equilibrium, αn/α1≥1+ϵ/3\alpha_n/\alpha_1\ge1+\epsilon/3, so some kk has αk+1/αk≥1+ϵ/6n\alpha_{k+1}/\alpha_k\ge1+\epsilon/6n and hence 1−αk/αk+1≥ϵ/12n1-\alpha_k/\alpha_{k+1}\ge\epsilon/12n.

Here the extra trader earns her keep. Her income rises by at least (αk+1−αk)π^nw^m+1,n≥ϵαk6nπ^nw^m+1,n(\alpha_{k+1}-\alpha_k)\hat\pi_n\hat w_{m+1,n}\ge\frac{\epsilon\alpha_k}{6n}\hat\pi_n\hat w_{m+1,n}, and since she spends 1/n1/n of income on each good, xm+1,1(qk+1)−xm+1,1(qk)≥ϵαkπ^nw^m+1,n6n2π1x_{m+1,1}(q^{k+1}) - x_{m+1,1}(q^k)\ge\frac{\epsilon\alpha_k\hat\pi_n\hat w_{m+1,n}}{6n^2\pi_1}. The other traders satisfy WGS and 1∈Gsh1\in G^h_s, so their demand for good 1 does not fall. Substituting into the displayed inequality and adding the nonnegative terms for s≠ks\ne k,

π^⋅Z(π)≥ϵ2αkπ^nw^m+1,n72n3π1=δ\hat\pi\cdot Z(\pi) \ge \frac{\epsilon^2\alpha_k\hat\pi_n\hat w_{m+1,n}}{72n^3\pi_1} = \delta

∎

LemmaBounded step length

For any π∈Π+\pi\in\Pi^+, ∥Z(π)∥2≤12n2/η\lVert Z(\pi)\rVert_2 \le 12n^2/\eta — bound ∑j∣Zj∣\sum_j|Z_j| by ∑jXj+∑jW^j\sum_jX_j + \sum_j\hat W_j, use max⁡kπkmin⁡kπk≤5n/η\frac{\max_k\pi_k}{\min_k\pi_k}\le5n/\eta on Π+\Pi^+ and W^j≤2\hat W_j\le2.

TheoremConvergence

With μ=min⁡{δ2(12n2/η)2,(η/4n)2}\mu = \min\{\tfrac{\delta^2}{(12n^2/\eta)^2}, (\eta/4n)^2\}, within n/μn/\mu iterations the algorithm computes a price in Π+\Pi^+ that is a weak (1+ϵ)(1+\epsilon)-approximate equilibrium for M^\hat M.

ProofEach iteration cuts the distance to a fixed equilibrium

Fix an equilibrium π∗∈Π\pi^*\in\Pi. If πi−1∉Π+\pi^{i-1}\notin\Pi^+, clamping moves no coordinate away from π∗\pi^* and moves some coordinate at least η/4n\eta/4n toward it, so ∥π∗−πi−1∥2−∥π∗−πi∥2≥(η/4n)2\lVert\pi^*-\pi^{i-1}\rVert^2 - \lVert\pi^*-\pi^i\rVert^2\ge(\eta/4n)^2.

If πi−1∈Π+\pi^{i-1}\in\Pi^+ and is not approximately optimal, the separation lemma gives π∗⋅Z(πi−1)≥δ\pi^*\cdot Z(\pi^{i-1})\ge\delta, and Walras’ Law gives (π∗−πi−1)⋅Z(πi−1)≥δ(\pi^*-\pi^{i-1})\cdot Z(\pi^{i-1})\ge\delta. With q=πi−πi−1=δ(12n2/η)2Z(πi−1)q = \pi^i-\pi^{i-1} = \frac{\delta}{(12n^2/\eta)^2}Z(\pi^{i-1}), the step-length bound gives (π∗−πi−1−q)⋅q≥0(\pi^*-\pi^{i-1}-q)\cdot q\ge0, whence

∥π∗−πi−1∥2−∥π∗−πi∥2≥(π∗−πi−1)⋅q≥δ2(12n2/η)2\lVert\pi^*-\pi^{i-1}\rVert^2 - \lVert\pi^*-\pi^i\rVert^2 \ge (\pi^*-\pi^{i-1})\cdot q \ge \frac{\delta^2}{(12n^2/\eta)^2}

Summing over kk iterations gives kμ≤∥π∗−π0∥2≤nk\mu\le\lVert\pi^*-\pi^0\rVert^2\le n.

∎

TheoremMain WGS result

For an exchange market MM satisfying WGS and equipped with an excess-demand oracle, the tâtonnement-based algorithm computes in time polynomial in the input and 1/ϵ1/\epsilon a sequence of prices, one of which is a weak (1+ϵ)(1+\epsilon)-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 (1+2ϵ)(1+2\epsilon)-approximation whenever given a weak (1+ϵ)(1+\epsilon) 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 1/ϵ1/\epsilon polynomial in log⁡(1/ϵ)\log(1/\epsilon).


Convex programs for specific utilities

FormulaLinear exchange economies

With ui(x)=∑jaijxiju_i(x) = \sum_j a_{ij}x_{ij} and wij>0w_{ij}>0, find ψj\psi_j and xij≥0x_{ij}\ge0 with

∑kaikxik≥aij∑kwikeψk−ψj∀i,j,∑ixi=∑iwi\sum_k a_{ik}x_{ik} \ge a_{ij}\sum_k w_{ik}e^{\psi_k-\psi_j} \quad\forall i,j, \qquad \sum_i x_i = \sum_i w_i

Solutions correspond exactly to equilibria via πj=eψj\pi_j = e^{\psi_j}, 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 ui(x)=(∑jαijxijρi)1/ρiu_i(x) = \big(\sum_j\alpha_{ij}x_{ij}^{\rho_i}\big)^{1/\rho_i} with αij,wij>0\alpha_{ij},w_{ij}>0 and −∞<ρi<1-\infty<\rho_i<1, ρi≠0\rho_i\ne0 (and ui:=0u_i := 0 if some xij=0x_{ij}=0 when ρi<0\rho_i<0, ensuring continuity), the demand is unique and

xij(π)=αij1/(1−ρi)πj1/(1−ρi)×∑kπkwik∑kαik1/(1−ρi)πk−ρi/(1−ρi)x_{ij}(\pi) = \frac{\alpha_{ij}^{1/(1-\rho_i)}}{\pi_j^{1/(1-\rho_i)}}\times\frac{\sum_k\pi_kw_{ik}}{\sum_k\alpha_{ik}^{1/(1-\rho_i)}\pi_k^{-\rho_i/(1-\rho_i)}}

TheoremCES with −1≤ρi<0-1\le\rho_i<0 is a convex feasibility problem

Set ρ=−1≤ρi\rho = -1\le\rho_i, fij(π)=πjxij(π)f_{ij}(\pi) = \pi_j x_{ij}(\pi) and σj=πj1/(1−ρ)\sigma_j = \pi_j^{1/(1-\rho)}. Equilibria are the σ∈R++n\sigma\in\mathbb{R}^n_{++} with ∑ifij(σ)≤σj∑iwij\sum_i f_{ij}(\sigma)\le\sigma_j\sum_i w_{ij} for each good — and each fijf_{ij} is convex, so the right side being linear makes this a convex feasibility program.

ProofConvexity of fijf_{ij}

It suffices that fij≤tf_{ij}\le t define a convex set for t>0t>0. Using the demand formula, rewriting and raising to the power 1/(1−ρ)1/(1-\rho), the constraint becomes

αij11−ρ(∑kσk1−ρwik)11−ρ≤t11−ρ σjρi−ρ(1−ρ)(1−ρi) vi−ρi(1−ρi)(1−ρ),vi=(∑kαik11−ρiσk−ρi(1−ρ)1−ρi)−ρi(1−ρ)1−ρi\alpha_{ij}^{\frac{1}{1-\rho}}\Big(\sum_k\sigma_k^{1-\rho}w_{ik}\Big)^{\frac{1}{1-\rho}} \le t^{\frac{1}{1-\rho}}\,\sigma_j^{\frac{\rho_i-\rho}{(1-\rho)(1-\rho_i)}}\,v_i^{\frac{-\rho_i}{(1-\rho_i)(1-\rho)}}, \qquad v_i = \Big(\sum_k\alpha_{ik}^{\frac{1}{1-\rho_i}}\sigma_k^{\frac{-\rho_i(1-\rho)}{1-\rho_i}}\Big)^{\frac{-\rho_i(1-\rho)}{1-\rho_i}}

The left side is convex; the right side is concave and nondecreasing in t,σj,vit,\sigma_j,v_i, since the exponents are nonnegative and add up to one. Since 0<−ρi(1−ρ)1−ρi≤10<\frac{-\rho_i(1-\rho)}{1-\rho_i}\le1, the expression for viv_i 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 ρ<−1\rho<-1

Two traders, two goods. Trader 1 has w1=(1,0)w_1 = (1,0) and u1(x,y)=((ax)ρ+yρ)1/ρu_1(x,y) = ((ax)^\rho + y^\rho)^{1/\rho}; trader 2 has w2=(0,1)w_2 = (0,1) and u2(x,y)=((x/a)ρ+yρ)1/ρu_2(x,y) = ((x/a)^\rho+y^\rho)^{1/\rho}. For each ρ<−1\rho<-1 there is a sufficiently small aa for which

  • (1/2,1/2)(1/2,1/2) is an equilibrium price, and
  • (p,1−p)(p,1-p) is an equilibrium for some p<1/2p<1/2, while (q,1−q)(q,1-q) is not for any p<q<1/2p<q<1/2.

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 p3p_3 between two equilibrium prices to be one too. It is unlikely the CES results above extend past ρ=−1\rho = -1.

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 (A,B)(A,B) with positive entries, AA of size n×mn\times m. Build a Leontief exchange economy with n+mn+m traders and n+mn+m goods: trader ii is endowed with one unit of good ii; traders j∈{1,…,n}j\in\{1,\ldots,n\} derive utility only from goods {n+1,…,n+m}\{n+1,\ldots,n+m\}, in proportions given by row jj of BB; traders j∈{n+1,…,n+m}j\in\{n+1,\ldots,n+m\} derive utility only from goods {1,…,n}\{1,\ldots,n\}, in proportions given by column jj of AA. The traders split into two groups bringing disjoint goods and interested only in the other group’s goods.

The Nash equilibria of (A,B)(A,B) 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 kk can make good oko_k from the nn goods via a concave, degree-1 homogeneous fk:R+n→R+f_k : \mathbb{R}^n_+\to\mathbb{R}_+: inputs zjz_j produce up to fk(z1,…,zn)f_k(z_1,\ldots,z_n) units of oko_k.

ImportantProfit maximization is well defined only at zero profit

If some feasible plan makes strictly positive profit πokfk(z)−∑jπjzj>0\pi_{o_k}f_k(z) - \sum_j\pi_jz_j > 0, then scaling inputs by α>1\alpha>1 scales the profit by α\alpha — 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 z=0z=0 always qualifies.

In terms of the unit cost function ck(π)=min⁡{∑jπjzj:z≥0, fk(z)≥1}c_k(\pi) = \min\{\sum_j\pi_jz_j : z\ge0,\ f_k(z)\ge1\}: if πok>ck(π)\pi_{o_k}>c_k(\pi) maximization is undefined; if πok<ck(π)\pi_{o_k}<c_k(\pi) only the trivial plan maximizes; if πok=ck(π)\pi_{o_k} = c_k(\pi), the trivial plan and any zz with fk(z)ck(π)=∑jπjzjf_k(z)c_k(\pi) = \sum_j\pi_jz_j all maximize.

DefinitionEquilibrium with production

Prices π\pi, consumer bundles xix_i and producer input bundles zkz_k with output qkok=fk(zk)q_{ko_k} = f_k(z_k), such that (i) profit maximization is well defined at π\pi and each plan is profit-maximizing; (ii) each xix_i is consumer ii‘s demand; and (iii) the market clears: ∑ixij+∑kzkj≤∑iwij+∑k:j=okqkj\sum_ix_{ij}+\sum_kz_{kj}\le\sum_iw_{ij}+\sum_{k:j=o_k}q_{kj}.

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 MM into M′M' with mm consumers, n+mn+m goods and l+ml+m producers. Add a good n+in+i per consumer, and set ui′(x)=xn+iu_i'(x) = x_{n+i} — consumer ii now wants only good n+in+i. Endowments are unchanged on the first nn goods and zero after. The first ll producers are unchanged; the (l+i)(l+i)th produces good n+in+i with technology fl+i′(z)=ui(z1,…,zn)f'_{l+i}(z) = u_i(z_1,\ldots,z_n). There is a one-to-one correspondence between equilibria of MM and M′M', and the simplicity of M′M'‘s consumption side is what makes the characterization tractable.

FormulaInequalities characterizing equilibrium of M′M'

In variables πj≥0\pi_j\ge0, consumer demands xi,n+ix_{i,n+i}, producer inputs zkz_k and outputs qkokq_{ko_k}:

πn+ixi,n+i ≥ ∑j=1nπjwij(a)\pi_{n+i}x_{i,n+i}\ \ge\ \sum_{j=1}^n\pi_jw_{ij}\tag{a} qkok ≤ fk(zk)(b)q_{ko_k}\ \le\ f_k(z_k)\tag{b} πok ≤ ck(π1,…,πn)(c)\pi_{o_k}\ \le\ c_k(\pi_1,\ldots,\pi_n)\tag{c} ∑kzkj ≤ ∑iwij+∑k:ok=jqkj(d)\sum_kz_{kj}\ \le\ \sum_iw_{ij}+\sum_{k:o_k=j}q_{kj}\tag{d} xi,n+i ≤ ql+i,n+i(e)x_{i,n+i}\ \le\ q_{l+i,n+i}\tag{e}

ProofWhy any feasible solution is an equilibrium

Evidently every equilibrium is feasible. Conversely, (b) and (c) imply no producer makes positive profit: ∑j≤nπjzkj≥πokqkok\sum_{j\le n}\pi_jz_{kj}\ge\pi_{o_k}q_{ko_k}. 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 ∑j≤nπjzkj=πokqkok\sum_{j\le n}\pi_jz_{kj} = \pi_{o_k}q_{ko_k} — every plan makes exactly zero profit and, by (c), is optimal — and forcing equality in (a), so xi,n+ix_{i,n+i} is the demand. Conservation follows from (d) and (e).

∎

ImportantThe substitution that convexifies everything

Put πj=eψj\pi_j = e^{\psi_j}. All constraints become convex except possibly (c). For a CES production function with 0<ρ<10<\rho<1 the unit cost is ck(π)=(∑jakjσπj1−σ)1/(1−σ)c_k(\pi) = \big(\sum_ja_{kj}^\sigma\pi_j^{1-\sigma}\big)^{1/(1-\sigma)} with σ=1/(1−ρ)\sigma = 1/(1-\rho); raising both sides to the power 1−σ<01-\sigma<0 turns (c) into

πok1−σ≥∑jakjσπj1−σ\pi_{o_k}^{1-\sigma} \ge \sum_j a_{kj}^\sigma\pi_j^{1-\sigma}

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 ρ>0\rho>0 — 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

ObjectStatement
Fisher modelbuyers with money eie_i, linear utilities uiju_{ij}; find market-clearing prices
Arrow–Debreuagents with endowments eie_i; sell, then buy optimal bundles
Fisher ⊂\subset Arrow–Debreumoney as the (n+1)(n{+}1)st good, plus one agent endowed with all goods
Walras’ Lawπ⋅Z(π)=0\pi\cdot Z(\pi) = 0
WGSraising some prices cannot lower demand for the fixed-price goods ⇒\Rightarrow equilibrium unique up to scaling
Eisenberg–Galemax⁡∑ieilog⁡ui\max\sum_i e_i\log u_i s.t. packing constraints; duals are prices
Fisher linear equilibriaexist, form a convex set, have unique utilities and prices, and are rational
Bang per buckαi=max⁡juij/pj\alpha_i = \max_j u_{ij}/p_j; equality subgraph has edge (i,j)(i,j) iff attained
Equilibrium testboth (s,A∪B∪t)(s,A\cup B\cup t) and (s∪A∪B,t)(s\cup A\cup B,t) min-cuts in N(p)N(p)
Invariant(s,A∪B∪t)(s,A\cup B\cup t) is a min-cut   ⟺  ∀S:p(S)≤m(Γ(S))\iff \forall S: p(S)\le m(\Gamma(S))
Tight setp(S)=m(Γ(S))p(S) = m(\Gamma(S)); freeze its prices
Balanced flowminimizes ∥γ∥2\lVert\gamma\rVert_2; unique surplus vector; Property 1
Primal-dual running timeO(n4(log⁡n+nlog⁡U+log⁡M))O(n^4(\log n + n\log U + \log M)) max-flows
Auction (Arrow–Debreu)(1−ϵ)2(1-\epsilon)^2-optimal bundles; O(mnϵ2log⁡nvmax⁡ϵamin⁡vmin⁡log⁡vmax⁡vmin⁡)O\big(\frac{mn}{\epsilon^2}\log\frac{nv_{\max}}{\epsilon a_{\min}v_{\min}}\log\frac{v_{\max}}{v_{\min}}\big)
Kelly’s programmax⁡∑imilog⁡fi\max\sum_i m_i\log f_i s.t. capacities; proportionally fair
Single-source flow marketO(r2)O(r^2) max-flows, rr = number of sinks — strongly polynomial
WGS separationπ^⋅Z(π)>0\hat\pi\cdot Z(\pi)>0 for non-equilibrium π\pi
Discrete tâtonnementweak (1+ϵ)(1+\epsilon)-approximate equilibrium in poly(n,1/ϵ,1/η)(n,1/\epsilon,1/\eta)
Linear exchangeconvex feasibility in ψj=log⁡πj\psi_j = \log\pi_j; exact solution in poly time
CES, −1≤ρi<0-1\le\rho_i<0convex feasibility in σj=πj1/(1−ρ)\sigma_j = \pi_j^{1/(1-\rho)}
CES, ρ<−1\rho<-1multiple disconnected equilibria — no convex formulation
Leontief exchangePPAD-complete, via the bimatrix game–market correspondence
Production, CES ρ>0\rho>0convex after πj=eψj\pi_j = e^{\psi_j}; 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 Φ\Phi‘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 ρ=−1\rho = -1: above it convex feasibility works; below it equilibria disconnect, and at the Leontief extreme the problem is PPAD-complete.

References

← All notes