Electronic and online auctions provide a convenient mechanism for buying and selling goods. In a simple auction, sellers offer for sale one or more individual items, and buyers bid on these items. The highest bid wins the item.
In combinatorial auctions, potential buyers place bids on combinations of items called packages, as opposed to placing a bid on a single item. Generally, each bidder determines a value for each package being offered. Bidders are not aware of values or bids of other competing bidders. For instance, each bidder specifies different prices for different combinations of good.
Combinatorial auctions are difficult to optimize, and the winner determination problem (WDP) in such auctions is complex. In other words, it is difficult to determine an efficient allocation of goods once the bids have been submitted to the auctioneer. For example, when numerous bids are received in a combinatorial auction, it is difficult to calculate an allocation of items to bidders wherein the seller retains some items (if appropriate) yet maximizes revenue for the seller.
Consequently, a large interest exists in solving the WDP and optimizing bid strategies in combinatorial auctions.
Exemplary embodiments are directed to systems, methods, and apparatus for bidding in combinatorial auctions. Exemplary embodiments optimize bids for the sale of goods and services in electronic and online auctions. One embodiment finds optimal solutions and determines winning bids in combinatorial auctions.
One embodiment evaluates a combinatorial auction and selects one or more bids such that demand for each item for sale is satisfied while at the same time a cost of procurement is optimized. The combinatorial problem is formulated as a weighted set and includes a variety of different auctions such as forward auctions (sellers receive bids from one or more buyers for one or more products/services), reverse auctions (buyers receive bids from one or more sellers), and exchanges (multiple buyers and sellers submit asks and bids).
Exemplary embodiments are directed to solving combinatorial auctions that are difficult to optimize, such as the winner determination problem (WDP). For example in large auctions, it is computationally difficult to efficiently determine the allocation of goods once the bids have been submitted to the auctioneer (i.e., the winner determination problem). The problem is stated as follows: Given a set of bids in a combinatorial auction, find an allocation of items to bidders (including the possibility that the auctioneer retains some items) so that the allocation maximizes revenue for the auctioneer. This computational problem is NP-complete, meaning that a polynomial-time algorithm to find the optimal allocation is unlikely or difficult to find.
Exemplary embodiments are directed to combinatorial auctions and discussed in connection with an interval knapsack problem (I-KP), and the interval multiple-choice knapsack problem (I-MCKP), as generalizations of the classic 0/1 knapsack problem (KP) and the multiple-choice knapsack problem (MCKP), respectively. Compared to singleton items in KP and MCKP, each item i in I-KP and I-MCKP is represented by a ([ai, bi], pi) pair, where the integer interval [ai, bi] specifies the possible range of units, and pi the unit price. In one embodiment, results are provided as a FPTAS (fully polynomial-time approximation scheme) for I-KP with time O(n log n+n/ε2) and a FPTAS for I-MCKP with time O(nm/ε), and pseudo-polynomial-time algorithms for both I-KP and I-MCKP with time O(nM) and space O(n+M). Here n, m, and M denote number of items, number of item sets, and knapsack capacity respectively. Exemplary embodiments also present a 2-approximation of I-KP and a 3-approximation of I-MCKP both in linear time.
One embodiment applies I-KP and I-MCKP to a single-good multi-unit sealed-bid auction clearing problem where M identical units of a single good are auctioned. By way of example, focus is provided on two bidding models, including an interval, model that allows each bid to specify an interval range of units, and XOR-interval model that allows a bidder to specify a set of mutually exclusive interval bids. The interval and XOR-interval bidding models correspond to I-KP and I-MCKP respectively. One embodiment also shows how to compute VCG payments to all the bidders with an overhead of O(log n) factor. Results for XOR-interval bidding model imply improved algorithms for the piece wise constant bidding model and improve their algorithms by a factor Ω(n).
For convenience of illustration, only a few computing devices 20 are illustrated. The computing devices include a processor 12, memory 14, and bus 16 interconnecting various components. Exemplary embodiments are not limited to any particular type of computing device or server since various portable and non-portable computers and/or electronic devices can be utilized. Exemplary computing devices include, but are not limited to, computers (portable and non-portable), laptops, notebooks, personal digital assistants (PDAs), tablet PCs, handheld and palm top electronic devices, compact disc players, portable digital video disk players, radios, cellular communication devices (such as cellular telephones), televisions, and other electronic devices and systems whether such devices and systems are portable or non-portable.
The network 30 is not limited to any particular type of network or networks. The network 30, for example, can include one or more of a local area network (LAN), a wide area network (WAN), and/or the internet or intranet, to name a few examples. Further, the computer system 40 is not limited to any particular type of computer or computer system. The computer system 40 can include personal computers, mainframe computers, servers, gateway computers, and application servers, to name a few examples.
Those skilled in the art will appreciate that the computing devices 20 and computer system 40 connect to each other and/or the network 30 with various configurations. Examples of these configurations include, but are not limited to, wireline connections or wireless connections utilizing various media such as modems, cable connections, telephone lines, DSL, satellite, LAN cards, and cellular modems, just to name a few examples. Further, the connections can employ various protocol known to those skilled in the art, such as the Transmission Control Protocol/Internet Protocol (“TCP/IP”) over a number of alternative connection media, such as cellular phone, radio frequency networks, satellite networks, etc. or UDP (User Datagram Protocol) over IP, Frame Relay, ISDN (Integrated Services Digital Network), PSTN (Public Switched Telephone Network), just to name a few examples. Many other types of digital, communication networks are also applicable. Such networks include, but are not limited to, a digital telephony network, a digital television network, or a digital cable network, to name a few examples. Further yet, although
For convenience of illustration, an exemplary embodiment is illustrated in conjunction with an electronic auction. This illustration, however, is not meant to limit embodiments with electronic auctions. Further, exemplary embodiments do not require a specific type of auction. Further yet, although embodiments are discussed with respect to combinatorial auction, exemplary embodiments apply to a wide variety of other computing problems. Other embodiments include, but are not limited to, weighted set packing problem where a set is a combination of items and a weight is a bid price, weighted independent set problem modeled with a graph having vertices with associated weights, weighted maximum clique problem, and other problems that can be converted to the weighted independent set problem. Further, exemplary embodiments are applicable to various NP-complete problem (non-deterministic polynomial time) by converting it to a weighted set packing problem.
In one embodiment, the electronic auction receives descriptions of goods, bids, and other information and/or data pertaining to a combinatorial auction. The bid manager coordinates the information and manages the buying and selling of auctioned goods and/or services through electronic bidding. Auction results and winning bids are output to bidders (example, to computers 20).
In order to facilitate farther discussion of exemplary embodiments, various sections are provided with headings.
Overview
One exemplary embodiment addresses single-good multi-unit combinatorial auctions with increasingly expressive bidding models, and where (weakly) tractable algorithms are possible. Specifically, one embodiment focuses on two bidding models, interval bids and XOR-interval bids (the former extends the traditional singleton bids and the later extends the piece wise constant bids). Exemplary embodiments formalize the corresponding auction clearing problem as new variants of knapsack problems and design near-optimal algorithms to solve them.
Problem Statement
One exemplary embodiment considers the one-round sealed-bid single-good multi-unit auction problem (SMAP) where there is only one single good and M identical units of it. The auctioneer wants to either sell at most M units of the good (forward auction) with maximum revenue, or acquire at least M units of the good (reverse auction) with minimum cost. For discussion, embodiments address the forward auction version since maximization and minimization are dual to each other. Most of the results for the forward auction version can be translated to the reverse auction version.
There are n bidders, each submitting a sealed bid, and the auctioneer decides winning bidders, the number of units allocated to them as well as the associated unit-prices. One embodiment considers the following four bidder models:
Point bids correspond to items in the classic 0/1 knapsack problem (KP) where point bid (x, p) corresponds to an item with weight x and profit xp. XOR bids encode mutually exclusive bids. For example, a buyer submits a bid (x1, p1) {circle around (×)} (x2, p2), with the intention of buying either x1 units at unit-price p1 or x2 units at unit-price p2, but not both. SMAP with XOR-point bids corresponds to the multiple-choice knapsack problem (MCKP), which is defined as follows: Given m sets of items, where item j in set i has weight wij and profit pij, and a knapsack of capacity M, select a subset of items, at most one from each item set, to maximize their total profit while their total weight is at most M.
The interval bidding model generalizes the atomic point bidding model to an interval range of units. The XOR-interval bidding model is a more expressive model and generalizes the piecewise constant bidding model. In many procurement auction settings, in order to improve their total profit, suppliers offer volume discount, where the unit-price decreases as the number of units increases. The XOR-interval bid is one way of offering volume discount, and it is an extension to base bidding models.
Discussion
One embodiment addresses the interval knapsack problem (I-KP) and the interval multiple-choice knapsack problem (I-MCKP) as new generalizations of the classic 0/1 knapsack problem (KP) and the multiple-choice knapsack problem (I-MCKP), respectively. Results include a FPTAS for I-KP with time O(n log n+n/ε2) and a FPTAS for I-MCKP with time O(nm/ε), and pseudo-polynomial-time algorithms for both I-KP and I-MCKP with time O(nM) and space O(n+M). Here n, m, and M denote number of items, number of item sets, and a knapsack capacity respectively. One embodiment also presents a 2-approximation of I-KP and a 3-approximation of I-MCKP both in O(n) time. Some exemplary algorithms for both I-KP and I-MCKP match the corresponding time bounds for the best algorithms of KP and MCKP.
In one embodiment, I-KP and I-MCKP are applied to the single-good multi-unit auction clearing problem (SMAP) where M identical units of a single good are auctioned. One embodiment focuses on two bidding models, among them the interval model allows each bid to specify an interval range of units, and XOR-interval model allows a bidder to specify a set of mutually exclusive interval bids. The interval and XOR-interval bidding models correspond to I-KP and I-MCKP respectively, thus are solved accordingly. One embodiment also shows how to compute VCG payments to all the bidders with only an overhead of O(log n) for various bidding models, while another approach takes an overhead of factor O(n).
Results for XOR-interval bidding model imply improved algorithms for the piecewise constant bidding model. Specifically, results for XOR-interval model imply a FPTAS with time O(n2/ε). Further, given an algorithm with an ε-approximate and ε-efficient VCG payment scheme with time O((n3/ε)α log(αn/ε)) where α is a constant related to “market no-monopoly,” one embodiment provides an improvement to O((n2/ε) log n) time. Here, a constant-factor approximation for I-MCKP can be computed in O(n) time. Further, exemplary embodiments provide efficient solutions that identify one technical lemma for vector merging and another technical lemma for VCG computations, and get rid of unnecessary steps.
Definitions and Preliminaries
In this section, a discussion is provided for the interval knapsack problem (I-KP) and the interval multiple-choice knapsack problem (I-MCKP). The interval knapsack problem is a variant (generalization) of the classic 0/1 knapsack problem. Instead of singleton items in KP. I-KP associates with each item a unit-price and an interval range of units. It also generalizes the classic integer knapsack problem, either bounded or unbounded. As used herein, the I-KP is defined as follows:
Next, a discussion is provided for the interval multiple-choice knapsack problem (I-MCKP), a variant (generalization) of the classic multiple-choice knapsack problem (MCPK). As used herein, the I-MCPK is defined as follows:
Here n=Σ1≦i≦mni is the total number of items in all the item sets.
Without loss of generality, it is assumed that bi≦M for all i in I-KP, and bij≦M for all (i,j) pairs in I-MCKP, for the special case of I-KP where ai=bi for all i, I-KP degenerates to the classic knapsack problem where item i has weight ai and profit aipi. For the special case of I-MCKP where aij=bij by for all (i,j) pairs, each item corresponds to a singleton element with weight aij and profit aijpij, thus I-MCKP degenerates to MCKP. And if each item set contains exactly one item, I-MCKP degenerates to I-KP. Since KP is NP-hard, both I-MKCP and I-KP are NP-hard. It is easy to verify that both are in NP, thus both I-MKCP and I-KP are NP-complete. Fortunately, they are weakly NP-complete, as it will be shown in subsequent sections that both accept pseudo-polynomial-time exact algorithms and fully-polynomial-time approximation schemes (FPTAS).
A Linear Time Merging Subroutine
Next, a description Is provided of a technical lemma that is used as a subroutine to merge a vector with an interval item to obtain a new vector. Let A=(A1, . . . , Ad) be a vector with length d, and [ar, br] be an integer interval. It is desired to compute a new integer vector C=(C1, . . . , Cd) where Ck=min{Ak, Ck}, and C′k=min{al+xr|1≦l≦k, ar≦xr≦br, xr≧(k−l)cr}, ∀ k=1, . . . , d.
Here cr is a positive constant, not necessarily integer. Intuitively, vector C is the result of merging vector A with an interval item ([ar, br], pr) where the unit-price pr is scaled down to a fractional value 1/cr. If Ck=Ak, no element is taken from the interval item. Otherwise, Ck=C′k, an element xrε[ar, br] is taken. Furthermore, we want to make sure that l+xr/cr≧k, i.e., the combined solution has its scaled value at least k. The simple approach takes time O(d) to compute one single value C′k thus O(d2) time for the whole vector C′. The following technical lemma shows that vectors C and C′ can be computed in linear time:
Lemma 1. One embodiment computes vectors C and C′ in time O(d).
The problem of merging a vector with an interval item is actually a special case of the so-called vector merge problem. By taking advantage of interval items, together with an advanced data structure, one embodiment improves bound and gets an asymptotically optimal result. Not surprisingly, the same result applies to the corresponding maximization version.
Lemma 2. Let A=(A1, . . . , Ad) be a vector and ([ar, br], pr) an interval item. Let C=(C1, . . . , Cd) where Ck=max{Ak, C+k} and C′k=max{Al+xrpr|1≦l≦k, ar≦xr≦br, xr+l≦k}, ∀ k=1, . . . , d. Here, one embodiment computes vectors C and C′ in time O(d).
The Interval Knapsack Problem
In this section, one embodiment provides both a pseudo-polynomial-time exact algorithm and a FPTAS for I-KP. Further, one embodiment develops a pseudo-polynomial-time exact algorithm using DP-by-unit.
Let T(i,w) denote the maximum value for all solutions selected from the first i interval items with the total number of units bounded by w, for 1≦i≦n, 1≦w≦M. Let T(i) denote the vector with length M where the w-th position stores T(i,w) for all w. One embodiment then computes T(1) since T(1,w)=0 if wε(0, a1), T(1, w)=p1w if wε[a1, b1], and T(1,w)=p1b1 if wε(b1, M]. Next, it is shown how to compute T(i) based on T(i−1) and ([ai, bi], pi):
T(i,w)=max{T(i−1,w),max{T(i−1,w−xi)+xipi|ai≦xi≦bi}}.
By Lemma 2, T(i) can be computed in time O(M) based on T(i−1), for each i. So that T(n) can be computed in time O(nM) and the optimal solution value is given by T(n, M). The space complexity is O(nM), however it can be reduced to O(n+M) using standard storage reduction technique.
One embodiment thus provides the following: Theorem 1. I-KP is weakly NP-complete and pseudo-polynomial-time solvable. We can compute the exact solution of I-KP in time O(nM) and space O(n+M).
FPTAS for I-KP
Next, one embodiment provides FPTAS for I-KP based on dynamic programming (DP). There are two ways to build the DP table, either by unit or by value. The DP-by-unit approach described above is more straightforward and incurs low overhead, but it is hard to convert into an approximation scheme. So one embodiment designs a FPTAS based on DP-by-value. First give a 2-approximation of I-KP in linear time, which is subsequently used for the FPTAS.
Lemma 3. One embodiment computes a 2-approximation of I-KP in O(n) time.
Next, a description is provided of FPTAS for I-KP. Let Vo be twice the value of the 2-approximation solution, then V*≦V0≦2V* where V* is the optimal solution value. Use V0 for a value rounding procedure in order to get the approximation scheme. Since a solution consists of at most n elements, a naive approach is to use (εV0/n) as the rounding factor, which results in a time complexity Ω(n2). To get a O(n) running time ignoring other factors, divide items into two classes: small items and large items. Small items are those ([ai, bi], pi) where aipi≦εV0, large items are all others. For simplicity, assume that there are nS small items, nL large items, n=nS+nL and all items with i≦nL are large items. Consider large items first, and use the following value-rounding procedure for each item with value v:
Notice that one embodiment only considers values v≦V0, thus the value-rounding procedure essentially reduces the number of distinct values to at most 1/ε2 of them: j·(ε2V0) for 1≦j≦1/ε2. Let L(i, k) denote the minimum weight over all solutions with profit at least k·ε2V0 and elements selected from the first i rounded item sets, and L(i) denote the vector with length 1/ε2 where the k-th cell stores L(i, k), for k=1, . . . , 1/ε2. The following recursive formula is used to compute L(i):
for k=1, . . . , 1/ε2 and ci=ε2V0/pi. Let Ak=L(i−1, k), Ck=L(i, k), for k=1, . . . , 1/ε2, then Lemma 1 shows that L(i) can be computed from L(i−1) in O(1/ε2) time, for all 1≦i≦nL.
After vector L(nL) is computed, L(nL, k) is the minimum weight among large item solutions with value at least k·ε2V0, for k=1, . . . , 1/ε2. For each fixed v=k·ε2V0, and the corresponding large item solution, one embodiment uses a greedy algorithm to pack the small items to the end of the large item solution. This requires sorting all small items with decreasing unit-prices and it takes time O(n log n). After the sorting, simply pack small items with decreasing unit-prices to the end of the solution corresponding to value v=k·ε2V0, and stop immediately before the first time when the total number of units exceeds M. Let Sv denote the solution consisting of large items with total value at least v and small items packed in the end. Then it takes O(n) time to obtain Sv for each v. Actually the greedy packing only needs to walk through the small item list once: (1) Start with k=k0 corresponding to the largest v=k·ε2V0 such that L(nL, v)≦M; (2) Walk through the small items list from the beginning and stop at position ik0 to obtain Svo; (3) Set k:=k−1 and walk, through the small item list from its current position to the right until obtaining Sv for the current v=k·ε2V0; (4) Continue until k=0 or reaching the end of the small item list.
The greedy packing procedure takes time linear of the vector length, thus the total processing time for merging large items and small, items is O(n log n+1/ε2). Once obtaining Sv for each v=k·ε2V0 and k=1, . . . , 1/ε2, select among all Sv the one with the maximum total value. Then, recover all the elements of the solution using standard backtracking techniques. In summary, the following is obtained:
Theorem 2: The above algorithm computes a (1+ε)-approximation of I-KP in time O(n log n+n/ε2).
The Interval Multiple-Choice Knapsack Problem
Here, a description is provided of a pseudo-polynomial-time algorithm for I-MCKP which is similar to the algorithm described in Section 3 for I-KP. Let T(i) denote the vector with length M where the w-th position T(i,w) stores the maximum value for all solutions selected from the first i item sets with the total number of units bounded by w, for 1≦i≦m, 1≦w≦M. Let Tj(i) denote the vector with length M where Tj(i, w) denotes the maximum value over all solutions with elements selected from the first i−1 item sets, together with an element from ([aij,bij], pij), where 1≦j≦ni. Then compute T(1): T(1, w)=min{Tj(1,w)|1≦j≦n1} where Tj(1,w) is determined from ([a1j,b1j],p1j), for 1≦j≦n1. Next, it is shown how to compute T(i) from T(i−1):
Tj(i,w)=max{T(i−1,w−xij)+pijxij|xijε[aij,bij],xij≦w}.
By Lemma 2, Tj(i) can be computed in time O(M) for each 1≦j≦ni. Once a computation is made for Tj(i) for all j, then:
T(i,w)=max{T(i−1,w),max{Tj(i,w)|1≦j≦ni}}, ∀w=1, . . . , M.
So that it takes time O(n,M) to compute T(i), for i=1, . . . , m. Since Σ1≦i≦mni=n, it takes in total O(nM) time to compute vector T(i), for i=1, . . . , m. The optimal solution is given by T(m, M). In summary, the following is presented:
Theorem 3. I-MCKP is weakly NP-complete and pseudo-polynomial-time solvable. The above algorithm computes the exact solution of I-MCKP in time O(nM) and space O(n+M).
FPTAS for I-MCKP
Next, one embodiment provides a FPTAS for an I-MCKP based on DP-by-value. First, a description is provided of constant-factor approximations of I-MCKP, which are subsequently used for the FPTAS of I-MCKP. Constant-factor approximations of I-MCKP are summarized as follows.
Lemma 4. We can compute a 3-approximation of I-MCKP in O(n) time, and another (9/4)-approximation in O(n log m) time.
A description is now provided of a FPTAS to I-MCKP. Let V0 be three times the value of the 3-approximation solution, then V*≦V0≦3V* where V* is the optimal solution value. Use a value rounding procedure to get an approximation scheme, using (εV0/m) as the rounding factor. Formally, given v, its rounded value is:
Let L(i, k) denote the minimum weight over all solutions with profit at least k·εV0/m, and elements selected from the first i rounded item sets, for k=1, . . . , m/ε. Let L(i) denote the vector with length m/ε where the k-th position stores L(i, k). The following formula is used to compute L(i) based on L(i−1):
L(i,k)=min{L(i−1,k),min{Lj(i,k)|1≦j≦ni}} where
Lj(i,k)=min{L(i−1,l)+xij|xijpij≧(k−l)εV0/m, xijε[aijbij]}.
Let Ak=L(i−1, k), Cjk=Lj(i, k), cr=εV0/(mpij), for k=1, . . . , m/ε, j=1, . . . , ni. By Lemma 1, compute Cj=Lj(i . . . ) for each j takes O(m/ε) time. Once Lj(i) is obtained for each j=1, . . . , ni, then L(i) can be computed as the minimum over these vectors and L(i−1). In total, it takes O(nim/ε) to compute L(i) based on L(i−1). Since Σini=n, thus in total it takes time O(nm/ε) to compute all vectors L(i) for 1≦i≦m. The optimal solution value is given by walking through the last vector L(m) and finding the largest v=k·εV0/m such that L(m, k)≦M. One embodiment recovers all the elements of the solution using standard backtracking techniques. In summary, one embodiment has:
Theorem 4. We can compute a (1+ε)-approximation of I-MCKP in time O(nm/ε).
Applications to Multi-Unit Auction Clearing
In this section, one embodiment applies algorithms for I-KP and I-MCKP to solve the single-good multi-unit auction clearing problem (SMAP). For SMAP with point bids, it is equivalent to the classic 0/1 knapsack problem. As such, the following result occurs:
Theorem 5. For SMAP with point bids, we can compute the exact solution in time O(nM) and space O(n+M), and a (1+ε)-approximation in time O(n min{log n, log(1/ε)}+1/ε2 log(1/ε)min{n, 1/ε log(1/ε)}) and space O(n+1/ε2).
For SMAP with interval bids, it is reduced to I-KP studied in Section 3. By Theorems 1 and 2, the following result occurs:
Theorem 6. For SMAP with interval bids, we can compute the exact solution in time O(nM) and a (1+ε)-approximation in time O(n log n+n/ε2).
For SMAP with XOR-point bids, it corresponds to exactly MCKP. For SMAP with XOR-interval bids, it corresponds to I-MCKP. By Theorems 3 and 4, the following combined results occur:
Theorem 7. For SMAP with XOR-point bids or XOR-interval bids, we can compute the optimal solution in time O(nM) and a (1+ε-approximation in time O(nm/ε).
As noted, the XOR-interval bidding model covers the piecewise constant bidding model as a special case. Therefore the following corollary is provided:
Corollary 1. Given a buyer with M units of a single good, and n suppliers with piecewise constant bidding curves where each curve has O(1) pieces, we can compute an exact solution with time O(nM) and a (1+ε-approximation with time O(n2/ε).
Alternate Algorithms for VCG Computations
In this section, one embodiment discusses how to compute VCG payments to all bidders under various bidding models. Vickrey-Clark-Grove (VCG) mechanism maximizes the expected payoff to the auctioneer and is strategyproof for all bidders. For any sealed-bid combinatorial auction, one embodiment embeds a VCG payment scheme to it: bidder i is given a discount of V(I)−V(I\{i}) to its payment, ∀ iεI. Here I denotes the set of all bidders, V(S) denotes the maximum revenue for bids from S, for any S ⊂ I. While a straightforward approach requires solving n+1 winner determination problems with n bidders, here it is shown that an overhead of factor O(log n) is sufficient for our bidding models.
One embodiment starts with the interval bidding model with n interval items. For each 1≦r≦n, 1≦w≦M, let T(I\{r}, w) denote the maximum value for solutions consisting of elements excluding the r-th item, and total units bounded by w. Next, compute T(I\{r}, w) for all r, w values in O(n2M) time using DP. In the following lemma, it is shown how to improve the running time to O(nM log n).
Lemma 5. We can compute T(I\{r}, w) for all 1≦r≦n, 1≦w≦M with time O(nM log n).
Next, state results for VCG payments computations of SMAP with different bidding models. Results are based on variations of Lemma 5.
Theorem 8. For SMAP with point bids, we can compute the VCG payments to all the bidders in time O(nM log n), and an ε-approximate VCG payment in time O(T(n)log n) where T(n) is the running time of KP.
Theorem 9. For SMAP with interval bids, we can compute the VCG payments to all bidders in time O(nM log n), and an ε-approximate VCG payment in time O((n/ε2)log n).
Theorem 10. For SMAP with XOR-point bids or XOR-interval bids, we can compute the VCG payments to all bidders in time O(nM log m) and an ε-approximate VCG payment in time O((nm/ε)log m).
Corollary 2. Given a buyer with M units of a single good, and n suppliers with piecewise constant bidding curves where each curve has O(1) pieces, compute an ε-approximate VCG payment in time O((n2/ε)log n).
As used herein, the term “combinatorial auction” means an auction in which bidders place one or more bids on combinations of items, or “packages,” rather than just individual items. Further, as used herein, the term “auction” means the process of buying and selling goods and/or services by offering them for bid, taking bids, and then selling the goods and/or services to a winning bidder. Further, as used herein “XOR” is an exclusive disjunction or exclusive or being a logical operation on two or more operands that result in a logical value of true if and only if exactly one of the operands has a true value. The XOR produces a value of true when exactly one of its operands is true.
In one exemplary embodiment, one or more blocks in the flow diagrams are automated. In other words, apparatus, systems, and methods occur automatically. As used herein, the terms “automated” or “automatically” (and like variations thereof) mean controlled operation of an apparatus, system, and/or process using computers and/or mechanical/electrical devices without the necessity of human intervention, observation, effort and/or decision.
The flow diagrams in accordance with exemplary embodiments are provided as examples and should not be construed to limit other embodiments within the scope of embodiments. For instance, the blocks should not be construed as steps that must proceed in a particular order. Additional blocks/steps can be added, some blocks/steps removed, or the order of the blocks/steps altered and still be within the scope of the invention. Further, blocks within different figures can be added to or exchanged with other blocks in other figures. Further yet, specific numerical data values (such as specific quantities, numbers, categories, etc.) or other specific information should be interpreted as illustrative for discussing exemplary embodiments. Such specific information is not provided to limit the exemplary embodiments.
Various exemplary embodiments are implemented as one or more computer software programs. The software is implemented as one or more modules (also referred to as code subroutines, or “objects” in object-oriented programming). The location of the software (whether on the client computer or elsewhere) will differ for the various alternative embodiments. The software programming code, for example, can be accessed by the processor of the computing device 20 and computer system 40 from long-term storage media of some type, such as a CD-ROM drive or hard drive. The software programming code can be embodied or stared on any of a variety of known media for use with a data processing system or in any memory device such as semiconductor, magnetic and optical devices, including a disk, hard drive, CD-ROM, ROM, etc. The code can be distributed on such media or can be distributed to users from the memory or storage of one computer system over a network of some type to other computer systems for use by users of such other systems. Alternatively, the programming code can be embodied in the memory and accessed by the processor using the bus. The techniques and methods for embodying software programming code in memory, on physical media, and/or distributing software code via networks are well known and will not be further discussed herein.
The above discussion is meant to be illustrative of the principles and various exemplary embodiments. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
Number | Name | Date | Kind |
---|---|---|---|
6272473 | Sandholm | Aug 2001 | B1 |
6321207 | Ye | Nov 2001 | B1 |
6834272 | Naor et al. | Dec 2004 | B1 |
6839680 | Liu et al. | Jan 2005 | B1 |
20020152182 | Kashima et al. | Oct 2002 | A1 |
20030101449 | Bentolila et al. | May 2003 | A1 |
20030225677 | Sandholm et al. | Dec 2003 | A1 |
20040133526 | Shmueli et al. | Jul 2004 | A1 |
20080126176 | Iguchi | May 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20090037316 A1 | Feb 2009 | US |