CH 4
CH 4
CH 4
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
86
agents follow a myopic best-response bidding strategy, bidding for bundles that maximize
their utility given the prices in each round.
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 ).
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.
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)
Compute
Feasible
Primal Solution
(allocation)
x’
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.
93
Complementary- VDLP
VDLP slackness holds
Value
Value
VIP* VIP*
VLP (integral)
VLP
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.
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
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.
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
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).
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.
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
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 )
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].
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 ]
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 .
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 ]
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.
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
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:
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)
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.
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
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:
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.
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
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.
120
The optimality of CombAuction(3) follows immediately from the optimality of Com-
bAuction(2) without price discrimination.
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