Top Banner
Taming the Computational Complexity of Combinatorial Auctions Kevin Leyton-Brown Yoav Shoham
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.

Jul 28, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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