Truthful Scheduling Mechanisms for Powering Mobile Crowdsensing
Mobile crowdsensing leverages mobile devices (e.g., smart phones) and human mobility for pervasive information exploration and collection; it has been deemed as a promising paradigm that will revolutionize various research and application domains. Unfortunately, the practicality of mobile crowdsensing can be crippled due to the lack of incentive mechanisms that stimulate human participation. In this paper, we study incentive mechanisms for a novel Mobile Crowdsensing Scheduling (MCS) problem, where a mobile crowdsensing application owner announces a set of sensing tasks, then human users (carrying mobile devices) compete for the tasks based on their respective sensing costs and available time periods, and finally the owner schedules as well as pays the users to maximize its own sensing revenue under a certain budget. We prove that the MCS problem is NP-hard and propose polynomial-time approximation mechanisms for it. We also show that our approximation mechanisms (including both offline and online versions) achieve desirable game-theoretic properties, namely truthfulness and individual rationality, as well as performance ratios. Finally, we conduct extensive simulations to demonstrate the correctness and effectiveness of our approach.
With the proliferation of palm-size mobile devices (smart phones, PDAs, etc.), we have a new tool for pervasive information collection, sharing, and exploration. For those information that traditionally require specific (possible very expensive) instruments or devices to gather, they can now be outsourced to human crowds. Moreover, as this tool relies on human mobility and activity to bring their mobile devices around, it also introduces a new type of social action: mobile crowdsensing. Recently, there have emerged numerous systems based on this idea across a wide variety of research and application domains, such as healthcare, social networks, safety, environmental monitoring, and transportation .
Whereas mobile crowdsensing appears to be a promising paradigm that will revolutionize many research and application domains and ultimately impact on our everyday life significantly, it cannot take place spontaneously in practice, as many other social actions. Apparently, participating in a mobile crowdsensing task usually requires a mobile device carrier (users hereafter) to move to specific areas where data gathering is required, to turn on his/her sensors for gathering data (e.g., GPS locations), and to upload the sensing data to an online server. These actions inevitably incur sensing costs in terms of, for example, (device) energy consumption/depreciation and Internet access. Therefore, from a pragmatic point of view, human crowds may not be willing to participate in mobile crowdsensing unless they are incentivized. Therefore, proper incentive mechanisms are crucial for enabling mobile crowdsensing, and this intriguing problem has started to attract attentions very recently .
Designing incentive mechanisms for mobile crowdsensing is challenging, particularly because the designer face rational but selfish users who can act strategically (i.e., lying about their private information) to maximize their own utilities. To handle this issue, a mechanism needs to motivate the users to report their real private information, or in game theoretical term, the mechanism should be truthful . Certain existing proposals  do not take truthfulness into account for the designed incentive mechanisms. Such mechanisms, though being able to motivate user participation in a mobile crowdsensing application, may end up costing the application owner a big fortune to obtain a certain sensing revenue.
Mobile crowdsensing also imposes a unique requirement on incentive mechanism design, compared with conventional crowdsourcing applications (e.g., Amazon Mechanical Turk
In this paper, we investigate a novel scheduling problem arising from the mobile crowdsensing context, where an owner announces a set of sensing tasks with various values, and users with different available time and sensing costs bid for these tasks. We design mechanisms to schedule the users for maximizing the total sensing value obtained by the owner under a certain budget, while achieving multiple performance objectives including truthfulness, individual rationality , provable approximation ratios, and computational efficiency simultaneously. Moreover, our mechanisms work for both offline (users all arrive together) and online (user may arrive sequentially) cases. In summary, we have the following major contributions in our paper:
We formally formulate the Mobile Crowdsensing Scheduling (MCS) problem and prove that it is NP-hard.
We propose an offline polynomial-time mechanism for the MCS problem with approximation ratio, which is truthful given that the users strategically report their multi-dimensional private information including the sensing costs and available time periods.
We propose an online polynomial-time mechanism for the MCS problem with competitive ratio, which is truthful if the users strategically report their sensing costs.
We conduct extensive simulations, and the simulation results demonstrate the effectiveness of our approach.
The remaining of our paper is organized as follows. We introduce the models and assumptions in Section 2, where we also formulate the MCS problem. Then we first present an approximation algorithm for the MCS problem in Section 3. Based on this algorithm, we further propose truthful mechanisms for the MCS problem under both offline and online settings in Section 4 and Section 5, respectively. We report the results of our extensive simulations in Section 6. We finally discuss the related work in Section 7, as well as conclude our paper in Section 8. In order to maintain fluency, we only prove a few crucial theorems in the main texts but postpone most of the (sketched) proofs to the Appendix.
2Modeling and Problem Formulation
We formally introduce the assumptions and definitions for the MCS problem in this section.
2.1The Mobile Crowdsensing Scheduling Problem
We assume that a mobile crowdsensing application owner announces a set of sensing tasks , and that performing any task per unit time has a sensing value to the owner, whereas performing any task for less than one unit time has a sensing value 0. We also assume that the owner holds a budget : the maximum amount of total payment that it is willing to make for outsourcing the sensing tasks in to others.
Suppose that a set of users (or sensor carriers), denoted by , may potentially perform the sensing tasks in . Each user is able to perform one sensing task , and has a private value indicating his/her sensing cost per unit time. For convenience, let denote the value of to the owner for ’s one unit time sensing on task . We also assume that a user is only available during the time period , where are the earliest and latest available points in time private to . Here and are both integers as they are defined with respect to certain time units. In reality, a user cannot be available all the time for sensing due to, for example, his/her own career. Therefore, we use an integer constant to denote the upper bound of .
In a Mobile Crowdsensing Scheduling (MCS) problem (briefly illustrated in Figure 1), the owner solicits the bids from the users in ; each is a 3-tuple where and () are ’s declared sensing cost (per unit time) and available time period, respectively. Let for brevity. The owner then finds a sensing time schedule for the users, where is the time period allocated to for sensing and it is not necessarily continuous. We also denote by the total length of in time. Based on the bids, the owner also computes a payment vector , where is the payment to and should be satisfied. Moreover, the payment to any user should be no less than his/her total sensing cost if all users bid truthfully, i.e., . Defining the owner’s revenue, , as the total sensing value of performing the sensing tasks allocated by the sensing schedule , i.e.,
the goal of the MCS problem is to maximize this revenue subject to all the above constraints. Note that should we assume that the users always bid truthfully, the MCS problem would become a pure combinatorial optimization problem. As proved by Theorem ?, this simplified problem is NP-hard.
For notational simplicity, we sometimes omit when writing the schedule and payment vectors (e.g., writing instead of ), if the bid is clear from the context.
2.2Offline and Online Truthful Mechanisms
Each user has a utility indicating the difference between the payment made to him/her and his/her total sensing cost according to the sensing schedule, i.e., . In practice, the users are selfish and are only interested in maximizing their own utilities. For this purpose, they may bid strategically, i.e., lying about their private information such as sensing costs and available time. To handle users’ strategic behaviors, we need to design truthful mechanisms for the MCS problem to align the users’ interests with the system goal of revenue maximization. A mechanism is called (dominant-strategy) truthful if any user maximizes his/her utility by revealing his/her real private information, no matter how other users may act . A randomized mechanism is called truthful (or universally-truthful) if it is a randomization over a set of truthful mechanisms. Moreover, we also require our mechanisms to satisfy individual rationality (IR here after), which means that any truth-telling user always gets a non-negative utility , i.e., , where represents the bids of the users other than .
In the following sections, we aim to design truthful mechanisms for the MCS problem under both the offline and online settings. In the offline setting, the owner collects all the users’ bids before scheduling them, which corresponds to a practical scenario that the users reserve sensing tasks in advance. In the online setting, the users’ bids are revealed one by one, and the owner must make an irrevocable decision on scheduling any user right at the moment when the user’s bid is revealed. This setting corresponds to another practical scenario where the users arrive randomly at some sensing area, and we assume that the users’ arrival order is drawn uniformly at random from the set of all permutations over the users.
3Approximation Algorithms for MCS
In this section, we treat the MCS problem as a pure combinatorial optimization problem and design approximation algorithms for it, as shown in Algorithm ?. Although the strategic behaviors of the users are not considered in Algorithm ?, this algorithm serves as an important building block for the truthful mechanisms designed later.
A partial order on the set is used in Algorithm ?, which is defined as follows. For any two users and , if or but , then we say suppress and denote it by . For any , we define to be the user in such that there does not exist another user satisfying .
iterates among the users and finds the schedule for them based on a greedy strategy. The algorithm, at the beginning of each iteration, selects a user based on the partial order (line ?), and then computes the time units that can potentially be scheduled for (line ?). The sensing time scheduled for is taken as the early sub-period of the uncovered time of , where any time point is called uncovered if no user has been scheduled for it (line ?). At the end of an iteration, all users whose available time periods have been covered are removed from the user set upon which the algorithm iterates. The algorithm determines the length of based on the rule in line ?, which can be deemed as a potential function  that facilitates our later quest for an approximation ratio. Also, the rule serves as a constraint to bound the total payments below .
Let us denote an iteration (from line ? to ?) in which line ? is executed as an effective iteration (i.e., the concerned user is assigned a non-empty schedule). Suppose that Algorithm ? has in total effective iterations. Let the user scheduled in the th effective iteration be and let be the index set of these scheduled users. Let be the current value of vector after the th effective iteration is executed, we have the following results.
Note that an extra condition ( ?) needs to be satisfied in Theorem ?, hence the approximation ratio is conditional. We shall handle this issue using a randomized mechanism design method in the next section.
4Offline Mechanisms for MCS
As users’ strategic behaviors are not considered in Algorithm ?, the payments to all users made there are directly determined by the declared sensing cost and the length of the time periods scheduled for them. Unfortunately, this method can be non-truthful: a user may lie about his/her private information to manipulate the length of his/her scheduled time, hence to gain a higher utility. Characterizations of truthful mechanisms exist in the literature (e.g., ), but these characterizations are only for single parameter mechanisms, while in our problem any user has three parameters, namely , and . Therefore, we hereby design a novel truthful mechanism for the MCS problem under the offline setting, as shown by Algorithm ?. A sub-routine used by Algorithm ? to compute payments to users is shown in Algorithm ?.
is apparently a randomized mechanism. With probability one half, the algorithm calls Algorithm ? to get a feasible schedule for each user (line ?). However, instead of using the simple payment rule in Algorithm ?, Algorithm ? replaces it with a more complicated method shown by Algorithm ? to calculate the payments (line ?); otherwise Algorithm ? runs lines ?- ? and selects a user whose sensing cost per unit time is no more than the budget and whose sensing value per unit time is maximized. Then the selected user is paid the amount , while others are paid zero. The payments are made to the users using a post-paid scheme, i.e., a payment is made instantly at the end of a user’s claimed available time period only if he/she has successfully performed the sensing task during the whole time period scheduled for him/her (line ?). To understand the payment calculation in Algorithm ?, we introduce Lemma ?, Lemma ? and Theorem ?, which are also useful for characterizing truthfulness under our multi-parameter environment.
In Lemma ? and Theorem ?, we prove that the payment calculated by Algorithm ? is no more than the budget and Algorithm ? provides a feasible solution satisfying IR to the MCS problem.
More importantly, using the results stated in Lemma ?, Lemma ? and Theorem ?, we can now prove the truthfulness of the mechanism by Theorem ?. The rationale lies in the difference between any user ’s payment and his/her true sensing cost: regardless of how other users may bid, this difference is always maximized if bids truthfully and hence truth-telling is a dominant strategy for .
Finally, based on the approximation ratio of Algorithm ?, we can prove that Algorithm ? has an approximation ratio, as shown by Theorem ?. We also analyze the time complexity of Algorithm ? by Theorem ?.
Obviously, the major time complexity results from calling Algorithm ? for at most times.
5Online Mechanisms for MCS
In this section, we study incentive mechanisms for the MCS problem under the online setting, where the users come in random orders and the schedule/payment for each user has to be decided upon his/her arrival. We assume in this case that any user would only lie about his/her sensing cost , and we will design truthful mechanisms such that reporting his/her real cost is a dominant strategy of . The problem of handling users’ strategic bidding on their available time periods under the online setting is left for future work.
We first propose a simple online mechanism in Algorithm ? for the MCS problem, whose idea originates from the secretary algorithm .
In lines ?- ? of Algorithm ?, we assign empty schedules to the first arrived users, and find one of them whose sensing cost per unit time is no more than the budget and whose sensing value per unit time is the maximum denoted by . The value of is then used as a threshold for the later users, among which we will select the first one whose sensing value per unit time is no less than and pay him/her ; other users all get empty schedules and zero payments (lines ?- ?). The schedules and payments assigned to the users are returned by vector and vector , respectively.
Clearly, Algorithm ? provides a feasible solution to the MCS problem and satisfies IR. The truthfulness and competitive ratio of Algorithm ? are given in Theorem ? and Theorem ?, respectively:
Note that the competitive ratio stated in Theorem ? is conditional. To rectify this problem, we propose a randomized mechanism shown in Algorithm ?, which runs Algorithm ? with probability one half and runs lines ?- ? otherwise. Roughly speaking, the idea of lines ?- ? is the following: we assign the empty schedule to the first arrived users and use them as a random sample to guess the optimal solution (lines ?- ?); then we use this guess to schedule the users coming afterwards (lines ?- ?).
It can be seen from lines ?- ? that Algorithm ? satisfies IR and provides a feasible solution to the MCS problem. The truthfulness of Algorithm ? is proven in Theorem ?:
Finally, the competitive ratio and time complexity of Algorithm ? are given in Lemma ?- ? and Theorem ?:
We conduct extensive simulations to evaluate the performance of our truthful scheduling mechanisms. The objective of our simulations is to corroborate the correctness and effectiveness of our mechanisms in terms of various metrics (including owner revenue, total payment, truthfulness and IR) under different parameter settings (such as the number of users or tasks, as well as the budget). Since we are the first, to the best of our knowledge, to study the MCS problem (see the discussions in Section 1 and the definition in Section 2), we can only make comparisons between our own algorithms in the simulations. For brevity, we hereby denote our two main algorithms Algorithm ? and Algorithm ? by “offline” and “online”, respectively.
We randomly generate the sensing values of tasks, the number of users and the users’ private values. More specifically, the sensing cost per unit time (i.e., ) of any user is generated randomly from the uniform distribution , and the sensing value per unit time of any task is also generated from the same distribution (i.e., both are bounded away from 0). The earliest available time point of any user is generated randomly from , whereas the length of ’s available time period is generated randomly from . Both the number of users and the budget are set to 1000; the number of tasks is set 100; and each user selects only one task, with equal probability out of all tasks. All our simulations follow these default settings unless otherwise stated.
We study the owner revenue achieved by our mechanisms under different user number, budget and task number in Fig. ?. For each data point, we perform 100 simulations with random inputs and we plot the average value and standard deviation. In general, offline always works better than online. This is natural because online faces a harsher condition that a schedule has to be determined for a user upon his/her arrival. In particular, with the information on all users, offline can leverage a sorting based on to optimize the performance, whereas online do not have this privilege.
In Fig. ?, we study the impact of the number of users on the owner revenue, by scaling the number of users from 500 to 5000 with an increment of 100 (below 1000) and of 1000 (beyond 1000). The owner revenues of both offline and online increase with the number of users. This can be explained by the reason that, as the diversities of both the users’ sensing costs and available time periods increase with the number of users, the degree of freedom in finding schedules is enlarged, which in turn results in larger revenues. The same trend is also shown in Fig. ?, where we fix the number of users to 1000 but scale the budget from 200 to 2000 with an increment of 100 (before 1000) and of 500 (after 1000). This is rather straightforward to understood because a higher budget allows the algorithms to schedule users whose sensing costs are higher and hence cannot be afforded under a lower budget.
In Fig. ?, we fix the user number to 1000 and increase the number of tasks from 20 to 200 with an increment of 20. It can be seen that the owner revenues obtained by both our mechanisms slightly increase when the number of tasks increases. This can be explained by the reason that, when the number of tasks increases, the number of users that can perform each task tend to decrease, which results in less overlapping available time periods and higher revenue. Obviously, this effect is less direct than that from either increasing user number or budget, so the resulting improvement to the revenue is also marginal.
6.3Solution Feasibility and Individual Rationality
We verify the feasibility and IR of the solutions output by our algorithms in this section. We first show that the total payment is always no more than the budget, then we use two examples to demonstrate that IR is also guaranteed, i.e., each user gets a payment higher than his/her cost. In Fig. ?, we scale the budget in the same way as Fig. ?, and we show the maximum total payment for each case. Apparently, the budget has never been surpassed. Again, offline is shown to be superior to online: it results in lower total payments.
In Fig. ? and ?, we demonstrate IR using the outputs from offline and online, respectively. We plot the sensing costs and payments only for users with non-zero payments. IR of our mechanisms can be immediately seen: a payment is always greater than the corresponding cost. We can also see that more users are assigned non-empty schedules by offline, which, to some extent, explains the observation made for Fig. ? that offline always achieves a higher revenue than online.
We verify the truthfulness of both offline and online by arbitrarily picking up a few users and checking their utilities under different bidding values.
We first study the truthfulness of offline by Fig. ?. We arbitrarily pick a user whose true values are , and , then we change ’s bid (with other users’ bids fixed) to see how ’s utility changes. Since we cannot draw a 4-dimensional chart here, we show the results by two figures. In Fig. ?, the bid of ’s available time period is fixed to , and we scale ’s bid on his sensing cost from 0.1 to 3.3 with an increment of 0.1. Indeed, bidding the true sensing cost (shown by the red pentagram) allows to maximize his/her utility. In Fig. ?, we fix ’s bid on his sensing cost to 0.5, but varies ’s bid on his earliest and latest available time points. Again, ’s utility is maximized when he/she bids his/her true value . These demonstrate that has no incentive to deviate from bidding his/her true values.
Similarly, we study the truthfulness of online by Fig. ?. In Fig. ?, we pick an arbitrary user whose true sensing cost is 0.3 and who is assigned an empty schedule by online. Then we scale this user’s bid on his sensing cost from 0.01 to 0.4 with an increment of 0.01. The user indeed achieves his/her maximum utility 0 by bidding his true sensing cost 0.3. In Fig. ?, we pick another user (in another simulation) whose true sensing cost is 0.4 and who is assigned a non-empty schedule by online. Then we scale this user’s bid from 0.01 to 10 with an increment of 0.01. Again, the result shows that the user’s utility is maximized when he/she bids his/her true sensing cost.
Mobile crowdsensing involves using (human carried) smartphones to gather data in a much larger scale than what can be done in conventional ways, either through autonomous phone sensing or by further demanding active human participation. While the developments on mobile crowdsensing applications are plentiful, only a few proposals have started on studying how to incentivize participation to such applications until very recently .
Duan et al.  have proposed incentive mechanisms to motivate collaboration in mobile crowdsensing based on Stackelberg games and contract theory. However, the mechanisms provided in  require either the complete information or the prior distributions of users’ private types, hence are not prior-free mechanisms as those in our work. Yang et al.  suggest both a platform-centric model and a user-centric model for mobile sensing. They also use a Stackelberg game to design incentive mechanisms for the platform-centric model, and use auction theory to design truthful mechanisms for the user-centric model; nevertheless the truthful auction mechanisms provided in  are only for single-parameter users and only run in an offline manner. Moreover, no theoretical performance ratios are provided for them in . Some other issues such as pricing, coverage, and privacy of mobile crowdsensing have also been studied by the work in , but these proposals are either not based on a game theoretical perspective or have not considered important game-theoretic issues such as truthfulness and IR. Most importantly, none of the work in  has considered the special time scheduling problem arising from the mobile crowdsensing paradigm, hence their problem definitions are totally different from ours.
There also exist proposals on designing approximation algorithms or truthful mechanisms for job-scheduling on parallel machines, such as . However, these proposals focus on the problem of minimizing the scheduling makespan, which is a totally different goal from ours. Besides, all the mechanisms in this line could entail an arbitrarily large payment to ensure truthfulness. Finally, the frugal or budget-feasible mechanism design problems have been studied in , but these proposals only aim at designing single-parameter mechanisms for allocating indivisible goods, which is very different from the scheduling problems studied in this paper.
We have studied incentive mechanisms for a novel scheduling problem (the MCS problem) arising from the mobile crowdsensing paradigm, where an application owner pays the sensor carriers and schedules their sensing time based on their bids to maximize the total sensing value. We have proved the NP-hardness of the MCS problem, and proposed polynomial-time approximation mechanisms for it that run both offline and online. We also have proved that our mechanisms have performance ratios and satisfies game-theoretic properties including individual rationality and truthfulness. The effectiveness of our approach has been corroborated by the simulation results. To the best of our knowledge, we are the first to study the mechanism design problems for the mobile crowdsensing scheduling problem.
[Proof of Theorem ?] Similar to the proof of Theorem ?, it can be easily proven that Algorithm ? has an competitive ratio based on Lemma ? and Theorem ?. Algorithm ? has its running time predominantly spent on line ?, which has a worst-case time complexity.
- R. Ganti, F. Ye, and H. Lei, “Mobile Crowdsensing: Current State and Future Challenges,” IEEE Communications Magazine, vol. 6, no. 11, pp. 32–39, 2011.
- W. Khan, Y. Xiang, M. Aalsalem, and Q. Arshad, “Mobile Phone Sensing Systems: A Survey,” IEEE Communications Surveys & Tutorials, vol. 15, no. 1, pp. 402 –427, 2013.
- J.-S. Lee and B. Hoh, “Dynamic Pricing Incentive for Participatory Sensing,” Elsevier Pervasive and Mobile Computing, vol. 6, no. 6, pp. 693–708, 2010.
- L. Jaimes, I. Vergara-Laurens, and M. Labrador, “A Location-Based Incentive Mechanism for Participatory Sensing Systems with Budget Constraints,” in Proc. of the 10th IEEE PerCom, 2012, pp. 103–108.
- L. Duan, T. Kubo, K. Sugiyama, J. Huang, T. Hasegawa, and J. Walrand, “Incentive mechanisms for smartphone collaboration in data acquisition and distributed computing,” in Proc. of the 31th IEEE INFOCOM, 2012, pp. 1701–1709.
- D. Yang, G. Xue, X. Fang, and J. Tang, “Crowdsourcing to Smartphones: Incentive Mechanism Design for Mobile Phone Sensing,” in Proc. of the 18th ACM MobiCom, 2012, pp. 173–184.
- Q. Li and G. Cao, “Providing Privacy-Aware Incentives for Mobile Sensing,” in Proc. of the 11th IEEE PerCom, 2013.
- N. Nisan, T. Roughgarden, E. Tardos, and V. V. Vazirani, Algorithmic Game Theory.1em plus 0.5em minus 0.4emCambridge University Press, 2007.
- T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, 2nd ed.1em plus 0.5em minus 0.4emMIT Press and McGraw-Hill, 2001.
- R. Myerson, “Optimal Auction Design,” Mathematics of Operations Research, vol. 6, no. 1, pp. 58–73, 1981.
- A. Archer and E. Tardos, “Truthful Mechanisms for One-Parameter Agents,” in Proc. of the 42th IEEE FOCS, 2001, pp. 482–491.
- E. B. Dynkin, “The Optimum Choice of the Instant for Stopping a Markov Process,” Soviet Math. Dokl., vol. 4, pp. 238–240, 1963.
- J. Lenstra, D. Shmoys, and E. Tardos, “Approximation Algorithms for Scheduling Unrelated Parallel Machines,” Mathematical Programming, vol. 46, no. 3, pp. 259–271, 1990.
- G. Christodoulou and A. Kovács, “A Deterministic Truthful PTAS for Scheduling Related Machines,” in Proc. of the 21th ACM-SIAM SODA, 2010, pp. 1005–1016.
- P. Dhangwatnotai, S. Dobzinski, S. Dughmi, and T. Roughgarden, “Truthful Approximation Schemes for Single-Parameter Agents,” SIAM Journal on Computing, vol. 40, no. 3, pp. 915–933, 2011.
- E. Koutsoupias and A. Vidali, “A Lower Bound of 1 + for Truthful Scheduling Mechanisms,” Algorithmica, vol. 66, no. 1, pp. 211–223, 2013.
- A. Karlin, D. Kempe, and T. Tamir, “Beyond VCG: Frugality of Truthful Mechanisms,” in Proc. of the 46th IEEE FOCS, 2005, pp. 615–626.
- Y. Singer, “Budget Feasible Mechanisms,” in Proc. of 51th IEEE FOCS, 2010, pp. 765–774.
- N. Chen, N. Gravin, and P. Lu, “On the Approximability of Budget Feasible Mechanisms,” in Proc. of the 22th ACM-SIAM SODA, 2011, pp. 685–699.
- A. Badanidiyuru, R. Kleinberg, and Y. Singer, “Learning on a Budget: Posted Price Mechanisms for Online Procurement,” in Proc. of the 13th ACM EC, 2012, pp. 128–145.
- M. R. Garey and D. S. Johnson, Computers and Intractability; A Guide to the Theory of NP-Completeness.1em plus 0.5em minus 0.4emW. H. Freeman & Co., 1990.