For sealed-bid combinatorial auctions we agreed on collecting bids in two ways:
- in CATS format (fully expanded)
- using the OR* bidding language (Nisan, ch.9, Cramton et al. Combinatorial Auctions book)
(Note that different dynamic auctions will impose different restrictions on permitted bids at bidding rounds progress.)
Here is another naive suggestion for entering sealed package bids in a combinatorial auction in a user-friendly and demoable way (in case OR* becomes too complicated). The assumption is that
- the participants have budgets with strict upper limits
- within this limit, the bid function is linear on item sets as in
\forall A, B . bid(A \cup B) = bid(A) + bid(B)
I'm not making any assumptions w.r.t. substitutability or complementarity of goods.
In the console user interface that we will eventually wrap around the Scala-from-Isabelle code for combinatorial Vickrey auctions, do the following for each participant:
- ask for its bid
b(S) on every singleton set S \in { {a} | a \in x0 }
- ask for an upper limit
u for bids on larger sets
- set the bid of the empty set to
0
- for each non-singleton set
U where x0 \supseteq U \supset S compute the bid as min { \sum a \in U . b({a}) , u }, i.e. the sum of the bids on each of its singleton subsets, capped by u
- display all bids to the user
- allow the user to revise …
- at least bids on individual sets (particularly including the non-singleton sets, which haven't been explicitly asked for so far)
- plus maybe all bids on each member of a set of sets, to be selected by a wildcard input notation.
Example with two items {a, b}:
1
2
2.5
suggested bids:
{} 0
{a} 1
{b} 2
{a,b} 2.5
enter any set to revise your bid on that set:
For sealed-bid combinatorial auctions we agreed on collecting bids in two ways:
(Note that different dynamic auctions will impose different restrictions on permitted bids at bidding rounds progress.)
Here is another naive suggestion for entering sealed package bids in a combinatorial auction in a user-friendly and demoable way (in case OR* becomes too complicated). The assumption is that
\forall A, B . bid(A \cup B) = bid(A) + bid(B)I'm not making any assumptions w.r.t. substitutability or complementarity of goods.
In the console user interface that we will eventually wrap around the Scala-from-Isabelle code for combinatorial Vickrey auctions, do the following for each participant:
b(S)on every singletonset S \in { {a} | a \in x0 }ufor bids on larger sets0Uwherex0 \supseteq U \supset Scompute the bid asmin { \sum a \in U . b({a}) , u }, i.e. the sum of the bids on each of its singleton subsets, capped byuExample with two items
{a, b}:1
2
2.5