iBundle & Iterative GVA

David C. Parkes

dparkes@unagi.cis.upenn.edu

Writeup By: Abhijit Kadlag and Parag Sarda

 

Popularity of internet based auctions is rising. Poorly informed sellers and time-critical items e.g. electronic components are being benefited to a large extent by electronic auctions. Popular internet places offering auction services are http://www.ebay.com, http://www.zauction.com.  Indian portals have also started offering auction services to their users e.g. http://www.indiatimes.com, http://www.rediff.com. This description of iBundle and IGVA assumes the pre-requisite knowledge of standard auctioning mechanisms and the GVA.

Standard auctions like English auction, Dutch auction, First Price Sealed Bid auction, and Vickery auction are very popular. However demands of people are becoming more and more sophisticated and combinatorial auctions where a potential buyer can demand for part or whole of the set of items for sale are gaining importance. The bids placed for such a subset of items for sale is called a bundle e.g. Suppose there are items (A,B,C) for sell then a buyer can put his bids on any of (A,B,C,AB,AC,BC,ABC) each of then being called a bundle. Bundles are important in many real-world problems. For example: consider a manufacturer that needs either components A and B, or just component C shall like to put up bids on AB, C.

Although combinatorial auctions can be approximated by multiple auctions on single items, this often results in inefficient outcomes.

 

iBundle- An efficient ascending price bundle auction

The bundling problem is the problem of allocating items to agents to maximize the sum value across the agents, allowing agents to have non additive values for individual items.

iBundle is an iterative combinatorial auction that allows agents to bid for bundles of items while the auctioneer increases prices and maintains a provisional allocation. It is optimal for a reasonable agent bidding strategy, in this case myopic or short-sighted utility-maximizing agents that place best-response bids to prices. The agents are myopic in the sense that they only consider the current round of the auction. Each agent determines utility on all bundles and finds out all bundles for which utility is maximum and places bids on these bundles only. iBundle has been proven to be optimal by a novel connection to primal-dual optimization theory (Papadimitriou & Steiglitz 1982).

GVA is a sealed-bid auction, in which agents first submit bids simultaneously, and then the auctioneer determines an allocation and payments, the agent’s optimal strategy is to bid for, and compute the value of, all bundles for which it has positive value. This is a computationally intensive task as for |G| items there are 2^|G| bundles to value, each of which may require solving a difficult optimization problem for the bidder. However, combinatorial auctions introduce new computational complexities in mechanism execution. In particular, the auctioneer’s winner-determination (WD) problem, the problem of choosing bids to maximize revenue, is NP – hard by reduction from the maximal weighted clique problem.

Counter intuitively in iBundle auctioning mechanism auctioneer must solve a sequence of WD problems (one in each round) to maintain a provisional allocation as agents bid however each WD problem in iBundle is smaller than in the GVA, because agents bid for less bundles.

However iBundle does not have as strong truth revelation properties as GVA. In iBundle rational agents with look ahead could manipulate the outcome of iBundle to their advantage, and lead to the sub optimal allocations. However, there is some evidence that myopic biding may be a reasonable assumption in practice, perhaps because of the computational complexity of strategic behavior.

Auction Mechanism

It is an ascending-price auction that allows agents to bid on arbitrary combinations of bundles during the auction. The auctioneer increases ask prices on bundles as bids are received and maintains a set of winning bids in each round that maximize revenue.

There are 3 basic variations of iBundle. iBundle (2) generates anonymous ask prices same to every agent. iBundle (3) generates discriminatory ask prices for each agent and iBundle (d) switches from anonymous to discriminatory ask prices dynamically, agent-by-agent.

The auction proceeds in rounds. Following elements are common to all the 3 variants of iBundle. They differ only in the ask price update mechanism. During each round the auctioneer announces new ask prices for each of the bundle. The bidders put their new bid values on the bundles they want to purchase. After receiving all the bids the auctioneer determines the winner by solving one WD problem. Depending on the variation of iBundle new ask prices are computed after this and the rounds continue. The auction terminates when either each of the agents is allocated some bundle or when none of the agents changes their bid from the previous round.

Announce Prices and Allocation

          Agent i associates a bid price                                    with a bid for bundle S in round t. The price must either be within e of, or greater than, the ask price announced by the auctioneer (see below). Parameter e> 0 defines the minimal bid increment, the minimal price increase in the auction. The auctioneer only needs to announce a minimal set of new prices, because the price of every bundle is implicitly at least the maximum price of the bundles that it contains and never decreases between rounds. E.g. if price of bundle AB becomes Rs.100 Then the price for bundle ABC is automatically at least Rs. 100.

          The auctioneer announces a provisional allocation of bundles to agents at the start of each round. Let  represent an allocation of bundles  to agent i at the start of round t.

          Bidding

Any bid below the ask price is invalid and ignored by the auctioneer with two exceptions. First an agent repeating a bid for a bundle that it receives in the current allocation may repeat the bid for the same price, even if ask prices has increased. Second an agent can also bid below the ask price for any bundle in any round – but then it cannot bid a higher price for that bundle in the future. This allows an agent to bid for a bundle priced slightly above its value.

Agents must repeat bids for bundles in the current allocation, but can bid at the same price if the ask price has increased since the previous round.

Winner Determination

The auctioneer solves a WDP in each round to find an allocation of bundles to agents so as to maximize the revenue. First invalid bids are rejected by the auctioneer. The new provisional allocation is found by solving

such that no item is allocated to more than one agent, which includes that if a bundle is allocated then it’s no subset is allocated to any agent. This is called the feasibility criterion. The solution also requires that the auctioneer only allocated bundles to agents that bid for them and allocates at most one bundle to each agent. This is called bid_consistency.

          Approximate winner determination

          The auctioneer can also use an approximate algorithm for WD, and still maintain the same incentives for myopic agents to follow the same bidding strategy. This may be needed to be done to reduce the computational expense of solving WDP.

          Preprocessing and Termination

          The auctioneer converts all OR bids into XOR bids as a preprocessing step. This is done by creating dummy agents for each OR bid placed by the buyer. E.g. suppose the bid was A OR B, then 2 dummy agents shall be created each of which shall one of the original bundles A and B. WD and price update algorithms are executed as if the dummy agents are real agents. The auction terminates when either All the agents are happy i.e. each one of them receives some bundle or all agents submit the same bids again in the next round.  The first condition makes sense due to XOR bidding as no myopic agent shall be increasing its bids after winning one of the bundles it wanted.  The second condition is more strict that the first and implies that the bids are likely to be repeated in the further rounds hence better stop now.

          Price Update

The price update rules depends on one of the 3 auction variations mentioned above. In iBundle (2) the ask prices are same for all the agents. The new ask price in round t+1 for bundle S, pt+1(S), is computed as

 

where unhappy is the set of agents that are not happy with the new provisional allocation. e is the minimum bid increment as explained earlier.

          In iBundle (3) the ask prices are discriminatory i.e. different for each agent. The prices increase only when the agent does not receive the bundle and only when the agent bid at within e of the current ask price. The new ask price in round t+1 for bundle S for agent i, pit+1(S) is calculated as

         

where unhappy (i) is the set of dummy agents I that are not happy. ( i.e. agent I when agent I placed on XOR bid and received no bundle, or a dummy agent for every bundle that agent I did not receive when agent I placed an OR bid).

          In iBundle (d) the prices are initially discriminatory but can become discriminatory during the auction. The decision of switching to discriminatory prices is taken by checking if prices are increased on at least two disjoint bundles as a result of a single agent’s bid. Initially a set anon (t) contains all the agents and all of them receive anonymous prices. The price update rule here is same as iBundle (2). In each round the auctioneer calculates incri (t) which is the set of bundles that will increase in price because of the bids placed by agent i.  If incri (t) contains at least two disjoint bundles then agent is removed from set anon (t+1) and its prices are initialized to current anonymous prices before they are updated. The price updated rule used for all agents receiving discriminatory prices is same as in iBundle (3). The rule for switch can also be explained by defining the term “safe bid”. An agent’s bids are safe if the agent is allocated a bundle in the current allocation, or it doesn’t bid at or above the ask price for any pair of compatible bundles S1, S2 such that.  S1 Ç S2 = f. An agent starts receiving discriminatory bids when he plays unsafe bids.

Proof of Optimality

The proof of iBundle optimality is inspired by a proof due to Bertsekas (1990) for a simpler iterative auction, and makes an interesting connection with primal-dual theory of linear programming. The Primal-dual algorithms have an interesting connection with the auction mechanisms in that the allocation problem can be treated as primal and the pricing problem can be treated as dual.

A problem is first formulated both as a primal and a dual linear program. A primal-dual algorithm searches for feasible primal and dual solutions that satisfy complementary slackness (CS) conditions, instead of searching for an optimal primal (or dual) solution directly.

Complementary-Slackness Theorem. Feasible primal and dual solutions are optimal if and only if they satisfy complementary slackness conditions.

Thus the process becomes iterative by repeatedly trying to get solutions which satisfy the CS conditions. The original problem becomes a restricted problem by converting the integer programs into a primal linear program and dual linear program. Each iteration in iBundle checks if the solution satisfies the CS conditions which correspond to the two termination conditions mentioned above.

IGVA: Iterative Generalized Vickrey Auction

GVA has the property of truth revelation and incentive compatibility however the fundamental problem with GVA is that it requires agents to compute and reveal their values for all combinations of items in the first instance. An agent may have bounded-rational with limited computational capability and it may become difficult for him to reveal all values immediately. The paper “An Iterative Generalized Vickrey Auction: Strategy-Proofness without Complete Revelation” proposes an experimental design for an iterative combinatorial auction which uses GVA mechanism. It proves that the auction mechanism gives Vickrey output i.e. reveals the truth in some special cases while the experimental results support it for all the cases.

In GVA the complete information revelation requirement arises because it is a single shot auction.  The IGVA, as is claimed, can terminate with the same outcome of allocation and payments but with less information revelation. However the condition of allowing the agent to not to reveal all the values conflicts with the truth or information revelation principle of auction design. The other side of this approach is that one can design auctions which can not be manipulated unless an agent can solve an NP-hard problem.

Solving GVA without complete information revelation: The algorithm is based on the idea that one can solve GVA without having the full information about the correct values from the agents. e.g. Suppose in a single item auction the values of 3 agents are v1=20, v2=15 and v3=5. Then the Vickrey outcome is to sell the item to agent 1 at value 15. Here instead of having the exact information {20,15,5} it would have been sufficient to know  that { v1>=15, v2=15, v3<=15} to compute the same outcome. Thus it is possible to have the Vickrey outcome in an auction without complete information revelation.

Two approaches are proposed to reduce information revelation but still retain the incentive capability. (1) Allow agents to submit bidding programs, which the auctioneer can query to determine values for particular bundles (2) Involve the agents dynamically during the execution of an algorithm to compute the Vickrey outcome, and request additional information on-the-fly as required.

The first approach suffers from many disadvantages. First the agent may not trust the auctioneer in giving the all information for computing his values. Again the cost of constructing such a program may be high and this method only shifts the computational burden from the agent to the auctioneer. The second approach asks the agents various kinds of approximate information in the computational process e.g. “which bundle do you want at price p(S)” or “which bundle has highest value out of S1, S2, S3” etc. For such queries the agent can respond without any heavy computation.

Iterative auctions like iBundle and IGVA are this kind of auctions. Even the classical English auction fails into this category as at each iteration it is sufficient to know whether two or more agents have value greater than the ask price. Parkes has shown that iterative auctions can computer better solutions than single-shot auctions for a simple model where the agent has bounded-rationality. Again they make the job easier for the agent which has myopic best-response strategy and can bid for the bundles with maximum utility in each round.

Auction Mechanism

IGVA is an ascending-price combinatorial auction and proceeds in two phases, the second being optional.  In phase I the final allocation is determined and in Phase II the final payments are determined. Some intermediate computation is performed at the end of phase-I which determines whether to proceed for phase-II or not. Both the phases follow the same rules as iBundle(3).

This phase is nothing but the iBundle algorithm. It terminates when the iBundle algorithm terminates. Let S*=(S1*,S2*,…SI*) denote the allocation at the end  of Phase I, P* denote the auctioneer’s revenue, W*  I denote the set of agents that receive a bundle in S* and P*bid  =(Pbid,1*,Pbid,2*,…,Pbid,I*) denote the final bid price of each agent for the bundle it receives in the final allocation, i.e. p*bid,1 = pbid,1(S1*).

Here the auctioneer determines the initial discounts to each agent and whether to enter Phase II or not.

Computing the initial discounts

The initial discount for each agent is calculated as

 where MAXREV(P-i) denotes the second-best revenue-maximizing allocation to the auctioneer at the current ask prices.

Determination of Phase II computation

1. Compute the dependents for every agent I W*. The  dependents of agent i  are

     

      Where (W-i)*  (I\i) denotes the set of agents that receive a bundle in this allocation. i.e. the dependent of an agent are those agents which receive  a bundle with that agent but not without him.

2. If

               

     then set  =  i.e. remove all the dependents for the agent.

     The set of ACTIVE  I of agents is the set of agents which are dependent of some agent at the current ask prices.

 3. Initialize the set of ACTIVE agents.

 Phase II is skipped if there are no active agents. The presence of an active agent means that more information is required to compute the Vickrey payment.

Dummy agents are created by auctioneer in this phase to compete with the existing agents. The bidding process continues forcing the agents to reveal more and more information. The dummy agents have very large values for the bundles so that the iBundle algorithm does not terminate due to satisfaction of all the agents or the bids getting repeated.

This phase aims at computing extra discount  to each agent with dependents.  Initially  for all the agents and for each of the agents that dropped out of the auction in Phase I a new dummy agent is created. The valuation function of the dummy agent for agent j is based on the asked prices (Note that discriminatory ask prices were followed for each agent) for agent j. For bundles for which agent j had non-zero ask price the ask price of dummy agent is L more than that while it is 0 for all the others.

This phase also proceeds similar to iBundle, however some additional work is done by the auctioneer after each round.

1.       Update the dependents of agents.

2.     For each agent I W* and with  increment  by  is the increase in bid price by agent j for bundle Sj* since the previous round.

3.     If  then set

4.     Update the set of ACTIVE agents.

5.     For all the dropped out agents, introduce new dummy agents, with replacement if necessary. If the auction is in state of quiescence for the active agents then for the active agents also dummy agents are introduced. The active agents chosen for this are determined by using either of the following rules: 1) An agent with all active dummies or 2) an active agent with no dummy or 3) an active agent already has one dummy.

 

Termination

Phase II terminates when there is no active agent remaining.

 

For each of the agents, payments are computed as

         

 

Worked Example

Consider the following case with two items A, B and three agents

 

A

B

AB

Agent 1

0

10

10

Agent 2

10

0

10

Agent 3

0

0

15

Phase 1: S* = (B, A,F)      P*=15           W*= {1, 2}    P*bid = (8, 7, 0)

          At this stage auction’s ask-price for AB will be 16, which is greater than Agent-3’s valuation. So he will step out.

Intermediate computation:

          S-1* = (F,F, AB)   W-1* = {3}     a(1) = {2}     Δinit(1) = 15-15=0

          S-2* = (F,F, AB)   W-2* = {3}     a(2) = {1}     Δinit(2) = 15-15=0

Phase 2:       Introduce dummy agent for 3 with bids (0, 0, 15+L). Proceed normally. Agent 1 will drop out after increasing the bid-price by 2. So agent 2 will get discount of 2. Then Agent 2 will drop out after increasing value by 3. So Agent 1 will receive discount of 3.

                   Final payments: Agent 1: 8-3=5  Agent2: 7-2= 5