CH 4

Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

Chapter 4

Linear Programming and Auction Design


Mechanism design proposes the Vickrey-Clarke-Groves mechanism as a solution for the
combinatorial allocation problem. In fact, this mechanism is essentially the only mechanism
with the critical properties of strategy-proofness and allocative-eciency. However, we
have identi ed a number of inherent computational problems with Groves mechanisms:
 Every agent must provide its value for every bundle to the auctioneer.
 The auctioneer must solve multiple NP-hard problems to compute the outcome of
the auction.
The Groves mechanisms are centralized solutions to a decentralized optimization prob-
lem. They address the incentive issues in systems with distributed agents with private
information but fail to address important computational issues.
Naive approaches to address the auctioneer's computational problem will often break
the strategy-proofness of the mechanism, in addition to reducing the allocative-eciency
of the solution. One method discussed in Chapter 3 suggests computing approximate so-
lutions to the winner-determination problems, and computing Vickrey payments with the
approximate solutions. Strategy-proofness is lost as soon as the mechanism does not com-
pute the ecient allocation, the allocation that maximizes the reported values of agents.
Instead an agent should try to misrepresent its valuation function in just the right way to
make the auctioneer compute the optimal winner-determination solution despite its approx-
imate algorithm. In other words agents should try to compensate for the approximation
within the mechanism.
Similarly, while it is possible to restrict a bidding language such that the mechanism's
winner-determination problem is tractable (see Table 4.4), as soon as the restricted expres-
siveness of the language forces the agent to submit an approximate report of its valuation
83
function, the agent must reason about which approximation will lead to the auctioneer
computing a solution to the winner-determination problem that is maximal for the agent's
true valuation function.
The motivation for iterative combinatorial auctions is to address the rst computational
problem, that of agent valuation work, and retain the useful game-theoretic properties of
strategy-proofness and eciency. In many problems it is quite unrealistic to assume that
an agent can compute its value for all possible combinations of items, as is required in
the single-shot VCG mechanism. Iterative combinatorial auctions provide interactive so-
lutions, hopefully requesting just enough information from agents to compute the ecient
allocation and the Vickrey payments. The uniqueness of Groves mechanisms (amongst
direct-revelation mechanisms) implies via the revelation principle that any iterative solu-
tion to the combinatorial allocation problem with these desirable game-theoretic properties
must compute the payments in the Vickrey-Clarke-Groves mechanism.
My approach is to rst assume a simple bidding strategy for agents in each round of
an iterative auction. The strategy, myopic best-response, need not be game-theoretically
rational for an agent. However, this assumption allows a strong connection between linear
programming theory, in particular primal-dual algorithms, and iterative auction design.
Chapters 4 and 5 introduce primal-dual algorithm CombAuction, and its auction equiva-
lent iBundle, which computes ecient allocations with myopic best-response agent strate-
gies. The prices computed in the dual solution have an economic interpretation, as the com-
petitive equilibrium prices. Later, in Chapters 6 and 7, I present an extended primal-dual
method, VickAuction, and an experimental auction design, iBundle Extend&Adjust, to
compute Vickrey payments and the ecient allocation with myopic best-response agent
strategies. Vickrey payments make myopic best-response a sequentially rational strat-
egy for an agent in equilibrium with myopic best-response from other agents| justifying
my earlier assumption. This \LP + myopic best-Response + Vickrey" approach appears
to provide a compelling methodology for the design of iterative mechanisms with useful
game-theoretic properties.
Bertsekas [Ber87] had earlier proposed a primal-dual algorithm Auction for the assign-
ment problem, which is a special case of the combinatorial allocation problem. Auction
has a natural interpretation as an ascending-price auction, but does not compute Vickrey
payments and does not have any useful incentive-compatibility properties. As discussed

84
in Section 4.7, authors such as Demange et al. [DGS86] and Ausubel [Aus97, Aus00],
have proposed iterative auctions that compute both the ecient allocation and Vickrey
payments for special-cases of the combinatorial allocation problem (CAP). In iBundle I
extend Bertsekas' primal-dual methodology to solve the CAP, without placing any re-
strictions on agent preferences, but for the moment without computing Vickrey payments
(see Chapters 6 and 7 for this extension). iBundle implements a primal-dual algorithm
CombAuction, which computes solutions to linear program formulations of the CAP
introduced in Bikchandani & Ostroy [BO99].
The extended auction, iBundle Extend&Adjust, implements a primal-dual algorithm,
VickAuction for a new linear program formulation of the Vickrey payments. VickAuc-
tion provably computes the ecient allocation and Vickrey payments with best-response
information from agents. Computational results in Chapter 7 demonstrate that the experi-
mental auction, iBundle Extend&Adjust, which is an interpretation of primal-dual method
VickAuction, computes Vickrey payments over a suite of problem instances. A full proof
of the extended auction awaits a proof of termination of its nal phase (see Chapter 7).
The outline of this chapter is as follows. Section 4.1 presents a brief description of
iBundle. Section 4.2 provides background on linear programming theory and primal-dual
algorithms. Section 4.3 relates primal-dual methods with allocation problems, and consid-
ers price-adjustment methods and competitive equilibrium. The English auction provides
a simple primal-dual example. Section 4.4 provides a hierarchy of linear programming for-
mulations for the combinatorial allocation problem. Section 4.5 also outlines the tractable
special-cases of the combinatorial allocation problem, and to provide practical interpreta-
tions as much as possible. This falls naturally within this chapter because the tractable
special cases can all be understood within linear programming theory.
Section 4.6 describes CombAuction, a primal-dual algorithm for the combinatorial
allocation problem. iBundle, introduced in the next chapter, is a straightforward auction
interpretation of CombAuction. Finally, Section 4.7 compares the characteristics and
properties of CombAuction and iBundle with earlier iterative auction mechanisms.

85
4.1 Overview: The Bundle Auction i

iBundle [Par99, PU00a] is an ascending-price combinatorial auction, in which prices are


maintained on bundles of items and agents can bid for bundles of items directly. In this
section I give only a high-level description of the auction. Full details are presented in the
next chapter. The description here is included to give some context to the primal-dual
method, CombAuction, introduced to solve the CAP.
Allowing bids on bundles of items allows an agent to express a \I only want A if I
also get B" type of constraint, that is observed to be important in many applications (see
Chapter 1).
iBundle maintains an ask price, pi (S )  0 for every bundle S  G and every agent
i 2 I . This is the minimal price that an agent must bid for that bundle in the current
P
round of the auction. The prices may be non-linear, pi (S ) 6= j 2S pi (j ), and may be non-
anonymous, pi(S ) 6= pj (S ). In practice it is not necessary to explicitly price every bundle,
prices are explicitly maintained on a subset of bundles (those which receive unsuccessful
bids) and can be computed on any bundle as necessary. The auction also maintains a
provisional allocation, S = (S1 ; : : : ; SI ) in each round. This is adjusted across rounds in
response to agents' bids until the auction terminates, when it is implemented as the nal
allocation.
The key components of iBundle are the bidding language, the winner-determination
rules, the price-update rules, and the termination conditions. Agents place exclusive-or
bids for bundles, e.g. S1 xor S2 , to indicate than an agent wants either all items in
S1 or all items in S2 but not both S1 and S2. Each bid is associated with a bid price,
which must be at least the ask price for the bundle. The auctioneer collects bids and
computes a provisional allocation to maximize revenue given the bids. If every agent that
placed a bid receives a bundle the auction terminates. Prices are initially anonymous, with
pask;i (S ) = pask;j (S ) = p(S ), but a simple rule introduces price discrimination dynamically,
as necessary to terminate with competitive equilibrium prices and an ecient allocation.
The price on a bundle is increased to  > 0 above the highest bid price for the bundle from
any unsuccessful agent in the current round (an agent not in the provisional allocation).
iBundle terminates when every agent that bids at the current prices receives a bundle in
the provisional allocation.
The nal prices are competitive equilibrium prices, and the nal allocation ecient, if

86
agents follow a myopic best-response bidding strategy, bidding for bundles that maximize
their utility given the prices in each round.

4.2 Linear Programming Theory


First, I provide a brief review of basic results in linear programming. See Papadimitriou
& Steiglitz [PS82] for a text book introduction, and Chandru's excellent survey papers
[CR99b, CR99a] for a modern review of the literature on linear programming and integer
programming.
Consider the linear program:

max cT x [P]
s:t: Ax  b
x0
where A is a m  n integer matrix, x 2 Rn is a n-vector, and c and b are n, and
m-vectors of integers. vectors are column-vectors, and notation cT indicates the transpose
of vector c, similarly for matrices. The primal problem is to compute a feasible solution
for x that maximizes the value of the objective function.
The dual program is constructed as:

min bT y [D]
s:t: AT y  c
y0
where y 2 Rm is a m-vector. The dual problem is to compute a feasible solution for y
that minimizes the value of the objective function.
Let VLP (x) = cT x, the value of feasible primal solution x, and VDLP (y) = bT y, the
value of feasible dual solution y.
The weak duality theorem of linear programming states that the value of the dual always
dominates the value of the primal:

87
Theorem 4.1 (weak-duality). Given a feasible primal solution x with value VLP (x)
and a feasible dual solution y with value VDLP (y), then VLP (x)  VDLP (y).
Proof. Solution x is feasible, so Ax  b. Solution y is feasible, so AT y  c.
Therefore, x  AT b and y  Ac, and cT x  cT AT b = bT AC  bT y, and P  D.

The strong duality theorem of linear programming states that primal and dual solutions
are optimal if and only if the value of the primal equals the value of the dual:
Theorem 4.2 (strong-duality). Primal solution x and dual solution y are a pair of
optimal solutions for the primal and dual respectively, if and only if x and y are feasible
(satisfy respective constraints) and VLP (x ) = VDLP (y ).

The strong-duality theorem of linear programming can be restated in terms of


complementary-slackness conditions (CS for short). Complementary-slackness conditions
expresses logical relationships between the values of primal and dual solutions that are
necessary and sucient for optimality.
Definition 4.1 [complementary-slackness] Complementary-slackness conditions con-
strain pairs of primal and dual solutions. Primal CS conditions state xT (AT y , c) = 0, or
in logical form:

xj > 0 ) Aj y = cj (P-CS)
where Aj denotes the j th column of A (written as a row vector to avoid the use of
transpose). Dual CS conditions state yT (Ax , b) = 0, or in logical form:

yj > 0 ) Ai x = bi (D-CS)
where Ai denotes the ith row of A.
The strong-duality theorem can be restated as the complementary-slackness theorem:
Theorem 4.3 (complementary-slackness). A pair of feasible primal, x, and dual solu-
tions, y, are primal and dual optimal if and only if they satisfy the complementary-slackness
conditions.

88
Proof. P-CS i xT (AT y , c) = 0, and D-CS i yT (Ax , b) = 0. Equating, and observ-
ing that xT AT y = yT Ax, we have P-CS and D-CS i xT c = yT b, or cT x = bT y. The LHS
is the value of the primal, VLP (x), and the RHS is the value of the dual, VDLP (y). By the
strong duality theorem, VLP (x) = VDLP (y) is a necessary and sucient condition for the so-
lutions to be optimal.

4.2.1 Primal-Dual Algorithms


Primal-dual is an algorithm-design paradigm that is often used to solve combinatorial
optimization problems. A problem is rst formulated both as a primal and a dual linear
program. A primal-dual algorithm searches for feasible primal and dual solutions that
satisfy complementary-slackness conditions, instead of searching for an optimal primal (or
dual) solution directly. Primal-dual can present a useful algorithm-design paradigm for
combinatorial optimization problems. Instead of solving a single hard primal solution, or
a single hard dual solution, a primal-dual approach solves a sequence of restricted primal
problems. Each restricted primal problem is often much simpler to solve than the full
primal (or dual) problem [PS82].
Primal-dual theory also provides a useful conceptual framework for the design of it-
erative combinatorial auctions. Prices represent a feasible dual solution, and bids from
agents allow a search for a primal solution that satis es complementary-slackness con-
ditions. If the current solution is suboptimal there is enough information available to
adjust dual prices in the right direction. Complementary-slackness conditions provide the
key to understanding how it is possible to compute and verify optimal solutions with-
out complete information: it is sucient to just verify that a feasible solution satis es
CS conditions. Primal-dual algorithms are consistent with the decentralized information
inherent in distributed agent-based systems. Optimality reduces to a test of feasibility
and complementary-slackness, which is available from agent bids, rather than the direct
solution of a primal problem, which requires information about agent valuation functions.
A standard primal-dual formulation maintains a feasible dual solution, y, and computes
a solution to a restricted primal problem, given the dual solution. The restricted primal is
formulated to compute a primal solution that is both feasible and satis es CS conditions
with the dual solution. In general this is not possible (until the dual solution is optimal),

89
and a relaxed solution is computed. The restricted primal problem is typically formulated
to compute this relaxed solution in one of two ways:
1. Compute a feasible primal solution x0 that minimizes the \violation" of
complementary-slackness conditions with dual solution y.
2. Compute a primal solution x0 that satis es complementary slackness conditions with
dual solution y, and minimizes the \violation" of feasibility constraints.
Method (1) is more useful in the context of iterative auction design because it maintains
a feasible primal solution, which becomes the provisional allocation in the auction, i.e. a
tentative allocation that will be implemented only when the auction terminates. The
restricted primal problem can be solved as a winner-determination problem. I show that
computing the allocation that maximizes revenue given agent bids (the solution to winner-
determination) is a suitable method to minimize the violation of CS conditions between
the prices and the provisional allocation in each round iBundle. Prices in each round of
an auction de ne the feasible dual solution, and agent best-response bids provide enough
information to test for complementary-slackness and adjust solutions towards optimality.
As discussed in the introduction to this chapter, I rst assume myopic best-response,
but later justify this assumption with an extension to compute Vickrey payments at the
end of the auction in addition to the ecient allocation (see Chapters 6 and 7).
Adjust Dual Initial
Solution Dual
(prices) Solution
NO y (prices)

YES Do x’and y Receive


Terminate satisfy CS Bids
conditions?

Compute
Feasible
Primal Solution
(allocation)
x’

Figure 4.1: A primal-dual interpretation of an auction algorithm.


A primal-dual based auction method has the following form (see Figure 4.1):
90
1. Maintain a feasible dual solution (\prices").
2. Compute a feasible primal solution (\provisional allocation") to minimize violations
with complementary-slackness conditions given agents' bids.
3. Terminate if all CS conditions are satis ed (\are the allocation and prices in com-
petitive equilibrium?")
4. Adjust the dual solution towards an optimal solution, based on CS conditions and
the current primal solution (\increase prices based on agent bids")

4.3 Allocation Problems


Let us consider the particular form of an allocation problem, in which there are a set of
discrete items to allocate to agents, and the goal is to maximize value. We assume quasi-
linear preferences, and use utility to refer to the di erence between an agent's value for a
bundle and the price. The primal and dual allocation problems can be stated as follows:
Definition 4.2 [allocation problem: primal] The primal allocation problem is to al-
locate items to agents to maximize the sum value over all agents, such that no item is
allocated to more than one agent.
Definition 4.3 [allocation problem: dual] The dual allocation problem is to assign
prices to items, or bundles of items, to minimize the sum of (i) each agents' maximum
utility given the prices, over all possible allocations; and (ii) the maximum revenue over
all possible allocations given the prices.
Clearly, without information on agents' values the auctioneer cannot compute an op-
timal primal or an optimal dual (because of term (i) in the dual). However, under a
reasonable assumption about agents' bidding strategies (myopic best-response) the auc-
tioneer can verify complementary-slackness conditions between primal and dual solutions,
and adjust prices and the allocation towards optimal solutions.
An auction interpretation of the complementary-slackness conditions can be stated as
follows:
Definition 4.4 [allocation problem: CS conditions] The CS between a feasible primal
solution to an allocation problem, x, and a feasible dual solution, prices p, are:

91
(CS-1) Agent i receives bundles Si in the provisional allocation if and only if the bundle
maximizes its utility given the prices, and has non-negative utility.
(CS-2) The provisional allocation S = (S1 ; : : : ; SI ) is the revenue-maximizing allocation
given the prices.

Left deliberately vague at this stage is the exact structure of the prices. In a combi-
natorial allocation problem these might need to be non-linear and non-anonymous prices
to support the optimal allocation. Similarly, the revenue-maximization concept must be
de ned with respect to a particular linear program formulation. Note also that CS-2 is
not automatically satis ed with a provisional allocation computed to maximize revenue
given agents' bids. CS-2 makes a stronger claim, that the provisional allocation must
maximize revenue over all possible allocations given the current ask prices, not just over
all allocations consistent with bids.
Primal-dual auction analysis requires the following assumption about agent strategies:
Definition 4.5 [myopic best-response] A myopic best-response bidding strategy is to
bid for all items or bundles of items that maximize utility at the current prices.

Best-response bids provide enough information to test CS-1, because the best-response
of an agent is precisely those bundles that maximize an agent's utility given the current
prices. For any feasible primal solution, the auctioneer can test CS-2 because that only
requires price information.
The restricted primal has a natural auction interpretation:
Definition 4.6 [auction restricted-primal problem] Given best response bids from each
agent allocate bundles to maximize revenue, breaking ties in favor of including more agents
in the provisional allocation.
Note well that a bundle is only allocated to an agent in the restricted primal prob-
lem if the agent bids for that bundle. This restriction ensures that CS-1 is satis ed for
that agent, given the de nition of myopic best-response. CS-2 is satis ed with careful
price-adjustment rules, such that prices are increased \slowly enough" that the revenue-
maximizing allocation can always be computed from agent bids.
Given myopic best-response, the termination condition, which tests for complementary-
slackness between the provisional allocation and the prices, must check that CS-1 holds

92
for every agent. This is achieved when every agent to submit a bid receives a bundle in
the provisional allocation, i.e. in competitive equilibrium.
Our interest is in solving the CAP, which is most immediately formulated as an integer
program (see Section 4.4). In order to apply primal-dual methods it is essential that we
have a linear program formulation of the CAP. We must be careful enough to use a strong
enough formulation, such that the optimal solution is integral (0-1) and not fractional. The
ideal situation is illustrated in Figure 4.2. The auction implements a primal-dual algorithm
for a linear program that is strong enough to compute the optimal integer solution.
Complementary-
slackness conditions
VDLP satisfied.
Value

*
VIP
(integral)
VLP

Auction Round

Figure 4.2: An auction-based primal-dual algorithm in which the linear program formulation is
strong enough to eliminate all fractional solutions.

In comparison, consider Figures 4.3 (a) and (b), which illustrate a primal-dual algo-
rithm and iterative auction method for a linear program that is not strong enough, and
admits optimal fractional solutions. The primal-dual algorithm algorithm terminates with
a fractional primal solution and value greater than the value of the best possible inte-
ger solution. The auction always maintains an integral primal solution (solving winner-
determination to compute the provisional allocation), but can terminate with a primal
solution that does not satisfy complementary-slackness conditions. Although the primal
solution is perhaps optimal, its optimality cannot be assessed without CS information.

4.3.1 Price Adjustment


Left unde ned at the moment, and the challenging part of primal-dual auction design, are
the precise rules used to de ne price updates. The goal is to use information from agents'
bids, and the current provisional allocation, to adjust prices towards an optimal dual
solution| that will support an optimal primal solution. Primal-dual methods traditionally

93
Complementary- VDLP
VDLP slackness holds

Value
Value

VIP* VIP*
VLP (integral)
VLP

Auction Round Auction Round


(a) (b)
Figure 4.3: Primal-dual algorithm (a) and Primal-dual auction method (b) in which the linear
program relaxation is too weak, and LPR
V
 > V IP .


use the dual of the restricted primal to adjust the dual solution across iterations. A simpler
method in allocation problems is to increase prices on over-demanded items, or bundles of
items. The method can be explained both in terms of its e ect on complementary-slackness
conditions and in terms of its e ect on the value of the dual solution.
The idea is to increase prices to: (a) maintain CS-2 in the next round and (b) move
towards satisfying CS-1 for all agents.

(progress). Progress is made towards satisfying CS-1 and CS-2 with


Proposition 4.1
the provisional allocation and the ask prices if: (1) the auctioneer increases prices on one
or more bundles that receive bids in each round; and (2) the auctioneer increases prices
by a small enough increment that best-response bids from agents continue to maximize
revenue in the next round.

CS-1 holds whenever every agent that bids receives a bundle in the provisional alloca-
tion. This is trivially achieved for high enough prices because no agent will bid, but we
need to achieve this condition in combination with CS-2. The trick is to increase prices
just enough to maintain revenue-maximization from bids CS-2 across all rounds. This is
achieved in iBundle by ensuring that myopic agents continue to bid for bundles at the new
prices, i.e. increasing price on over-demanded bundles.
An alternative interpretation is that increasing prices on over-demanded items will
reduce the value of the dual, making progress towards the optimal solution, see Figure 4.4.
Recall that the value of the dual is the sum of the auctioneer's maximal revenue and each
94
agent's maximal utility at the current prices. A price increase will decrease the value of
the dual if the increase in maximal revenue from the price increase is less than the decrease
in total maximal utility summed across agents.
The auctioneer can achieve this e ect of increasing revenue by less than the decrease in
agent utility by selecting over-demanded items, or bundles of items, on which to increase
the price. Suppose that two agents bid for bundle S1 , and that both agents have at least
 > 0 more utility for that bundle than any other bundle at the current prices. Increasing
the price on over-demanded bundle S1 by  will decrease the maximal utility of both agents
by , for a decrease in dual value of 2. However, increasing the price on this one bundle
by  can increase the auctioneer's maximal revenue by at most . The result is that the
net change in utility must a decrease of at least .
Complementary-
VDLP slackness holds
Value

*
VIP
VLP

Auction Round

Figure 4.4: Primal-dual interpretation of an ascending-price auction.

4.3.2 Competitive Equilibrium


The optimal primal and dual solutions in an allocation problem correspond to a classic
statement of competitive equilibrium.
Definition 4.7 [competitive equilibrium] Allocation S and prices p are in competitive
equilibrium when:
(a) every agent receives a bundle in its best-response (utility maximizing) set
(b) the allocation maximizes the revenue for the auctioneer at the prices
The allocation in competitive equilibrium is ecient, by equivalence between compet-
itive equilibrium and primal-dual optimality:

Theorem 4.4 (competitive equilibrium eciency). An allocation S is ecient if and

95
only if there exists competitive equilibrium prices p, for an appropriate type of prices (e.g.
linear, bundle, non-anonymous).

In the context of the combinatorial allocation problem Bikchandani & Ostroy [BO99]
have characterized the structure on prices required for the existence of competitive equi-
librium (and equivalently for integral solutions to linear program formulations of CAP).
These formulations are introduced in Section 4.4 and discussed at length.
In some problems it is necessary that prices are both non-linear (bundle prices) and
non-anonymous (di erent prices for the same bundle to di erent agents) to support a
competitive equilibrium solution.
Wurman & Wellman [WW99, WW00] propose an alternative de nition of competitive
equilibrium, which is essentially complementary slackness condition CS-1 without CS-2.
This relaxed condition is sucient for the existence of equilibrium prices even without
non-anonymous prices, but too weak to be able to claim that equilibrium prices imply an
ecient allocation.

4.3.3 Example: The English Auction


The standard English auction illustrates the primal-dual framework for auction design. The
English auction is an ascending-price auction for single items, where the price increases as
long as more than one agent bids at the current price.
Let vi denote agent i's value for the item. The single-unit resource allocation problem
is:

X
max vi xi [IPsingle ]
i
X
s:t: xi  1
i
xi 2 f0; 1g
where xi = 1 if and only if agent i is allocated the item, i.e. the goal is to allocate the
item to the agent with the highest value. This can be solved as a linear program, [LPsingle],
relaxing the integral constraint

96
X
max vi xi [LPsingle ]
i
X
s:t: xi  1
i
xi  0
and VLP
 = V  , i.e. there is always an integral optimal solution to the relaxed problem.
IP

The dual formulation, [DLPsingle ], is

min  [DLPsingle ]
s:t:   vi ; 8i
0
The complementary-slackness conditions are

X
x i  0 )  = vi ; 8 i
X
>0 ) xi = 1
The complementary-slackness conditions can be interpreted in terms of competitive
equilibrium conditions on the allocation and the prices. An allocation and prices in a
single-item auction are in competitive equilibrium, and the allocation is ecient, when:
(i) the item is sold to an agent, that agent bids for the item at the price, and no other
agent bids for the item at the price.
or (ii) the item is sold to no agent, the price is zero, and no agent bids for the item.
It is straightforward to understand eciency in these cases: in (i) the agent with the
highest value receives the item; in (ii) no agent has a positive value for the item.
The English auction maintains price p on the item, initially p = 0. Agent i bids
whenever p < vi , and the provisional allocation sets xj = 1 for one of the agents that bids
in each round, and increases the price p whenever more than one agent bids.
Let the provisional allocation de ne a feasible primal solution, and the price de ne
P
dual solution  = i maxf0; vi , pg + p. This is feasible,   maxf0; vi , pg + p  vi for
all agents i.
97
Assume that agents follow a myopic best-response bidding strategy, bidding for the item
at the ask price whenever the price is below their value. The optimality of the English
auction can be understood in two di erent ways:
 The English auction terminates with primal and dual solutions that satisfy CS-1 and
CS-2.
Clearly, CS-2 is satis ed throughout the auction because the item is always allocated
to one of the agents. CS-1 is satis ed when the auction terminates. Let j indicate
the only agent that bids at price p. Therefore vi , p  0 for all agents i 6= j and
vj , p  0 for agent j (because agents follow best-response bidding strategies), and
P
 = i maxf0; vi , pg + p = maxf0; vj , pg + p = vj .
 The value of the dual strictly decreases in each round of the auction. Let m > 1
equal the number of agents that bid in each round of the auction except the nal
round. For price increment , the sum maximal utility to the agents decreases by m
and the maximal revenue to the auctioneer increases by , for a net change in  of
,(m , 1).
In fact, the nal price in the English auction approaches the Vickrey payment (i.e. the
second-highest value) as the bid increment  ! 0. It follows that myopic-best response
is a rational sequential strategy for an agent, in equilibrium with myopic best-response
strategies from other agents (see Chapter 7 for a full discussion of the incentive properties
of iterative Vickrey auctions).

4.4 Linear Program Formulations for the Combinatorial Al-


location Problem
Primal-dual based auction methods require linear programming formulations of allocation
problems. Bikchandani & Ostroy [BO99] have formulated a hierarchy of linear programs for
the problem, introducing additional constraints to remove fractional solutions. Although
it is always possible to add enough constraints to a linear program relaxation to make the
optimal solution integral [Wol81a, Wol81b, TW81], the particular formulations proposed by
Bikchandani & Ostroy are interesting because the constraints have natural interpretations
as prices in the dual.
98
The hierarchy of linear program formulations, [LP1 ], [LP2 ], and [LP3 ], all retain the
set of integer allocations but prune additional fractional solutions. Each formulation in-
troduces new constraints into the primal, with the dual problems [DLP1 ], [DLP2 ], and
[DLP3 ] containing richer price structures. For example, in [DLP1 ] the prices on a bundle
P
are linear in the price of items, i.e. p(S ) = j 2S p(j ), where p(j ) is the price of item j
in bundle S . Moving to [DLP2 ], the price on a bundle can be non-linear in the price on
items, and in [DLP3 ] the price on a bundle can be di erent to di erent agents. Bikchan-
dani & Ostroy prove that LP3 solves all CAP instances, and demonstrate the existence of
competitive equilibrium prices, even though they must sometimes be both non-linear and
non-anonymous.
Solving the CAP with the high-level linear program formulations is likely to be less
ecient computationally than direct search-based methods applied to the integer program
formulation. Formulations [LP2 ] and [LP3 ] introduce an exponential number of additional
primal constraints, and dual variables, e ectively enumerating all possible solutions to the
CAP. In comparison, search methods, such as branch-and-bound with LP-based heuristics,
solve the problem with implicit enumeration and pruning.
However the formulations are very useful in the context of mechanism design and
decentralized CAP problems. In Section 4.6 I present CombAuction, a primal-dual
algorithm for the CAP, which
(a) computes optimal primal and dual solutions without complete information about
agent valuation functions.
(b) computes optimal primal and dual solutions without complete enumeration of all
primal constraints and/or dual variables.
In fact most of the computation within CombAuction occurs in winner determination,
which solves the restricted primal problem in each round, and winner-determination itself
is solved with a branch-and-bound search algorithm.

4.4.1 Integer Program Formulation


Introducing xi (S ) to indicate that agent i receives bundle S the straightforward integer
program, [IP], formulation of the combinatorial allocation problem is:
XX
max
xi(S ) S
xi(S )vi(S ) [IP]
i

99
X
s:t: xi(S )  1; 8i (IP-1)
S
XX
xi(S )  1; 8j (IP-2)
S 3j i
xi(S ) 2 f0; 1g; 8i; S
where S 3 j indicates a bundle S that contains item j . The objective is to compute the
allocation that maximizes value over all agents, without allocating more than one bundle
to any agent (IP-1) and without allocating a single item multiple times (IP-2). Let VIP
denote the value of the optimal allocation.

4.4.2 First-order LP Formulation


LP1 is a direct linear relaxation, which replaces the integral constraints xi (S ) 2 f0; 1g with
non-negativity constraints, xi (S )  0.

XX
max
xi(S ) S
xi(S )vi(S ) [LP1 ]
i
X
s:t: xi(S )  1; 8i (LP1 -1)
S
XX
xi(S )  1; 8j (LP1 -2)
S 3j i
xi(S )  0; 8i; S
X X
min
p(i);p(j ) i
p(i) + p(j ) [DLP1 ]
j
X
s:t: p(i) + p(j )  vi(S ); 8i; S (DLP1 -1)
j 2S
p(i); p(j )  0; 8i; j

n p(j ) on
Prices items jo2 G de ne a feasible dual solution, with the substitution p(i) =
P
maxS vi (S ) , j 2S p(j ) .
Proposition 4.2 ( rst-order dual). The value of the rst-order dual is the sum of the
maximal utility to each agent plus the total price over all items (this is the auctioneer's
maximal revenue).

100
A B AB
Agent 1 0 0 3
Agent 2 2 0 2
Agent 3 0 2 2
Table 4.1: Problem 1.
A B C AB BC AC ABC
Agent 1 60 50 50 200 100 110 250
Agent 2 50 60 50 110 200 100 255
Agent 3 50 50 75 100 125 200 250
Table 4.2: Problem 2.

P
The dual variables de ne linear prices, the price for bundle S  G is p(S ) = j 2S p(j ).
From De nition 4.7 the optimal dual solution de nes competitive equilibrium prices if and
only if a partition of items exists at the prices that allocates each agent a bundle in its
utility-maximizing set and allocates every item with positive price exactly once.
Problem 1 in Table 4.1 can be solved with [LP1 ]; VLP 
1
= VIP = 4. The optimal
allocation is x2 (A) = 1 and x3 (B ) = 1, indicated by  . To see that VLP1  4, notice that
dual prices p(A) = p(B ) = 1:6 gives a dual solution with value VDLP1 = 0+0:4+0:4+3:2 =
4. Remember that VLP 
1
 VDLP1 for all dual solutions by the weak-duality theorem of
linear programming. These are one set of competitive equilibrium prices.
However, in general the value VLP 
1
> VIP and the optimal primal solution makes
fractional assignments to agents. As an example of when [LP1 ] fails, consider Problem 2
in Table 4.2. In this problem VLP 
1
= 300 > VIP = 275. The primal allocates fractional
solution x1 (AB ) = 0:5; x2 (BC ) = 0:5 and x3 (AC ) = 0:5, which satis es constraints (LP1 -
P P
1) because S 3 j i xi (S )  1 for all items j 2 G . Prices p(A) = p(B ) = p(C ) = 100
solve the dual problem DLP1 .
Kelso & Crawford [KC82] prove that gross-substitutes (GS) preferences are a sucient
condition for the existence of linear competitive equilibrium prices, such that VLP
 =V.
1 IP

To de ne gross-substitutes preferences, let Di (p) de ne the demand set of agent i at


prices p, i.e. the set of bundles that maximize its utility (value - price).
Definition 4.8 [gross-substitutes (GS)] For all price vectors p; p0 such that p0  p, and
all S 2 Di (p), there exists T 2 Di (p0 ) such that fj 2 S : pj = p0j g  T .

101
In words, an agent has GS preferences if an agent continues to demand items with the
same price as the price on other items increases. If preferences are also monotonic, such
that vi (S 0 )  vi (S ) for all S 0  S , then GS implies submodular preferences.
Definition 4.9 [submodular preferences] Valuation function vi (S ) is submodular if for
all S; T  G ,
vi (S ) + vi (T )  vi (S [ T ) + vi (S \ T )

Submodularity is equivalent to a generalized statement of decreasing returns:


Definition 4.10 [decreasing returns] Valuation function vi (S ) has decreasing marginal
returns if for all S  T  G and all j 2 G ,
vi (T ) , vi (T n fj g)  vi (S ) , v(S n fj g)

In other words, the value of an item increases as it is introduced to larger sets of items.
Subadditivity implies that the value for any bundle is no greater than the minimal sum of
values for a partition of the bundle.
In fact, gross-substitutes preferences de ne the largest set of preferences that contain
unit-demand preferences (see De nition 4.14) for which the existence of linear competitive
equilibrium prices can be shown [GS99].
The rest of this section introduces two alternative linear program formulations of CAP,
[LP2 ] and [LP3 ], due to Bikchandani & Ostroy [BO99].

4.4.3 Second-order LP Formulation


Introducing new constraints to the rst-order linear program relaxation [LP1 ] of [IP] gives
a second-order linear program [LP2 ] with dual [DLP2 ]. The corresponding dual variables
to the new primal constraints are interpreted as bundle prices within an auction-based
primal-dual algorithm.

102
XX
max
xi(S );y(k) S
xi(S )vi(S ) [LP2 ]
i
X
s:t: xi(S )  1; 8i (LP2 -1)
S
X X
xi(S )  y(k); 8S (LP2 -2)
i k 3S
X
y(k)  1 (LP2 -3)
k
xi(S ); y(k)  0; 8i; S; k
X
min
p(i);p(S ); i
p(i) +  [DLP2 ]

s:t: p(i) + p(S )  vi(S ); 8i; S (DLP2 -1)


X
 , p(S )  0; 8k (DLP2 -2)
S 2k
p(i); p(S );   0; 8i; S
where k 2 K is a partition of items in set K , and k 3 S indicates that bundle S is repre-
sented in partition k. A partition is a feasible \bundling" of items, e.g. [A; B; C ] or [AB; C ],
etc., and K is the set of all possible partitions, e.g. K = f[A; B; C ]; [AB; C ]; [A; BC ]; : : : ;
[ABC ]g in Problem 2 (Table 4.2).
Constraints (LP2 -2) and (LP2 -3) replace constraints (LP1 -1), and ensure that no more
than one unit of every item is allocated. The dual [DLP2 ] has variables p(i), p(S ) and ,
which correspond to constraints (LP2 -1), (LP2 -2) and (LP2 -3), and constraints (DLP2 -1)
and (DLP2 -2) correspond to primal variables xi(S ) and y(k).
Dual variables p(S ) can be interpreted as bundle prices, and with substitution p(i) =
max fvi(S ) , p(S )g, i.e. the maximal utility to agent i at prices p(S ), and
S P
 = maxk2K S2k p(S ), i.e. the maximal revenue to the auctioneer at prices p(S ).
Proposition 4.3 (second-order dual). The value of the dual is the sum of the maximal
utility to each agent with bundle prices p(S ) plus the auctioneer's maximal revenue over
all feasible (and non-fractional) allocations at the prices.

103
A B AB
Agent 1 0 0 3
Agent 2 2 2 2
Table 4.3: Problem 3.

The dual variables correspond to bundle prices, p(S ), and the optimal dual solution
de nes competitive equilibrium prices (by De nition 4.7) if there is an allocation that gives
each agent a bundle in its utility-maximizing set at the prices, and maximizes revenue to
the auctioneer over all possible allocations.
With the additional constraints [LP2 ] solves Problem 2. Allocation x1 (AB ) = x2 (BC )
= x3 (AC ) = 0:5 is not feasible in [LP2 ] because it is not possible to allocate y(k1 ) =
y(k2 ) = y(k3 ) = 0:5 for k1 = [AB; C ]; k2 = [AC; B ] and k3 = [AB; C ] without violating
constraint (LP2 -3) and without this we violate constraints (LP2 -2). [LP2 ] solves Problem
2, with VLP 
2
= VIP = 275. An optimal dual solution is given by bundle prices p =
(50; 60; 75; 190; 200; 200; 255), with total agent maximal utility 10 + 0 + 0 and maximal
auctioneer revenue 75 + 190 = 265, i.e. VDLP 
2
= 275.
However, Problem 3 is an example that [LP2 ] does not solve. The value of the optimal
primal solution is VLP 
2
= 3:5, which is greater than the value of the optimal feasible
allocation, VIP = 3. The primal allocates fractional bundles x1 (AB ) = 0:5 and x2 (A) =
x2 (B ) = 0:5, which satis es constraints (LP2 -2) and (LP2 -3) with y(k1 ) = y(k2 ) = 0:5 for
partitions k1 = [AB; ;] and k2 = [A; B ]. Prices p(A) = 1:5; p(B ) = 1:5; p(AB ) = 3 solves
the dual problem DLP2 .

4.4.4 Third-order LP Formulation


Introducing new constraints to the second-order linear program relaxation [LP2 ] of [IP]
gives a third-order linear program [LP3 ] with dual [DLP3 ]. The corresponding dual vari-
ables to the new primal constraints are interpreted as non-anonymous, or discriminatory
bundle prices, with di erent prices for the same bundle to di erent agents.

104
XX
max
xi(S );y(k) S
xi(S )vi(S ) [LP3 ]
i
X
s:t: xi(S )  1; 8i (LP3 -1)
S
X
xi(S )  y(k); 8i; S (LP3 -2)
k3[i;S ]
X
y(k)  1 (LP3 -3)
k
xi(S ); y(k)  0; 8i; S; k

X
min
p(i);pi (S ); i
p(i) +  [DLP3 ]

s:t: p(i) + pi (S )  vi(S ); 8i; S (DLP3 -1)


X
, pi(S )  0; 8k (DLP3 -2)
[i;S ]2k
p(i); pi (S );   0; 8i; S
where k 3 [i; S ] indicates that agent-partition k 2 K 0 contains bundle S designated
for agent i. Variable y(k) in [LP3 ] corresponds to an agent-partition k, where the set
of agent-partitions in Problem 3 is K 0 = f[(1; A); (2; B )]; [(1; B ); (2; A)]; [(1; AB ); (2; ;)];
[(1; ;); (2; AB )]. It is important to note that each agent can receive at most one bundle in
a particular agent-partition.
The dual variables pi (S ) that correspond to primal constraints (LP3 -2) are interpreted
as non-anonymous bundle prices, price pi (S ) is the price to agent i for bundle S . As before,
substitutions p(i) = max fvi (S ) , pi(S )g, i.e. the maximal utility to agent i at individual
S P
prices pi (S ), and  = maxk2K [i;S ]2k pi (S ), i.e. the maximal revenue to the auctioneer
0

at prices pi (S ) given that it can allocate at most one bundle at prices pi (S ) to each agent
i.
Proposition 4.4 (third-order dual). The value of the dual to [LP3 ] is the sum of
the maximal utility to each agent with bundle prices pi (S ) plus the auctioneer's maximal
revenue over all feasible allocations at the prices. In this case an allocation is feasible if it
allocates no more than one bundle to each agent.

105
The dual variables correspond to non-anonymous bundle prices, pi (S ), and the optimal
dual solution de nes competitive equilibrium prices if there is an allocation of items that
simultaneously gives each agent a bundle in its utility-maximizing set and maximizes the
auctioneer's revenue, over all possible allocations that sell at most one bundle to each
agent.
Bikchandani & Ostroy [BO99] prove this important theorem:
Theorem 4.5 (integrality). The optimal solution to linear program [LP3 ] is always
integral, and therefore an optimal solution to CAP, with VLP
 =V
3 DLP3 = VIP .


Therefore, there are always competitive equilibrium bundles prices for CAP, although
these prices must be non-anonymous in some problems.
Consider Problem 3. Allocation x1 (AB ) = 0:5 and x2 (A) = x3 (B ) = 0:5 is not feasible
in [LP3 ] because y(k1 ) = y(k2 ) = y(k3 ) = 0:5 for k1 = [(1; AB ); (2; ;)]; k2 = [(1; A); (2; B )]
and k3 = [(1; B ); (2; A)] violates constraint (LP3 -3), but without this constraints (LP3 -
2) are violated. In this problem VLP 
3
= VIP = 3. To see this, consider bundle prices
p1 = (0; 0; 2:5) and p2 = (2; 2; 2), for which the value of the dual is 0:5 + 0 + 2:5 = 3. This
proves that VLP3  3 by the weak-duality theorem of linear programming.
I will return to this hierarchy of linear-program formulations of the CAP in Section
4.6, when I introduce the CombAuction primal-dual algorithm. CombAuction con-
structs feasible primal and dual solutions to an appropriate linear program formulation,
and adjusts the solution until complementary-slackness conditions are also satis ed.

4.5 Tractable Combinatorial Allocation Problems


The CAP is equivalent to the maximum weighted set packing problem (SPP), a well-
studied problem in the operations research literature. In SPP there are a set of items,
and a set of subsets each with non-negative weights, and the goal is to pack the items
into sets to maximize total value, without using any item more than once. CAP can
be reduced to SPP by introducing an additional \dummy item" for the XOR bids from
each agent. de Vries & Vohra [dVV00] also note two closely related problems, the set
partitioning problem (SPA), in which the goal is to select a set of subsets with minimal
106
cost that include all items at most once, and the set covering problem (SCP), in which
the goal is to select a set of subsets with minimal cost that include all items at least once.
Set covering problems nd applications in railway crew-scheduling and airline scheduling,
where items are ights/trains, and bundles represent possibility sets for individual workers.
A considerable amount is known about the complexity of this class of problems.
A classic technique in combinatorial optimization theory is to relax an integer program
to a linear one. Many tractable special cases follow by considering the conditions on the
natural relaxation of the integer program that provide integer solutions. For example, one
sucient condition is that the linear program is integral, such that all extremal feasible
points are integral, i.e. 0-1. In this case the integrality requirement can be dropped and
the problem solved as a linear program in polynomial time. Restrictions on the constraint
matrix, corresponding to restrictions on the kinds of subsets permitted in CAP, can provide
this integrality property [dVV00].
Additional restrictions, for example on the size of bids, or on the valuation structure of
bids, can also lead to tractable special cases. Given the connection with linear programming
relaxations this is a good place to review known tractable special-cases in the literature.
The results here are drawn from Rothkopf et al. [RPH98], de Vries & Vohra [dVV00],
Nisan [Nis00], and earlier work due to Kelso & Crawford [KC82].
It is important to understand the characteristics of tractable special-cases of CAP
because this knowledge can be leveraged within mechanism design, achieving tractable
and strategy-proof solutions (see Section 3.2.1 in Chapter 3).

Restrictions on Structure of Bundles


Table 4.4 presents tractable instances of CAP that follow from restrictions on the types
of bundles on which agents can submit bids. de Vries & Vohra note that the linear-
ordering (or consecutive ones) condition implies that the constraint matrix satis es total
unimodularity,1 and that the nested-hierarchical structure implies that the constraint ma-
trix is balanced.2 Nisan [Nis00] provides a proof-by-induction that the linear program has
integral solutions in these cases, and also describes a method to combine two bid structures
with the integral property into a single structure that retains the property.
1
A matrix satis es total unimodularity if the determinant of every square submatrix is 0, 1, or -1.
2
A 0-1 matrix is balanced if it has no square submatrix of odd order with exactly two 1's in each row
and column.

107
linear-order ordering = ( 1 2
G g ;g ;::: ;gn) [RPH98]
every bid is for a contiguous sequence
circular ones also allow bids of form n 1 2 , etc.
g g g [RPH98]
nested-hierarchical for every two subsets of items 1 2S ;S [RPH98]
that appear as part of any bid they are either
disjoint or one contains the other
or-singletons bids for single-items -
single-item bids one item -
bids for pairs of items cardinality constraint on size of bids [RPH98]
multi-unit, decreasing returns identical items, each agent has decreasing value for [Nis00]
each additional item
Table 4.4: Tractable structure on bids
non-decreasing and supermodular \increasing returns" [dVV00]
two-types of agents
gross-substitutes \decreasing-returns" [KC82]
unit-demand agents only want one item [Kuh55]
linear-additive agents have linear values across items [CK81]
Table 4.5: Constraints on valuation functions

Restrictions on Values on Bundles


Table 4.5 presents tractable instances of CAP that follow from restrictions on the value
structure of agents bids. de Vries & Vohra [dVV00] note that the non-decreasing and su-
permodular preferences condition again provides the linear program relaxation of the CAP
with integral solutions. Gross-substitutes were de ned earlier in De nition 4.8 and have
an intuitive interpretation as decreasing-returns, and also imply submodular preferences.
Definition 4.11 [supermodular preferences] Bid function bi (S ) is supermodular if for
all S; T  G ,
bi (S ) + bi (T )  vi (S [ T ) + vi(S \ T )

The equivalence of supermodularity and increasing returns is well-known in the litera-


ture [GS99].
Definition 4.12 [increasing returns] Bid function bi (S ) has increasing marginal returns
if for all S  T  G and all j 2 G ,
bi(T ) , vi (T n fj g)  bi (S ) , v(S n fj g)

108
Note carefully that we can have any number of di erent types of submodular valua-
tion functions, one from each agent, but only at most two di erent types of supermodular
functions if the CAP problem is to be tractable. It is easier to solve a maximization prob-
lem, such as the CAP, with submodular (convex) objective functions than supermodular
(concave) objective functions.

Exact Solutions
Rothkopf et al. [RPH98] also suggest a dynamic programming algorithm for CAP, which
has run-time complexity independent of the number of bids actually placed, but quickly
becomes intractable for large numbers of items, with scaling property O(3m ) in the number
of items m. Branch-and-bound search methods, either with AI-based heuristics [San99,
FLBS99], or with linear-program based heuristics [ATY00] have also been studied for
general CAP instances.

Approximate Solutions
The CAP is dicult to approximate, at least within a worst-case multiplicative factor.
There is no polynomial time algorithm with a reasonable worst-case guarantee [Has99].
Approximation algorithms in the literature without this guarantee include a local-
search approach [HB00], a simple \relax and round" method [Nis00], and iterative methods
[FLBS99]. CombAuction can itself be viewed as an approximate algorithm for CAP.
CombAuction provides a worst-case bound on the di erence between the value of its
solution and the value of the optimal solution. This error-term increases linearly with the
minimal bid increment, which de nes the rate at which prices are increased across rounds,
while the number of rounds in the auction is inversely-proportional to the minimal bid
increment. A larger bid increment reduces the number of rounds in the auction, reducing
the number of winner-determination problems the auction must solve, in return for a loss
in worst-case eciency. Experimental results in Section 5.5.1 show the e ectiveness of this
approach.

109
4.6 CombAuction: A Primal-Dual Method for CAP
CombAuction is a primal-dual algorithm for the linear program models of CAP intro-
duced in Section 4.4. The algorithm terminates with optimal primal and dual solutions to
an appropriate level in the linear-program hierarchy, selecting the price structure dynam-
ically to support the optimal allocation in equilibrium. In the next chapter I describe the
iBundle auction, which is an auction-based implementation of CombAuction for agents
that follow myopic best-response bidding strategies.
In CombAuction the prices are linear and anonymous in special cases, non-linear
and anonymous (bundle prices) in many problems, and non-linear and non-anonymous
when that is necessary to strengthen the dual formulation of the CAP. The decision about
anonymous vs. non-anonymous pricing is made dynamically during the algorithm, while
non-linear prices are introduced whenever an agent bids for a bundle of items instead of
individual items.

4.6.1 Description
Let pask (S )  0 denote anonymous ask prices on bundles S  G . Set the initial ask prices
to zero, and use only anonymous prices at the start of the auction. The prices represent a
feasible dual solution in each round of the algorithm. Non-anonymous prices are denoted
pask;i (S ), for the price on bundle S to agent i, and initially pask;i(S ) = pask (S ) for all agents
and all bundles.
Let S^ = (S^1 ; : : : ; S^I ) denote the provisional allocation, computed from agents' bids in
each round to maximize revenue, where agent i is provisionally allocated bundle S^i . Let
p+i (S ) denote personalized ask prices to agent i, computed as follows:
8
<p ;i(S ) , if pask;i (S )  vi (S ) and S 6= S^i
pi (S ) = :
+ ask

ask;i (S ) , 
p , otherwise
The personalized ask price is the price that agent i can actually bid for bundle S . In
words, an agent must bid the ask price unless the ask price is greater than its value or the
agent receives the bundle in the current allocation, in which case it can bid  below the
ask price.
Figure 4.5 describes CombAuction. The basic variation, also known as CombAuc-
tion(d), introduces non-anonymous prices whenever agent bids are not \safe". Two other

110
CombAuction
input: agent values i ( ) v 
stop = false; ^ = ; ask ( ) = 0; anon = ;
S ; p  I
while ( stop): f
update personalized prices + p S
i ( ) for every agent ; i
compute best-response set BRi ( +i ) for every agent ; p i
compute partition of items S^ = (S^1 ; : : : ; S^I ) to maximize revenue,
subject to ^i BRi ( +
i ).; S 2 p
i ) = ) or unchanged(BRi ( i )) or ( ^i = ) ) for every
if ( (BRi ( + p ; p S6 ; i
+

stop = true;
else f
for every j j ) = ) and ( ^j = ))
with ((BRj ( + p 6 ; S ; f
if ( (safe (BRj ( pj )))
+
j 2 anon ))
and (
p ask = anon update(BRj (p+
j ); pask );
else f
p ask ;j = nonanon update(BRj ( pj ); p
+
ask ;j );
anon = anon n fj g
;
g
g
g
g
output: final allocation S^, final prices pask;i (S^i ).
Figure 4.5: The CombAuction algorithm. Special cases: CombAuction(2) sets safe (BRj (p+j ))
true in every iteration; CombAuction(3) sets safe (BRj (p+j )) false in every iteration.

important variations include CombAuction(2), in which the safe condition is always as-
sumed true, and CombAuction(3), in which the safe condition is always assumed false.
Labels (D), (2), and (3) correspond to \dynamic" non-anonymous pricing, second-order
pricing (i.e. non-linear), and third-order pricing (i.e. non-linear and non-anonymous).
Prices are initially zero on all bundles, and identical across all agents such that pask;i(S )
= pask (S ) for all i and all S . At the start of each iteration each the new personalized prices
p+i are computed for each agent. Next, each agent i 2 I reports its best-response set
BRi (p+i ). The best-response set is the set of all bundles and corresponding personalized
prices that maximize utility to within  > 0:

BRi (p+i ) = f(S; p+i (S )) j vi (S ) , p+i (S ) +   max(ui (p+i ); 0) g


where ui (p+i ) = maxS vi (S ) , p+i (S ), i.e. the maximal utility over all bundles at the
current (personalized) prices. Constant  > 0 is the minimal bid increment, and controls

111
the rate at which prices are increased across rounds.
The provisional allocation S^ = (S^1 ; : : : ; S^I ), is computed from agents' bids to maximize
revenue:
X
max p+
S ;::: ;SI ) i2I i
( 1
(Si ) (WD problem)

s:t: (Si ; p+i (Si )) 2 BRi (p+i )


Si \ Sj = ;; 8i; j
Prices are increased based on bids from agents not in the current provisional allocation.
In each round the agents i 2 anon receive anonymous prices, pask (S ), and the agents
i 2= anon receive non-anonymous prices, pask;i (S ), which can charge a di erent price for
the same bundle to di erent agents. Initially every agent receives anonymous prices, and
anon = I .
The price-update step depends on whether an agent's bids are safe. The safe condition
is de ned on a set of bundles S as follows:

safe (S ) = :disjoint (S ) or (jSj = 1 )


where disjoint (S ) is true if there is at least one pair of bundles S; T 2 S that are
non-overlapping, such that S \ T = ;, and jSj = 1 denotes a best-response set with only
one bundle.
Price increases based on unsuccessful but safe bids from an agent j in anon are com-
puted with update rule anon update(BRj (p+j ); pask ), which increases the price pask (S ) to
p+j (S ) +  on all bundles S in agent j 's best-response bid set, where constant  > 0 is
the minimal bid increment. This price increase a ects all agents in anon . Notice that
if the agent's personalized bid price is  below the current ask price, for example if an
agent is repeating a bid for a bundle in the provisional allocation, then the price on this
unsuccessful bid does not increase the price on the bundle.
In the rst round that an agent's bids are unsuccessful and fail the safe condition the
agent is removed from the anonymous set and faces individual prices in all future rounds.
Price increases to an agent not in anon are based only on its own bids, and its bids never
directly a ect the prices to agents that remain in anon . Individual ask prices are initially
set to the current anonymous prices. Price update rule nonanon update(BRj (p+j ); pask;j )

112
increases the price pask;j (S ) to agent j to p+j (S )+ , for every bundle S in its best-response
set. Again, this will only increase the price if the personalized price is not discounted by
 from the ask price.
CombAuction terminates when every agent with a non-empty best-response set either
receives a bundle in the provisional allocation:
BRi (p+i ) 6= ; ) S^i 6= ; condition [T1]
or submits the same best-response bids in two successive rounds (condition [T2]).
CombAuction(2) is the special-case of CombAuction for which the safety condi-
tion is assumed true in all rounds and all agents remain in the anonymous set. Com-
bAuction(d) is the regular version of CombAuction, described above, in which non-
anonymous prices are introduced dynamically. CombAuction(3) is a variation in which
the safety condition is assumed false in all rounds and all agents face individual prices in
every round, i.e. the set anon = ; from round 1.

Discussion
The personalized prices ensure that price increases do not \overshoot" the values of agents
that receive a bundle in the ecient allocation. Suppose for example that the allocation
problem has a single item, and there are two agents with the same value for the item. It
is essential that when the agents eventually drive the price above their value, one of the
agents, i.e. the agent with the item in the nal provisional allocation, is able to repeat a
bid for the item at the previous price| just before it was forced to high.
Allowing agents to submit a best-response bid set, that can include more than one
bundle, and is accurate to within , is also important in solving some problems. Consider
for example that agents 1 and 2 both want A or B , and a third agent that wants AB .
Allowing agents 1 and 2 to bid for both A and B , but only receive one of A or B in the
allocation, solves the coordination problem, in which agents 1 and 2 must be allocated
di erent items to out-bid the third agent.

4.6.2 Optimality Result


We rst state an optimality result for the variations on CombAuction with non-anonymous
prices.

113
(CS1a) Agents maximize utility:
Si 6= ; ) Si = arg max v (S ) , pi (Si )
Si i i
true in every round because of best-response
(CS1b) Agents not in allocation happy:
Si = ; ) max v (S ) , pi(Si)  0
Si i i
true in nal round because of termination condition
(CS2) Auctioneer maximizes P p (revenue:
S  = arg (S max i Si )
1 ;:::;SI )
true in every round because of price-update rules
Table 4.6: Proof outline for CombAuction

Theorem 4.6 (CombAuction optimality). (Optimality) CombAuction(d) and


CombAuction(3) compute an allocation with value within 3 minfjGj; jIjg of optimal.

for jGj items, jIj agents, and  bid increment.

Corollary 4.1 CombAuction(d) and CombAuction(3) compute the ecient allo-


cation and competitive equilibrium prices for a small enough bid increment .

Clearly as  gets smaller than the smallest nite di erence in agents' values for bundles
this converges to the optimal solution. Table 4.6 provides a sketched proof, while a full
proof is provided below.
Recall that within CombAuction it is assumed that agents provide best-response
information in response to prices in each iteration. Corresponding statements of the e-
ciency of iBundle, the auction interpretation of CombAuction, make assumptions about
agent behavior explicit (see Chapter 5).
Algorithm CombAuction(2), without the safety check and without non-anonymous
prices, is also provably optimal in the following (sucient) conditions:

Theorem 4.7 (anonymous optimality). CombAuction(2) is an optimal primal-dual


algorithm for CAP with anonymous prices in the following special-cases:
(a) agents have additive or superadditive values, i.e. v(S [ S 0 )  v(S ) + v(S 0 ) for non-
con icting bundles S and S 0 ; (b) agents demand bundles from the same partition of items,

114
e.g. all bids are for pairs of matching shoes, or single items; (c) the demand set of bundles
for agent i, the bundles it bids for over the auction, is disjoint from the demand set of
agent j , for all agents i 6= j ; (d) bids from each agent are always overlapping; (e) bids from
each agent are always for a single bundle.

A proof of conditions (a{c) follow quite easily from the proof of the optimality of
CombAuction(d). When these conditions hold the auctioneer is sure to maximize revenue
from bids in the next round of the auction without introducing non-anonymous prices, even
in the case that bids from agents break the \safety" condition.3 In case (b) the auction
reduces to a simultaneous ascending-price auction on bundles in a xed partition of items.
The assignment problem, in which agents have unit-demand for items, is a special case of
(b).
Conditions (d{e) follow trivially from the main result, because the safety condition
holds in all rounds under these conditions. Single-minded bidders [LOS99] satisfy (e).
Bidders that demand a core set of items with a selection from an additional set of items
satisfy (d); consider for example a bidder in the FCC spectrum auction that needs New
York, and then would like as many of the geographically neighboring licenses as possible.

4.6.3 Proof: CombAuction(2)


The optimality proof of CombAuction is inspired by a proof due to Bertsekas [Ber87]
for Auction, an iterative primal-dual algorithm with an auction interpretation for the
assignment problem.
I rst prove optimality for CombAuction(2), in the special-case that the best-response
bid sets are safe in all rounds of the auction. The proof of optimality for CombAuction(d)
and CombAuction(3) follows from an equivalence between CombAuction(2) with a
dummy item introduced for each agent and appended to its bids, and CombAuction(3).
In outline, I show that CombAuction implements a primal-dual algorithm for [LP2 ]
and [DLP2 ], and computes integral solutions to [LP2 ] when agents follow myopic best-
response bidding strategies and bids are safe.
3
For example, in the case of superadditive values whenever an agent bids for a compatible pair of bundles
S and S that violate the safety condition it must be the case that p(S [ S ) > p(S )+ P (S ). This condition
0 0 0

is sucient to show that the auctioneer can continue to maintain (CS2) and maximize revenue from agent
bids in the next round.

115
First, I show that the allocation and prices in each round of the auction correspond to
feasible primal and dual solutions. Then, I show that the primal and dual solutions satisfy
complementary-slackness conditions when the auction terminates.
In a particular round, let S^i denote the provisional allocation to agent i, and pask (S )
denote the ask price for bundle S .
Feasible primal. To construct a feasible primal solution assign xi(S^i ) = 1 and
xi (S 0 ) = 0 for all S 0 6= S^i . Partition y(k ) = 1 for k = [S^1 ; : : : ; S^jIj], and y(k) = 0
otherwise.
Feasible dual. To construct a feasible dual solution let dual variable p(S ) equal the
ask price, pask (S ), on bundle S in CombAuction. The following values for p(i) and 
then satisfy constraints (DLP-1) and (DLP-2):
 
p(i) = max 0; max fv (S ) , p(S )g
S G i
(4.1)
X
 = max
k2K
p(S ) (4.2)
S 2k
The value p(i) can be interpreted as agent i's maximum utility at the ask prices, and
 can be interpreted as the maximum revenue that the auctioneer can achieve at the ask
prices (irrespective of the bids placed by agents).
It is not necessary to explicitly compute p(i), instead we will prove that allocation S^
and prices pask (S ) correspond to primal and dual solutions that satisfy complementary
slackness conditions when the auction terminates.4
Complementary-slackness conditions. The rst primal CS condition, CS-1 is:
xi(S ) >0 ) p(i) + p(S ) = vi(S ) (CS-1)
Given (4.1) it states that all agents must only receive a bundle that maximizes utility
at the current prices. CS-1 is maintained throughout the auction because bundles are only
allocated according to bids from agents, and agents place best-response bids.
Based on the best-response bidding strategy, we have
 
vi(S^i ) , p+i (S ) +   max 0; max
S i
(v (S 0 ) , p+i (S 0 ))
0

4
This is just as well because the values vi (S ) remain private information to agents during in CombAuc-
tion, and best-response is the only mode of interaction with an agent.

116
for any bundle S^i allocated to agent i. Then, because pask (S )  p+i (S )  pask (S ) , ,
p(S ) = pask(S ), and xi(Si ) = 1 implies that agent i bid for bundle Si , we have by case
analysis that:

 
xi(S ) > 0 ) vi (S ) , p(S ) + 2  max 0; max
S
(vi (S ) , p(S ))
0
0 0

Finally, substituting for p(i) from (4.1), we prove -CS-1:


xi (S ) > 0 ) p(i) + p(S )  vi (S ) + 2 (-CS-1)

The second primal CS condition, CS-2, is:


X
y(k) > 0 )  , p(S ) = 0 (CS-2)
S 2k
Given (4.2) it states that the allocation must maximize the auctioneer's revenue at
prices p(S ), over all possible allocations and irrespective of bids received from agents.
We prove that the provisional allocation, computed to maximize revenue based on
agents' bids, is sucient to maintain CS-2 in all rounds.
The following de nition is useful:
Definition 4.13 [strict positive price] An ask price pask(S ) is strictly positive if the
price is greater than the ask price for every bundle contained in S , i.e. pask(S ) > pask(S 0 )
for all S 0  S .
To see understand how CS-2 can hold in all iterations, notice:
(i) all bundles with strictly-positive prices receive bids in every round.
Agent i with one of the highest losing bid for bundle S in round t will continue to
bid for bundle S in rounds t + 1. Let uti (S ) denote agent i's utility for bundle S in
round t. Then, uti+1(S ) = uti (S ) ,  because the ask price for S increases by . Also,
uti (S )  uti(S 0 ) for all bundles S 0 for which agent i did not bid in round t. Hence,
with uti (S 0 )  uti+1(S 0 ) because the price of S 0 can only increase in round t + 1, we
have uti+1(S )  uti+1(S 0 ) , , and a bid for S 0 can never exclude a bid for S from agent
i's best-response bids in round t + 1. A similar argument can be made for the utility
of bundles that did receive a bid from agent i in round t.
117
(ii) all bundles in revenue-maximizing allocations receive bids from di erent agents.
No single agent causes the price to increase to its current level on a pair of compatible
bundles. This follows because price updates are due to safe bids from agents. It is
clear that this cannot happen in a single round. Furthermore, it can be shown by
induction across rounds that an agent with a myopic best-response bidding strategy
cannot increase the price of compatible bundles over a sequence of rounds without
submitting unsafe bids in a single round.
Taking (i) with (ii), we have:
X X
p+i (S^i ) = max
k 2K
p+i (Si)
i2I Si 2k
Removing personalized prices, because pask (S )  p+i (S )  pask (S ) , , we have:
X X
pask(S^i ) + minfjGj; jIjg  max
k 2K
pask(Si )
i2I Si 2k
P
otherwise the optimal solution to maxk2K Si 2k pask (Si ) is a better solution with per-
sonalized prices p+i (S ) than S^ = (S^1 ; : : : ; S^I ).
Finally, substituing for  from (4.2), and because y(k) > 0 implies k = k , and with
p(S ) = pask (S ), the partition representing the provisional allocation, we prove -CS-2:

X
y (k ) > 0 )  , p(S )  minfjGj; jIjg (-CS-2)
S 2k
The rst dual CS condition, (CS-3), is:

X
p(i) > 0 ) xi(S ) = 1 (CS-3)
S G
Given (4.1) it states that every agent with positive utility for some bundle at the current
prices must receive a bundle in the allocation. (CS-3) is only satis ed during the auction
for agents that receive bundles in the provisional allocation, but we prove (CS-3) for all
agents when CombAuction terminates.
We immediately have (CS-3) for the agents that satisfy termination condition [T1],
because the agents receive a bundle in the provisional allocation. Similarly, we immediately
118
have (CS-3) for the agents that do not submit a best-response bid, because that implies that
they have negative utility for all bundles at the prices. Finally, for agents in termination
condition [T2] that receive no bundle but submit the same bids in two successive rounds;
these agents must bid at  below the ask price and have values just below ask prices
otherwise prices would increase and their bids would change.
Finally, the last pair of dual CS conditions, (CS-4) and (CS-5), are:

X X
p(S ) > 0 ) xi(S ) = y (k ) (CS-4)
i2I k2K;S 2k
X
>0) y (k ) = 1 (CS-5)
k2K
The assignment y(k ) = 1 for the partition k = [S^1 : : : S^jIj] trivially satis es the
right-hand side of both conditions.
Termination. By contradiction, assume the auction never terminates. Informally,
[T2] implies that one or more agents must submit di erent bids in successive rounds,
but with myopic best-response bidding this implies that prices must increase and if the
auction does not terminate than one or more agents must eventually bid above their values
for bundles| a contradiction with myopic best-response.
Putting it all together.
Finally, we prove the worst-case error term in Theorem 4.6 when the auction terminates.
Let S  = (S1 ; : : : ; SjIj
 ) denote the nal allocation.

Summing -CS-1 over all agents in the nal allocation, and with p(i) = 0 for agents
not in the allocation by (CS-3),
X X X
p(i)  vi (Si ) , p(Si ) + 2 minfjGj; jIjg
i2I i2I i2I
because an allocation can include no more bundles than there are items or agents.
P
Introducing -CS-2, because y(k ) = 1 for nal allocation Si , then   i2I p(Si ) +
minfjGj; jIjg.
Adding these two equations, we have:
X X
+ p(i)  vi (Si ) + 3 minfjGj; jIjg
i2I i2I

119
The left-hand side is the value of the nal dual solution, VDLP , and the rst-term on
  V
the right-hand side is the value of the nal primal solution, VLP . We know VLP DLP ,

where VLP is the value of the optimal primal solution, by the weak-duality property of

linear programs.
Thus, because VDLP  VLP + 3 minfjGj; jIjg, it follows that
VLP  VLP

, 3 minfjGj; jIjg
Finally, because the primal solution is integral (by construction during CombAuc-
tion), it is a feasible and optimal solution to the combinatorial resource allocation prob-
lem.

4.6.4 Proof: CombAuction(d) and CombAuction(3)


A simple transformation of agents' bids reduces any problem in CombAuction(d) or
CombAuction(3) to a safe problem in CombAuction(2). Bertsekas [Bet92] proposes a
similar transformation method to derive an Auction method for combinatorial optimiza-
tion problems such as max- ow and the transportation problem, reducing problems to the
Assignment problem.
In CombAuction a simple transformation of agents' bids allows CombAuction(3)
to be implemented within CombAuction(2) without price-discrimination, and ensures
that agents' bids remain safe throughout the auction.
Whenever bids from agent i are not safe in CombAuction(2) we can simulate the
price-update rule in CombAuction(3) by introducing a new dummy item that is speci c
to that agent, call it xi . This item is concatenated by the auctioneer to all bids from agent
i in this round and all future rounds. It has the following e ects:
1. The outcome of winner-determination, or the allocative eciency of the auction, is
unchanged because no other agent bids for item xi .
2. Agent i's bids are always safe because every bid includes item xi , and no pair of bids
is compatible.
3. The price increases due to bids from agent i are isolated to that agent in all future
rounds because all price increases are for bundles that include item xi .

120
The optimality of CombAuction(3) follows immediately from the optimality of Com-
bAuction(2) without price discrimination.

4.7 Earlier Primal-Dual Auction Methods


Prior to iBundle there was no method to terminate in competitive equilibrium in the
general combinatorial allocation problem (CAP). Table 4.7 summarizes the progress in
iterative auction design over the past two decades. Each contribution relaxes assumptions
on agent preferences and/or strengthens the equilibrium analysis of the auction. Bidding
languages di er in terms of whether agents can bid on items or bundles, whether agents
can submit single or multiple bids, and the logic used to combine multiple bids. Prices
di er in terms of whether individual items or bundles are priced, and whether prices are
anonymous or non-anonymous.
Name Assumptions Price Bid Update outcome
structure structure method
CK81 linear-additive items OR-items greedy CE
KC82 GS items one bundle greedy CE
Ber79{87 unit-demand items one item greedy CE
DGS86 unit-demand items XOR-items minimal Vickrey
Aus97 homog subadditive one price one bundle clinch Vickrey
Aus00 GS items one bundle clinch & unclinch Vickrey
+ 1 auctions
n

GS00 GS items XOR-bundle minimal min CE


Wur00 monotone bundles XOR-bundle minimal -
iBundle(2) safe bundles XOR-bundle greedy CE
iBundle(d) monotone bundles XOR-bundle greedy CE
non-anonymous
Adjust monotone bundles XOR-bundle greedy min CE
non-anonymous
Extend&Adjust monotone bundles XOR-bundle greedy (Vickrey)
non-anonymous
Table 4.7: Primal-dual auction methods.
All auctions terminate with ecient allocations, but achieve di erent levels of
robustness-to-manipulation. Vickrey payments provide more robustness-to-manipulation
than min CE prices, which provide more robustness than CE prices. Termination with
Vickrey payments makes myopic best-response a Nash equilibrium of the auction [GS00].
Termination with competitive equilibrium prices provides some incentive-compatibility, at

121
least in the last round of the auction. Minimal CE prices often coincide with Vickrey pay-
ments, but otherwise might be imagined to provide \intermediate" incentive-compatibility
properties between that of any CE outcome and the Vickrey outcome.
Computing adjusted prices after termination with iBundle and Adjust (see Chapter 7),
labeled (Adjust) in Table 4.7, implements minimal CE prices. These prices support Vickrey
payments for both unit-demand and gross-substitutes agent preferences, i.e. capturing all
known previous iterative Vickrey auctions for the CAP problem. Moreover, I believe
that the extended auction, iBundle Extend&Adjust, is signi cantly more powerful. I
conjecture that the extended auction is an iterative Vickrey auction for all CAP instances.
The relationship between the nal prices in an auction and an auction's robustness to
manipulation is discussed in detail in Chapters 6 and 7.
The main structural di erences across auctions are in the bidding-languages, the prices,
and the price-update rules. Beyond that, with the exception of Ausubel [Aus97, Aus00],
the auctions share the following essential steps:
(a) announce prices and a provisional allocation
(b) receive myopic best-response bids from agents
(c) look for a provisional allocation that satis es every agent
(d) increase prices on over-demanded items (or bundles) if no solution is found
The auctions di er in the method used to adjust prices across rounds, i.e. the choice
of overdemanded set. Price update methods are either greedy or minimal. In a greedy
update rule the price is increased on all over-demanded items (or bundles). In a minimal
update rule the price is increased on the smallest set of over-demanded items (or bundles).
Prior to the iBundle Extend&Adjust method, the usual approach to compute Vickrey
payments was to implement minimal price-updates in each round [DGS86, GS00] of the
auction. Minimal price updates are designed to adjust towards minimal CE prices, which
are equivalent to Vickrey payments in many problems [GS99]. The dual solution that
maximizes agent utility and minimizes auctioneer revenue corresponds to the minimal
competitive equilibrium solution. In iBundle Extend&Adjust prices are increased beyond
minimal CE prices, but adjusted back towards minimal CE prices, and Vickrey payments,
after termination.

122
4.7.1 Assumptions on Agent Preferences
The methods of Bertsekas [Ber79, Ber81, Ber88] and Demange et al. [DGS86] assume
unit-demand preferences, in which each agent demands at most one item:
Definition 4.14 [unit-demand] Agent i's valuation
vi (S ) = max v (j )
j 2S i

The allocation problem for unit-demand preferences is known as the assignment prob-
lem, with the goal to assign a single item to each agent to maximize value.
Crawford & Knoer [CK81] assume linear-additive agent preferences.
Definition 4.15 [linear-additive] Agent i's valuation
X
vi (S ) = vi (j )
j 2S

Kelso & Crawford [KC82], Gul & Stacchetti [GS00], and Ausubel [Aus00] assume that
agents have gross-substitutes (GS) preferences. Gross-substitutes states that if the prices
were increased from p to p0 then the agent would continue to demand any item whose
price did not increase (see De nition 4.8). Unit-demand preferences and linear-additive
preferences are special cases of GS.
Ausubel's [Aus97] ascending-price auction assumes multiple identical (homogeneous)
items and subadditive preferences:
Definition 4.16 [subadditive] Valuation function vi (m), for m  0 units of an item,
is subadditive if the marginal value for each additional item is (weakly) decreasing, i.e. if
vi (n + 2) , vi(n + 1)  vi (n + 1) , vi (n) for n  0 units.
Finally, in iBundle, and in AkBA [WW00], the only restriction on agent preferences is
that they are monotone:
Definition 4.17 [monotone] Valuation function vi (S ) is monotone if vi (S1 )  vi (S2 )
for all S1  S2 , i.e. free-disposal of additional items.

123
4.7.2 Relating to Primal-Dual Methods
Bertsekas [Ber79, Ber81, Ber88] was the rst to make an explicit connection between
primal-dual algorithms and auction mechanisms for combinatorial optimization problems.
Auction is a primal-dual based method to solve the assignment problem, in which agents
have unit-demand preferences. Although Auction has a natural auction interpretation,
with agents bidding for their favorite item in each round, there is no consideration of agent
incentives in Bertsekas' work. His motivation was to develop new algorithms to solve prob-
lems in parallel environments, although experimental analysis showed good performance
on single processors. See [Ber87] for a text book introduction to the Auction algorithm,
and [Ber90] for a tutorial.
Bertsekas has also proposed variants of his Auction algorithm for other combinatorial
optimization problems, including the transportation problem [BC89], a variation of assign-
ment with multiple identical items, and the minimal cost ow problem [Ber86]. Bertsekas
[Bet92] has recently provided a uni ed framework of this large body of work, transforming
each optimization problem into the assignment problem.
The work of Demange et al. [DGS86] is important, as it was the rst to consider agent
incentives and demonstrate an iterative auction procedure to compute Vickrey payments in
the assignment problem. The DGS procedure was derived in the context of a linear program
formulation for Vickrey payments due to Leonard [Leo83]. Sankaran [San94] appears to
provide a primal-dual interpretation of DGS. Recently, Bikchandani et al. [BdVSV01]
provide an alternative primal-dual interpretation of DGS, with respect to a new linear
program formulation of the CAP.
Although primal-dual analysis is not explicit in the work of [CK81, KC82, DGS86,
Aus97, Aus00, GS00] a primal-dual explanation can be provided for an appropriate linear
programming model [BdVSV01].
Ausubel's auctions [Aus97, Aus00] are quite innovative. In Ausubel [Aus97] the auction
maintains one explicit price, but is able to compute multiple prices, one for each agent,
that equal the Vickrey payments. Ausubel describes a \clinching" process, whereby the
price for items is locked-in during the course of the auction. Bikchandani & Ostroy [BO00]
give a primal-dual algorithm and linear program for Ausubel's [Aus97] homogeneous good
auction. Bikchandani et al. [BdVSV01] propose an alternative derivation based on a
network path planning formulation. The clinching rule is reinterpreted as a discount from

124
a nal clearing price in the auction.
Recently Ausubel [Aus00] proposes a complex auction procedure to compute Vickrey
payments with GS agent preferences. Ausubel maintains one price for each item, i.e. linear
prices, but actually must run I +1 auctions (a main auction, and one without each agent in
turn) to compute Vickrey payments. The auction's theoretical contribution is signi cant
because it has been observed [GS00] that no single set of linear competitive equilibrium
prices can support Vickrey payments with GS agent preferences. Note however that there
is a set of non-linear (and perhaps non-anonymous) competitive equilibrium prices that
support the Vickrey payments with GS preferences [BdVSV01].
Gul & Stacchetti [GS00] state that no dynamic mechanism can reveal sucient infor-
mation to implement the Vickrey mechanism with GS preferences. Ausubel's method is
outside the spirit of their negative result because of its reliance on multiple auctions. Simi-
larly, my work on iBundle escapes this negative result with non-linear and non-anonymous
prices on items. The nal price adjust step might also be outside of the spirit of their
focus on \monotonic" price adjustment. iBundle with Adjust will provably compute
the ecient allocation and Vickrey payments for GS agent preferences, based on myopic
best-response information from agents to an ascending sequence of prices.
Wurman's Ascending k-Bundle Auction (AkBA) [WW00] family of iterative combina-
torial auctions also maintain explicit prices on bundles of items, and were designed with
a generalization of the DGS [DGS86] auction in mind. In each round of AkBA Wurman
uses a linear program to increase (and sometimes decrease) prices. A1BA, thought to be
the most promising of the family, computes the maximal prices that solve a restricted dual
problem in each round.

125

You might also like