Lecture 2 (Combinatorial Auctions)

advertisement
Combinatorial Auctions
V.S. Subrahmanian
1
Motivation



2
Bidders can bid on a set of items.
The auctioneer can select a set of bids which
maximize his revenue.
Of course, he cannot sell the same item to two
different people.
Fall 2002, © V.S. Subrahmanian
Example
A,B
500
3
B,C
400
A,C
450
Fall 2002, © V.S. Subrahmanian
C
200
Example
A,B
500
B,C
400
A,C
450
winners
A,B
500
4
C
200
Fall 2002, © V.S. Subrahmanian
C
200
Bids


Suppose I is a finite set of items for auction.
A bid is a pair (S,p) where
–
–



5
S is a subset of I
p is a price.
Example: I = {A,B,C}
({A,B},500) is a bid.
({B,C},450) is a bid.
Fall 2002, © V.S. Subrahmanian
Succinct Bids





6
A set B of bids is succinct iff there are no two bids
(s,p1),(s,p2) in B.
If B is not succinct you can make it succinct pretty
easily.
Why ?
E.g. if B = { …,({A,B},500),({A,B},480),…} you can
delete the bid ({A,B},480).
We henceforth assume all sets of bids are succinct.
Fall 2002, © V.S. Subrahmanian
Labelings


Suppose B is a finite (succinct) set of bids.
A labeling is a mapping L from B to {0,1} such
that:
–
7
If L(S1,p1)=1 and L(S2,p2)=1, then S1 and S2 are
disjoint.
Fall 2002, © V.S. Subrahmanian
Example labeling
A,B
500
1
8
B,C
400
A,C
450
C
200
0
0
1
Fall 2002, © V.S. Subrahmanian
Example labeling
A,B
500
0
9
B,C
400
A,C
450
C
200
1
0
0
Fall 2002, © V.S. Subrahmanian
Value of a Labeling




10
Suppose I is a set of items and B is a succinct
set of bids.
The value v(L) of labeling L is defined as
SUM(S,P) in B and L(S,p)=1 p.
Intuitively, the value of a labeling determines
the total amount of money the auctioneer takes
in from the auction.
Fall 2002, © V.S. Subrahmanian
Example labeling
A,B
500
1
B,C
400
A,C
450
C
200
0
0
1
Value = 700
11
Fall 2002, © V.S. Subrahmanian
Example labeling
A,B
500
0
B,C
400
A,C
450
C
200
1
0
0
Value = 400
12
Fall 2002, © V.S. Subrahmanian
Winner determination problem
(WDP)




13
Suppose I is a set of items and B is a succinct
set of bids.
A labeling L is a winner iff there is no other
labeling L’ such that v(L’) > v(L).
WDP:Find a winner !
WDP is NP-complete.
Fall 2002, © V.S. Subrahmanian
Winner computation







14
How do you find a winner ?
Construct a tree.
Each node in the tree contains a subset of B such that no two bids
in B conflict.
Root contains the empty set of bids.
If a node N has b1 as its set of bids, and if b is a bid in B – b1
which does not conflict with any bid in b1, then N has a child
labeled b1 U {b}.
Thus, node N may potentially have lots of children.
We would like to find a leaf node in this tree such that the value of
that leaf node is maximal.
Fall 2002, © V.S. Subrahmanian
Example
({},0)
({A,B},500)
15
({B,C},400)
({A,C},450}
Fall 2002, © V.S. Subrahmanian
({C},200)
Example Tree
({},0)
({A,B},500)
({C},200)
16
({B,C},400)
({A,C},450}
({C},200)
(NOTE: label of a node
is union of all labels on the
path to that node).
({A,B},500)
Fall 2002, © V.S. Subrahmanian
Winner computation




17
Clearly, such a tree is clearly HUGE.
We do not want to construct this whole tree.
Instead, we would like to find a winner by
pruning this tree.
How can we prune this tree?
Fall 2002, © V.S. Subrahmanian
Winner computation



18
Associate with each node, two values.
G(N): total revenues associated with the bids
labeling the node.
H(N): an overestimate of the cost of a solution
reachable from that node.
Fall 2002, © V.S. Subrahmanian
Example Tree: G(N)
({},0)
({A,B},500)
({B,C},400)
({A,C},450}
({C},200)
500
({C},200)
19
({A,B},500)
700
Fall 2002, © V.S. Subrahmanian
How to compute H(N)



20
Let bids(N) be the set of bids labeling N.
Associate with each item i not contained in any
bid in bids(N), a cost C(i).
Set H(N) to be the sum of all the C(i) such that
i is not contained in any bid in bids(N),
Fall 2002, © V.S. Subrahmanian
How to compute C(i)



21
Find each item i not contained in any bid in
bids(N)..
For each such i, find each bid b in B-bids(N)
which contains I and which does not conflict
with bids(N).
Let C(i) = MAX { avgcost(b) | b in B-bids(N)
and b contains i and b does not conflict with
bids(N) }.
Fall 2002, © V.S. Subrahmanian
Example Tree: H(N)
({},0)
({A,B},500)
({B,C},400)
({A,C},450}
({C},200)
22
({C},200)
({A,B},500)
Fall 2002, © V.S. Subrahmanian
Example: H(N)




({C},200) does not
contain both A,B.
Bids containing A:
({A,B},500), ({A,C},450).
({A,C},450) conflicts with
({C},200).
Cost(A)=250.



Bids containing B:
({A,B},500),({B,C},400).
({B,C},400) conflicts with
({C},200).
Cost(B) = 250.
H(N) = 500
23
Fall 2002, © V.S. Subrahmanian
Search Strategy

Maintain
–
–
–

24
OPEN list (nodes not expanded yet) in descending
order of G(N)+H(N).
BestSol
BestVal.
If BestVal > G(N)+H(N), then prune N from
search tree.
Fall 2002, © V.S. Subrahmanian
Example Tree: G(N) + H(N)
({},0)
({A,B},500)
({B,C},400)
({A,C},450}
({C},200)
725
650
700
700
({C},200)
25
({A,B},500)
Fall 2002, © V.S. Subrahmanian
Example Tree: G(N) + H(N)
({},0)
({A,B},500)
({B,C},400)
({A,C},450}
({C},200)
725
650
700
700
({C},200)
26
BestSol
BestVal = 700
As no other node has G(N)+H(N) > BestVal, STOP
Fall 2002, © V.S. Subrahmanian
Conclusions


27
Many improvements possible.
But this algorithm will product an optimal
solution.
Fall 2002, © V.S. Subrahmanian
Download