CABOB: A Fast Optimal Algorithm for Combinatorial Auctions
Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence. Pages 1102-1107.
© 2001 International Joint Conferences on Artificial Intelligence
Abstract
Combinatorial auctions where bidders can bid on bundles of items can lead to more economical allocations, but determining the winners is N P -complete and inapproximable. We present CABOB, a sophisticated search algorithm for the problem. It uses decomposition techniques, upper and lower bounding (also across components), elaborate and dynamically chosen bid ordering heuristics, and a host of structural observations. Experiments against CPLEX 7.0 show that CABOB is usually faster, never drastically slower, and in many cases drastically faster. We also uncover interesting aspects of the problem itself. First, the problems with short bids that were hard for the first-generation of specialized algorithms are easy. Second, almost all of the CATS distributions are easy, and become easier with more bids. Third, we test a number of random restart strategies, and show that they do not help on this problem because the run-time distribution does not have a heavy tail (at least not for CABOB).
- [Andersson et al., 2000] Arne Andersson, Mattias Tenhunen, and Fredrik Ygge. Integer programming for combinatorial auction winner determi- nation. In ICMAS, pages 39-46.
- [Conen and Sandholm, 2001] Wolfram Conen and Tuomas Sandholm. Min- imal preference elicitation in combinatorial auctions. In IJCAI-2001 Workshop on Economic Agents, Models, and Mechanisms.
- [de Vries and Vohra, 2000] Sven de Vries and Rakesh Vohra. Combinato- rial auctions: A survey. August 28th.
- [Fujishima et al., 1999] Yuzo Fujishima, Kevin Leyton-Brown, and Yoav Shoham. Taming the computational complexity of combinatorial auc- tions: Optimal and approximate approaches. In IJCAI, pages 548-553. IJCAI
- [Gomes et al., 1998] Carla Gomes, Bart Selman, and Henry Kautz. Boost- ing combinatorial search through randomization. In AAAI.
- [Hoos and Boutilier, 2000] Holger Hoos and Craig Boutilier. Solving com- binatorial auctions using stochastic local search. In AAAI, pages 22-29.
- [Lehmann et al., 1999] Daniel Lehmann, Lidian Ita O'Callaghan, and Yoav Shoham. Truth revelation in rapid, approximately efficient combinatorial auctions. In ACM Conference on Electronic Commerce , pages 96-102.
- [Leyton-Brown et al., 2000] Kevin Leyton-Brown, Mark Pearson, and Yoav Shoham. Towards a universal test suite for combinatorial auction algo- rithms. In ACM Conference on Electronic Commerce , pages 66-76.
- [Luby et al., 1993] Michael Luby, Alistair Sinclair, and David Zuckerman. Optimal speedup of Las Vegas algorithms. Information Processing Let- ters, 47:173-180.
- [Nisan, 2000] Noam Nisan. Bidding and allocation in combinatorial auc- tions. In ACM Conference on Electronic Commerce , pages 1-12.
- [Rassenti et al., 1982] S J Rassenti, V L Smith, and R L Bulfin. A com- binatorial auction mechanism for airport time slot allocation. Bell J. of Economics, 13:402-417.
- [Rothkopf et al., 1998] Michael H Rothkopf, Aleksandar Pekeč, and Ronald M Harstad. Computationally manageable combinatorial auctions. Management Science, 44(8):1131-1147.
- [Sandholm and Suri, 2000] Tuomas Sandholm and Subhash Suri. Improved algorithms for optimal winner determination in combinatorial auctions and generalizations. In AAAI, pages 90-97.
- [Sandholm and Suri, 2001] Tuomas Sandholm and Subhash Suri. Side con- straints and non-price attributes in combinatorial markets. In IJCAI-2001 Workshop on Distributed Constraint Reasoning.
- [Sandholm et al., 2001] Tuomas Sandholm, Subhash Suri, Andrew Gilpin, and David Levine. Winner determination in combinatorial auction gener- alizations. In AGENTS Workshop on Agent-Based Approaches to B2B.
- [Sandholm, 1993] Tuomas Sandholm. An implementation of the contract net protocol based on marginal cost calculations. In AAAI, p. 256-262.
- [Sandholm, 1999] Tuomas Sandholm. An algorithm for optimal winner de- termination in combinatorial auctions. In IJCAI, pages 542-547, 1999. First appeared as Washington Univ., Dept. of Computer Science, WUCS- 99-01, Jan. 28th. IJCAI
- [Sandholm, 2000] Tuomas Sandholm. eMediator: A next generation elec- tronic commerce server. In AGENTS, pages 73-96, 2000. Early version: AAAI-99 Workshop on AI in Electronic Commerce, Orlando, FL, pp. 46- 55, July 1999, and Washington University, St. Louis, Dept. of Computer Science WU-CS-99-02, Jan. 1999.
- [Wolsey, 1998] Laurence Wolsey. Integer Programming. John Wiley.
References were extracted automatically from the PDF and may contain errors.
Full text extracted automatically from the PDF; figures, tables and equations may differ. The PDF is the version of record.
1 Introduction
Auctions are important mechanisms for resource and task allocation in multiagent systems. In many auctions, a bidder's valuation for a combination of distinguishable items is not the sum of the individual items' valuations-it can be more or less. Combinatorial auctions (CAs) where bidders can bid on bundles of items allow bidders to express complementarity (and, with a rich enough bidding language, also substitutability among the items [Sandholm, 1999; Fujishima et al., 1999; Sandholm, 2000; Nisan, 2000]). This expressiveness can lead to more economical allocations of the items because bidders do not get stuck with partial bundles of low value. This has been demonstrated, for example, in airport landing slot allocation [Rassenti et al., 1982], and in transportation exchanges [Sandholm, 1993].
However, determining the winners in a combinatorial auctions is computationally complex. There has recently been a surge of research into addressing that [Rothkopf et al., 1998; Sandholm, 1999; Fujishima et al., 1999; Lehmann et al., 1999; Sandholm and Suri, 2000; Andersson et al., 2000; Hoos and Boutilier, 2000; de Vries and Vohra, 2000]. In this
A3 This work was funded by, and conducted at, CombineNet, Inc.
Subhash Suri
suri@cs.ucsb.edu Department of Computer Science University of California Santa Barbara, CA 93106
AndrewGilpin David Levine CombineNet, Inc. 311 S. Craig St
CUagilpin,dlevineCV@CombineNet.com Pittsburgh, PA 15213
paper we present a fast optimal search algorithm for the problem. Section 2 defines the problem. Our algorithm is presented in Section 3. Section 4 discusses bid ordering heuristics. Experimental results are presented in Sections 5-7. Random restart strategies are discussed in Section 8. Section 9 presents conclusions and future research directions.
2 The Winner Determination Problem
In this section we define the winner determination problem. Definition 1 The auctioneer has a set of items, BP CUBDBN BEBN BM BM BM BND1CV, to sell, and the buyers submit a set of bids, BU BP CUBU BD BNBU BE BN BM BM BM BNBU D2 CV. A bid is a tuple BU CY BP CWCB CY BN D4 CY CX, where CB CY AI is a set of items and D4 CY AL BC is a price. The binary combinatorial auction winner determination problem is to label the bids as winning or losing so as to maximize the auctioneer's revenue under the constraint that each item can be allocated to at most one bidder:
This is -complete [Rothkopf et al., 1998], and it cannot even be approximated to a ratio of D2 BDA0AF in polynomial time (unless BP ) [Sandholm, 1999].
If bids could be accepted partially, the problem would become a linear program (LP) which can be solved in polynomial time. Here we present the LP-formulation and its dual because we will use them in several ways in our algorithm.
In this continuous setting, the shadow price DD CX gives the price for each individual item CX. BD In the binary case individual items cannot generally be given prices, but each DD CX value from DUAL gives an upper bound on the price of item CX.
BD If there are some items that are not included in any bids, we have to add to the DUAL the constraint DD CX AL BC for those items. Alternatively (and preferably), such items can simply be removed as a preprocessing step.
3 Description of the Algorithm
Our algorithm, CABOB (Combinatorial Auction Branch On Bids), is a tree search algorithm that branches on bids. The high-level idea of branching on bids was already proposed by [Sandholm and Suri, 2000] in the BOB algorithm. However, BOB was not implemented. CABOB incorporates many of the techniques proposed in BOB and a host of additional ones. All of them have been implemented.
The skeleton of CABOB is a depth-first branch-and-bound tree search that branches on bids. The value of the best solution found so far is a global variable DI CU A3 . Initially, DI CU A3 BP BC.
A data structure called the bid graph is maintained. We denote it by BZ. The nodes of the graph correspond to bids that are still available to be appended to the search path, i.e., bids that do not include any items that have already been allocated. Two vertices in BZ share an edge whenever the corresponding bids share items. BE As vertices are removed from BZ when going down a search path, the edges that they are connected to are also removed. As vertices are re-inserted into BZ when backtracking, the edges are also reinserted.
The following pseudocode of CABOB makes calls to several special cases which will be introduced later. For readability, we omit how the solution (set of winning bids) is updated in conjunction with every update of DI CU A3 .
As will be discussed later, we use a technique for pruning across independent subproblems (components of BZ). To support this, we use a parameter, , to denote the minimum revenue that the call to CABOB must return (not including the revenue from the path so far or from neighbor components) to be competitive with the best solution found so far. The revenue from the bids that are winning on the search path so far is called CV. It includes the lower bounds (or actual values) of neighbor components of each search node on the path so far.
The search is invoked by calling BVBTBUBUB4BZBN BCBN BCB5.
Algorithm 3.1 BVBTBUBUB4BZBN CVBNB5
- Apply special cases COMPLETE and NO EDGES
- Run DFS on BZ; let CR be number of components found, and let BZ BD BN BZ BE BN BMBMBMBN BZ CR be the CR independent bid graphs
- Calculate an upper bound CD CX for each component CX
- If CR CXBPBD CD CX AK, then return BC
- Apply special case INTEGER
- Calculate a lower bound CX for each component CX
- A1AW CV B7 CR CXBPBD CX A0 DI CU A3
- If A1BQ BC, then
- If CR BQ BD then goto (11)
- Choose next bid BU CZ to branch on (use articulating bids first if any)
BE Since BZ can be constructed incrementally as bids are submitted, its construction does not add to winner determination time after the auction closes. Therefore, in the experiments, the time to construct BZ is not included (in almost all cases it was negligible anyway, but for instances with very long bids it sometimes took almost as much time as the search).
- For all BU CY s.t. BU CY BIBP BU CZ and CB CY CK CB CZ BIBP BN, BZ AW BZ A0 CUBU CY CV
- DI CU A3 D3D0CS AW DI CU A3
- CU CXD2 AW BVBTBUBUB4BZBN CV B7 D4 CZ BN A0 D4 CZ B5
- AW B7 B4 DI CU A3 A0 DI CU A3 D3D0CS B5
- For all BU CY s.t. BU CY BIBPBU CZ and CB CY CK CB CZ BIBP BN, BZ AW BZ CJ CUBU CY CV
- DI CU A3 D3D0CS AW DI CU A3
- CU D3D9D8 AWBVBTBUBUB4BZBN CVBNB5
- AW B7 B4 DI CU A3 A0 DI CU A3 D3D0CS B5
- BZ AW BZ CJ CUBU CZ CV
- Return D1CPDCCUCU CXD2 BN CU D3D9D8 CV
- BY A3 D7D3D0DACTCS AW BC