Title: An Algorithm for Optimal Winner Determination
1An Algorithm for Optimal Winner Determination in
Combinatorial Auctions
Tuomas Sandholm Computer Science Department,
Carnegie Mellon University, 5000 Forbes Avenue,
Pittsburgh, PA 15213, USA E-mail address
sandholm_at_cs.cmu.edu This material was first
presented as an invited talk at the 1st
International Conference on Information and
Computation Economics 10/28/1998, and finally was
released in Artificial Intelligence 135 (2002)
1-54
2Auction Mechanisms
- Sequential Auction - Auction items one by one
- Easy for sellers (asking-side) to determine the
winner - Difficult for buyers (bidding-side) to win a
collection of favorite items. the problem is
that the market requirement cannot be fulfilled
by this kind of auction mechanisms. - Parallel Auction - Auction items at the same time
in a period - Easy for sellers to determine the winner
- Every buyers who want a collection of favorite
items prefers to wait until the end of the period
to see what the going the prices on his favorite
items will be and then to optimize his bids so as
to win all of his favorite items. the problem
is that everybody may use this strategy! - Combinatorial Auction Buyers bid a combination
of items - Very hard (NP) for sellers to determine the
winner. computation problem. - Buyers may flexibly to bid what they want in a
fair competition.
3Computational Model of Combinatorial Auctions
A collection of m items
?
M
S
m M
- Buyers (bidders)
- Agent-1
- Agent-2
-
- Agent-i
-
- Agent-n
A Seller
NP!
maxW?A(?S?Wb (S))
bi(S) 0
W is a partition of M. A is the set of exhaustive
partitions on M.
bi(S) 0 means the bidder i does not bid on S.
Objectives Maximize sellers revenue
P!
b (S) maxi?bidders bi(S)
b(S) 0 means no any buyer bid on S.
4An Example of Exhaustive Partitions on 4 Items
?(mm/2)
M 1, 2, 3, 4 M m 4
In other words, q is how many S in one partition
(or level)
S1, S2, S3
W
maxW?A(?S?Wb (S))
5Solutions to the Winner Determination in
Combinatorial Auctions (NP-Complete)
Exhaustive Enumeration When time or space is
infinite, NPP Dynamic Programming M.H.
Rothkopf, A. Pekec, R.M. Harstad, Computationally
manageable combinatorial auctions, Management
Sci. 44 (8) (1998) 11311147. Significantly
faster than exhaustive Enumeration
O(3m)/?(2m) Intractable the key reason is this
approach considered every combination S in the
exhaustive partitions even if the corresponding
bid does not happen in practice.
6Ideas of The Polynomial Approximation Algorithm
- M.H. Rothkopf, A. Pekec, R.M. Harstad,
Computationally manageable combinatorial
auctions, Management Sci. 44 (8) (1998)
11311147. - Only consider relevant bids or relevant
partitions - Restrict the combinations (bids) based on some
criteria - At most 2 items in one bid O(m3)
- Use the tree structure to limit the bid forms
O(m2) - Bidding based on some ordering of items
- Use families of combinations of items in which
local winner determination is very easy - Find the approximate solution, which is
close-to-optimal.
Computing Speed
Economic Efficiency
Trade-off
7The New Optimal Search Algorithm This papers
contribution
Auction Market Bidding
1. Preprocessing
The input (after only the highest bid is kept for
every combination of items for which a bid was
received - all other bids are deleted) is a list
of bids B1, . . . ,Bn (B1S, B1b), . . . ,
(BnS, Bnb) where BjS is the set of items in bid
j, and Bjb is the price in bid j.
2. Construct Bid-tree
3. Tree-Search for the Solution
8IDA Branch Bound Search SEARCH1 on the Tree
Organize all the preprocessed bids into a tree
Features of the Search-tree The path from the
root to a node (interior or leaf ) corresponds to
a relevant partition. In other words, each
relevant partition W ? A (relevant) is
represented by exactly one such path.
9IDA Branch Bound Search SEARCH1 on the Tree
IDA At any node, an upper bound on the total
revenue that can be obtained by including that
search node in the solution is given by f g
h(F). The function h(F) gives an upper bound on
how much revenue the items F that are not yet
allocated on the current search path can
contribute. g is the sum of the prices of the
bids that are on the current search path. Branch
Bound Search (BBS) After the first solution
found, the search switch to BBS for the optimal
solution.
Organize all the preprocessed bids into a tree
Features of the Search-tree The path from the
root to a node (interior or leaf ) corresponds to
a relevant partition. In other words, each
relevant partition W ? A (relevant) is
represented by exactly one such
path. Complexity exponential in the number of
items but polynomial in the number of bids.
10How to generate such a powerful tree?
The key is the generation of children Naïve Lo
op though the list of bids O(nm) Bid-tree In
the worst-case, the improvement is moderate. In
other cases, it improves significantly greater.
The best one is O(1) and most of cases (in the
average case) are O(max(m logn, n)
- Conditions of Tree Construction. Every relevant
partition W ? A is represented in the tree by
exactly one path from the root to a node
(interior or leaf ) if the children of a node are
those bids that - include the item with the smallest index
among the items that have not been used on the
path yet, and - do not include items that have already been
used on the path
11Secondary DFS (SEARCH2) on Bid-Tree
Usage of Stopmask The Stopmask is a vector with
one variable for each item, Stopmaski, where i
?M. If Stopmaski BLOCKED, SEARCH2 will never
progress left at depth i. This has the effect
that those bids that include item i are pruned
instantly and in place. If Stopmaski MUST,
then SEARCH2 cannot progress right at depth i.
This has the effect that all other bids except
those that include item i are pruned instantly
and in place. If Stopmaski ANY corresponds
to no pruning based on item i SEARCH2 may go
left or right at depth i .
Insert all the preprocessed bids into a bid-tree
M 1, 2, 3
i1
i2
i3
IDABBS In the beginning, Stopmask1 MUST
and others Stopmaski ANY. The first child of
any given node in the search-tree is determined
by a secondary DFS from the top of the Bid-tree
until a leaf (bid) is reached.
12Secondary DFS on Bid-Tree (Cont.)
Insert all the preprocessed bids into a bid-tree
M 1, 2, 3
When a bid B is reached, is appended to the path
of the search-tree and the algorithm sets
Stopmaski BLOCKED for all i ? B.S
and Stopmaski MUST, where I is the minimum
index at that time. When backtracking a bid from
the path of the search-tree, all the MUST and
BLOCKED values are changed back to ANY, and the
MUST value is reallocated to the place in the
Stopmask where it was before that bid was
appended to the path. The next unexplored
sibling of any child, j, of such a node in the
search-tree is determined by continuing the
secondary-DFS. by backtracking in the Bid-tree
after the tree-search has explored the tree under
B.
i1
i2
i3
IDABBS In the beginning, Stopmask1 MUST
and others Stopmaski ANY. The first child of
any given node in the search-tree is determined
by a secondary DFS from the top of the Bid-tree
until a leaf (bid) is reached.
13Preprocessing for Bid-tree Construction
PRE1 Keep only the highest bid for a combination
Inserting a bid into the Bid-tree is O(m) because
insertion involves following or creating a path
of length m. There are n bids to insert. So, the
overall time complexity of PRE1 is O(mn).
PRE2 Remove provably noncompetitive bids
A bid ( prunee) is non-competitive if there is
some disjoint collection of subsets of that bid
such that the sum of the bid prices of the
subsets exceeds or equals the price of the prunee
bid. This picture is to show how to determine a
new bid on (1, 2, 3, 4) being non-competitive. Th
e tree is the search-tree which irrelevant bids
are removed. Search on this tree to make
decisions.
10
4
7
Its complexity is similar to the IDABB if some
bid contains all the items, because it uses the
search-tree.
14Preprocessing for Bid-tree Construction (Cont.)
PRE3 Decompose the set of bids into connected
components
The bids are divided into sets such that no item
is shared by bids from different sets. PRE4 and
the tree-search are then done in each set of bids
independently, and using only items included in
the bids of the set.
PRE4 Mark noncompetitive tuples of bids
Noncompetitive tuples of disjoint bids are marked
so that they need not be considered on the same
path in SEARCH1. For example, the pair of bids 5
for items (1, 3), and 4 for items (2, 4) is
non-competitive if there is a bid of 3 for items
(1, 2) and a bid of 7 for items (3, 4) This is
similar to PRE2. The difference is the prunee is
a virtual bid that contains the items of the bids
in the tuple. The price of the virtual prunee is
the sum of the prices of those bids.
3
4
3
7
3
Its complexity is similar to the IDABB if some
bid contains all the items, because it uses the
search-tree.
15Empirical Evaluation
- Complexity
- Polynomial in the number of bids
- Exponential in the number of items
- Four Different Bid Distributions
- Random For each bid, pick the number of items
randomly from 1, 2, . . .,m. Randomly choose that
many items without replacement. Pick the price
randomly from 0, 1. - Weighted random As above, but pick the price
between 0 and the number of items in the bid. - Uniform Draw the same number of randomly chosen
items for each bid. Pick the prices from 0, 1. - Decay Give the bid one random item. Then
repeatedly add a new random item with probability
a until an item is not added or the bid includes
all m items. Pick the price between 0 and the
number of items in the bid.
16Problem instances (random distribution) tended to
be easy because the bids were long. So, the
search path was short. In both the weighted and
the unweighted case, the curves are sublinear
meaning that execution time is polynomial in
bids. This is less clear in the unweighted case.
17The bulk of the execution time was spent
preprocessing rather than searching. On all of
the other distributions than weighted random, the
preprocessing time was a small fraction of the
search time.
18The uniform distribution was harder. The bids
were shorter so the search was deeper. The
second figure shows the complexity decrease as
the bids get longer, that is, the search gets
shallower.
19In practice, the auctioneer usually can control
the number of items that are being sold in a
combinatorial auction, but cannot control the
number of bids that end up being submitted.
Therefore, it is particularly important that the
winner determination algorithm scales up well to
large numbers of bids. On the random and weighted
random distributions, the algorithm scales very
well to large numbers of bids. The uniform and
decay distributions were much harder. However,
even on these distribution, the curves are
sublinear, meaning that execution time is
polynomial in bids.
20On the random and weighted random distributions,
the algorithm scales very well to large numbers
of items. The curves are sublinear, meaning that
execution time is polynomial in items.
The uniform and decay distributions were harder.
But, the curves are sublinear, meaning that
execution time is polynomial in items.
21- Conclusion
- Exhaustive enumeration and dynamic programming
are not practical. - Limitation on the forms of bidding may sacrifice
the economic efficiency. - The new algorithm is exponential in the number of
items and polynomial in the number of bidding,
which fulfill the market requirement much better
by means of limiting on the number of items. - If the number of items are lot, as long as the
sparseness of bidding is good enough, this
algorithm is still practical. - - THE END -