LP Vickrey
LP Vickrey
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.
∗
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
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.
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
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
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
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 ∈µ
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
zσ ≥ 0 ∀σ ∈ Π
The constraints σ∈Π S∈σ y σ (S, j) ≤ 1 are redundant. Their dual, how-
ever, corresponds to agent j’s marginal product.
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∈σ
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 ∈ σ, ∀σ ∈ Π
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.
S∈σ
y σ (S, j) ≤ 1 ∀S ∈ σ
j∈N
0 ≤ y σ (S, j) ∀S ∈ σ, ∀j ∈ N
11
For a contradiction, assume that
πj + H(σ ∗ ) > V (N).
j∈N
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
σ
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 ∈ σ, ∀σ ∈ Π
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.
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
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.
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
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
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
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
a b c d
1 10 10 10 10
2 4 7 9 8
3 2 2 2 4
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.
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
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
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
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
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.
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.
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)=∅
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
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
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
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
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
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
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
max νt − νs
s.t. νj − νi ≤ cij + λr ∀(i, j) ∈ E r
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
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.
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
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.
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)
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.
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.
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
44
be the set of agents without positive surplus, and let bidder r’s “demand set”
be denoted
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
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.
References
1. Ahuja, R. K., T. L. Magnanti, and J. B. Orlin, Network Flows, Prentice
Hall, New Jersey, 1993.
48
7. Demange, G., D. Gale, and M. Sotomayor (1986): “Multi-item auc-
tions,” Journal of Political Economy, 94, 863–72.
49
20. Schummer, J. and R. V. Vohra (2001): “Auctions for Procuring Op-
tions,” mimeo, Northwestern University.
50