Bit the bullet and started a (reading) course on market design. The plan is to begin with some  lectures that cover some of  the usual stuff that is covered followed by readings. First session was on the Shapley-Shubik (SS) assignment model. A summary can be obtained by clicking on mktdesign1

The readings cover the following topics:

1) Credit Default Swaps

du & zhu

gupta & sundarjan

chernov, gorbenko & makarov

2) Bankruptcy
The Economics of Bankruptcy Reform Author(s): Philippe Aghion, Oliver Hart, John Moore Source: Journal of Law, Economics, & Organization, Vol. 8, No. 3 (Oct., 1992), pp. 523-546

New Approach to Corporate reorganization by Lucien Bebchuk, Harvard Law Review, 1988

Analysis of secured debt, Stultz and johnson, JFE, 1985

3) Healthcare Markets

Ho, Katherine 2009. “Insurer-Provider Networks in the Medical Care Market.” American Economic Review, 99(1): 393–430.

Fong and Schwarz

Arrow & cast of thousands

4)  IPO’s

Jaganathan et al

Jovanovich et al

5)  Affirmative Action
Fryer & Loury 

5) Wages, centralized matching, unraveling
Bulow & Levin

1. Shapley-Shubik Model

There is a set of buyers {B} and a set of sellers {S} each selling one unit of a good (could be divisible or not). Let {v_{ij} \geq 0} be the monetary value that buyer {j \in B} assigns to seller {i \in S}‘s object. In other words, we assume quasi-linear preferences. No buyer wants more than one of any good. By adding dummy sellers or buyers we can ensure that {|B|=|S|}.

Depending on the {v_{ij}}‘s you can assign a couple of interpretations to the SS model. First, {v_{ij} = u_j - c_i}. Here {u_i} is the value to buyer {i} of acquiring a good irrespective who sells it. In effect the sellers all sell the same good. {c_i} is the opportunity cost to seller {i}. Under this interpretation, SS is a model of bilateral trade.

Second, {v_{ij}} is the output generated when worker {j} is matched with firm {i}. Sometimes one assumes a specific functional form form for {v_{ij}}, for example, {v_{ij} = a_ib_j}. Here each agent (firm or worker) has a type and their joint output is a function of their types. Third, each seller is an advertising slot and each buyer an advertiser. Then, {a_i} is the the click through rate on slot {i} and {b_j} is the value per click to advertiser {j}. Because billions (and if one were Carl Sagan one would repeat the word `billions’) of $’s are transacted this way, it is obligatory to mention this example in a class on market design to give the whole enterprise a certain gravitas. There is a natural optimization problem one can associate with SS, which is to find an assignment of goods to buyers to maximize the total value achieved so that no buyer consumes more than one good and no seller gives more than one good. In other words, find an efficient allocation. This is called the assignment problem or maximum weight bipartite matching. The problem has a long history going back to Monge (1700’s). Indeed, well before Becker, it was Monge who considered the problem under the assumption that {v_{ij} = a_ib_j}. Since Monge’s time, the literature has split. One branch, via Kantorovich, interprets the problem in terms of coupling of measures and this has blossomed into an active and influential area of Mathematics called optimal transport of measure. It has important applications in pde’s and concentration of measure. There are also some applications in economic theory. I won’t go down that branch. The other, via Koopmans and Hitchcock, sticks to the discrete set up described here. That is the branch I will follow.

2. Shapley-Shubik (Divisible)

So that the problem of finding an efficient allocation can be expressed as an LP suppose the goods are divisible and each buyers utility for goods is linear in quantity. However, no buyer wants to consume more than one unit in total (unit demand). Let {x_{ij}} be the quantity of good {i} allocated to buyer {j}. For any {N \subseteq B} and {M \subseteq S}, let

\displaystyle  V(M,N) = \max \sum_{j \in N}\sum_{i \in M}v_{ij}x_{ij}

subject to

\displaystyle  \sum_{j \in N}x_{ij} \leq 1\quad \forall i \in M

\displaystyle  \sum_{i \in M}x_{ij} \leq 1\quad \forall j \in N

\displaystyle  x_{ij} \geq 0\quad, \forall i \in M,\: j \in N

The first constraint arises from the unit demand assumption. The second ensures no seller supplies more than they have. These constraints imply that {x_{ij} \leq 1} for all {i} and {j}.

Let {p_i} be the dual variable associated with each constraint {\sum_{j \in N}x_{ij} \leq 1} and {s_j} the dual variable associated with each constraint {\sum_{i \in M}x_{ij} \leq 1}. The dual to the above program is:

\displaystyle  \min \sum_{j \in N}s_j + \sum_{i \in M}p_i

subject to

\displaystyle  s_j + p_i \geq v_{ij}\,\, \forall j \in N,\,\forall i \in M

\displaystyle  s_j, p_i \geq 0 \,\, \forall j \in N,\,\forall i \in M

The dual has an interesting interpretation. Think of {p_i} as the price of object {i}. Given a collection of prices, the optimal solution to the dual is found by setting each {s_j} to {\{\max_{i \in M}(v_{ij} - p_i), 0\}^+.} Thus, each {s_j} represents the maximum surplus that agent {j} can receive from the consumption of a single object at prices {\{p_i\}_{i \in M}}.

At prices {\{p_i\}_{i \in M}}, buyer {j} must solve:

\displaystyle  \max \sum_{i \in M}(v_{ij}- p_j)x_{ij}

subject to

\displaystyle  \sum_{i \in M}x_{ij} \leq 1\quad \forall j \in N

\displaystyle  x_{ij} \geq 0\quad, \forall i \in M,\: j \in N

to determine its demand. It is easy to check that the optimal solution is any convex combination of objects that yield maximum surplus to the buyer.

Suppose {x^*} is an optimal primal solution and {(s^*,p^*)} an optimal dual solution. Then, the prices {p^*} `support’ the efficient allocation {x^*} in the following sense. Suppose we post a price {p^*_i} for each {i \in M}. Ask each buyer to name their demand correspondance at the posted prices. Then, it is possible to give each agent one of their demanded bundles and not exceed supply . To see why, recall complementary slackness:

\displaystyle (s^*_j + p^*_i - v_{ij})x^*_{ij} = 0.

So, if {x^*_{ij} > 0} it follows that {s^*_j = v_{ij} - p^*_i = \{\max_{r \in M}(v_{rj} - p^*_r), 0\}^+.} Hence, in this economy there is a set of prices that can be posted for each good so as to balance supply with demand. In other words, LP duality gives us the existence of Walrasian prices in this economy.

The set of feasible dual solutions forms a lattice with respect to the partial order {(s, p) \succeq (s', p')} if and only if {(-s,p) \geq (-s',p')}. In this partial order there is a smallest element, which corresponds to the smallest Walrasian price. This can be determined by choosing from among all optimal dual solutions one that minimizes {\sum_{i \in M}p_i} (equivalently maximizes total surplus to buyers).

Hold {M} fixed and consider {V( \cdot, M)} as a function of subsets of {B}. Then, {V( \cdot, M)} is non-decreasing. It is also submodular. Why? From the dual we see that it is obtained by minimizing a linear (i.e. submodular) function over a lattice. As submodularity is preserved under minimization, it follows that {V(N, M)} is submodular in {N}. A similar argument shows that {V(N,M)} is supermodular in {M}. This submodularity/supermodularity is useful in deriving certain incentive properties of the efficient allocation.

One can associate a tu co-op game with the assignment model. For any coalition of buyers ({N}) and sellers ({N}) let {V(N,M)} be the value of the coalition. The core, {C(B,S)} will be the set of solutions to the following:

\displaystyle \sum_{j \in B}s_j + \sum_{i \in S}p_i = V(B,S)

\displaystyle \sum_{j \in N}s_j + \sum_{i \in M}p_i \geq V(N,M)\,\, \forall N \subseteq B, \,\, M \subseteq S

The core has the usual interpretation. It is the set of allocations that cannot be blocked by any coalition of buyers and sellers.

Consider the following dual program (DP):

\displaystyle  V(B,S) = \min \sum_{j \in B}s_j + \sum_{i \in S}p_i

subject to

\displaystyle  s_j + p_i \geq v_{ij}\,\, \forall j \in B,\,\,\forall i \in S

\displaystyle  s_j, p_i \geq 0 \,\, \forall j \in B,\,\forall i \in S

It is straight forward to check that every optimal solution to (DP) is in {C(B,S)} and every point in {C(B,S)} corresponds to an optimal solution to (DP). Why is this interesting? It says that most of the constraints that define the core are redundant. It suffices to consider only pairs of agents consisting of one buyer and one seller. If the core is the set of efficient allocations immune to deviations by any subset of agents, then equivalence to (DP) says that it suffices to consider only pairwise deviations.

From the core, consider the following two relations:

\displaystyle \sum_{j \in B}s_j + \sum_{i \in S}p_i = V(B,S)

\displaystyle \sum_{j \in B \setminus k}s_j + \sum_{i \in S}p_i \geq V(B \setminus k,S)

Negate the second and add to the first:

\displaystyle s_k \leq V(B,S) - V(B \setminus k, M).

The term on the right hand side is buyer {k}‘s marginal product. Hence, no point in the core can give any buyer more than their marginal product. Submodularity of {V(\cdot, S)} implies that there is a point in the core that gives each buyer their marginal product (an old result of Shapley’s). What is this point? It is the one that corresponds to the minimal Walrasian price, i.e., the optimal solution to (DP) that maximizes {\sum_{j \in B}s_j}.

Suppose sellers are non-strategic and we run a Vickrey auction to allocate the goods amongst the buyers. Then, each buyer would walk away with a surplus equal to their marginal product (which is what the Vickrey auction gives buyers to give them the incentive to reveal their valuations). Thus, in this assignment economy, minimal Walrasian prices correspond to the prices that would be charged in a Vickrey auction.

3. Shapley-Shubik (Indivisible)

Now suppose the goods in SS are indivisible. I’m going to show the results outlined above carry through unchanged. To do that I need to tell you about totally unimodular matrices.

3.1. Total Unimodularity

A matrix is called totally unimodular (TUM) iff the determinant of each square submatrix has value 1, -1 or 0. If a matrix is TUM then so is its transpose. If {A} and {E} are TUM, then so is {AE}.

Example 1 The following matrix

\displaystyle  \begin{bmatrix} 1 & 0 \\ 0 & 1 \\ \end{bmatrix}

is TUM. The following is not:

\displaystyle  \begin{bmatrix} 1 & 1 & 0 \\ 0 & 1 & 1 \\ 1 & 0 &1\\ \end{bmatrix}

Every proper square submatrix has determinant with absolute value 0 or 1, but the determinant of the entire matrix is 2.

Theorem 1 Let {A} be a {m \times n} TUM matrix. Let {b} be a {m \times 1} integral vector. Then, every extreme point of {\{Ax = b, x \geq 0\}} is integral.

Proof: To every extreme point {w} of {\{Ax = b, x \geq 0\}} there is a basis of {A} such that {w = B^{-1}b}. By Cramer’s rule, we can write {B^{-1} = {B^*}/{\det B}} where {B^*} is the adjoint of {B}. Since {A} has all integer entries, {B^*} has all integer entires. Since {A} is TUM and {B} is non-singular, it follows that {|\det B| = 1}. Hence {B^{-1}} has all integer entries. Thus, {B^{-1}b} is integral.{\Box}

Paul Seymour gave a complete (polytime) characterization of TUM matrices. The upshot of it is that most TUM matrices are network matrices. {A} is a network matrix if {a_{ij} = 0, 1, -1} for all {i,j} and each column contains at most two non-zero entires of opposite sign.

Theorem 2 If {A} is a network matrix, then {A} is TUM.

Proof: Proof is by induction on the size of a submatrix. Consider a {k \times k} square submatrix of {A}, call it {C}. If each column of {C} has exactly two non-zero entries then {\det C = 0}. Why? Summing up the rows of {C} gives us zero, meaning that the rows of {C} are linearly dependent. If there is a column of {C} that contains exactly one non-zero entry, then compute the determinant of {C} using the minor associated with this entry. By induction the determinant must have value, 0,1, -1. A column with all zeros means that {\det C = 0}.{\Box}

3.2. Back to SS

I’ll show that the constraint matrix for the assignment program that defines {V(B,S)} is TUM. This would mean that there is always an efficient allocation which produces an integral allocation.

Fix a good {i} and agent {j}. Consider the column associated with the variable {x_{ij}}. The variable appears with a coefficient of 1 in exactly two rows. One occurs in a row corresponding to agent {j} and the other to a row corresponding to object {i}. Let {L} consist of all rows corresponding to objects and {R} the set of all rows corresponding to agents. Multiply all the rows in {L} by -1. We now have a constraint matrix where each column contains exactly two non-zero entries of opposite sign.

3.3. Ascending Auctions

The equivalence between minimal Walrasian prices and Vickrey prices in SS means that the Vickrey outcome can be obtained from a t\^{a}tonnement process that terminates in the minimal Walrasian price. Two have been proposed in the literature. One by Crawford and Knoer and the other Demange, Gale and Sotomayor (see also Leonard). Both a variations of dual ascent algorithms for solving the LP formulation of the assignment model.

I’ll outline Demange, Gale and Sotomayor (DGS). Assume that the {v_{ij}}‘s are integral. In each iteration we have a vector of prices {\{p_i\}_{i \in S}}. Initially all prices are set to zero. In each iteration buyers report their demand correspondance. That is, the set of goods that maximize their surplus at current prices. Let {D_j(p)} be the demand correspondance of buyer {j}. Consider now the bipartite graph defined on {B \cup S} as follows: an edge {(i,j)} exists iff {i \in D_j(p)}. If this graph contains a perfect matching, stop. At current prices demand equals supply. A perfect matching means that there is a way to give each {j \in B} an {i \in S} such that {i \in D_j(p)} and no good is allocated to more than one buyer. If a perfect matching does not exist, by the Hall marriage theorem (I will state and prove this later), there must exists a set {N \subseteq B} such that {|N| > |\cup_{j \in N}D_j(p)|.} The set {\cup_{j \in N}D_j(p)} is called overdemanded. Identify a minimally overdemanded set and increase the price of each good in this set by 1 unit. Repeat.

4. Bilateral Trade

Lets put this machinery to work on bilateral trade. This is the case when {v_{ij} = u_j-c_i}. Suppose {u_j} is the private information of buyer {j} and {c_i} is the private information of seller {i}.

  1. The core of the associated tu game is non-empty.
  2. The point in the core that maximizes the total surplus to buyers makes it a dominant strategy for them to reveal their private information.
  3. The point in the core that maximizes the total profit to the sellers makes it a dominant strategy for them to reveal their private information.
  4. In general, there is no point in the core that is jointly `best’ for buyers and sellers. Hence, there is no way to obtain an outcome in the core for which it is a dominant strategy for both sides to reveal their private information.

We have the outlines of an archetypal matching paper. First, show that a stable or core outcome exists. Second, show that when only one side is strategic, one can implement the core outcome in an incentive compatible way. Third, observe that it is impossible to implement the core outcome when both sides are strategic. Fourth, show that as the economy gets large, one can implement something asymptotically close to the core in an incentive compatible way (or implement a core outcome in an asymptotically incentive compatible way). So, lets do the fourth.

The idea is due to Preston McAfee. Order the buyers so that {u_1 \geq u_2 \geq \ldots \geq u_n}. Order the sellers so that {c_1 \leq c_2 \leq \ldots \leq c_n}. The efficient allocation can be computed by determining the largest {k} such that {u_k \geq c_k}. Buyer {i} is matched with seller {i} for all {i \leq k}. McAfee suggests stopping at {k-1}. Charge all buyers {i \leq k-1} a price of {b_k}. Pay all sellers {i \leq k-1}, {c_k}. What each agent pays or receives does not depend on their reports. So, reporting their private information is a dominant strategy. Further, the mechanism runs a slight surplus and is individual rational. However, it is not efficient. The efficiency loss is {u_k-c_k}. Assuming {u_i}‘s and {c_i}‘s are independent draws from a distribution with bounded support, the percentage loss in efficiency approaches zero as {n \rightarrow \infty}.

Alternatively, one can implement the Vickrey outcome. In this case each buyer pays {b_{k+1}} and each seller receives {c_{k+1}}. The deficit of the Vickrey auction will grow like {k|b_{k+1} - c_{k+1}|}. One can then use properties of order statistics and the Kolmogorv-Smirnov bounds to show that the deficit goes to zero as {n \rightarrow \infty}.

5. More on TUM

Recall the constraints for the assignment model:

\displaystyle  \sum_{j \in B}x_{ij} \leq 1\quad \forall i \in S

\displaystyle  \sum_{i \in S}x_{ij} \leq 1\quad \forall j \in B

An integer solution, {x^*}, to these constraints defines a permutation matrix whose {(i,j)^{th}} entry is {x^*_{ij}}. A fractional solution to these constraints is a doubly stochastic matrix. TUM of the constraint matrix means that every doubly stochastic matrix is a convex combination of permutation matrices. This is is known as the Birkhoff-von Neuman theorem. Alternatively, the assignment constraints define the convex hull of doubly stochastic matrices.

For our purposes, TUM means that every fractional solution to the assignment constraints can be interpreted as a lottery over integer assignments. Thus, the assignment constraints give us a succinct description of the set of all lotteries over integer assignments. This is will be useful in applications when we search for randomized allocation rules satisfying other properties.

Network matrices are an important class of TUM matrices. There are matrices that don’t appear to be network matrices but after certain elementary row operations can be converted into network matrices. One such class is the set of 0-1 matrices with the consecutive 1’s property (C1). A 0-1 matrix has the consecutive 1’s property if there is a permutation of its rows such that the non-zero entries in each column are consecutive. The following matrix is C1:

\displaystyle  \begin{bmatrix} 1 & 0 & 0 \\ 1 & 1 & 0 \\ 1 & 1 & 0\\ 1 & 0 & 1\\ 0 & 0 & 1\\ \end{bmatrix}

C1 matrices arise in a variety of applications (interval graphs, cyclic staffing). Fulkerson and Gross were the first to give a polytime algorithm for recognizing C1 matrices. The following is due to Veinott and Wagner (1962).

Theorem 3 If {A} is a C1 matrix, then, {A} is TUM.

Proof: Suppose the rows of {A} have already been permuted so that the columns have the consecutive 1’s property. Suppose that {A} is {n \times n}. Define {E} to be the following {n \times n} matrix:

  1. For all {i < n}, {e_{ii} = 1}, {e_{i, i+1} = -1}.
  2. For {i = n}, {e_{nn} = 1}.
  3. For all {i} and {j \neq i+1}, {e_{ij} = 0}.

Here is a {5 \times 5} example of {E}:

\displaystyle  \begin{bmatrix} 1 & -1 & 0 & 0 & 0 \\ 0 & 1 & -1 & 0 & 0\\ 0 & 0 & 1 & -1 & 0\\ 0 & 0 & 0 & 1 & -1\\ 0 & 0 & 0 & 0 & 1\\ \end{bmatrix}

To complete the proof it suffices to verify that {E} is TUM and {EA} is a network matrix. Note that pre-multiplying {A} by {E} corresponds to negating row {i+1} of {A} and adding it to row {i} of {A}. {\Box}

I turn now to a class of C1 matrices that will be useful later.

Let {N} be a ground set of elements and {{\cal F}} a collection of subsets of {N}. {{\cal F}} is called laminar if for any {S, T \in {\cal F}} either {S \subset T}, {T \subset S} or {S \cap T = \emptyset}. If one drops the condition that {S \cap T = \emptyset}, then {{\cal F}} is called a chain.

Given a collection of subsets, {{\cal F}} we can represent it using a 0-1 matrix as follows. A column for each member of {{\cal F}} and a row for each element of {N}. Set {a_{ij} = 1} if the set corresponding to column {j} contains {i \in N}. Its easy to see that if {{\cal F}} is laminar, then {A} is C1. Call a 0-1 matrix that arises in this way a laminar matrix.

In fact, {A} is `equivalent’ to a 0-1 matrix with exactly one non-zero entry in each row. Here is is how. Pick any two columns of {A}, {j} and {k}. Let {S_j} and {S_k} be the sets they correspond to in {{\cal F}}. Suppose {S_j \subseteq S_k}. Negate column {j} and add it to column {k}. Note that this can at most flip the sign of the determinant of any square submatrix of {A}. Repeat. The result is a 0-1 matrix whose columns are disjoint, i.e., exactly one non-zero entry in each row.