0% found this document useful (0 votes)
21 views50 pages

LP Vickrey

Uploaded by

Prasoon bajpai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views50 pages

LP Vickrey

Uploaded by

Prasoon bajpai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Linear Programming and Vickrey Auctions∗

Sushil Bikhchandani† Sven de Vries‡ James Schummer§


Rakesh V. Vohra¶
May 15, 2001

Abstract
The Vickrey sealed bid auction occupies a central place in auction
theory because of its efficiency and incentive properties. Implement-
ing the auction requires the auctioneer to solve n + 1 optimization
problems, where n is the number of bidders. In this paper we survey
various environments (some old and some new) where the payments
bidders make under the Vickrey auction correspond to dual variables
in certain linear programs. Thus, in these environments, at most two
optimization problems must be solved to determine the Vickrey out-
come. Furthermore, primal-dual algorithms for some of these linear
programs suggest ascending auctions that implement the Vickrey out-
come.

Keywords Vickrey auctions, multi-item auctions, combinatorial auctions,


duality, primal-dual algorithm

AMSMOS:91B24, 91B26, 90C27


We gratefully acknowledge invaluable discussions with Joe Ostroy at U.C.L.A.

Anderson Graduate School of Management, UCLA, Los Angeles, CA 90095.

Zentrum Mathematik, TU München, D-80290 München, Germany.
§
Department of Managerial Economics and Decision Sciences, Kellogg Graduate School
of Management, Northwestern University, Evanston IL 60208.

Department of Managerial Economics and Decision Sciences, Kellogg Graduate School
of Management, Northwestern University, Evanston IL 60208.

1
1 Introduction
The Vickrey sealed bid auction deservedly occupies an important place in
the literature on mechanism design. It results in an economically efficient
outcome, and it is a (weakly) dominant strategy for bidders to bid truthfully.
To describe the auction, let N be the set of n agents (or bidders), and F
be the set of feasible allocations among them. Each agent j ∈ N assigns a
monetary benefit vj (a) to each allocation a ∈ F . This monetary benefit vj is

 to agent j. The efficient outcome is the outcome a that
private information
solves maxa∈F j∈N vj (a). Let

V (N) = max vj (a) and
a∈F
j∈N

V (N \ j) = max vi (a)
a∈F
i∈N \j

The sealed bid auction proceeds as follows. Agents submit their benefit
functions {v1 , v2 , . . . , vn }. For the moment, assume they do so truthfully;
subsequently, we show that doing otherwise cannot improve any agent’s pay-
off. The auctioneer computes a∗ , V (N) and V (N \ j) for all j ∈ N. The
allocation a∗ is chosen, and bidder j pays

V (N \ j) − vi (a∗ ).
i=j

Thus, bidder j’s net benefit from participating is



vj (a∗ ) − [V (N \ j) − vi (a∗ )] = V (N) − V (N \ j).
i=j

This last term is sometimes called bidder j’s marginal product, and is clearly
non-negative. It is the incremental benefit from including agent j in the
auction.
Could any bidder benefit from misreporting his valuation function? No.
To see why, suppose bidder j reports u j = vj instead. The auctioneer then

chooses an a ∈ F that solves maxa∈F [ i=j vi (a) + uj (a)]. Agent j’s payoff
becomes

[ vi (a ) + vj (a )] − V (N \ j) ≤ V (N) − V (N \ j).
i=j

2
A closer inspection of the argument reveals more: No matter what the other
agents report, no agent can benefit by misreporting his valuation function.
The Vickrey auction is not the only efficient auction with the property
that it is a (weakly) dominant strategy for bidders to bid truthfully. The
general class of such schemes is the class of Clark–Groves mechanisms.1 The
Vickrey auction is one member in this class and, in some sense, is focal.
For instance, Krishna and Perry (1998) justify its use in terms of revenue
maximization within a class of mechanisms.2
Computationally, the implementation of a Vickrey auction requires the
solution of n + 1 optimization problems. In many environments of economic
interest, each of these problems is a linear program. An agent makes its
presence known in the choice of constraints (rows) or variables (columns)
of the linear program. It is therefore tempting to think that the marginal
product of an agent should be encoded in the optimal dual variables of the
linear program. After all, it is these variables that inform us of the effect of
changing the right hand side of a constraint, or modifying a coefficient in the
objective function.
In this paper, we survey the instances where such a connection exists. We
start in Section 2 with a discussion of the general problem, and various for-
mulations of it, building on the notions of Bikhchandani and Ostroy (2000a).
In the sections that follow, we examine various special cases of the general
model which admit simpler formulations.
The Vickrey auction as we have just described is a sealed bid auction. In
the auction of a single object, it has long been known that an open (ascend-
ing) auction exists that duplicates the outcomes of the Vickrey auction. This
is the English auction, in which the auctioneer continuously raises the price
for the object. An agent is to keep his hand raised until the price exceeds the
amount the agent is willing to pay for the object. The auction terminates as
soon as only one agent’s hand is left raised. That agent wins the object at
that terminal price.
In such an auction, as long as every other agent is behaving in a way
consistent with some valuation for the object, an agent cannot benefit by
lowering his hand prematurely, or by keeping his hand raised beyond the
price he is willing to pay. So, the ascending auction has desirable incentive
properties comparable to its sealed bid counterpart, and a number of other
1
See Vickrey (1961), Clarke (1971), and Groves (1973).
2
See also, Williams (1999). Moulin (1986) justifies its use in a different sense.

3
pleasant features that are listed by Ausubel (1997).
Here, we point out that such ascending auctions can be interpreted as
particular implementations of a primal dual algorithm for the underlying
optimization problem. Specific examples of this are provided by Ausubel
(1997) and by Demange, Gale, and Sotomayor (1986). Such a connection
should not be surprising; an ascending auction that implements the Vickrey
outcome must solve the same optimization problem as an efficient algorithm,
and the auction is an algorithm.

2 The general case


We begin with the general case of an auctioneer who must auction off a set
of distinct heterogeneous objects, M. Let N be the set of bidders. For every
set of objects S ⊆ M, let vj (S) be the value that agent j ∈ N assigns to
consuming S.3 An allocation is an assignment of objects to the agents. To
formulate the problem of finding an efficient allocation let y(S, j) = 1 if the
bundle S ⊆ M is allocated to j ∈ N and zero otherwise.4 The optimization
problem, denoted (P1), is to solve

V (N) = max vj (S)y(S, j)
j∈N S⊆M

s.t. y(S, j) ≤ 1 ∀i ∈ M
Si j∈N

y(S, j) ≤ 1 ∀j ∈ N
S⊆M
y(S, j) = 0, 1 ∀S ⊆ M, ∀j ∈ N

The first constraint ensures that overlapping sets of goods are never assigned.
The second ensures that no bidder receives more than one subset.
The linear relaxation of the above integer program admits fractional solu-
tions, so it is natural to look for a stronger formulation. The way we do this
3
A more general specification is to define agents’ valuations over allocations, allowing
for externalities: preferences affected by others’ consumption. For simplicity, we do not
specify such a general model.
4
It is important to make clear the notation that, e.g., if agent j consumes the pair of
distinct objects i, i ∈ M , then y({i, i }, j) = 1, but y({i}, j) = 0. An agent consumes
exactly one set of objects.

4
is by using auxiliary variables. It is helpful to first consider the formulation
(P2) below. This stronger formulation is not strong enough, but it suggests
directions for other formulations; hence we introduce it.
Let Π be the set of all possible partitions of the objects in the set M.
For any partition σ ∈ Π, we write S ∈ σ to mean that the set S ⊂ M is
a part of the partition σ. Auxiliary variables are denoted zσ , where zσ = 1
if the partition σ is selected and zσ = 0 otherwise. Using them we obtain
formulation (P2).

V (N) = max vj (S)y(S, j)
j∈N S⊆M

s.t. y(S, j) ≤ 1 ∀j ∈ N
S⊆M
 
y(S, j) ≤ zσ ∀S ⊂ M
j∈N σS

zσ ≤ 1
σ∈Π
y(S, j) = 0, 1 ∀S ⊆ M, ∀j ∈ N

This formulation chooses a partition of M and then assigns the sets of the
partition to bidders in such a way as to maximize total valuations. It is easy
to see that formulation (P2) is stronger than (P1): Fix an i ∈ M and add
over all S  i the inequalities
 
y(S, j) ≤ zσ ∀S ⊂ M
j∈N σS

to obtain 
y(S, j) ≤ 1 ∀i ∈ M
Si j∈N

which are the inequalities that appear in the first formulation.


Even (P2) admits fractional solutions in its linear relaxation. The easiest

5
way to see this is to consider the following.

F (z) = max vj (S)y(S, j)
j∈N S⊆M

s.t. y(S, j) ≤ 1 ∀j ∈ N
S⊆M
 
y(S, j) ≤ zσ ∀S ⊂ M
j∈N σS
y(S, j) ≥ 0 ∀S ⊆ M, ∀j ∈ N

F (z) is a concave function of z. Hence



V (N) = max{F (z) : s.t. zσ ≤ 1}.
σ∈Π

Clearly, the optimal choice of z need not occur at an extreme point.


Bikhchandani and Ostroy (2000a) propose an even stronger formulation
that is integral. Furthermore they identify a necessary and sufficient con-
dition for the dual variables to correspond to the Vickrey payoffs. This
formulation we consider next.

2.1 The Bikhchandani and Ostroy formulation


Bikhchandani and Ostroy (2000a) introduce a variable for every feasible in-
teger solution. Let µ denote both a partition of the set of objects and an
assignment of the elements of the partition to bidders. Thus µ and µ can
give rise to the same partition, but to different assignments of the parts to
bidders. Let Γ denote the set of all such partition-assignment pairs. We will
write S j ∈ µ to mean that under µ, agent j receives the set S. Let δµ = 1
if the partition-assignment pair µ ∈ Γ is selected, and zero otherwise. Using
these new variables the efficient allocation can be found by solving
 
 
V (N) = max  vj (S j ) δµ
µ∈Γ j∈N S j ∈µ

s.t. δµ ≤ 1
µ∈Γ
δµ ≥ 0 ∀µ ∈ Γ

6
This formulation involves one constraint and so gives rise to one dual
variable only. Hence it is not detailed enough to provide information about
the marginal products of each of the bidders. What is needed is a disaggregate
formulation that allows one to track the effect of removing or adding a bidder.
Here is the one proposed by Bikhchandani and Ostroy (2000a), which we
call (P3).

V (N) = max vj (S)y(S, j)
j∈N S⊆M

s.t. y(S, j) ≤ δµ ∀j ∈ N, ∀S ⊆ M
µS j

y(S, j) ≤ 1 ∀j ∈ N
S⊆M

δµ ≤ 1
µ∈Γ
y(S, j) = 0, 1 ∀S ⊆ M, ∀j ∈ N

A straightforward argument shows that the formulation has the integrality


property.
The significance of this 
formulation is that the dual variable associated
with the second constraint, S⊆M y(S, j) ≤ 1, can be interpreted as agent j’s
marginal product. To see why, for an agent j ∈ N, reduce the right hand
side of the corresponding constraint to zero. This has the effect of removing
agent j from the problem. The resulting change in optimal objective function
value will be agent j’s marginal product.
The difficulty is to ensure that a dual solution exists such that, simulta-
neously, each dual variable associated with that type of constraint takes on
the value of the corresponding agent’s marginal product. Bikhchandani and
Ostroy (2000a) derive the following necessary and sufficient condition for this
to be realized.

V (N) − V (K) ≥ [V (N) − V (N \ j)] ∀K ⊆ N. (1)
j∈N \K

They interpret this condition to mean “agents are substitutes.”


This condition formalizes the notion that the contribution (i.e., marginal
product) of a group of agents is more than the sum of the contributions of the
individual members of the group. Such a condition motivates, for example,

7
the idea that workers are better-off forming a union rather than bargaining
separately with management.
 To write down the dual, we associate with each constraint y(S, j) ≤
µS j δµ a variable pj (S) ≥ 0 which can beinterpreted as the price that
agent j pays for the set S. To each constraint S⊆M y(S, j) ≤ 1 we associate
a variable  πj ≥ 0 which can be interpreted as agent j’s surplus. To the
constraint µ∈Γ δµ ≤ 1 we associate the variable π s which can be interpreted
as the seller’s surplus. The dual (DP3) becomes

min πj + π s
j∈N
s.t. pj (S) + πj ≥ vj (S) ∀j ∈ N, ∀S ⊆ M

− pj (S) + π s ≥ 0 ∀µ ∈ Γ
S j ∈µ
pj (S) ≥ 0 ∀j ∈ N, ∀S ⊆ M
Theorem 1 Suppose the “agents are substitutes” condition (1) holds. Then
there exists an optimal solution to (DP3), ((πj ), π s ), where πj = V (N) −
V (N \ j) for all j ∈ N. That is, agent j’s surplus, πj , is agent j’s marginal
product. The converse is also true.
Proof Set πj = V (N) − V (N \ j) for all j ∈ N. By setting
pj (S) = [vj (S) − πj ]+ ∀S ⊆ M, ∀j ∈ N

π s = max pj (S)
µ∈Γ
S j ∈µ

we obtain a feasible solution to the dual. Let µ∗ be the partition-assignment


pair that defines π s above. The objective function value of our feasible dual
solution is  
πj + [vj (S j ) − πj ]+ .
j∈N S j ∈µ∗

To obtain a contradiction suppose that


 
πj + [vj (S j ) − πj ]+ > V (N).
j∈N S j ∈µ∗

Let K = {j : [vj (S j ) − πj ]+ > 0}. Then the previous inequality becomes


  
πj − πj + vj (S j ) > V (N).
j∈N j∈K j∈K

8

Since j∈K vj (S j ) ≤ V (K), the last inequality implies

V (N) − V (K) < [V (N) − V (N \ j)],
j∈N \K

which is a violation of the substitutes condition. Running the argument in


reverse yields the equivalence.

2.2 A new formulation


Here we give a new formulation that uses fewer variables than the Bikhchan-
dani and Ostroy formulation. It consists of a collection of assignment prob-
lems linked together by two classes of constraints.
As before, let Π be the set of partitions of M. For any partition σ ∈ Π,
S ∈ σ means that S ⊂ M is a part of the partition σ. Let zσ = 1 if the
partition σ is selected and zero otherwise. Set y σ (S, j) = 1 to mean that
partition σ is selected and S ∈ σ is assigned to agent j, and set it equal to
zero otherwise. We call this formulation (P4).

V (N) = max vj (S)y σ (S, j)
σ∈Π S∈σ j∈N

s.t. y (S, j) ≤ zσ
σ
∀j ∈ N, ∀σ ∈ Π
S∈σ

y σ (S, j) ≤ zσ ∀S ∈ σ, ∀σ ∈ Π
j∈N

zσ ≤ 1
σ∈Π

y σ (S, j) ≤ 1 ∀j ∈ N
σ∈Π S∈σ
y (S, j) ≥ 0 ∀S ∈ σ, ∀j ∈ N
σ

zσ ≥ 0 ∀σ ∈ Π
 
The constraints σ∈Π S∈σ y σ (S, j) ≤ 1 are redundant. Their dual, how-
ever, corresponds to agent j’s marginal product.

Theorem 2 Formulation (P4) has an optimal integral solution.

9
Proof In what follows we ignore the redundant constraint. Let

G(zσ ) = max vj (S)y σ (S, j)
S∈σ j∈N

s.t. y σ (S, j) ≤ zσ ∀j ∈ N
S∈σ

y σ (S, j) ≤ zσ ∀S ∈ σ
j∈N
y (S, j) ≥ 0 ∀S ∈ σ, ∀j ∈ N
σ

Notice that each G(zσ ) is the optimal objective function value of an assign-
ment problem with all right hand sides being some number zσ . Then

V (N) = max G(zσ )
σ∈Π

s.t. zσ ≤ 1
σ∈Π
0 ≤ zσ ≤ 1 ∀σ ∈ Π
Observe that G(zσ ) is linear in zσ . Thus the optimal solution will have zσ
being integral.

We now formulate the dual to (P4) and call it (DP4). Let uσj ≥ 0 be the
dual variables associated with the constraints

y σ (S, j) ≤ zσ ∀j ∈ N.
S∈σ

Let wSσ ≥ 0 be the dual variables associated with the constraints:



y σ (S, j) ≤ zσ ∀S ∈ σ.
j∈N

Let π s ≥ 0 be the dual variable associated with the constraint



zσ ≤ 1.
σ∈Π

Let πj ≥ 0 be the dual variable associated with the constraint



y σ (S, j) ≤ 1 ∀j ∈ N.
σ∈Π S∈σ

10
With these variables, (DP4) is

V (N) = min πj + π s
j∈N
 
s.t. π ≥
s
wSσ + uσj ∀σ ∈ Π
S∈σ j∈N
πj + uσj + wSσ ≥ vj (S) ∀j ∈ N, ∀S ∈ σ
πj , uσj , wSσ , π s ≥ 0 ∀j ∈ N, ∀S ∈ σ, ∀σ ∈ Π

The analogous result to Theorem 1 is the following.

Theorem 3 Suppose the “agents are substitutes” condition (1) holds. Then
there exists an optimal solution to (DP4), ((πj ), π s ), where πj = V (N) −
V (N \ j) for all j ∈ N. The converse is also true.

Proof Set πj = V (N) − V (N \ j) for all j ∈ N, and for each σ ∈ Π, choose


uσ and w σ so as to solve:
 
min uσj + wSσ
j∈N S∈σ

s.t. uσj + wSσ ≥ [vj (S) − πj ]+ = vj (S)

This is just the dual to the following assignment problem:



H(σ) = max vj (S)y(S, j)
j∈N S∈σ

s.t. y (S, j) ≤ 1 ∀j ∈ N
σ

S∈σ

y σ (S, j) ≤ 1 ∀S ∈ σ
j∈N
0 ≤ y σ (S, j) ∀S ∈ σ, ∀j ∈ N

Set π s = maxσ∈Π H(σ). Let the maximum be attained on the partition


σ ∗ . Then the objective function value of (DP4) is

πj + H(σ ∗ ).
j∈N

11
For a contradiction, assume that

πj + H(σ ∗ ) > V (N).
j∈N

In the partition σ ∗ let K be the set of agents who receive an element of σ ∗


as specified in H(σ ∗ ). Let S j be the element assigned to agent j. Then
     
V (N) < πj + vj (S j ) = πj + vj (S j )− πj ≤ V (K)+ πj ,
j∈N j∈K j∈N j∈K j∈K j∈N \K

which violates the substitutes condition.


To prove the converse, if the partition-assignment pairµ contains the
partition σ, we write µ ∈ σ. Let pσj (S) ≡ uσj +wSσ , and P σ ≡ S j ∈µ,µ∈σ pσj (S).
Thus, we may write (DP4) as:

V (N) = min πj + π s
j∈N
s.t. π − P ≥ 0 ∀σ ∈ Π
s σ

πj + pσj (S) ≥ vj (S) ∀j ∈ N, ∀S ∈ σ, ∀σ ∈ Π


πj , uσj , wSσ ≥ 0 ∀j ∈ N, ∀S ∈ σ, ∀σ ∈ Π

Let (πj , π s , pσj (S)) be a feasible solution to (DP4), and define pj (S) ≡
minσ pσj (S). Clearly, (πj , π s , pj (S)) satisfies the buyer maximization con-
straints in (DP3); the satisfaction of the seller maximization constraints in
(DP3) follows from the fact that for any µ ∈ σ, P ≥ S j ∈µ pj (S). Hence
σ

the feasible region of (DP4) is a subset of the feasible region of (DP3).


Thus by Theorem 1, if agents are not substitutes then there does not
exist a (DP4) optimal solution which gives each buyer his marginal product.

It is interesting to observe that the dual variables in (DP3) can be related


to the ones in (DP4) by setting

pj (S) = min(uσj + wSσ ).


σ∈Π

This allows us to break the agents’ payments into a non-anonymous compo-


nent uσj and a non-linear component wSσ .

12
2.3 On accelerated computation
In order to compute the marginal products of agents using (P4), we would
have to solve two optimization problems. The first is (P4) itself to determine
V (N). The second is

max πj
j∈N

s.t. V (N) = πj + π s
j∈N
 
πs ≥ wSσ + uσj ∀σ ∈ Π
S∈σ j∈N
πj + uσj + wSσ ≥ vj (S) ∀j ∈ S, ∀S ∈ σ
πj , uσj , wSσ , π s ≥ 0 ∀j ∈ N, ∀S ∈ σ, ∀σ ∈ Π

In
 words, among all optimal solutions to (DP4) find the one that maximizes
j∈N πj .
With some prior knowledge about the range of valuations, one can reduce
the computation to a single optimization problem. Standard arguments from
linear programming show that there must be  > 0 sufficiently small such
that the optimal solution to the previous linear program coincides with the
following one.

min πj + (1 + )π s
j∈N
 
s.t. π s ≥ wSσ + uσj ∀σ ∈ Π
S∈σ j∈N
πj + uσj + wSσ ≥ vj (S) ∀j ∈ S, ∀S ∈ σ
πj , uσj , wSσ , π s ≥ 0 ∀j ∈ N, ∀S ∈ σ, ∀σ ∈ Π

3 Heterogeneous goods, unit demand


The first special case we consider is when each agent is interested in at most
one object. It is well known that in this case the “agents are substitutes”
condition (1) holds. Following formulation (P4), this means that there is
only one partition of the set M of objects that needs to be considered. (P4)
thus reduces to an assignment problem.

13
To fix notation, let vij ≥ 0 be the value that agent j ∈ N assigns to object
i ∈ M. By adding dummy objects of zero value to all agents, we can always
ensure that |M| ≥ |N|. To formulate the problem of finding an efficient
allocation let xij = 1 if agent j is allocated object i and zero otherwise.

max vij xij
j∈N i∈M

s.t. xij ≤ 1 ∀i ∈ M
j∈N

xij ≤ 1 ∀j ∈ N
i∈M
xij ≥ 0

This, of course, is the well known assignment problem in which the linear
program has all integral extreme points. The dual to it is:
 
min uj + wi
j∈N i∈M
s.t. uj + wi ≥ vij ∀j ∈ N, ∀i ∈ M
uj , wi ≥ 0 ∀j ∈ N, ∀i ∈ M

In Leonard (1983) itis shown that among all optimal dual solutions, the
one that maximizes j∈N uj yields the Vickrey payments. Specifically uj is
the marginal product of agent j. If one thinks about the definition of dual
variables as the change in objective function value from a small change in
the right hand side of the relevant constraint, then this should come as no
surprise in the unit demand setting. Outside this setting, it need not be true.
If we interpret wi as the price of object i, we see that the price an agent pays
for the object is anonymous; that is, it depends on the object alone. Given
the form of (DP4), this is to be expected.
More interesting is that a particular implementation of the primal-dual
algorithm for solving the assignment problem—one which finds, among op-
timal dual solutions, the one that maximizes total bidder surplus—produces
an ascending auction that duplicates the outcome of the sealed bid Vickrey
auction. Further, it is a Nash equilibrium for players to bid truthfully in
each round of the auction. Such an auction was first proposed by Crawford
and Knoer (1981) under the assumption that bidders have strict preferences
(that is, no bidder is indifferent between any two objects). When the strict

14
preference condition is dropped, the Crawford and Knoer auction/algorithm
can be made to produce an outcome arbitrarily close to the optimal solution
of the assignment by choosing a tie-breaking parameter to be sufficiently
small. Here we describe a version of the Crawford–Knoer algorithm due to
Demange, Gale and Sotomayor (1986) that sidesteps the tie-breaking issues.
First we review the primal-dual algorithm for the assignment problem.
Fix nonnegative (wi )i∈M ≥ 0 and choose u so that uj = maxi [vij −wi ]+ for j ∈
N. The resulting choice produces a feasible dual solution. We can interpret
w as the price vector of objects and u as the vector of maximum profits that
bidders achieve at the current prices. For each agent j let Dj (w) = {i :
[vij − wi ]+ = uj }. Thus Dj (w) is the set of objects that maximize agent j’s
payoff at the current prices w.
Assuming the current feasible dual solution were optimal, we could deter-
mine a primal solution by enforcing the complementary slackness conditions.
Thus an agent j and an object i such that i ∈ Dj (w), i.e., uj + wi > vij would
require that xij = 0. Hence the only variables, xij in the primal that can be
set to 1 are those for which uj + wi = vij , i.e., i ∈ Dj (w). The next step is to
use only these variables to assign as many objects to agents so that no agent
gets more than one object and no object is assigned to more than one agent.
This auxiliary optimization problem, sometimes called the restricted primal
(RP), is:
 
max xij
j∈N i∈Dj (w)

s.t. xij ≤ 1 ∀i ∈ M
j∈N : i∈Dj (w)

xij ≤ 1 ∀j ∈ N
i∈Dj (w)
xij ≥ 0

The optimal solution to the restricted primal will either find an as-
signment in which all agents receive exactly one object or prove that no
such assignment exists. In the first case, stop; the optimal solution has
been found. In the second case, when no such assignment exists (assum-
ing the appropriate solution algorithm is used), a set S of objects such that
|S| < |{j : Dj (w) ⊆ S}| will be found. The set S is called an overde-
manded set. The existence of such a set is proven by Demange, Gale, and

15
Sotomayor (1986) via Hall’s Marriage Theorem. It can be derived from the
dual of the restricted primal.
The optimal dual solution of the restricted primal determines the “direc-
tion” in which the current dual solution should be adjusted. If (u, w) is the
current dual solution and (u, w  ) is the optimal solution to the dual of the
restricted primal, then the adjusted dual solution for the next iteration is
(u, w) + θ(u, w  ), where θ > 0 is a user-specified step size. In the case of the
assignment problem, each wi ∈ S is increased by θ > 0 (suitably chosen) and
each uj is then recomputed.
Different primal-dual algorithms differ by the choice of the overdemanded
set used and how the dual variables are adjusted. Since we want the dual
variables to yield the Vickrey payoffs, we need to ensure that a particular
optimal dual solution is produced. We need the  optimal dual solution with
the largest j∈N uj or, equivalently, smallest i∈M wi . This can be done by
choosing, at each iteration, a minimal overdemanded set.
Since such algorithms will appear in subsequent sections, it will be useful
to provide a high level description. Algorithm 1 is from Papadimitriou and
Steiglitz (1982).
We now describe the auction. Suppose that bidders valuations are inte-
gral.5 The auction proceeds in rounds. At the start of round t, let pti be the
current price of object i. We set p0i = 0 for all i ∈ M. At the beginning of
the round each bidder is asked to name all their ‘favorite objects’, i.e., the
set arg maxi [vij − pti ]. Bidders whose favorite objects yield negative payoff
leave the auction.
Let B t be a bipartite graph with a node for each remaining bidder and
one for each object. Insert edges between a bidder and an object that is
her favorite. If the graph has a matching such that every bidder is assigned
to exactly one object and no object is assigned to more than one bidder,
stop. The assignment is made at the price pt . If no such matching exists,
there is, by Hall’s Marriage theorem, a subset B of bidders such that |B| >
|N(B)| where N(B) is the set of neighbors of B. The set N(B) is called an
overdemanded set of objects. From among all overdemanded sets, choose one
that is minimal. Raise the price on all objects in that set by $1, terminating
round t of the auction.
It is clear that if bidders bid truthfully in each round, the auction will
mimic the primal-dual algorithm for the assignment problem. In fact, it is
5
A standard scaling argument will take care of the non-integral case.

16
Algorithm 1 The Primal-Dual Algorithm (Papadimitriou & Steiglitz)
1: infeasible←‘no’
2: opt←‘no’
3: start with a dual feasible solution
4: while infeasible= ‘no’ and opt=‘no’ do
5: J←indices of dual inequalities fulfilled with equality
6: solve the restricted primal (RP)
7: if opt of (RP) = 0 then
8: opt←‘yes’
9: else
10: solve the dual of the restricted primal
11: if the product of the solution with each column of the primal con-
straint matrix is nonpositive then
12: infeasible←‘yes’
13: else
14: update the dual solution
15: end if
16: end if
17: end while

a Nash equilibrium for the bidders to bid truthfully in each round. The
intuition for this fact can be described as follows. Since all other bidders
are bidding truthfully, the only thing a bidder can do in each round is to
prevent prices from increasing. Prices rise only on objects in a minimally
overdemanded set. Thus, to affect a price rise, an agent’s favorite objects
(at the current price) must lie in this overdemanded set. The only way the
agent can prevent prices rising on objects in this set is by reducing his own
demand for objects in this set, thereby making the agent worse-off.

4 Heterogeneous goods, gross substitutes


Gul and Stacchetti (2000) have proposed an algorithm that generalizes the
auction procedure of Demange, Gale, and Sotomayor (1986) to environments
in which bidders have preferences over subsets of items. It is a primal-dual
algorithm, but does not share the incentive properties of the Demange, Gale,
and Sotomayor algorithm. It also is a variation of the Kelso and Crawford

17
(1982) algorithm that sidesteps tie-breaking issues when agents are indifferent
between utility maximizing bundles of objects.
In this set-up, agents have preferences over subsets of heterogeneous ob-
jects. The value that bidder j assigns to the set S ⊂ M of objects is vj (S).
An efficient allocation is a partition σ of the objects among the agents that
maximizes the sum of values, i.e., problem (P1).
As in Kelso and Crawford (1982), Gul and Stacchetti (2000) impose two
conditions on agent’s value functions to ensure that the linear relaxation
of (P1) has an optimal integer solution. They then provide a primal-dual
algorithm for the optimization problem and give it an auction interpretation.
To describe these two properties we need some notation.
Given a vector of prices p on objects let the collection of subsets of objects
that maximize bidder j’s utility be denoted Dj (p), defined as follows.
 
Dj (p) = {S ⊂ M : vj (S) − pi ≥ vj (T ) − pi ∀T ⊂ M}.
i∈S i∈T

Monotonicity: For all j ∈ N and all A ⊂ B ⊂ M, vj (A) ≤ vj (B).

Single improvement:
 For all A∈ Dj (p) there exists B ⊂ M such that
vj (B) − i∈B pi > vj (A) − i∈A pi and |A \ B|, |B \ A| ≤ 1.

Together, these two conditions imply that vj is submodular.


While monotonicity seems to be economically plausible, the single im-
provement property does not. In Gul and Stacchetti (1999), however, it is
shown that the single improvement property (under monotonicity) is equiva-
lent to a property called gross substitutes, which does have economic content.
The gross substitutes property, introduced by Kelso and Crawford (1982),
requires that a demanded object still be demanded if the prices of all other
objects increase.

Gross substitutes: For all price vectors p, p such that p ≥ p, and all
A ∈ Dj (p), there exists B ∈ Dj (p ) such that {i ∈ A : pi = pi } ⊂ B.

These two conditions impose two useful properties on the sets Dj (p). The
first is that
rj (T, p) = min |S ∩ T |
S∈Dj (p)

18
is the dual rank function of a matroid. From this it follows that for any
T ⊂ M and pair of price vectors p ≥ p such that pi = pi for all i ∈ M \ T ,
we have
rj (T, p) ≤ rj (T, p ).
Proofs of both statements can be found in Gul and Stacchetti (2000).
Recall formulation (P1):

V (N) = max vj (S)y(S, j)
j∈N S⊆M

s.t. y(S, j) ≤ 1 ∀i ∈ M
Si j∈N

y(S, j) ≤ 1 ∀j ∈ N
S⊆M
y(S, j) = 0, 1 ∀S ⊆ M, ∀j ∈ N

Relaxing the integrality constraint in (P1) gives



VLP (N) = max vj (S)y(S, j)
j∈N S⊆M

s.t. y(S, j) ≤ 1 ∀i ∈ M
Si j∈N

y(S, j) ≤ 1 ∀j ∈ N
S⊆M
y(S, j) ≥ 0 ∀S ⊆ M, ∀j ∈ N

Theorem 4 When each agent’s value function satisfies monotonicity and


the single improvement property, V (N) = VLP (N).

Proof Let p∗ be an optimal dual solution to the linear relaxation of (P1).


Let
 
   
Vp (N) = max vj (S)y(S, j) − pi y(S, j) + pi
j∈N S⊆M i∈M Si j∈N i∈M

s.t. y(S, j) ≤ 1 ∀j ∈ N
S⊆M
y(S, j) ≥ 0 ∀S ⊆ M, ∀j ∈ N

19
Rewriting the objective function,
 
  
Vp (N) = max vj (S) − pi y(S, j) + pi
j∈N S⊂M i∈S i∈M

s.t. y(S, j) ≤ 1 ∀j ∈ N
S⊆M
y(S, j) ≥ 0 ∀S ⊆ M, ∀j ∈ N

In this problem, if y(S, j) = 1 is part of an optimal solution, then S ∈


Dj (p). By the duality theorem of linear programming, Vp∗ (N) = VLP (N). If
there is a partition of M so that each agent j receives at most one element
of Dj (p), it would follow that (P1) has an optimal integer solution. Suppose
no such partition exists. Given that each rj is a dual rank function of a ma-
troid, it follows from the matroid partition theorem (Edmonds and Fulkerson
(1965)) that there is a T ⊂ M such that

rj (T, p∗ ) > |T |.
j∈N

Choose a new dual solution p such that pi = p∗i for all i ∈ M \T and pi = p∗i +
for all i ∈ T for sufficiently small  > 0. For each j ∈ N, choose B j ⊂ M
such that rj (T, p∗ ) = |B j ∩ T |. Then
 
  
Vp (N)= vj (B j ) − pi + p∗i + |T |
j∈N i∈M i∈M
 
   
= vj (B j ) − p∗i −  |B j ∩ T | + p∗i + |T |
j∈N i∈M j∈N i∈M

=Vp∗ (N) + |T | −  rj (T, p∗ )
j∈N

=Vp∗ − ( rj (T, p∗ ) − |T |) < Vp∗ (N)
j∈N

which contradicts the optimality of p∗ .

The proof suggests a primal-dual algorithm. Fix a price vector p. At


those prices, determine a partition of M that gives to each agent an element

20
of Dj (p). If no such partition exists, find an overdemanded set T , i.e., a set
T such that 
rj (T, p∗ ) > |T |.
j∈N

Particularly, choose a minimal one, according to the algorithm proposed by


Gul and Stacchetti (2000), and raise the price on each object in that set by
 > 0. Assuming sincere bidding at each round, the auction produces, at
termination, minimal Walrasian prices.6 As noted by Gul and Stacchetti,
the auction is not guaranteed to produce Vickrey prices. We now provide an
example to demonstrate.
The example consists of three agents, each of whom may consume at most
two of four given objects. Their valuations for such subsets are additive. Let
N = {1, 2, 3} and M = {a, b, c, d}. The agents value single-object subsets as
shown in Table 1. For |S| = 2, where {i, i } = S, let vj (S) = vj (i) + vj (i ).

Table 1: vj (S) when |S| = 1.

a b c d
1 10 10 10 10
2 4 7 9 8
3 2 2 2 4

For |S| > 2, let vj (S) = max{vj (S  ) : S  ⊂ S, |S  | = 2}.


The efficient allocation is to give objects a and b to agent 1, and the
other two objects to agent 2, i.e., y({a, b}, 1) = 1 and y({c, d}, 2) = 1. For
(pa , pb , pc , pd ) to be a Walrasian price vector supporting this allocation, each
agent must be consuming his most preferred bundle of objects, given these
prices.
This requires many inequalities to hold. In particular, since agent 1 is
consuming b and not c, this requires pb ≤ pc . Since agent 2 consumes d and
not b, this requires pd ≤ pb + 1. Finally, since agent 3 consumes no object,
this requires pa ≥ 2 and pd ≥ 4.
6
Prices are Walrasian for an allocation of objects if, given those prices, each agent is
consuming a set of objects that maximizes his payoff (net of prices). See any standard
microeconomics textbook for a formal definition, and see the example below.

21
Therefore, the minimal Walrasian price vector7 is (2, 3, 3, 4). However,
agent 2’s Vickrey payment is 6 < pc + pd = 7. Therefore, in this example,
the agents’ Vickrey payments cannot be additively decomposed into a vector
of Walrasian prices for the objects.
Recently, Parkes and Ungar (2000) have proposed a primal-dual algorithm
with an auction interpretation for (P3). This allows them to drop the gross
substitutes assumption and determine non-linear, non-anonymous prices that
support an efficient allocation. These are not, however, Vickrey prices.

4.1 Agents are substitutes


Here we show that when all agents’ value functions are monotonic and satisfy
the single improvement property, the substitutes condition (1) holds. This
condition enables us to invoke formulation (P4) to derive the Vickrey prices.
From (DP4) we see that the Vickrey prices cannot be anonymous.
For every subset K of agents, let
  
Vp (K) = max (vj (S) − pi )y(S, j) + pi
j∈K S⊂M i∈S i∈M

s.t. y(S, j) ≤ 1 ∀j ∈ K
S⊆M
y(S, j) ≥ 0 ∀S ⊆ M, ∀j ∈ K.

Vp (K) can be expressed more succinctly as:


  
Vp (K) = max[vj (S) − pi ] + pi
S⊆M
j∈K i∈S i∈M

By the duality theorem of linear programming:

V (K) = min Vp (K).


p≥0

Amongst all p ∈ arg minp≥0 Vp (K) let pK denote the minimal one. From
Gul and Stacchetti (1999) we know that the set arg minp≥0 Vp (K) forms a
complete lattice and a minimal element exists. It is also easy to see that
if K ⊂ T then pK ≤ pT . Associated with each V (K) is a partition of M.
7
The vector is minimal in the sense that every other Walrasian price vector weakly
dominates this one.

22
Denote by SjK the subset of objects that agent j receives in this partition,
i.e., y(SjK , j) = 1.
For each k ∈ N we have
  N \k  N \k
V (N \ k) = VpN\k (N \ k) ≥ [vj (SjN ) − pi ] + pi
j∈N \k i∈SjN i∈M
  N \k
= vj (SjN ) + pi
j∈N \k i∈SkN

Hence
   N \k
 N \k
V (N)−V (N \k) ≤ vj (SjN )− vj (SjN )− pi = vk (SkN )− pi .
j∈N j∈N \k i∈SkN i∈SkN

Let p be a price vector such that

pi = pN
i ∀i ∈ SjN
j∈K

and
N \k
pi = pi ∀i ∈ SkN , ∀k ∈ N \ K.
Then
  
V (K) = VpK (K) ≤ Vp (K) = max[vj (S) − pN
i ]+ pi
S⊆M
j∈K i∈S i∈M
   N \k
= vj (SjN ) + pi
j∈K k∈N \K i∈SjN

Therefore,
   N \k

V (N) − V (K) ≥ vj (SjN ) − pi ≥ [V (N) − V (N \ k)].
j∈N \K k∈N \K i∈SjN k∈N \K

5 Spanning trees
Let G = (V, E) be a complete graph with vertex set V and edge set E. Each
edge of the graph is owned by some agent. Denote by Ej the set of edges
owned by agent j ∈ N, and let EK = j∈K Ej . The cost of using an edge

23
e ∈ E is ce . An efficient allocation is a set of edges that span the graph with
minimal total cost.
Let T denote the minimum spanning tree (MST) and let L denote its

length. For any subset E  ⊂ E of edges, let T −E ⊂ E \ E  be the MST that

does not use any edge in E  ; denote its length by L−E , which by convention
is equal to ∞ if there is no spanning tree after deleting edges in E  .
For the remainder of our discussion on spanning trees, we assume that no
agent owns a cut; that is, for each agent i ∈ N, we assume that L−Ei < ∞.
We show that with this assumption in this model, agents are substitutes.

Theorem 5 In the minimum spanning tree problem, the “agents are substi-
tutes” condition (1) holds (when no agent owns a cut): For all K ⊂ N,

L−EK − L ≥ [L−Ei − L].
i∈K

Proof A sufficient condition for the “agents are substitutes” condition to


hold is that an agent’s marginal contribution to coalitions is monotonically
decreasing as the coalition increases. In other words, for the MST problem,
it is sufficient to show that for all K ⊂ K  ⊆ N and all i ∈ K  ,

L−EK∪i − L−EK ≤ L−EK ∪i − L−EK .

By applying this monotonicity condition to a telescoping sum, the substitutes


condition is proven.
In turn, the following condition, which we prove, implies the above mono-
tonicity condition.

∀a = e ∈ E, L−a,e − L−e ≥ L−a − L

This condition says that as other edges are removed from a graph, the
marginal value of a given edge increases.
If either L−a = L or L−e = L, we are done. Otherwise, there exist
b, b , f, f  ∈ E such that


T −a = (T \ a) ∪ b T −e = (T \ e) ∪ f
T −ae = (T −e \ a) ∪ b T −ae = (T −a \ e) ∪ f 
Note that {b, b , f, f  } ⊂ T −ae . Therefore, if b = f , then T −ae = T \ {a, e} ∪
{b, f }, and L−a,e − L−e = L−a − L. Otherwise, if b = f , then b ∈ T −e , so
b = b. Similarly, f  = f . Therefore b = f  .

24
What we are trying to show from the above inequality is

(L−a − ce + cf  ) − (L − ce + cf ) ≥ L−a − L

which is equivalent to cf  ≥ cf . Since cb = cf and cb = cf  , it is clear that


cf  ≥ cf , otherwise either T −a or T −e would not have been minimal.

5.1 Agents own one edge


There are many ways to formulate the problem of finding a minimum cost
spanning tree as a linear program. In fact we could use formulations (P3) or
(P4) directly. Instead we use a standard “covering” formulation for the case
when |Ej | = 1. This allows us to extend the arguments made here to the
more general case of matroids.
For each subset of vertices S ⊂ V , let δ(S) ⊂ E be the set of edges with
exactly one endpoint in S. Set xe = 1 if edge e ∈ E is selected and zero
otherwise.

min ce xe
e∈E

s.t. xe ≥ 1 ∀S ⊂ V
e∈δ(S)

xe = |V | − 1
e∈E
0 ≤ xe ≤ 1 ∀e ∈ E

Actually, the constraint xe ≤ 1 is redundant, but its dual will yield agent e’s
marginal product. It is well known that this formulation is integral.
Let λe be the dual variable associated
 with the constraint xe ≤ 1, and µS
the dual variable associated with e∈δ(S) xe ≥ 1. Let µ be the dual variable

25

associated with e∈E xe = |V | − 1. The dual problem is
 
max − λe + (|V | − 1)µ + µS
e∈E S⊂V

s.t. −λe + µ + µ S ≤ ce ∀e ∈ E
δ(S)e
λe ≥ 0 ∀e ∈ E
µS ≥ 0 ∀S ⊂ V

As before let T be the minimum spanning tree. If e ∈ T set λe = 0. If


e ∈ T set λe = cfe − ce where fe is the shortest edge such that T ∪ fe contains
a cycle through e. Clearly, each λe is agent e’s marginal product. For this
choice of λe we must show that we can choose µ and µS to be dual feasible
and to yield an objective function value equal to the length of the minimum
spanning tree.
Substituting in the value of λe we have specified into the dual and drop-
ping the part − e∈E λe from the objective function yields

max (|V | − 1)µ + µS
S⊂V

s.t. µ + µ S ≤ ce ∀e ∈ T
δ(S)e

µ+ µ S ≤ cf e ∀e ∈ T
δ(S)e
µS ≥ 0 ∀S ⊂ V

This is the dual to the problem of finding a minimum spanning tree in the
original graph whose edge weights have been modified. Each edge e ∈ T has
had its weight increased to cfe . The
 length of the minimum spanning tree in
this modified graph is of course e∈T cfe .
Hence the optimal values of µ and µS from the second dual program
combined with our choice of λe form a feasible solution to the original dual
problem. The value of this dual solution is:
  
− (cfe − ce ) + cf e = ce .
e∈T e∈T e∈T

26
That is, it coincides with the optimal value of the primal.
A primal-dual algorithm for this formulation requires that at each iter-
ation, prices on δ(S) be announced. These can be interpreted as prices for
inserting an edge with one endpoint in S and another in V \ S. Roughly
speaking, the auctioneer runs a second price auction on each bipartition of
vertices. This observation allows us to derive from the primal-dual algorithm
a descending auction (since we are in a procurement setting) to implement
the Vickrey outcome. We omit a description of the primal-dual algorithm
and proceed directly to the auction.
To run the auction, we first set the offered price on each edge at some
large number P . Each agent is to announce whether they are willing to offer
their edge at that price. Now, we begin to drop the price. As the price
drops, agents withdraw their edges when they become unprofitable at the
given price, reducing the connectivity of the graph. When the connectivity
of the graph drops to 1, the auction pauses, and the agent who owns the
critical edge is given the price at which the auction has paused for that edge.
That edge is not removed for the duration of the auction, and is committed
to being a part of the final tree. Now restart the auction, pausing at the next
critical edge whose removal would disconnect the graph, and so on, making
a payment and committing an edge at each pause. The auction ends when a
tree has been completed.

5.2 Agents own multiple edges


We now give  a formulation for the case in which |Ej | ≥ 1. For each F ⊆ Ej ,
set cj (F ) = e∈F ce . For each j ∈ N and F ⊆ Ej , set yj (F ) = 1 if F
is selected to be in a MST and zero otherwise. The formulation, which we

27
denote (TP), is
 
min cj (F )yj (F )
j∈N F ⊆Ej
 
s.t. yj (F ) ≥ 1 ∀S ⊂ V (S = ∅)
j∈N F ⊆Ej : δ(S)∩F =∅
 
|F |yj (F ) = |V | − 1
j∈N F ⊆Ej

− yj (F ) ≥ −1 ∀j ∈ N
F ⊂Ej

yj (F ) ≥ 0 ∀j ∈ N, ∀F ⊆ Ej

The first constraint ensures that the tree spans the graph; the second
says that exactly |V | − 1 edges are used (so this could be weakened to an
inequality); the third says that each agent supplies at most one subset of
edges, F .
We will show that this formulation has an optimal integralsolution. In
addition, the dual variable corresponding to the constraint − j∈N yj (F ) ≥
−1 yields agent j’s marginal product.

Theorem 6 Formulation (TP) has an optimal integral solution.

Proof Let y denote an optimal extreme (possibly fractional) solution to


(TP). For each agent j and edge e ∈ Ej , set

ze = yj (F ).
F ⊆Ej

We will show that z is a feasible solution to the following system:



xe ≥ 1 ∀S ⊂ V
e∈δ(S)

xe = |V | − 1
e∈E
0 ≤ xe ∀e ∈ E

which we know to have integral extreme points. Furthermore, since we will


prove that each vertex of the latter formulation has an integral preimage

28
in the previous formulation, we conclude that the latter formulation is a
projection of the earlier formulation. Given an integral solution x∗ to this
system, we can construct an integral solution y ∗ to (TP). Let Gj = {e ∈
Ej : x∗e = 1}. For all j ∈ N, set yj∗(Gj ) = 1 and yj∗ (F ) = 0 for F = Gj .

Observe that e ce xe = j∈N cj (Gj )yj (Gj ), i.e. both solutions have the
same objective function value.
Clearly ze ≥ 0. Also,
    
ze = yj (F ) = |F |yj (F ) = |V | − 1.
e j∈N e∈Ej F ⊆Ej :e∈F j∈N F ⊆Ej

Next,
   
ze = yj (F )
e∈δ(S) j∈N e∈Ej ∩δ(S) F ⊆Ej :e∈F
 
= yj (F ) ≥ 1.
j∈N F ⊆Ej :F ∩δ(S)=∅

Notice also that


  
cj (F )yj (F ) = ce ze .
j∈N F ⊆Ej e

Hence, if ze is integral we are done. If not, we can express ze as a convex


combination of integral points of the second formulation. But each of these
corresponds in turn to an integral point of (TP). Thus, y can be expressed
as a convex combination of extreme points of (TP), a contradiction.

The dual to the formulation (TP) is


 
max µS + (|V | − 1)µ − λj
S⊂V j∈N

s.t. |δ(S) ∩ F |µS + |F |µ − λj ≤ cj (F ) ∀F ⊆ Ej
F ⊆Ej : δ(S)∩F =∅
µS ≥ 0 ∀S ⊂ V
λj ≥ 0 ∀j ∈ N

As before, T denotes the MST, and T −Ej is the MST subject to the
constraint that no edges in Ej are used. Let F j = T ∩ Ej be the set of edges

29
owned by agent j in a MST. Observe that |F j | = |T −Ej \ T |, i.e., when edges
are deleted from possible use, they are replaced on a one-for-one basis. Let
 

λj =  ce  − cj (F j ).
e∈T −Ej \T

Notice this is agent j’s marginal product.


Order the edges in F j by increasing cost: e1 , e2 , . . . , et for some t. Do the
same with edges in T −Ej \ T : e1 , e2 , . . . , et . It is easy to check that cei ≤ cei
for 1 ≤ i ≤ t. Also T ∪ei has a cycle that goes through ei and ei . Suppose we
modify the costs of the edges by increasing the cost of each ei to cei . Then T
will still be a minimum spanning tree with respect to the modified weights.
Let c denote the vector of modified costs.
Substituting the value for λ into the dual yields
 
− λj + max µS + (|V | − 1)µ
j∈N S⊂V

|δ(S) ∪ F |µS + |F |µ ≤ λj + cj (F ) ∀F ⊆ Ej
F ⊆Ej : δ(S)∩F =∅
µS ≥ 0 ∀S ⊂ V

It suffices to show thatwe can find a feasible solution to the dual with
objective function value e∈T ce . By the previous theorem this dual solution
must be optimal.
Notice that any feasible solution to

|δ(S) ∪ F |µS + |F |µ ≤ cj (F ) ∀F ⊆ Ej
F ⊆Ej : δ(S)∩F =∅
µS ≥ 0 ∀S ⊂ V

is a feasible solution to the dual because


 

λj + cj (F ) =  ce  − cj (F j ) + cj (F )
e∈T −Ej \T
 

= ce  − cj (F j \ F ) + cj (F \ F j ) ≥ c (F ).
e∈T −Ej \T

30
However, this second system is the dual to the minimum spanning tree prob-
lem with respect to the cost vector c . Thus this
 second  systemadmits a
feasible solution with objective function value e∈T ce = j∈N e∈F −j ce .
Substituting these variables into the original dual system gives us a solution
with objective function value
   
− λj + ce = ce .
j∈N j∈N e∈F −j e∈T

By the previous theorem this dual solution must be optimal.

5.3 Matroids
The problem of finding a minimum weight spanning tree is a special case
of the problem of finding a minimum/maximum weight basis in a matroid.8
Here we outline how the descending auction can easily be adapted to the
matroid case.
Let E be the ground set and E r the subset of E owned by agent r. For
each e ∈ E let we be the weight of e known only to the agent who owns that
element. Let I be the family of independent subsets of E. The pair (E, I)
forms a matroid.
Now we describe the auction. Start with a high ‘offer’ price for all ele-
ments. Agents announce which elements they are prepared to offer at the
current price. These are called active elements. Now drop the price. As
the price drops, agents withdraw some elements. Meanwhile, the auctioneer
checks that for any agent, a basis is contained in the set of active elements
not belonging to that agent.
Consider the instant this condition is violated. Let j be the agent, p
the current price and Eaj the currently active set of elements belonging to
agent j. Let M be any minimal subset of Eaj whose removal from the set of
all active edges would eliminate the existence of a basis. From the matroid
property, all such sets have the same cardinality. The auctioneer pays |M|p
to agent j, and agent j chooses which subset of size |M| from Eaj to proffer.
The price on these elements is fixed at p for the remainder of the auction,
and the auction continues.
If the goal is to find a maximum weight basis, then start with a low price
and raise it. The rest of the auction works as before.
8
This section assumes familiarity with matroid theory. Gul and Stacchetti (2000) also
make an appeal to matroid theory.

31
Consider now an auction where K identical units must be auctioned off
to n bidders. The value that bidder j assigns to their ith unit is vji . We
assume that vji ≥ vji+1 , indicating that bidders have diminishing marginal
utilities. The problem of finding an efficient allocation can be formulated as
the problem of finding a maximum weight basis.
For each bidder j we introduce K elements, j 1 , j 2 , . . . , j K with weights
vj1 , vj2 , . . . , vjK . Let E be the collection of all such elements. Let I be the
collection of all subsets of size at most K. It is easy to see that (E, I) is a
matroid. In this case the ascending auction coincides with Ausubel’s (1997)
ascending auction for homogeneous products.

6 Shortest paths
Let G = (V, E) be a directed graph with vertex set V and edge set E. Specify
a source node s ∈ V and sink node t ∈ V . Each edge e ∈ E has a cost ce .
In what follows, we sometimes refer to an edge e as a pair of vertices (i, j)
where e is directed from i to j. The efficient allocation is the s–t path of
minimal total cost, i.e., the shortest path.
Using the results of Hoffman and Markowitz (1963), we can convert the
shortest path problem into an assignment problem. Replace each vertex
i ∈ V by two vertices i and i . Replace each directed edge (i, j) by two
directed edges: (i, j  ) with cost cij , and (i, i ) with cost zero. Delete vertices
s and t from this extended network. An optimal assignment in this new
graph corresponds to a shortest path in the original one, and vice versa.
Given this correspondence, it is tempting to think that one can apply the
methods of Demange, Gale, and Sotomayor (1986) to this problem; unfortu-
nately one cannot. Even if each agent is associated with only a single edge,
each agent appears on both sides of this assignment problem.
To be precise about the ownership structure, each agent j owns a set of
edges E j . The interesting cases are those in which the following no-monopoly
condition holds, which we now assume: no agent owns a cut that disconnects
s from t.
In this model, the substitutes condition (1) need not hold. To illustrate
the complementarities of agents, we give an example even for the case in
which each s–t path uses at most one edge belonging to any particular agent.
The example involves three edges and three agents. To each directed edge in
Figure 1 is associated an agent–cost pair (e.g., agent A’s edge has a cost of

32
}

✒ ❅

(A,1) ❅(B,1)




s } (C,5) ✲ }t

Figure 1: A shortest path problem.

1).
Let P ∗ be the shortest s–t path and denote its length by L(P ∗ ). Let P −S
be the shortest s–t path that does not use any edge belonging to an agent
in S ⊂ N, and let L(P −S ) be its length. The substitutes condition (1) is the
requirement

L(P −S ) − L(P ∗ ) ≥ [L(P −j ) − L(P ∗ )] ∀S ⊂ N.
j∈S

For this example L(P ∗ ) = 2. The marginal product of agent A is 5−2 = 3,


which is the same as that of agent B. But for the coalition S = {1, 2},
the marginal product is also 5 − 2 = 3. Since 3 < 3 + 3, the substitutes
condition does not hold. In this shortest path problem, agents A and B are
complements; neither can be on an s–t path without the other.

6.1 Dual variables


While the substitutes condition need not hold in general in the shortest path
environment, there are special cases where it does. One such example is in
Schummer and Vohra (2001). When the substitutes condition holds, one can
ask if there is a linear programming formulation whose dual variables give
rise to agents’ marginal products.9 Here, we describe one such formulation.
To be consistent with the typical notation for this problem, for the re-
mainder of this section we let A denote the set of agents. We assume that
any s–t path uses at most one edge belonging to a particular agent r ∈ A.
To formulate the shortest path problem as a linear program, let N be the
node-arc incidence matrix of the graph; the column of N corresponding with
9
Hershberger and Suri (2001) provide an algorithm for finding Vickrey payments when
valuations are given, even when the substitutes condition does not hold.

33
the edge from vertices i to j contains a −1 in the row corresponding to i, a 1
in the row for j, and a 0 in the other rows. Let xe = 1 if edge e is used, and
zero otherwise. Then the problem is

min ce xe
e∈E
s.t. Nx = b
xe ≥ 0 ∀e ∈ E

xe ≤ 1 ∀r ∈ A
e∈E r

where E r is the set of edges belonging to agent r ∈ A.


Here, b is a column vector defined as bs = −1, bt = 1, and bi = 0 for all
j ∈ V \ {s, t}. The last set of constraints is redundant given the assumption
that any s–t path uses at most one edge belonging to a particular agent.
While redundant, some of them are binding in an optimal solution. This
degeneracy in the primal implies multiple optimal dual solutions. Let P ∗ be
the shortest path (and without loss of generality, assume that it is unique).
We claim that among all optimal dual solutions, there is one where for
each r ∈ A, the dual variable associated with the constraint

xe ≤ 1
e∈E r

is agent r’s marginal product.


To demonstrate this, let q ∈ A be an agent who owns an edge in the
shortest s–t path. To determine q’s marginal product, we need to compute
the length of the shortest s–t path that does not use any edge in E q . Call
this path P −q . Hence agent q’s marginal product is L(P −q ) − L(P ∗ ).
Let

Z(µ) = min ce xe
e∈E
s.t. Nx = b
xe ≥ 0 ∀e ∈ E

xe ≤ 1 ∀r ∈ A \ q
e∈E r

xe ≤ µ
e∈E q

34
Now, Z(t) is piecewise linear in µ. It is easy to see that µ = 1 is a breakpoint.
For µ > 1, the dual variable must be zero.
For µ < 1, consider µ = 1−θ for 0 < θ < 1. The optimal solution involves
a possibly fractional flow of one unit from s to t. By path-flow decomposition
we can write this flow as a sum of flows along s–t paths. It is then easy to
see that 1 − θ units must flow along P ∗ (the shortest path for µ = 1), and the
remaining θ units can flow along path P −q . The remaining θ units cannot
flow on any other path that intersects E q because this would violate the last
constraint.
Hence,
 
Z(µ) = Z(1) − θ[ ce − ce ] = Z(1) + θ[L(P −q ) − L(P ∗ )].
e∈P ∗ e∈P −q

So the change in objective function value is exactly θ times agent q’s marginal
product, demonstrating the claim.
To write down the dual to the shortest path formulation, we associate a
variable νi with each row of Nx = b and λr with each constraint e∈E r xe ≤
1. The dual is

max νt − νs − λr
r∈A
s.t. νj − νi − λr ≤ cij ∀(i, j) ∈ E r
λr ≥ 0 ∀r ∈ A

We prove that when agents are substitutes, there is an optimal solution


to the dual where λr = L(P −r ) − L(P ∗ ) for all r ∈ A. First, observe that for
any choice of λ ≥ 0 we can always find ν to satisfy the dual constraints. In
fact, for each choice of λ, let ν(λ) be the optimal solution to:

max νt − νs
s.t. νj − νi ≤ cij + λr ∀(i, j) ∈ E r

From now on, fix λr = L(P −r ) − L(P ∗ ) for all r ∈ A.


For any s–t path P , let AP denote the set of agents whose edges are
traversed in the path P . Then, for any path P , we have, by summing up the
dual constraints νj − νi − λr ≤ cij for every edge on this path:

νt (λ) − νs (λ) ≤ L(P ) + λr .
r∈AP

35
In fact, because the linear program for ν(λ) corresponds to the dual of a
shortest path problem with costs cij = cij + λr for (i, j) ∈ E r , we know that
there is a shortest path realizing νt (λ) − νs (λ). Hence, we conclude that

νt (λ) − νs (λ) = min{L(P ) + λr }.
P
r∈AP

Weak duality implies that


 
L(P ∗ ) ≥ νt (λ) − νs (λ) − λr = νt (λ) − νs (λ) − λr .
r∈A r∈AP ∗

Thus  
L(P ∗ ) ≥ min{L(P ) + λr } − λr .
P
r∈AP r∈AP ∗

Let S = A \ AP ∗ .
 
min{L(P ) + λr } = L(P −S ) + λr .
P
r∈AP r∈AP −S

Then
  
L(P ∗ ) ≥ L(P −S ) + λr − λr = L(P −S ) − λr ≥ L(P ∗ )
r∈AP −S r∈AP ∗ r∈S

where the last inequality follows from the substitutes condition. Hence,
(ν(λ), λ) constitutes an optimal dual solution.

7 Homogeneous goods
We now turn to the simplest case of K identical indivisible units of a product.
We will consider two cases. In Section 7.1, each bidder wants at most one
unit. In Section 7.2, each bidder may want multiple units.

7.1 Unit demand


Let vj denote bidder j’s value for one unit, and suppose it to be integral.
Given such valuations, we can find the efficient allocation of the K units by
solving a linear program.

36
Let xj = 1 if an object is assigned to bidder j, and 0 otherwise.

V (N) = max vj xj
j∈N

s.t. xj ≤ K
j∈N
0 ≤ xj ≤ 1 ∀j ∈ N

Notice that this LP has all integral extreme points, so the optimal solu-
tion/allocation is integral. This formulation is clearly a special case of (P4).
Without loss of generality, assume that values are in decreasing order so
that vj ≥ vj+1 . The optimal solution is xj = 1 for 1 ≤ j ≤ K and xj = 0 for
j ≥ K + 1.
Let y be the dual variable associated with the first constraint above. The
dual to this LP is:

min µj + Ky
j∈N
s.t. y + µj ≥ vj ∀j ∈ N
y, µj ≥ 0

Complementary slackness requires that y + µj = vj for j = 1, . . . , K.


Given this, it is easy to see that one set of optimal dual variables is y = vK+1 ,
µj = vj − y for 1 ≤ j ≤ K, and µj = 0 for j ≥ K + 1.
Now consider the following auction. Bidders submit bids. Compute the
optimal solution to the primal problem above, and make the assignment
implied by it. Charge each bidder who gets an object the value of y found
above.
The value of y corresponds exactly to the payment prescribedby the
Vickrey auction. To see why, observe that in this case, V (N) = K i=1 vi .
K
Furthermore, V (N \ j) = i=1 vi − vj + vK+1 = V (N) − vj + vK+1 for j ≤ K,
and V (N \ j) = V (N) otherwise. Hence,

V (N) − V (N \ j) = [vj − vK+1 ]+ = [vj − y]+ .

In the dual, we can interpret each binding constraint y +µj = vj as saying


that if bidder j gets an object, then her surplus is µj = vj −y. The particular

37
dual solution we have chosen is the one that maximizes the total surplus to
the bidders:

min y

s.t. µj + Ky = zlp
j∈N
y + µj ≥ vj ∀j ∈ N
y, µj ≥ 0

The ascending auction that generates the same outcome is well known,
and it is an equilibrium for everyone to bid sincerely in each round of that
auction. It will be instructive to show how it arises naturally from a primal-
dual algorithm for the problem.

7.1.1 The primal-dual algorithm for this setting


Here we show how the ascending Vickrey auction arises naturally from a
primal-dual algorithm (see Algorithm 1). Most of the difficulty in describing
the algorithm stems from the possibility of ties, i.e., different agents having
identical valuations.
Without loss of generality, we assume that each bidder has a strictly
positive value for the good. The dual problem is:

min µj + Ky
j∈N
s.t. y + µj ≥ vj ∀j ∈ N
y, µj ≥ 0

Given a value ŷ (initially chosen to equal 0) for y, a feasible dual solution


can be constructed by setting µ̂j = [vj − ŷ]+ . Let I = {j : µ̂j = 0} and
J = {j : µ̂j + ŷ = vj }. The elements of J correspond to bidders with
nonnegative surplus. Note that J ∪ I = N.
Bidders in J \ I have strictly positive surplus, i.e., they strictly want to
buy an object at the current price ŷ. Bidders in J ∩ I are indifferent between
buying at the current price ŷ (with zero surplus) and not buying. Bidders in
I \ J value the items at less than ŷ; they strictly prefer not to buy. In the
auction environment, we would not know the sets I and J, and would have
to rely on the reports of the bidders.

38
If this dual solution were in fact optimal, we know, by complementary
slackness, that for every primal optimal solution x̄,
1. j ∈ I ⇒ x̄j ≤ 1,

2. j ∈
/ I ⇒ x̄j = 1,

3. j ∈ J ⇒ x̄j ≥ 0,

4. j ∈
/ J ⇒ x̄j = 0 and

5. y > 0 ⇒ j∈N x̄j = K.
A primal solution satisfying these conditions exists if and only if both
|N \ I| ≤ K and |J| ≥ K. The restricted primal simply formulates, as a
linear program, the problem of deciding if these inequalities holds. To ensure
that the restricted primal is feasible, we introduce artificial variables xaj . The
restricted primal (RP) is

max −xa0 − xaj
j∈N \I

s.t. x̄j + xa0 = K
j∈N
= 1 ∀j ∈ N \ I
x̄j + xaj
0 ≤ x̄j
∀j ∈ N \ I
∀j ∈ N \ J
x̄j = 0
x̄j ≤ 1
∀j ∈ I ∩ J
0 ≤ x̄j
∀j ∈ I ∩ J
0 ≤ xaj
∀j ∈ N ∪ {0}
 
For ŷ = 0 the objective function would be max − j∈N \I xaj − j∈N \J xaj .
If both |N \ I| ≤ K and |J| ≥ K, then the optimal objective function
value of (RP) is zero and we have found a primal solution that satisfies all
complementary slackness conditions.
We show that the case |J| < K (where there is too little demand) can be
ignored, because the auction will end before it occurs. The first time (round)
at which |J| < K occurs, there must have been “overdemand” in the previous
round, i.e., K < |N \ I  | (assuming non-negative values vj , where the prime
signifies “previous round”) otherwise the auction would have ended. Since

39
J  ∪ I  = N, this implies |J  \ I  | > |J|, which is a contradiction, since, from
one round to the next, we must have J  \ I  ⊂ J. In other words, from one
round to the next, an index j ∈ N can move from J \ I to I ∩ J or from I ∩ J
to I \ J; moving from J \ I to I \ J requires at least two rounds.
If K−|N \I| < 0, then the optimal objective function value is K−|N \I| <
0, so there is no primal solution that is complementary to the current dual
solution. To determine how to update the dual variables we consider the
dual to the restricted primal (DRP):

min µj + Ky
j∈J
s.t. y + µj ≥ 0 ∀j ∈ J
y≷0
µj ≷ 0 ∀j ∈ (N \ I) ∪ (N \ J)
µj = 0 ∀j ∈ N \ J
µj ≥ −1 ∀j ∈ N \ I
µj ≥ 0 ∀j ∈ I ∩ J
y ≥ −1 (or y ≥ 0 if ŷ = 0)

(The symbol ≷ is used to mean that the variable is unrestricted.) This


problem can be simplified to

min µj + Ky
j∈J
s.t. y + µj ≥ 0 ∀j ∈ J
µj ≥ −1 ∀j ∈ N \ I
µj ≥ 0 ∀j ∈ I ∩ J
y ≥ −1 (or y ≥ 0 if ŷ = 0)

Denote the optimum to this problem with (ȳ, µ̄T )T . It is obvious, because
K < |N \ I| ≤ |J|, that ȳ = 1, µ̄j = −1 for j ∈ N \ I is the optimum (since it
is feasible and its value of K − |N \ I| matches the value of the (RP)). This
corresponds to raising the price by one, decreasing the surplus of bidders
with strictly positive surplus by one, and removing the bidders in I ∩ J from
the auction.
We need to update the dual prices to: (ŷ, µ̂)T ← (ŷ, µ̂)T + θ(ȳ, µ̄)T for
suitable θ > 0. Notice that, as the optimum of (DRP) is strictly negative,

40
this corresponds to raising the price by θ and forcing the bidders with strictly
positive surplus to decrease their surplus by θ.
Clearly, θ has to be chosen to maintain feasibility of (ŷ, µ̂)T + θ(ȳ, µ̄)T in
the dual. For j ∈ J the constraints y + µj ≥ vj are certainly fulfilled.
For j ∈ N \J those constraints require ŷ+θȳ+ µ̂j +θµ̄j ≥ vj . If ȳ+ µ̄j ≥ 0,
the constraint is fulfilled for all θ > 0. The case that ȳ + µ̄j < 0 is by our
choice of the dual solution impossible.
Similarly, we have to ensure the nonnegativity of the µj ’s. Again, this is a
non-issue for i ∈ I (because they are unchanged). For i ∈ N \ I the condition
is µ̂j + θµ̄j ≥ 0 and this reduces to θ ≤ −µ̂j /µ̄j . So we could choose (if we
know the bidder’s µj ’s) a step size by
−µ̂j
θ = min
j∈N \I µ̄j
By examination, we see that (for integral vj ), θ ≥ 1 unless the procedure
is over.

7.2 Homogeneous goods, multi-unit demand


As before, there are K indivisible units to be auctioned off. In this case,
though, bidders may want more than one object. Let vit be the value that
bidder i assigns to their tth unit (conditional on having already received t − 1
units). We assume that bidders have diminishing marginal values for units:
vit ≥ vit+1 for all i ∈ N and 1 ≤ t ≤ K.

7.2.1 A natural formulation


A natural formulation for the problem defines xi,t = 1 if bidder i receives a
tth object.

K
max vit xi,t
i∈N t=1


K
s.t. xi,t ≤ K
i∈N t=1
xi,t+1 ≤ xi,t ∀i ∈ N, ∀t < K
xi,1 ≤ 1 ∀i ∈ N
xi,K ≥ 0 ∀i ∈ N

41
The dual variable on xi,1 gives the surplus of agent i.
To the resource-constraint we associate a dual variable y, to each in-
equality xi,t+1 − xi,t ≤ 0 for t < K a variable µi,t+1 , and with each inequality
xi,t ≤ 1 a variable λi,t .
Now we can write down the dual formulation.

K
min Ky + λi,t
i∈N t=1
s.t. λi,1 − µi,2 + y ≥ vi1 ∀i ∈ N
λi,t − µi,t+1 + µi,t + y ≥ vit ∀i ∈ N, ∀t < K
λi,K + µi,K + y ≥ viK ∀i ∈ N
y≥0
λi,t ≥ 0 ∀i ∈ N, ∀t ≤ K
µi,t ≥ 0 ∀i ∈ N, ∀t > 1

The primal-dual algorithm for this formulation does not, however, imple-
ment the Vickrey outcome. In fact, it leads to the “uniform price” auction,
in which all winning bidders pay the same price per unit: the highest losing
bid.

7.2.2 Ausubel’s ascending auction


For the case of homogeneous goods and multi-unit demand, Ausubel (1997)
was the first to propose an ascending auction to implement the Vickrey
outcome. Bikhchandani and Ostroy (2000b) were the first to show that
Ausubel’s auction was an instance of the primal-dual algorithm for formula-
tion (P3). We have mentioned elsewhere in this paper that Ausubel’s auction
can be interpreted as a primal-dual algorithm for a matroid optimization
problem. Here we outline how Ausubel’s auction can be derived from a
primal-dual algorithm for the longest path problem in an acyclic network.
To do this, we refine a transformation from knapsack problems to longest
paths problems;
 see Ahuja et al. (1997).
Let Vrt ≡ tτ =1 vrτ be agent r’s total value for obtaining t units. We will
formulate the problem of finding the efficient allocation as a longest path
problem in an acyclic directed graph G.
Each vertex in G is identified by an ordered pair (r, s) of integers. A vertex
(r, s) represents the state in which bidders 1 through r − 1 have together

42
acquired s units. In addition, vertex (1, 0) is the source and vertex (N +1, K)
is the sink. Therefore the set of vertices is
N K 
{(1, 0)} ∪ {(r, s)} ∪ {(N + 1, K)}.
r=2 s=0

Edge ((r, s), (r + 1, s + t)) belongs to bidder r when t > 0, and belongs to
the auctioneer for t = 0.
For each vertex (r, s), there is an edge directed to each vertex (r + 1, s + t)
such that 0 ≤ t ≤ K − s. Such an edge corresponds to bidder r obtaining t
units. The length of that edge is Vrt (where Vr0 ≡ 0).
Each source-sink path in G corresponds to a feasible assignment of K
objects among the bidders. Since G is acyclic, the longest path problem
is well defined on it. Also each path from the source to the sink uses at
most one edge belonging to any given agent. Since agents are substitutes in
this environment, it follows from the shortest path section of this paper that
the dual variables that correspond to the constraint that a bidder can own
only one edge on a path is his marginal product (in a suitably chosen dual
solution).
The problem of finding the longest path can be formulated as

N −1  
K K−t 
K
max Vrt x(r,s),(r+1,s+t) + VNK−s x(N,s),(N +1,K)
r=1 t=0 s=0 s=0

K
s.t. x(N,s),(N +1,K) = 1
s=0
s 
K−s
x(r−1,s−t),(r,s) − x(r,s),(r+1,s+t) = 0 ∀s, ∀r > 2
t=0 t=0

K−s
x(1,0),(2,s) − x(2,s),(3,s+t) = 0 ∀s
t=0
 
K K−s
x(r,s),(r+1,s+t) ≤ 1 ∀1 < r ≤ N
s=0 t=1
K
x(1,0),(2,t) ≤ 1
t=1
xe ≥ 0 ∀e

43
The first constraint requires that exactly one edge is chosen to enter
the sink (N + 1, K). The second class of constraints requires that in each
intermediate node, the number of entering arcs equals the number of leaving
arcs; the third constraint requires the same for vertices whose incident arcs
come from the source. The fourth class limits—to at most one—the number
of edges giving bidder r > 1 a positive number of units, and the fifth is the
same constraint for bidder 1. These last constraints are redundant.
To write down the dual, we associate with each constraint of type
K
• s=0 x(N,s),(N +1,K) = 1, an unrestricted variable νN +1,K ,
s K−s
• t=0 x(r−1,s−t),(r,s) − t=0 x(r,s),(r+1,s+t) = 0, ∀s, ∀r > 2, an unre-
stricted variable νr,s ,
K−s
• x(1,0),(2,s) − t=0 x(2,s),(3,s+t) = 0, ∀s, an unrestricted variable ν2,s ,
K K−s
• s=0 t=1 x(r,s),(r+1,s+t) ≤ 1, ∀1 < r ≤ N, a variable λr ≥ 0,
K
• t=1 x(1,0),(2,t) ≤ 1, a variable λ1 ≥ 0.

The dual is

N
min νN +1,K + λr
r=1
s.t. νr+1,s+t − νr,s + λr ≥ Vrt ∀t ≥ 1, ∀(r, s)
νr+1,s − νr,s ≥ 0 ∀(r, s)
λr ≥ 0 ∀r ∈ N
νr,s ≷ 0 ∀(r, s)
ν1,0 = 0

A feature of the construction to be noted is that a bidder r > 1 owns many


different edges that correspond to consuming t units of the good. Bidder 1,
however, has exactly one edge that corresponds to consuming t units. We
want to equally price all edges that correspond to bidder r > 1 consumes t
units. To do this, we later ensure that for r > 1, νr+1,s+t − νr,s = νr+1,s+t+1 −
νr,s+1.
For an initial feasible solution, set ν̂ = 0, corresponding to initial prices on
all items of zero. Let λ̂r = maxs,t [Vrt − ν̂r+1,s+t + ν̂r,s ]+ . Let I = {r : λ̂r = 0}

44
be the set of agents without positive surplus, and let bidder r’s “demand set”
be denoted

J r = {((r, s), (r + 1, s + t)) : t ≥ 1 ∧ νr+1,s+t − νr,s + λr = Vrt }.

This is the set of edges that maximize the surplus of bidder r. Denote the
set of edges that bidder r is “willing” to consume as

Lr = {((r, s), (r + 1, s + t)) : t ≥ 1 ∧ νr+1,s+t − νr,s ≤ Vrt }.

These edges leave their owner with non-negative surplus.


If Lr = ∅ set αr = 0. Otherwise set αr = max{t : ((r, s), (r + 1, s + t)) ∈
J r }. The value αr is the greatest number of items that bidder r wants
to buy at current prices. Similarly, set βr = 0 if Lr = ∅ and otherwise
βr = min{t : ((r, s), (r + 1, s + t)) ∈ J r }. The value βr is 
the smallest number

of items that bidder r wants to buy at current prices. If r βr ≤ K ≤ r αr
we have the optimal solution and we are done.
Using the current dual values, determine for each bidder r the number
γr = [K − p=r βp ]+ . Notice that γr is the number of units that bidder r
has to buy so that all items are sold. Ausubel n calls this the number of
items clinched by bidder r. Let γ = K − r=1 γr be the total number of
nonclinched items.
Let E r denote the set of edges owned by agent r and E 0 be the edges
that the auctioneer holds. If the current dual solution is optimal, we know,
by complementary slackness, for every primal optimal solution x̄,

1. r ∈ I ⇒ e∈E r x̄e ≤ 1,

2. r ∈/ I ⇒ e∈E r x̄e = 1,

3. e ∈ J r ⇒ x̄e ≥ 0, and

4. e ∈ E r \ J r ⇒ x̄e = 0.

45
The corresponding restricted primal (RP) will be:


N 
K
+ − + −
max −(yN +1,K + yN +1,K ) − γ (yrs + yrs )
r=1 s=0

K
+ −
s.t. x(N,s),(N +1,K) + (yN +1,K − yN +1,K ) = 1
s=0
s 
K−s
+ −
x(r−1,s−t),(r,s) − x(r,s),(r+1,s+t) + (yrs − yrs ) = 0 ∀s, ∀r > 2
t=0 t=0

K−s
+ −
x(1,0),(2,s) − x2,s,3,s+t + (y1s − y1s ) = 0 ∀s
t=0
xe ≥ 0 ∀e ∈ E

xe ≤ 1 ∀r ∈ I
e∈E r

xe = 1 ∀r ∈ I
e∈E r
xe ≥ 0 ∀e ∈ J r
xe = 0 ∀e ∈ E r \ J r
y≥0

Denote by G(J) a graph with the same set of vertices as G but only those
edges that belong to J. If an arc (r, s), (r + 1, s + t) is present in G(J) this
means that under current prices, it is a surplus-maximizing arc for agent r.
That is at current prices, agent r maximizes his surplus by buying t units.
Note that (RP) has value zero if and only if G(J) contains a source-sink
path such that each agent from N \ I owns one edge on this path. If there is
no such path from source to sink in G(J), then we have two possible causes.
First, it could be that not even G(L) ⊇ G(J) itself contains a source-sink
path. Fortunately, we can avoid this case: In the first iteration, prices are
0 and G(L) is connected. It suffices to keep G(L) connected in subsequent
iterations, and we do that below.
Second, it could be that G(L) contains a path, but no such path contains,
for each bidder r ∈ N \ I, an edge in J r . In this case, agents demand too
much at current prices. To deal with this, we raise item prices, to make large
quantities (that is, long arcs) less attractive to agents so that they demand

46
smaller quantities, which corresponds to demanding arcs (r, s), (r + 1, s + t)
with smaller t’s.
Consider now (DRP), the dual of the restricted primal.


N
min νN +1,K + λr
r=1
s.t. νr+1,s+t − νr,s + λr ≥ 0 ∀((r, s), (r + 1, s + t)) ∈ J r
νr+1,s − νr,s ≥ 0 ∀(r, s)
λr ≥ 0 ∀r ∈ I
λr ≷ 0 ∀r ∈ /I
ν1,0 = 0
νr,s ≥ −γ ∀(r, s)
νr,s ≤ γ ∀(r, s)

We need to find a feasible solution (ν̄, λ̄) that results in a negative objec-
tive function value. As long as no bidder has clinched anything, we uniformly
raise item prices by θ > 0. As soon as bidder r clinches some items, the price
on these items is fixed for bidder r. Choosing the direction in  which the dual
variables are to be adjusted takes care of this: ν̄r,s = [s − q=1 r−1
γq ]+ . By
computing λ̄ accordingly, one can show that we have a negative objective
value.
Consider (in the case of no truncation) the difference ν̄r+1,s+t −ν̄r,s = t−γr .
We raise the price for bundles that bidder r obtains only by the number of
non-clinched items in it. This is analogous to Ausubel’s ascending auction.
Choosing this dual direction permits us to avoid the uniform prices and
steer towards the efficient outcome. From the substitutes property, we know
that the final values of the dual variables will give to each agent a payoff that
equals his marginal product.

8 Summary
This paper surveys the connections between sealed bid Vickrey auctions and
duality in linear programming. By example, we have shown how this relation
can be exploited to produce iterative auctions that implement the Vickrey
outcome in various scenarios. The approach can be summarized by the fol-
lowing steps.

47
1. Verify that the agents are substitutes condition holds.

2. Formulate a linear program where appropriate dual variables corre-


spond to the marginal products of the agents. Under the substitutes
condition, an optimal dual solution exists in which, simultaneously,
each appropriate variable takes on the value of the corresponding agent’s
marginal product.

3. Construct a primal-dual algorithm for the linear program. The algo-


rithm must choose an improving direction in the dual that will cause
the algorithm to terminate in the dual solution described above. This
is the one that, among all optimal dual solutions, is the one that max-
imizes the combined surplus of the bidders.

If the substitutes condition does not hold, we believe it is unlikely that


an iterative auction (in which bidding sincerely is an equilibrium) yielding
the Vickrey outcome exists. This is not a formal statement, since the term
“iterative auction” requires a precise definition. So, an interesting line of
inquiry would be to formalize this last intuition in a precise way.

References
1. Ahuja, R. K., T. L. Magnanti, and J. B. Orlin, Network Flows, Prentice
Hall, New Jersey, 1993.

2. Ausubel, L. (1997): “An Efficient Ascending-Bid Auction for Multiple


Objects,” Working Paper 97-06, Department of Economics, University
of Maryland.

3. Bikhchandani, S., and J. Ostroy (2000a): “The Package Assignment


Model,” mimeo, U.C.L.A.

4. ———— (2000b): “Ascending Price Vickrey Auctions,” mimeo, U.C.L.A.

5. Clarke, E. (1971): “Multipart Pricing of Public Goods,” Public Choice,


8, 19–33.

6. Crawford, V. P. and E. Knoer (1981): “Job matching with Heteroge-


neous Firms and Workers,” Econometrica, 49, 437–450.

48
7. Demange, G., D. Gale, and M. Sotomayor (1986): “Multi-item auc-
tions,” Journal of Political Economy, 94, 863–72.

8. Edmonds, J. and D. R. Fulkerson (1965): “Transversal and Matroid


Partition,” Journal of Research of the National Bureau of Standards,
B69, 147–153.

9. Groves, T. (1973): “Incentives in Teams,” Econometrica, 41, 617–631.

10. Gul, F. and E. Stacchetti (1999): “Walrasian Equilibrium with Gross


Substitutes,” Journal of Economic Theory, 87, 95–124.

11. ———— (2000): “The English Auction with Differentiated Commodi-


ties,” Journal of Economic Theory, 92, 66–95.

12. Hoffman, A. J. and H. Markowitz (1963): “A Note on Shortest Path,


Assignment and Transportation Problems,” Naval Research Logistics,
10, 375–379.

13. Hershberger, J. and S. Suri (2001): “Vickrey Pricing in Network Rout-


ing: Fast Payment Computation,” mimeo, U.C. Santa Barbara.

14. Kelso, A. S. and V. P. Crawford (1982): “Job matching, coalition for-


mation, and gross substitutes,” Econometrica, 50, 1483–1504.

15. Krishna, V. and M. Perry (1998): “Efficient Mechanism Design,” mimeo,


The Pennsylvania State University.

16. Leonard, H. (1983): “Elicitation of Honest Preferences for the Assign-


ment of Individuals to Positions,” Journal of Political Economy, 91,
1–36.

17. Moulin, H. (1986): “Characterizations of the Pivotal Mechanism,” Jour-


nal of Public Economics, 31, 53–78.

18. Papadimitriou, C. H. and K. Steiglitz (1982): “Combinatorial Opti-


mization: Algorithms and Complexity,” Prentice–Hall.

19. Parkes, D. C. and L. H. Ungar (2000): “Iterative Combinatorial Auc-


tions: Theory and Practice,” in Proc. 17th National Conference on
Artificial Intelligence (AAAI-00), 74–81.

49
20. Schummer, J. and R. V. Vohra (2001): “Auctions for Procuring Op-
tions,” mimeo, Northwestern University.

21. Vickrey, W. (1961) “Counterspeculation, auctions, and competitive sealed


tenders,” Journal of Finance, 16, 8–37

22. Williams, S. R. (1999): “A Characterization of Efficient, Bayesian In-


centive Compatible Mechanisms,” Economic Theory, 14, 155–180.

50

You might also like