An Auction Based Task Dispatching and Pricing Mechanism in Bike-sharing

As a green and low-carbon transportation way, bike-sharing provides lots of convenience in the daily life. However, how to dispatch bikes efficiently is a key issue in such a system. The bike-sharing platform can hire workers and pay to incentivize them to accomplish the dispatching tasks. However, there exist multiple workers competing for the dispatching tasks, and they may strategically report their task accomplishing costs (private information known by themselves) in order to make more profits, which may result in inefficient task dispatching. In this paper, we first design a dispatching algorithm named GDY-MAX to allocate tasks to workers. Furthermore, we design a strategy proof mechanism under the budget constraint to allocate tasks and determine the payments to workers. We theoretically prove that our mechanism can satisfy the properties of incentive compatibility, individual rationality and budget balance. Furthermore we run extensive experiments to evaluate our mechanism based on a Mobike dataset. The results show that our approaches can make better performance than benchmark approaches.


I. INTRODUCTION
Bike-sharing as a low-carbon travelling way, can solve the problem of "the last mile" in the public transportation system. There exist many bike-sharing platforms, such as Mobike, HelloBike and so on, where Mobike has put over 7 million bikes in various regions of China. However, the redistribution problem emerges with the flourishment of the bike-sharing market. For example, bikes can be parked anywhere when riders reach their destinations, and then other riders cannot find the available bikes. The platform needs to dispatch these bikes regularly to specific locations in order to satisfy riders' demands (e.g. dispatching nearby bikes to the exit of subway station) in regions. However, the bikes are usually distributed anywhere within a specific geographical area, and thus it is inconvenient and costive to use trucks to convey them. Actually, in the real world, some riders might be willingly to accomplish these dispatching tasks in their spare time to make money, and thus the bike-sharing platform can pay to incentivize these riders (i.e. workers) to dispatch bikes to specific locations. In this paper, we intend to analyze how the bike-sharing platform hires workers to dispatch bikes efficiently.
Specifically, the bike-sharing platform needs to hire workers to dispatch bikes to maximize the total values of accomplished dispatching tasks. Similar to some existing works [1], [2], we consider that the platform adopts an auction based mechanism * Bing Shi is the corresponding author.
to dispatch bikes and pay to workers. In this mechanism, the platform divides the overall area into a number of small regions. In each region, there exist a number of bikes to be dispatched. Workers bid by reporting their accomplishing costs of dispatching all bikes in that region, i.e. workers bid for the region including a set of tasks, not any individual taks. The platform then determines how to match workers with regions, and determines the payments to the workers in order to maximize the total values of all regions. Multiple workers compete for the bike dispatching regions to make profits, and they may untruthfully report their costs of accomplishing tasks in order to make more profits. This may result in inefficient task dispatching. Furthermore, the platform usually has a budget constraint for paying to workers. Therefore, how to design an efficient auction mechanism for dispatching tasks and paying to workers under the budget constraint to maximize the total accomplishing values of regions is a key issue.
There exist some works about bike dispatching, such as [3]- [8]. However, they do not consider users' strategic behavior. Specifically, this paper advances the state of art in the following ways. We first design a task dispatching algorithm, named GDY-MAX, to maximize the total value of regions given the budget constraint. The experimental results show that this task dispatching algorithm can achieve good performance. However, GDY-MAX cannot meet strategy proof. 1 Then based on Myerson's theorem [10], we further design a strategy proof mechanism where the task dispatching algorithm is monotonous and the worker pricing algorithm is based on critical price. We prove that this mechanism can satisfy the properties of incentive compatibility, individual rationality and budget constraint. We run extensive experiments to evaluate GDY-MAX and the strategy proof mechanism based on a Mobike dataset. The results show that the performance of the mechanism and GDY-MAX is similar to the optimal algorithm in the coverage ratio of accomplished task regions and the sum of task region values, and our mechanism has better performance than the uniform algorithm in the total payment. The rest of the paper is structured as follows. We describe the basic settings in Section II. In Section III, we introduce GDY-MAX dispatching algorithm and the strategy proof mechanism. We run experiments to evaluate our methods in Section IV, and conclude the paper in Section V.

II. BASIC SETTINGS
In this section, we introduce the basic settings of tasks, workers, and provide the problem definition. As we have discussed previously, we divide the overall area into several small regions. Instead of bidding for the specific task, workers bid for the specific region. The platform determines the matching between the regions and workers, and computes the payment to workers. Since different regions may have different values, we intend to maximize the sum of region values given the budget constraint.

A. Task Region
In this paper, we divide the overall area D into k small hexagon regions D = {D 1 , D 2 , . . . , D k }. The task regions are represented by a set T = {t 1 , t 2 , . . . , t k }, where t j = (l j , v j ), l j is the centric location of that region, and v j is the value of that region.

B. Workers
Workers bid for task regions, and then accomplish the dispatching tasks of the matched region. We use M = {m 1 , m 2 , . . . , m n } to represent the set of workers, and use pos i to represent the location of worker m i . The task region which can be accomplished by the worker depends on the geographical region D mi and the worker's activity radius rad i . Now the set of task regions accomplished by worker i is Each worker has a cost for accomplishing the dispatching tasks of that region, consisting of the time cost and energy cost, which is denoted by c i = α × H + β × S, where H represents the total time to complete the task, S represents the total walking distance, α and β are time and distance parameters respectively. For worker m i ∈ M , its expected utility u i is defined as the payment p i received from the platform minus the cost c i , i.e. µ i = p i − c i .
When the platform publishes the task information, workers compete with each other to bid for the task region. The bid submitted by worker m i is denoted as b i = (T i , c i ), including the set of regions T i that can be done by the worker and the total cost c i . The bids of all workers are denoted as b = (b 1 , b 2 , . . . , b M ). Note that the worker may lie about cost c i (i.e. its bid may be different from the true cost) in order to make more profits.

C. Problem Definition
We use M to represent the set of workers who win the regions, and then the assigned regions are denoted as the set T M = ∪ mi∈M T i . Note that the payment should be greater than the worker's cost, and the total payment should not be greater than the budget constraint B. We use p = {p 1 , p 2 , . . . , p M } to represent the payments to all workers. We intend to maximize the overall region values, which is defined as follows.
Definition 1 (Bike Task Value Maximization Problem). Given the set of task regions T , the set of workers M and the set of bids b, the platform will dispatch task regions to workers M ⊆ M (i.e. task dispatching algorithm) and make the payment to workers (i.e. pricing algorithm) under the budget constraint B, in order to maximize the sum of values This problem is a typical set cover problem [11], which is an NP-hard Problem, and thus an approximation algorithm is needed. We adopt a submodular function in this paper.
Definition 2 (Submodular functions). N is a finite set. Function f : 2 N → R is a submodular function if and only if S 1 ⊆ S 2 ⊆ N and x ∈ N \S 2 : According to the definition of submodular function, for any set of workers M 1 ⊆ M 2 ⊆ M and worker m i ∈ M \M 2 , . The value is: Because of the diminished marginal effect, we have: According to Equations 2 and 3, we have:

III. TASK DISPATCHING AND PRICING
In this section, we first describe the task dispatching algorithm GDY-MAX, and then introduce the strategy proof mechanism which ensure workers bid truthfully.

A. A Task Dispatching Algorithm(GDY-MAX)
We first design a greedy based dispatching algorithm to solve the dispatching issue. The reason of doing this is that the strategy proof mechanism is based on this algorithm. In addition, this algorithm can also achieve good performance in the experimental analysis. We call it as GDY-MAX, which includes GDY operation and MAX operation.
In more details, GDY operation chooses workers with low accomplishing cost to complete high-value task regions. We use set M k to represent winning workers. When adding worker m i into set M k , the marginal contribution is We select the worker with the largest unit marginal contribution m i * ← argmax mi∈M \M k fi ci until all workers are selected, or the payments to workers reach the budget constraint, i.e. c i * ≤ B·fi * 2V (M k ∪{m i * }) . Furthermore, we use MAX operation to choose the region having the largest value, i.e. m * ← argmax mi∈M V ({m i }). We then select the largest set of task regions by comparing where {m * } is the set of workers who can get the largest sum value of task regions.
Although the MAX operation overcomes the deficiency on the approximation of GDY operation, GDY-MAX algorithm is not monotonous. For example, worker m i ∈ M k with cost c i reports its cost as c and c < c i . According to the unit margin contribution, when the cost of worker m i is lower than a certain value, the set of workers selected by GDY-MAX algorithm could be {m * }, or {m i }. Therefore, GDY-MAX algorithm does not satisfy monotonicity, and thus is not strategy proof.

B. A Strategy Proof Mechanism
In this section, we intend to design a strategy proof mechanism (named BMTVMP) including task dispatching and pricing under the budget constraint to maximize the value of task regions while ensuring workers bid truthfully. According to Myerson's theorem, the task dispatching algorithm in the mechanism needs to satisfy monotonicity, and the worker pricing algorithm should be based on the critical price.
1) Task Dispatching: We adopt linear rounding [12] to address this monotonic issue. First, we compute V ({m * }), and then compute the values of integer programming solution, named V . The set with the largest values will be selected. The task dispatching algorithm can guarantee monotonicity with only a slight sacrifice of performance. In more details, for the linear rounding process of BMTVMP in the integer programming, BMTVMP B 2 , M − means that variable x i (which shows whether the worker is selected by the platform as the winning worker) changes from a discrete value 0,1 to continuous value [0,1] with the budget constraint changed to B/2. To solve the linear programming problem, worker m * with the largest region value is eliminated since the final linear programming solution needs to be compared with worker m * . Workers with task accomplishing cost greater than B/2 should be excluded. Those workers are denoted as a set M B (e−1) 2 , which is related to the approximation ratio. The reason of setting such a parameter value is as follows. From the degree of similarity between GDY-LP-MAX B 2 , M − and V (M k ), we have: According to pipage rounding [13] in the linear programming, we have: Based on Equations 5 and 6, we have: Therefore, the parameter θ is set to 6e 2 (e−1) 2 . Finally, the task dispatching algorithm of BMTVMP mechanism is shown in Algorithm 1. Lines 3 to 6 indicate how to sort workers based on the marginal contributions. Then lines 8 to 11 compare V (m * ) with the optimal solution of linear programming GDY-LP- Lemma 1: The task dispatching algorithm of BMTVMP mechanism satisfies monotonicity. proof 1: From lines 8 and 11 of Algorithm 1, we can see that there are two possible outputs. We now discuss them in turn.
In this case, the cost of worker m * to complete the task only needs to satisfy the budget constraint B. Therefore, the bid of worker m * has no influence on the final result, which means that this worker will always be selected as the winner.
Assuming that there is no change in task cost for the remaining workers other than worker m i , worker m i ∈ M k will submit new bid where the task cost will be reduced from c i to c i . In this case, the value of GDY-LP-MAX( B 2 , M − ) will be increased due to the reduced cost of worker m i , satisfying the statement in line 8. For the marginal contribution, since the task cost is reduced to c i , the position of worker m i will be advanced in the overall workers. We assume that the new position is j and j ≤ i. Because of the decreased marginal effects, we have f i|Mi−1 ≤ f i|Mj−1 . The sum of values is, however, increased with the increased workers, which can be expressed In combination with budget constraint, we have Based on the above analysis, if the original winning worker reduces the task cost, it still satisfies the budget constraint and the marginal contribution condition, and thus is still selected as the winning worker. In summary, the task dispatching algorithm in BMTVMP mechanism satisfies monotonicity.
2) Pricing: According to Algorithm 1, there will be two possible outputs. When the final result is worker m * with the maximum value, the platform can take the entire budget as its payment. Otherwise, the platform needs to calculate the payment to each winning worker separately and ensure that the total payment does not exceed the budget constraint B.
Definition 3 (Critical Cost). p is the worker's critical task cost. If the task accomplishing cost reported by the worker is greater than its critical cost p, the worker will not be assigned to the task, otherwise it will be assigned.
When the payment to worker m i is calculated, we can remove m i from the set of sorted winning workers. Then, the bid price that worker m i wins at each position is calculated separately. We then choose the largest price as the payment to worker m i . This method calculates the payment p i as the critical cost of worker m i ∈ M * . Note that the payment to unassigned workers is set to 0, while the payment to worker m * with the maximum value is set to B. In the case of multiple winning workers, we first remove worker m i , and get the remaining workers M −i = M \m i . According to the greedy method, we compute the winning bid price which can defeat worker from first to k −i + 1 position, denoted as has two limitations. First, the marginal contribution of worker m i 's unit cost is greater than m j 's unit cost: From Equations 8 and 9, we know that c −i i(j) ≤ min ϕ i(j) , λ i(j) . The pricing algorithm use the smallest value between ϕ i(j) and λ i(j) as the payment p −i i(j) for worker m i . When the position index j increases, f −i j is monotonically increasing, and cj f −i j is monotonically decreasing according to the submodularity of the value function. Therefore, we can select the maximum value of p −i i(j) and set it as the payment to m i .
The pricing algorithm is shown in Algorithm 2. Lines 2 to 3 represent that worker m * has the maximum task region value and the total budget B is the worker's payment. Lines p ← max p i , min ϕ i(j) , λ i(j) ; 16 end 17 return p; Lemma 2: The payment calculated by the pricing algorithm meets the critical cost requirement.
proof 2: The proof can be shown in two cases: (1) Assuming that worker m i submits a new bid, where the task cost of m i is less than the critical cost p i , c i ≤ p i = p −i i(r) , we have c i ≤ θ i(r) and c i ≤ λ i(r) . The worker can be assigned to the task at position r.
(2) After worker m i submits a new bid, where the task accomplishing cost is greater than or equal to the critical cost p i , the platform will no longer select the worker as the winner. We discuss it in the following two cases.
when θ i(r) ≤ λ i(r) , we get p −i i(r) = θ i(r) from p i ← min{θ i(j) , λ i(j) }. When m i 's task cost is not less than p i , c i > θ i(r) can be obtained. The cost of m i increases while the marginal contribution remains, which means the marginal contribution per unit cost of worker m i is smaller than the marginal contribution per unit cost of worker m r . At the same time, we sort the workers by marginal contribution of unit cost. Let j ∈ r + 1, k −i + 1 be below position r, we have θ i(r) ≥ θ i(j) . Then we have c i > θ i(r) > θ i(j) , and m i will not be selected as the winner. Suppose at position j, we have ϕ i(j) > p −i i(r) = ϕ i(r) > p −i i(j) = λ i(j) from θ i(r) < θ i(j) . Since the cost of worker m i has increased, c i > θ i(r) > λ i(j) , and it means that the budget constraint is not satisfied and m i is not selected as the winner. when θ i(r) > λ i(r) , p −i i(r) = λ i(r) could be deduced from p i ← min{θ i(j) , λ i(j) }. Assuming at position j ∈ [0, k −i + 1], then λ i(r) is greater than λ i(j) . m i 's cost increases c i > p −i i(r) = λ i(r) > λ i(j) , and it will not be selected as the winner because of the budget constraint. Assuming that λ i(r) < λ i(j) , we can get , it has conflict with θ i(r) > λ i(r) , m i cannot be selected.
In conclusion, the payment p i calculated by the worker pricing algorithm is the critical cost of m i , and BMTVMP mechanism satisfies incentive compatibility.
3) Theoretical Analysis: In this section, we theoretically prove that our mechanism can satisfy individual rationality and budget constraint.
proof 3: From Lemma 1 and Lemma 2, we know that the task dispatching algorithm is monotonous and the payment is the critical cost of the worker. According to Myerson's theorem, BMTVMP mechanism satisfies incentive compatibility.
proof 4: In worker pricing algorithm, the worker who does not participate in the dispatching task is paid zero. According to p i ← max{p i , min{θ i(j) , λ i(j) }}, we know that the payment to m i is p i ≥ p −i i(j) . Bids submitted by other workers are unchanged when calculating the remuneration of m i . In this case, other winning workers will remain unchanged except m i , which can be represented by the set M i−1 = M −i j−1 . Worker m j could win by eliminating m i . In the list that does not exclude m i , worker m i is selected by the platform as the winner, which indicates that m i 's task cost meets the budget constraint, and it can be inferred that: The list is sorted by the marginal contribution of unit cost, and the position of worker m i precedes that of worker m j : From Equations 11 and 12, we have the task accomplishing cost of worker m i : The above equations indicates that the task accomplishing cost of worker m i is less than or equal to payment p i . Then the utility of worker m i is greater than or equal to zero. To sum up, in either cases, the utility obtained by the worker is non-negative. Therefore, BMTVMP mechanism satisfies individual rationality.
Theorem 3: Given the dispatching task assigned to worker m i ∈ M * , the payment p i limited to fi V (M * )×B , the total payment calculated by BMTVMP mechanism meets the budget constraint.
proof 5: Assuming that the output of the task dispatching algorithm is M * = {m * }. Now the worker's pricing algorithm sets B as the payment, which meets the budget constraint. In another case, the output of the task dispatching algorithm is M * = M k . Assuming that the worker pricing algorithm gives m i ∈ M k a large payment, which satisfies is established. As the payment p i is limited by the marginal contribution of unit cost and the budget, we have: According to individual rationality, the utility obtained by worker is non-negative, and c i ≤ p i . Because worker m i is not selected within the former From Equation 15, it can be obtained that p i ≤ fi V (M * )×B . The original assumption is not true. Therefore, the payment p i given by the worker pricing algorithm to worker m i ∈ M k meets p i ≤ fi V (M * )×B . We have that: Therefore, the total payment of BMTVMP mechanism will not exceed the budget constraint.

IV. EXPERIMENTAL ANALYSIS
We now run experiments to evaluate our methods. In the experiment, we use a Mobike dataset including worker tracks in Shanghai from August 1 to September 1, 2016. Each data record contains order ID, bike ID, worker ID, start time, start location (longitude and latitude), end time, end location, and trace. The total amount of orders is 102361. In the experiment, we assume that the bikes needs to be dispatched periodically.

A. Experimental Settings
We first pre-process all order data and distinguish them into weekdays and weekends, as shown in Figure 1. We can see that there is a huge difference between the number of  orders on weekdays and weekends. In order to make a reliable and consistent experimental results, we exclude the order data of weekends, and run the experiments on the order data of weekdays. The map is divided into a number of small hexagon regions with two kilometers radius. We categorize the regions into 5 levels, and each level corresponds to different unit cost information. The worker's radius of activity is divided into 5 levels, namely 1.5, 2, 2, 3 and 3.5 kilometers. We set 2 twice because there exist plenty of regions with 50 to 100 bikes. The worker cost is calculated by the base price plus the total price. The total price is obtained by multiplying the unit price with the number of bikes. The unit price is randomly selected from [0.01, 0.1] and the basic price is set [10,20] at random. Furthermore, in the experiment, we set the number of workers between 50 and 600 with step size 50. For each worker, the set of accomplishing task region depends on radius, and the cost of task accomplishment is uniformly distributed. The budget is set between 500 and 2000 with step size 250.. The experimental parameters are shown in Table I.
Furthermore, we evaluate our mechanism and GDY-MAX dispatching algorithm against two benchmark algorithms.
UNIFORM [14]: It sets the probability of 2/5 to assign the single worker with the maximum value, and the probability of 3/5 to choose the workers according to greedy algorithm. This probabilistic selection method enables the UNIFORM algorithm to have a constant approximation ratio in the worst environment. The comparison between UNIFORM algorithm and BMTVMP mechanism can intuitively shows the influence of payments on the maximization of task region values.
OPTIMAL: The optimal algorithm of the set coverage problem can obtain the optimal solution for the value maximization problem. Therefore OPTIMAL algorithm is selected. However, it cannot be used in real life since the computation is heavy and cannot guarantee strategy proof. We evaluate BMTVMP and GDY-MAX against the above two algorithms in terms of the following metrics.
• The coverage ratio of accomplished task regions, which is the proportion of the regions completed by workers to the total number of regions. • The sum of task region values, which is the accumulation of values of accomplished task regions. • The total payment, which is paid to workers by the platform.

B. Experimental Results
The experiments are repeated for 100 times, and we compute the average results for the analysis. We now discuss the experimental results in detail.
The coverage ratio of accomplished task regions: The coverage ratio of the four algorithms are shown in Figure  2, where the number of workers is set to 300, and the corresponding budget constraint is set from 500 to 2000. From Figure 2, we can see that the coverage ratios of the accomplished task regions of GDY-MAX, OPTIMAL algorithm and BMTVMP mechanism increase with the increased budget since the platform is able to hire more workers to complete more tasks, and thus increasing the regional coverage.
In general, three algorithms can achieve more than 70% coverage given the high budget except UNIFORM algorithm. Furthermore, the performance of GDY-MAX algorithm is very similar to that of OPTIMAL algorithm. In contrast, the task coverage of BMTVMP mechanism is slightly lower, but the ratio of coverage growth is stable.
Note that the UNIFORM algorithm shows that the coverage tends to decline when the budget increases. It may be caused by the random selection of winning workers with a certain probability. Workers with high cost are selected to spend more budget and the amount of accomplished task regions is reduced, thus resulting in the decreased coverage ratio. On the other hand, we find that when the budget increases to a high value, BMTVMP mechanism is still unable to cover all regions. This is because the workers' locations are randomly selected and thus cannot cover all regions. Figure 3 shows the coverage ratio of four algorithms when the budget is set to 1000 and the number of workers is set from 50 to 600. The experimental results show that the overall coverage of GDY-MAX algorithm, OPTIMAL algorithm and BMTVMP mechanism increase with the increased number of workers. Compared with Figure 2, the coverage ratio increases faster, implying that the number of workers has a greater impacts on the coverage ratio than the budget. The sum of the task region values: Figure 4 shows the sum of task region values with budgets from 500 to 2000 when the number of workers is 300. We can see that when the budget increases, the sum of task region values increase for all algorithms. The reason is that when the budget increases, bike-sharing platform can hire more workers to complete Note that when the budget reaches a relatively large value, BMTVMP mechanism can not only prevents the strategic behavior, but also achieves near-optimal performance. Figure 5 shows the sum of task region values when the budget is 1000 and the number of workers varies between 50 and 600. Task values obtained by those four algorithms go up with the increased workers. When the number of workers increases, bike-sharing platform can select workers with lower cost to complete tasks, but still win the same value. We can see that BMTVMP mechanism can achieve similar performance to the optimal algorithm. Although BMTVMP mechanism has a loss of small amount of values, it can prevent strategic behavior.
The total payment: Since GDY-MAX algorithm and OP-TIMAL algorithm do no include the pricing algorithm, we only evaluate the total payment of BMTVMP mechanism against UNIFORM algorithm. The number of workers is fixed at 300 and the budget ranges from 500 to 2000. The results are shown in Figure 6. We can see that the total payment increases with the increased budget. When the number of workers is large and the budget is increased, the bike-sharing platform can use more budget to hire more workers to complete tasks. The total payment of BMTVMP mechanism is less than UNI-FORM algorithm, which implies that BMTVMP mechanism can save budget and pay to workers more reasonably.
Next, the budget is fixed at 1000 and the number of workers is set between 50 and 600. The total payments of the bikesharing platform in BMTVMP mechanism and UNIFORM are shown in Figure 7. The results show that the total payments of BMTVMP mechanism and UNIFORM algorithm decrease with the increased workers. The reason is that when the budget is fixed, the competition among workers becomes fiercer when the number of workers increases. The platform will choose workers with lower cost to complete tasks, reducing the total payment. Similarly, the results show that the total payment of BMTVMP mechanism is less than UNIFORM algorithm. Compared with Figure 6, the total payments of both mechanisms decrease, implying that the number of workers has a greater impact on the total payment than the budget constraint.

V. CONCLUSION
In this paper, we first design a task dispatching algorithm GDY-MAX to allocate tasks to workers to maximize the value of accomplished task regions. Since this algorithm cannot prevent strategic behavior, we further propose a strategy proof mechanism to maximize the values of task regions under the budget constraint. We design a task dispatching algorithm satisfying the monotonicity, and design a worker pricing algorithm satisfying the budget constraint. We theoretically prove that our mechanism is strategy proof. We then run extensive experiments to evaluate our mechanism based on a Mobike dataset. The results show that compared with the UNIFORM and OPTIMAL algorithms, our mechanism and GDY-MAX algorithm can achieve performance similar to the OPTIMAL algorithm in terms of the coverage ratio of accomplished task regions, the sum of task region values. We also show that our mechanism has better performance than UNIFORM algorithm in terms of the total payment.