Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav...
Transcript of Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav...
![Page 1: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/1.jpg)
Taming the Computational Complexity of Combinatorial Auctions
Kevin Leyton-BrownYoav Shoham
![Page 2: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/2.jpg)
Overview
1. Problem Statement1. Problem Statement2. CASS3. Experimental Results4. Conclusions
![Page 3: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/3.jpg)
Combinatorial Auctions
Agents often desire goods more in combination with other goods than separately
Example: two pieces of adjacent property
Combinatorial Auctions: mechanisms that allow agents to explicitly indicate complementarities
Multiple goods are auctioned simultaneously Bidders place as many bids as they wantEach bid may claim any number of goods
Agents assume less risk than in sequential auctionsThe auctioneer can hope to achieve higher revenues and/or greater social welfare
![Page 4: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/4.jpg)
Problem Statement
Determine the winners of a combinatorial auctionGiven a set of bids on bundles of goods, find a subset containing non-conflicting bids that maximizes revenueThis procedure can be used as a building block for more complex combinatorial auction mechanisms ⌧e.g., the Generalized Vickrey Auction mechanism
Unfortunately, even this building block is an NP-complete problemFinding optimal allocations remains desirable
properties like truth revelation may not hold with approximationproblems up to a certain size will be tractable
![Page 5: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/5.jpg)
Substitutability
Sometimes bidders will pay less for combinations of goods than the sum of what they would pay for each good individually
e.g., copies of the same book
A bidder submits: ($20,{g}); ($20,{h}); ($30,{g,h}){g} and {h} would be the winning bids: the bidder would be charged $40 instead of $30
Dummy goods:The bidder submits: ($20, {g,d}), ($20, {h,d}), and ($30, {g,h}) where d is a new, unique dummy goodThe first two bids now name the same good and so will never be allocated together
![Page 6: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/6.jpg)
Overview
1. Problem Statement2. CASS2. CASS3. Experimental Results4. Conclusions
![Page 7: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/7.jpg)
CASS: Introduction
CASS – Combinatorial Auction Structured SearchCASS considers fewer partial allocations than a naïve DFS:
structure the search space: consider fewer conflicting bidspruning: use context from the search structure to generate close overestimates of total revenueordering heuristics: capitalize on this structure to speed searching and improve anytime performance
CASS has low memory demandsonly stores nodes that are part of current allocation (# goods)most memory is used for pruning tablesaverage 10-20 MB used for problems discussed today
Originally we proposed two algorithms, now CASS is always faster
![Page 8: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/8.jpg)
Naïve Depth-First Search
bids are tuples: (a binary set of goods, a price)nodes are partial allocations (sums of bids)start node: empty set (no goods, $0)transitions between nodes: add one bid to the partial allocation
only add non-conflicting bids (bids whose intersection with the current partial allocation is empty)
terminal node: no non-conflicting bids existthe terminal node with the highest revenue is the optimal allocation
![Page 9: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/9.jpg)
CASS Improvement #1: Preprocessing
1. Remove dominated bids If there exist bids bk= (pk,Gk) and bl= (pl,Gl) such that pl ≥ pkand Gl ⊆ Gk, then remove bk⌧ Two bids for the same bundle of goods with different prices⌧ One bundle is a a strict subset of another and has a higher price
2. For each good g, if there is no bid b=(x,{g}), add a dummy bid b=(0,{g})
This ensures that the optimal set of bids will name every good, even if some goods are not actually allocated
![Page 10: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/10.jpg)
CASS Improvement #2: Bins
Structure the search space to reduce the number of infeasible allocations that are considered
Partition bids into bins, Di, containing all bids b where good i ∈ Gb and for all j < i, j ∉ Gb
Add only one bid from each bin
124121341345
124514125
23234242452
34353453
454
5
1
D1 D2 D3 D4 D5
![Page 11: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/11.jpg)
CASS Improvement #3: Skipping Bins
When considering bin Di, if good j > i is already part of the allocation then do not consider any of the bids in Dj
All the bids in Dj are guaranteed to conflict with our allocation
In general, instead of considering each bin in turn, skip to Dk where k ∉ G(F) and ∀i<k, I ∈ G(F)
124121341345
124514125
23234242452
34353453
455
4
1
![Page 12: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/12.jpg)
CASS Improvement #4: Pruning
Backtrack when it is impossible to add bids to the current allocation to achieve more revenue than the current best allocationRevenue overestimate function o(g,i,F)
an overestimate of the revenue that can be achieved with good g, searching from bin i with current partial allocation F⌧an admissible heuristic
precompute lists for all g, i:⌧all bids that contain good g and appear in bin i or beyond⌧sorted in descending order of average price per bid (APPB)
return APPB of the first bid in the list that doesn’t conflict with FBacktrack at any point during the search if revenue(F) + ≤ revenue(best_allocation)∑
∉Fg
Figo ),,(
![Page 13: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/13.jpg)
CASS Improvement #5: Good Ordering Heuristic
Good ordering: what good will be numbered #1, #2…Goal: reduce branching factor at the top of the tree
pruning will often occur before bins with a higher branching factor are reached
Ordering of goods:Sort goods in ascending order of score,
more bids more branchinglonger bids shallower search
gcontainingbidsoflengthaveragegcontainingbidsofnumbergscore =:)(
![Page 14: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/14.jpg)
CASS Improvement #6: Bid Ordering Heuristic
Finding good allocations quickly:1. Makes pruning more effective2. Is useful if anytime performance is important
Ordering of bids in each bin:Sort bids in descending order of average price per goodMore promising bids will be encountered earlier in the search
![Page 15: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/15.jpg)
Overview
1. Problem Statement2. CASS3. Experimental Results3. Experimental Results4. Conclusions
![Page 16: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/16.jpg)
Experimental Results: Data Distributions
There is little or no real data available, so we drew bids randomly from specific distributions
Binomial:
The probability of each good being included in a given bid is independent of which other goods are included
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
0 5 10 15 20 25 30
Bid Length
Freq
uenc
y
2.0, == pn!(N-n)!
N!(1-p)p(n) f
N-nn
b
![Page 17: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/17.jpg)
Experimental Results: Data Distributions
Binomial is fairly easy to analyze, but not very realisticin a real auction, we expect mostly short bidsharder more bids must be combined in an allocation
Exponential: fe(n) = Ce-x/p, p = 5a bid for n+1 goods appears e-1/p times less often than a bid forn goods.
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0 5 10 15 20 25 30
Bid Length
Freq
uenc
y
![Page 18: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/18.jpg)
Experimental Results: Data Distributions
Distribution of prices is also very importantpruning is done on the basis of price
Prices of bids for n goods is uniformly distributed between [n(1-d), n(1+d)], d = 0.5
prices cluster around a “natural” average price per bid, and deviate by a random amountif prices were completely random, the pruning algorithm would have more of an advantage
![Page 19: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/19.jpg)
Experimental Results:Running Time (Binomial)
CASS Performance: Runtime vs. Number of Bids
0.1
1
10
100
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Number of Bids (Binomially Distributed)
Run
ning
tim
e (m
edia
n ov
er 2
0 ru
ns, s
econ
ds)
200 goods 300 goods 400 goods 500 goods
![Page 20: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/20.jpg)
Experimental Results:Running Time (Exp.)
CASS Performance: Runtime vs. Number of Bids
0.01
0.1
1
10
100
1000
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Number of Bids (Exponentially Distributed)
Run
ning
tim
e (m
edia
n ov
er 2
0 ru
ns, s
econ
ds)
30 goods 40 goods 50 goods 60 goods 70 goods
![Page 21: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/21.jpg)
Experimental Results:Running Time (Exp.)
CASS Performance: Runtime vs. Number of Bids
0.01
0.1
1
10
100
1000
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Number of Bids (Exponentially Distributed)
Run
ning
tim
e (m
edia
n ov
er 2
0 ru
ns, s
econ
ds)
60 goods
![Page 22: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/22.jpg)
Experimental Results:Anytime Performance (Exp)
CASS Percentage Optimality: Elapsed Time vs. Number of Bids
0.01
0.1
1
10
100
1000
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Number of Bids (Always 60 Goods, Exponentially Distributed)
Elap
sed
time
(med
ian
over
20
runs
, sec
onds
)
0.8 0.9 0.95 0.96 0.97 0.98 0.99 1 Completed
![Page 23: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/23.jpg)
Sandholm’s BidTreeAlgorithm
Presents results for four different distributions:Random Distribution:⌧Select the number of goods, N, in a given bid (uniform random)⌧Uniquely choose the goods⌧Price: uniform random between [0, 1]
Weighted Random Distribution:⌧Same as above, but price is [0, N]
Uniform Distribution⌧All bids have same length (3 goods in this case)⌧Price: uniform random between [0, 1]
Decay Distribution⌧A given bid starts with one random good⌧Keep adding random unique goods with probability α⌧Price: uniform random between [0, N]
![Page 24: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/24.jpg)
Experimental Results:Random Distribution
CASS vs BidTree Performance: Runtime vs. Number of Bids
0.1
1
10
100
1000
10000
500 750 1000
Number of Bids (Random Distribution)
Run
ning
tim
e (a
vera
ge o
ver 2
0 ru
ns, s
econ
ds)
CASS - 100 goods CASS - 200 goods CASS - 300 goods CASS - 400 goodsBidTree - 100 goods BidTree - 200 goods BidTree - 300 goods BidTree - 400 goods
![Page 25: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/25.jpg)
Experimental Results:Weighted Random Distribution
CASS vs BidTree Performance: Runtime vs. Number of Bids
0.1
1
10
100
1000
10000
500 1000 1500 2000
Number of Bids (Weighted Random Distribution)
Run
ning
tim
e (a
vera
ge o
ver 2
0 ru
ns, s
econ
ds)
CASS - 100 goods CASS - 200 goods CASS - 300 goods CASS - 400 goodsBidTree - 100 goods Bidtree - 200 goods BidTree - 300 goods BidTree - 400 goods
![Page 26: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/26.jpg)
Experimental Results:Uniform Distribution
CASS vs BidTree Performance: Runtime vs. Number of Bids
0.001
0.01
0.1
1
10
100
1000
10000
100000
50 100 150
Number of Bids (Uniform Distribution)
Run
ning
tim
e (a
vera
ge o
ver 2
0 ru
ns, s
econ
ds)
CASS - 25 goods CASS - 50 goods CASS - 75 goods CASS - 100 goodsBidTree - 25 goods BidTree - 50 goods BidTree - 75 goods BidTree - 100 goods
![Page 27: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/27.jpg)
Experimental Results:Decay Distribution
CASS vs BidTree Performance: Runtime vs. Number of Bids
0.001
0.01
0.1
1
10
100
1000
10000
50 100 150 200
Number of Bids (Decay Distribution)
Run
ning
tim
e (a
vera
ge o
ver 2
0 ru
ns, s
econ
ds)
CASS - 50 goods CASS - 100 goods CASS - 150 goods CASS - 200 goodsBidTree - 50 goods BidTree - 100 goods BidTree - 150 goods BidTree - 200 goods
![Page 28: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/28.jpg)
Overview
1. Problem Statement2. CASS3. Experimental Results4. Conclusions4. Conclusions
![Page 29: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/29.jpg)
Conclusions
We have proposed an algorithm to mitigate the computational complexity of combinatorial auctions, which works surprisingly well on simulated data
determines optimal allocations in a small fraction of the time taken by a naïve DFS approach to solve the same problemcan find good approximate solutions quickly
![Page 30: Taming the Computational Complexity of Combinatorial Auctionskevinlb/talks/CASS - IJCAI.pdf · Yoav Shoham. Overview 1. Problem Statement 2. CASS 3. Experimental Results 4. Conclusions.](https://reader036.fdocuments.net/reader036/viewer/2022080722/5f7ba1dc508ffb04da0e4cc3/html5/thumbnails/30.jpg)
Future Work
Investigate the effects of different bin orderings and orderings of bids within binsCompare to other search techniques
integer programmingother combinatorial auction search techniques
Experiments with real data (FCC auctions?)Caching: referenced in our paper, but currently disabledDivisible/identical goods
some of our work on CASS is relevant to the new problem; much is not