Knapsack auction
From Wikipedia, the free encyclopedia
A knapsack auction is an auction in which several identical items are sold, and there are several bidders with different valuations interested in different amounts of items. The goal is to choose a subset of the bidders with a total demand, at most, the number of items and, subject to that, a maximum total value. Finding this set of bidders requires solving an instance of the knapsack problem, which explains the term "knapsack auction".
An example application of a knapsack auction is auctioning broadcast time among advertisers. Here, the items are the time units (e.g., seconds). Each advertiser has an advertisement of a different length (different number of seconds) and a different value for an advertisement. The goal is to select a subset of advertisements to serve in a time slot of a specific length to maximize the total value.
There are m identical items and n different bidders. The preferences of each bidder i are given by two numbers:
- A demand si - an integer that determines how many items this bidder wants. The bidder needs precisely this number of items and has no use for more or fewer items.
- A value vi - a number that determines how much money the bidder expects to gain from receiving exactly si items.
A feasible outcome of the auction is a subset W of winning bidders, such that their total demand is at most m: . The value of a set W of winners is the sum of values of the winners: . The goal is to find a feasible set of winners with a maximum total value.
In the broadcast time example, if there are 5 minutes allocated for advertisements, then m=300 (the number of seconds), n=the number of potential advertisers, si=the length of i's advertisement in seconds, and vi=the money that i expects to gain if his advertisement is broadcast.