Professional Documents
Culture Documents
Foodnet: Toward An Optimized Food Delivery Network Based On Spatial Crowdsourcing
Foodnet: Toward An Optimized Food Delivery Network Based On Spatial Crowdsourcing
6, JUNE 2019
Abstract—This paper builds a Food Delivery Network (FooDNet in short) using spatial crowdsourcing (SC). It investigates the
participation of urban taxis to support on demand take-out food delivery. Unlike existing SC-enabled service sharing systems
(e.g., ridesharing), the delivery of food in FooDNet is more time-sensitive and the optimization problem is more complex regarding
high-efficiency, huge-number of delivery needs. In particular, two on demand food delivery problems under different situations are
studied in our work: (1) for O-OTOD, the food is opportunistically delivered by taxis when carrying passengers, and the optimization
goal is to minimize the number of selected taxis to maintain a relatively high incentive to the participated drivers; (2) for D-OTOD, taxis
dedicatedly deliver food without taking passengers, and the aim is to minimize the number of selected taxis (i.e., to raise the reward for
each participant) and the total traveling distance to reduce the cost. A two-stage approach, including the construction algorithm and the
Adaptive Large Neighborhood Search (ALNS) algorithm based on simulated annealing, is proposed to solve the problem. We have
conducted extensive experiments based on the real-world datasets, including city-wide restaurant data, cell tower data, and the
large-scale taxi trajectory data with 10,000 taxis in the city of Chengdu, China. Experimental results demonstrate that our proposed
algorithms are more effective and efficient than baselines, fulfilling the food delivery service using a smaller number of taxis within
the given time.
Index Terms—Spatial Crowdsouring, online takeout ordering & delivery, task allocation, optimization
1 INTRODUCTION
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
LIU ET AL.: FOODNET: TOWARD AN OPTIMIZED FOOD DELIVERY NETWORK BASED ON SPATIAL CROWDSOURCING 1289
from one place (i.e., restaurants) to another place (i.e., the income from food delivery, such as the income should be
site of food requesters). Furthermore, we aim to extend and greater than the travelling cost. Specifically, we define the
improve the OTOD service by leveraging SC. places of the restaurant and the requester in an order as start-
Quite recently, there have been several works that try to ing and destination areas. If the order happens in the fre-
combine SC and object delivery. Ridesharing [8] is a typical quent-interaction areas (i.e., there are more taxis running
application of object delivery among multiple passengers between the starting and destination areas), the taxi can
based on SC. Specifically, a ridesharing system aims to plan deliver food opportunistically. For infrequent-interaction
a set of vehicle routes with minimum cost, and vehicles are areas, the taxi needs to deliver food in a dedicated manner
capable of accommodating as many passengers as possible. (i.e., without passengers).
In addition to riding requests from travelers, there also In general, we have made the following contributions:
might be delivery requests about goods, like parcels, which
We present a novel system framework to deliver the
could share the resources of vehicles with people to utilize
take-out food by leveraging existing resources of
the vehicles resources sufficiently. For example, Crowdde-
taxis in the city. To the best of our knowledge, this is
liver [9] is a novel system where packages share the resour- the first work that applies SC in the field of the
ces of vehicles with passengers. OTOD service.
Inspired by previous studies, we devote to building a We elaborate the OTOD service in two typical sit-
food delivery network that uses an abundance of taxis in uations and formulate the problems accordingly,
the road network to deliver food based on SC. For taxi driv- including the O-OTOD problem and the D-OTOD
ers, extra income from the food delivery service can be problem. For the O-OTOD problem, food packages
obtained to lead to the long-term engagement of drivers. are delivered incidentally by taxis when carrying pas-
For passengers, sharing the resources of taxis with food sengers, and the optimization goal is to minimize the
could reduce the taxi fare, and increase the riding comfort number of selected taxis to increase the average
without sharing the limited space of the taxi with other income of taxi drivers (i.e., to make high incentives for
strangers in ridesharing. From the perspective of restau- active human participation); for the D-OTOD prob-
rants, delivering food using existing resources of urban lem, taxis deliver food packages specially without tak-
taxis can decrease the cost on recruiting extra delivery staffs, ing passengers, and it aims to minimize the number of
and enable the long-distance food delivery. Finally, from a selected taxis as well as the total traveling distance.
city perspective, this network has a potential to relieve We propose a two-stage method to solve the abo-
urban traffic congestion by piggybacking new services ve problems, which consists of the construction
(food delivery) on existing ones (passenger delivery). algorithm and the Adaptive Large Neighborhood
To the best of our knowledge, this is the first work that Search (ALNS) algorithm. Specifically, the construc-
studies efficient delivery network by sharing rides of pas- tion algorithm constructs an initial solution, and
sengers and food packages using taxis. Recently, there have ALNS optimizes the original solution by removing
been several studies on shared package-passenger delivery and inserting delivery requests.
[9], [10]. This is, however, quite different from shared food- We conduct experiments using three real-world
passenger delivery as studied in this work. First, compared datasets, including the data of taxi trajectories, res-
with average package delivery, food delivery has more taurants and cell towers in the city Chengdu, China.
strict ‘pick-up’ (from the restaurant) and ‘arrival’ (to the The results indicate that our proposed algorithms
food requester) time constraints to ensure the quality of are efficient compared to the baselines.
food and meet user dining demands. Second, the food pack- The rest of the paper is organized as follows: We review
age is usually smaller in size compared with other types of the related literature in Section 2. Section 3 gives an over-
packages, and a taxi could serve more food orders to view of the proposed system. The two food delivery prob-
increase the delivery efficiency and lower the cost. These lems, namely the O-OTOD problem and the D-OTOD
issues will result in a much more complicated optimization problem, are described respectively in Sections 4 and 5.
problem on delivery task assignment. Therefore, the solu- Section 6 evaluates the performance of proposed algorithms
tion of food delivery needs to be further explored. based on real-world datasets. In Section 7, we discuss some
To address the above challenges, we propose FooDNet, limitations and future directions of our work. Finally,
which is a novel Food Delivery Network that fulfills the Section 8 concludes the paper.
OTOD service based on SC. In particular, we solve the OTOD
crowdsourcing problem by leveraging pervasive taxis run-
2 RELATED WORK
ning in cities. This paper significantly extends our previous
work [11] by considering different states of taxis, proposing 2.1 Spatial Crowdsourcing
the corresponding methods and conducting realistic experi- In recent years, by leveraging the power of ordinary people,
ments as well as evaluations. Specifically, we elaborate the crowdsourcing has become an efficient way to complete com-
design of FooDNet from the following two usage situations. plex tasks. A lot of crowdsourcing applications have been
The first one is that taxis with passengers deliver the food, developed, such as image labeling and language translating.
named the Opportunistic OTOD Service (O-OTOD). Note With the development of smart devices and mobile Internet,
that the priority of passengers is higher than food packages, Spatial Crowdsourcing (SC) [12] has become a new form of
which means that the taxi should pick up all food packages crowdsourcing that engages users to obtain the information
before picking up the passenger, and deliver food after the with spatio-temporal features[13], [14], [15], such as environ-
passenger takes off. The second one is that taxis only deliver mental sensing and traffic information mapping. Most of SC
food packages, named the Dedicated OTOD Service (D- applications focus on mobile crowd sensing (MCS) [16], [17],
OTOD). Note that taxis do not accept passengers’ orders namely a crowd of users utilize their mobile phones to com-
when delivering food, since drivers can obtain sufficient plete location-based tasks [18], [19]. In addition, there have
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
1290 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 18, NO. 6, JUNE 2019
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
LIU ET AL.: FOODNET: TOWARD AN OPTIMIZED FOOD DELIVERY NETWORK BASED ON SPATIAL CROWDSOURCING 1291
TABLE 1
Parameters and Variables
Symbol Description
n Number of food packages
m Number of passengers/number of taxis
m All the delivery requests, m ¼ n þ m
K Set of taxis, K ¼ f1; 2 . . . ;mg
Vf Set of food package nodes, V f ¼ V fo [ V fd
Vp Set of passenger nodes, V p ¼ V po [ V pd
V fo Set of pickup nodes of food packages,
Fig. 2. An overview of FooDNet. V fo ¼ f1; 2 . . . ng
V po Set of pickup nodes of passengers,
V po ¼ fn þ 1; n þ 2 . . . mg
location pl, the destination pd, and pick-up time pt. When
V fd Set of delivery nodes of food packages,
the user starts to order food in restaurant r, she should pro- V fd ¼ fm þ 1; m þ 2 . . . m þ ng
vide her request information, including the location ul, the V pd Set of delivery nodes of passengers,
delivery time period ut½uto ; utd (i.e., the order time uto V pd ¼ fm þ n þ 1; m þ n þ 2 . . . 2mg
and the deadline utd ), and the kind of food rf. Finally, V tc Set of taxi nodes, V tc ¼ f2m þ 1; 2m þ 2 . . . 2m þ mg
the food delivery request frðrl; ul; ½uto ; utd ; rfÞ is formed, [tsi ,tei ] Time window for request i
where rl and ul represent the start and end points of the dij Distance between node i and node j
food order respectively. tij Travel time between node i and node j
Food-delivery request handling. After the user submits the v Speed of the taxi
food-delivery request, the system will determine whether to t ik Time point when taxi k arrives at node i
accept it. Based on the information of the restaurants and Tk Maximum waiting time of the passenger
when taxi k pickups the food
taxis, as well as the user’s request, the system will accept the
si Service time for loading/unloading at node i
food request fr if it satisfies the constraints. Particularly, if the li Amount of food packages at the node i
user and the restaurant locate in frequent-interaction areas, it qk Quantity of food packages delivered by taxi k
falls into the O-OTOD mode, and the constraint will rely on Cf Fare charged for delivering one food package
the order time (e.g., the order time should be 30 minutes ear- Cp Fare charged for carrying the passenger per
lier than the delivery time, utd uto þ 30). In addition, if the kilometer
regions are within infrequent-interaction areas, the order will be Xijk Binary decision variables equal to 1 if taxi k
handled under the D-OTOD mode, where both the order time goes directly from node i to node j
and the taxis’ income should be considered as constraints.
Delivery task allocation. The system will allocate accepted
food-delivery tasks to proper taxis. The selection method is time duration for loading or unloading the food package, and
mainly divided into two steps. First, we apply the heuristic the time window indicates the food delivery request i must
algorithm to obtain the initial feasible solution. Second, take place between tsi and tei . For passenger j 2 V p , her wait-
ALNS optimizes the initial solution by removing and insert- ing time when taxi k picks up food is no more than Tk in view
ing requests continually based on the local search frame- of passengers’ experience. Finally, we use a binary variable
work. Finally, the optimized solution is obtained, i.e., the Xijk ¼ 1 ði; j 2 V; k 2 KÞ to represent that taxi k travels from
planned route of each selected taxi. node i directly to node j.
A mathematical model is:
4 THE O-OTOD PROBLEM X X X
4.1 Problem Formulation min k2K i2V tc j2V
Xijk (1)
Food is delivered in the O-OTOD problem incidentally
Subject to:
when taxis carry passengers. Note that the total reward for
delivering a number of food packages is fixed, and the X X
fewer number of selected taxis, the more income for each k2K j2V
Xijk ¼ 1 8i 2 V fo [ V po (2)
driver to deliver food. Therefore, the main optimization objec- X X
tive is to minimize the number of selected taxis in order to j2V
Xijk ¼ j2V
Xj;iþm;k 8i 2 V fo [ V po 8k 2 K (3)
increase the earning of the taxi driver and attract more driv-
ers to participate over the long-term running. X X
X2mþk;j;k ¼ Xi;nþk;k ¼ Xnþk;mþnþk;k 8k 2 K (4)
Assuming that there are m available taxis with passenger j2V i2V
orders, and there is a sequence of requests with n food
X
orders that need to be delivered in the system. Therefore, X2mþk;j;k ¼ 1 8k 2 K (5)
the total number of requests needed to be served by taxis is j2V
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
LIU ET AL.: FOODNET: TOWARD AN OPTIMIZED FOOD DELIVERY NETWORK BASED ON SPATIAL CROWDSOURCING 1293
The ALNS algorithm proposed in the paper is based on the choose using roulette wheel selection based on their past per-
ALNS heuristic described by Ropke et al. [32], which is an formances. Finally, the acceptance criterion from simu-
extension of the LNS heuristic [37]. In general, ALNS is a lated annealing is used to check whether the new adjusted
local search framework in which several competing removal solution s’ should be accepted. Specifically, if the cost of
and insertion heuristics are picked at random with adaptive the new solution s’ is less than the current solution s, then
selection probabilities to modify the current solution. Due s’ is unconditionally accepted (lines 9 and 10). Otherwise,
to the diversity of large neighborhoods, ALNS will explore the probability of acceptance of s’ is p (lines 12). Simulated
large parts of the solution space in a structured way. annealing uses a temperature T that determines the proba-
Compared to LNS, ALNS has the ability to get away from a bility of accepting a non-improving solution, and T is
local minimum based on the search framework, e.g., simu- updated after each iteration (lines 16-18).
lated annealing and Tabu search.
Note that BD gets the local optimal solution iteratively 4.3.1 Request Removing
rather than the global optimal solution, since the combina-
In the O-OTOD problem, the more number of delivered
tion of multiple requests is not considered. Obviously, we
requests by each taxi, the less value of the objective function
can solve the O-OTOD as the combination optimization
of the problem. Therefore, it is reasonable to remove
problem to obtain the optimal solution. However, the route
requests delivered by one of selected taxis. This section
planning of taxis and many constraints of requests make it
introduces three heuristics to select requests for removal.
difficult to obtain the optimal solution. Therefore, ALNS, as
(1) Random Removal (RR). RR randomly selects a taxi from
a feasible way, is applied to optimize the initial solution,
all available taxis delivering food packages, and removes
which is one of the most successful metaheuristic approaches
some requests delivered by the selected taxi. Although RR
for a broad range of routing problems.
is so simple that seldom improves the solution, it can diver-
sify the search.
Algorithm 1 Adaptive Large Neighborhood Search (2) Worst Removal (WR). We propose WR to remove some
(ALNS) requests delivered by the worst taxi which delivers the min-
Input: Initial solution s, T , Tmax , a imum number of food packages among all routed taxis. To
Output: Best solution s . avoid situations where the same requests are removed over
and over again, we randomize the WR with the degree of
1: Initialize best solution s s randomization controlled by the parameter p.
2: while stopping criteria not met do (3) Shaw Removal (SR). The Shaw removal heuristic was
3: j 0 proposed by Shaw [37], and it is slightly modified to suit
4: set mi ; "i to 0 the O-OTOD problem in this section. Note that the number
5: while j < segment size do of requests delivered by the taxi cannot completely reflect
6: choose a destroy neighborhood N the utility of the taxi. Therefore, SR removes some requests
7: choose a repair neighborhood N þ delivered by the taxi with lower utility. Here, we define the
8: generate a new solution s0 utility function Uk of taxi k as (19), including two parts with
9: if fðs0 Þ < fðsÞ then different weights W1 and W2 . The first one is the number of
10: set s s0 delivered requests Nk , and the second one is the similarity
11: else between the taxi and other selected taxis, denoted as Rk .
12: set s s0 with probability p ¼ expððfðs0 Þ fðsÞÞ=T Þ X
13: if fðsÞ < fðs Þ then Uk ¼ W1 Nk þ W2 Rk ¼ W1 Nk þ W2 R :
i2K=k ik
14: set s s, Tb T (19)
15: update mi ; "i
16: T aT In particular, we compute the similarity of two taxis by
17: if T < 0.01 then using the relatedness measure Rðk1 ;k2 Þ , defined as (20). The
18: Tb 2 Tb , T minfTb ; Tmax g lower Rðk1 ;k2 Þ means the more related two taxis. The related-
19: update weights wi ness measure consists of two terms between two taxis: a dis-
20: return s tance term including the current location of the taxi, the
pick-up and drop-off locations of the passenger, and a time
Since the objective of the O-OTOD problem is to mini- term representing the pick-up time of the passenger. Two
mize the number of selected taxis, ALNS improves the ini- terms are weighted using weights W3 and W4 . Moreover,
tial solution based on the food requests delivered by the the distance and time are normalized by Dis and T 0 sepa-
taxi. Assuming that an initial solution is obtained by the rately. Note that we set Rðk1 ;k2 Þ ¼ 1 when the taxi k1 and k2
heuristic algorithm, ALNS then adjusts the current solu- are the same one.
tion until a stop criteria is met. The ALNS with simulated
annealing as a local search framework is presented in Dðk1 ;k2 Þ Tðk ;k Þ
Rðk1 ;k2 Þ ¼ W3 þ W4 1 2
Algorithm 1, where lines 2–19 form the main loop of simu- Dis T
lated annealing. In each iteration of the main loop, it ðd1 ðk1 ; k2 Þ þ d2 ðk1 ; k2 Þ þ d3 ðk1 ; k2 ÞÞ tðk1 ; k2 Þ
includes two parts: one is choosing one destroy neighbor- ¼ W3 þ W4 :
Dis T0
hood (line 6) to remove a number of requests from the (20)
current solution s, and the other is choosing one repair
neighborhood (line 7) to reinsert these requests into the 4.3.2 Request Inserting
current routes of taxis again to repair the initial solution This section describes three insertion methods to plan taxis
and generate a new solution s’ (line 8). Note that an adap- routes. Note that the taxi is not allowed to pick up or deliver
tive layer stochastically controls which neighborhoods to food during the riding time of the passenger.
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
1294 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 18, NO. 6, JUNE 2019
(1) Sequential Insertion (SI). Given a route s of the taxi and iteration j in that segment k, the scores of both the used
a food package request needed to be delivered, an easy and removal and insertion heuristics are updated by the same
intuitive way to plan the taxi route is sequentially inserting number, depending on the solution found in this iteration.
the request after other delivered requests. More precisely, when a heuristic i is used at a given iteration
(2) Best Insertion (BI). BI seeks out the best position from j, its score at iteration j þ 1 is updated as (23):
all available positions in the route s to insert the request. 8
The best position is the one with the minimum increase in >
> s 1 if a new best solution is produced
>
< s if the solution is better than the current one
the total distance while meeting the constraints of food and jþ1 j 2
mi ¼ mi þ
the passenger. >
> s 3 if the solution is accepted;
>
:
(3) Regret Insertion (RI). The regret insertion heuristic tries but is worse than the current one :
to circumvent the problem by incorporating a kind of look-
(23)
ahead information when selecting the request to insert,
which has been used in [32]. Let Dfik denote the change in
4.3.4 Acceptance and Stopping Criteria
the objective value incurred by inserting request i into its
best position in the kth cheapest route for request i. We To avoid getting trapped in a local minimum, we not only
define a regret value cki as cki ¼ Dfik Dfi1 . For example, c2i accept solutions that are better than the current solution,
is the difference in the cost when inserting request i in its but sometimes we also accept worse solutions. Therefore,
best route and its second-best route respectively. In each we use acceptance criteria from simulated annealing(SA) [38].
Specifically, if the cost of new solution s0 is less than current
iteration, RI (regret-k) chooses the requestPi from unselected
solution s, s0 is unconditionally accepted. Otherwise, we
requests that maximizes i ¼ arg maxf kj¼2 ðDfij Dfi1 Þg, 0
and inserts request i at its minimum cost position. In con- accept s0 with probability p ¼ eðfðs ÞfðsÞÞ=T , where f(s) is the
trast with basic greedy heuristic, the regret-k heuristic could objective value of solution s and T > 0 is the temperature.
discover earlier that possibilities for inserting a request T is initialized with Tstart , depending on the initial solution.
become limited, and avoid leaving bad insertions for later. The start temperature Tstart is set such that a solution that is
w% worse than the initial solution is accepted with probabil-
4.3.3 Selection Principle and Adaptive Weight ity 0.5. In every iteration, T is updated as follows: T ¼ c T ,
Adjustment where c is the cooling rate ð0 < c < 1Þ.
Because the O-OTOD problem is a tightly constrained
In our ALNS algorithm, instead of selecting one removal
problem, it is very easy to be trapped in local optima. Thus,
and one insertion, we use all removal and insertion heu-
the temperature is increased when the current temperature
ristics throughout the entire search, because alternating
is lower than 0.01 to help the search escape from the trap.
between different removal and insertion heuristics could
More specifically, we use Tb to record the temperature
diversify the search and give us robust heuristic overall.
when finding the best solution. When the temperature is ris-
Thus, at each iteration of the ALNS, we use roulette wheel
ing, we double the Tb first and then set T as Tb . To avoid the
selection principle to choose the heuristic based on assigned
search to restart from a randomly scratched solution, we
weights. Note that the removal and insertion heuristics are
limit the temperature T to Tmax .
selected independently. Assuming that there are n heuris-
Considering of the timeliness of delivering food pack-
tics with weights wik at iteration k, and we define Pik as the
ages, we prefer to get good results in a short time rather
probability of choosing heuristic i as (21).
than optimal solutions in a long time. Therefore, the ALNS
wik algorithm terminates the optimization when one of the
Pik ¼ Pn : (21) following stopping criteria is met: the maximum number of
j¼1 wjk
iterations g max has been reached; t iterations have been per-
In general, the weights of different heuristics should rep- formed without improving the best known solution; the
resent the performance of the heuristic, for instance, a high time tlimit allowed to the algorithm is elapsed.
value corresponds to a successful heuristic. We introduce
an adaptive weight adjustment procedure to automatically 5 THE D-OTOD PROBLEM
adjust weights, defined as (22): 5.1 Problem Formulation
mi Due to the insufficient quantity of taxis that frequently carry
wi;kþ1 ¼ ð1 rÞwik þ r : (22) passengers between the restaurant and user areas, taxis are
"i
required to deliver the food specially without taking pas-
The search is divided into time segments of 100 itera- sengers in D-OTOD. The optimization objectives are to mini-
tions. At the end of each segment, new weights for the mize the number of selected taxis and the total movement
removal and insertion heuristics are updated. In the first distance. Note that it is different from the O-OTOD problem
segment we can set weights by hand, such as all heuristics from the following aspects. First, the taxis in D-OTOD do
equally. The weight of heuristic i for the next segment k þ 1, not need to carry passengers. Second, the income of the taxi
i.e., wi;kþ1 , is based on the weight of the previous segment k, driver that only delivers the food should exceed the cost of
and the reaction factor r controls how quickly the weight- the taxi which mainly depends on the traveling distance.
adjustment algorithm reacts to changes in the effectiveness We assume that there are m available taxis and n food
of the heuristics. "i is the number of times attempted to use orders needed to be delivered. The total number of requests
heuristic i in segment k, and a specific score obtained in this needed to be served is m. Then the D-OTOD is defined on a
segment is mi . complete undirected graph G ¼ ðV; EÞ, where V ¼ V f [ V tc .
At the start of each segment in the ALNS heuristic, the Let FDk be the set of requests delivered by taxi k, and
scores of heuristics are initialized at zero. After each qk ¼ jFDk j is the number of requests in set FDk . The
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
LIU ET AL.: FOODNET: TOWARD AN OPTIMIZED FOOD DELIVERY NETWORK BASED ON SPATIAL CROWDSOURCING 1295
formulation of the D-OTOD is as follows: 5.3 Adaptive Large Neighborhood Search (ALNS)
X X X Algorithms
min tc Xijk (24) ALNS is proposed to improve the feasible solution of the
k2K i2V j2V
D-OTOD. Unlike O-OTOD, D-OTOD not only minimizes
X X X the number of selected taxis, but also minimizes the total
min k2K i2V tc j2V
dij Xijk (25) movement distance. Therefore, compared to O-OTOD,
ALNS in D-OTOD is different in two aspects. On one hand,
Subject to: when choosing the requests in the removal method, we
X X select q requests from multiple different taxis one by one
k2K j2V f
Xijk ¼ 1 8i 2 V fo (26) instead of one taxi. On the other hand, taxi route planning
X X considers different objectives.
j2V f
Xijk j2V f
Xj;iþn;k ¼ 0 8i 2 V fo ; 8k 2 K (27) In general, ALNS in D-OTOD first removes q requests
from the current solution, then reinserts those requests in the
X adjusted solution again. Note that the size of the neighbor-
j2V fo
X2nþk;j;k 1 8k 2 K (28)
hood depends on the value of parameter q. Obviously, the
X larger value of q is, the easier it is to get the different solution
i2V
Xi;2nþk;k ¼ 0 8k 2 K (29) in the bigger search space. However, the search space will
X X X X increase dramatically with the increasing of q, and the pro-
i2V fo j2V f
Xijk i2V fd j2V f
Xijk ¼ 1 8k 2 K; qk > 0 cess of insertion is going to be slower. To get the robust
result, the number of requests to be removed is determined
(30)
randomly in each iteration. This number, q, is chosen in the
X X interval 4 q min(100, ’n), where n is the total number of
Xijk Xjik ¼ 0 8j 2 V fo ; 8k 2 K (31)
i2V i2V requests and ’ is a predetermined parameter. Notice that the
local search framework of ALNS in D-OTOD is similar to the
t jk t ik þ tij þ si Xijk 8i; j 2 V 8k 2 K (32) ALNS framework in O-OTOD, so we just emphasize the dif-
ference in request removing and inserting in this section.
tsi t ik < t iþn;k tei 8i 2 V fo ; 8k 2 K (33)
X X 5.3.1 Requests Removing
Dk ¼ d X 8k 2 K
j2V ij ijk
(34)
i2V Four removal methods are introduced in this section: Ran-
X dom Removal(RR), Worst Removal(WR), Shaw Removal (SR)
Cf l
i2FDk i
Cp Dk 8k 2 K (35) and One-route Remaval(OR). Specifically, RR randomly
selects q requests to remove, WR removes some worst
Xm
q ¼n (36) requests with high cost Cik one by one, SR removes some
k¼1 k similar requests, and OR selects a routed taxi at random
and removes all requests delivered by this taxi.
Xijk 2 f0; 1g 8i; j 2 V; 8k 2 K: (37) We define the similarity Rði; jÞ between requests i and j in
The objective functions (24) and (25) minimize the num- view of three factors as (39). The first one is the distance
ber of selected taxis and the total distance. Constraints (34) between two requests including the origin and destination of
and (35) ensure that the income of the taxi only delivering the request. The second one is the time for pickup and deliv-
food exceeds the income to carry people in the same dis- ery. The third one P ði; jÞ considers whether two requests are
tance. Constraint (36) defines that all food delivery tasks are delivered by the same taxi. P ði; jÞ ¼ 0 if the taxis delivering
completed. Similar to the O-OTOD, we propose the two- requests i and j are the same one, otherwise P ði; jÞ ¼ 1: Three
stage method to solve D-OTOD including the construction factors are weighted using weights W3 ; W4 and W5 .
algorithm and ALNS algorithm.
R ði; jÞ ¼ W3 Dði; jÞ þ W4 T ði; jÞ þ W5 P ði; jÞ
5.2 The Construction Algorithm ¼ W3 ðdo ði; jÞ þ dd ði; jÞÞ=Disþ (39)
This section obtains the initial solution of D-OTOD by the W4 ðjto ði; jÞj þ jtd ði; jÞjÞ=T þ W5 P ði; jÞ
heuristics similar to the O-OTOD. Note that there are two
main differences between the construction algorithms of 5.3.2 Requests Inserting
O-OTOD and D-OTOD problems. First, the method to plan
the taxi routes takes account of different constraints. We propose three methods to insert requests in the routes of
Second, the criterion to select the best taxi to deliver the taxis: Sequential Insertion (SI), Best Insertion (BI) and Regret
food considers different objective functions. In view of two Insertion (RI). Unlike the insertion method of O-OTOD, the
objective functions of D-OTOD, the cost function Cik of the solution of insertion method in D-OTOD just needs to sat-
request i is defined in (38). It includes two aspects with dif- isfy the constraints of food delivery.
ferent weights: the increased number of taxis when request
i is inserted in the route of taxi k, and the increased distance
6 EVALUATION
after inserting request i. Dis is the normalization for the 6.1 Datasets and Experiment Design
distance. 6.1.1 Experiment Datasets
We use three kinds of real-world datasets (taxi trajectories,
Cik ¼ W1 DðNik Þ þ W2 DðDik Þ=Dis
restaurant information and cell tower data) for evaluation,
¼ W1 ðNþi ðsÞ N ðsÞÞ þ W2 ðDþi ðsÞ DðsÞÞ=Dis: which are from the city of Chengdu, China. Specifically, the
(38) taxi trajectories data involves 10,000 taxis and contains
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
1296 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 18, NO. 6, JUNE 2019
the information of taxis’ locations and passenger requests. represents one restaurant area. Therefore, we can compute
The restaurant data includes the information of location, the interaction pattern between the user area and restaurant
food and sales. The data of cell towers depicts the number area based on the taxi trajectory dataset and the historical
of calls at each cell, which is used to simulate the distribu- sales information of restaurants. For example, if there are
tion of users, and the covering area of each cell represents some taxis carrying passengers from the restaurant area to
one user area. Fig. 3 shows the distributions of restaurants user area during each time period (e.g., each 10 minutes
and user areas in the datasets. between 10:00 and 13:00), and the number of taxis is no
less than the number of requirements to deliver the food,
then we can say that the interaction is frequent. Otherwise it
6.1.2 Experiment Design
is infrequent. Specifically, the number of food delivery
(1) Taxi data analysis. The original taxi routes to serve pas- requirements depends on the historical sales volumes
sengers in the O-OTOD is the main factor affecting the food between the restaurants area and the user area.
delivery. Therefore, it is necessary to analyze taxi trajecto-
ries in advance. We analyze the data of 10,000 taxis in one 6.2 Experiment Setups
month, and the statistics of driving time and distance distri-
butions are shown in Fig. 4. We can find that the driving 6.2.1 Evaluation Setups
time between 5 and 25 minutes occupies the most percent- In the OTOD service, whether the food is delivered on time
age, and it is reasonable to deliver fresh food in 30 minutes is the main factor affecting user experience. In order to
in view of users’ experience. Moreover, the moving distance achieve this in FooDNet, we require users to order the food
between 1 and 9 kilometers occupies the most percentage, in advance. Considering the quality of food, we assume that
which means that the taxi can get to the most places of the the time duration between restaurants preparing food and
downtown to deliver food. Therefore, we can conclude that taxi drivers delivering food to users should be less than
it is feasible to deliver food by taxis. 30 minutes for hot food or 60 minutes for cold food respec-
(2) Food-delivery requests simulation. Since the dataset of res- tively. Moreover, to predict the delivery time of taxis, we
taurants do not contain the specific information of the food need to determine the delivery distance and the speed of
delivery requests, we simulate the information of food taxis. Here, we simply calculate the Manhattan distance
requests based on the distribution of users and historical sales between the locations of the restaurants and users and set
information of restaurants. Note that the number of calls at the speed of taxis to 50km/h, since the information mining
each cell can reflect the distribution of users in the city. There- taxi data and road network is not the main work in this
fore, we assume that the total number of take-out food orders paper, which will be studied in our future work. In general,
on one day in the city is known, so the number of food orders it is improper to allocate the delivery task as long as a food
in each user area (i.e., the cell tower) can be computed, which delivery request appears, which could waste the system
is proportional to the number of calls at each cell. Then, these resource. So each time we allocate a number of delivery
food delivery requests in each user area are assigned to each tasks that appears in the system during TT minutes (e.g.,
restaurant in the region based on the popularity of each res- 10 minutes). Note that TT is the constant in the following
taurant. In general, the sales of restaurants can reflect the pop- experiments, and we will study the variable of TT consider-
ularity of restaurants. Thus, we use the ratio of restaurants’ ing some complicated situations in our future work.
sales in one month to represent their popularity. With the
known total number of food delivery requests of the restau- 6.2.2 Evaluation Metrics
rant on one day, we can simulate the order time of food (1) The number of selected taxis. Given the fixed number of
requests in each restaurant based on Gaussian distribution [39]. food delivery requests, the less number of selected taxis to
For example, we break the working time into multiple sec- deliver food, the more income of each taxi driver can get,
tions by ten-minute blocks, and compute the number of which could attract more drivers to participate.
requests at different time with Gaussian distribution. Finally, (2) Waiting time of passengers. In O-OTOD, the waiting
we can get a sequence of food delivery requests in advance time of passengers is the extra time that taxis spend to
which should arrive as a data stream in one day. pick up the food, which is calculated in (40). PT ðR1 ðpi ;
(3) Area interactions. In order to simulate the food delivery ff1 ; f2 . . . fi . . .gÞÞ is the pick-up time to take passenger pi
of O-OTOD and D-OTOD problems respectively, we define along the route R1 with delivering food as well, and
two interaction patterns between user and restaurant areas: PT ðR2 ðpi ÞÞ is the pick-up time along the route R2 only deliv-
frequent interaction and infrequent interaction. In particular, ering the passenger.
the area covered by each cell tower can represent the user
area. The restaurant area is determined by the clusters of WT ðpi Þ ¼ PT ðR1 ðpi ; ff1 ; f2 . . . fi . . .gÞÞ PT ðR2 ðpi ÞÞ: (40)
restaurants based on k-means method [40], and each cluster
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
LIU ET AL.: FOODNET: TOWARD AN OPTIMIZED FOOD DELIVERY NETWORK BASED ON SPATIAL CROWDSOURCING 1297
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
1298 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 18, NO. 6, JUNE 2019
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
LIU ET AL.: FOODNET: TOWARD AN OPTIMIZED FOOD DELIVERY NETWORK BASED ON SPATIAL CROWDSOURCING 1299
TABLE 3 TABLE 6
Performance Comparison under Different Distributions Performance Comparison of Different Algorithms
for the D-OTOD Problem
Requests’ distribution The number of taxis Waiting time(m)
The number of taxis Total distance (km)
CC 18 3.78
CS 21 4.04 Data set D1 D2 D3 D1 D2 D3
SS 23 4.83 FTSI 110 100 117 1010 1158 1108
FTBI 22 37 54 188 336 491
BTSI 57 47 59 489 505 514
TABLE 4 BTBI 21 26 39 148 198 317
Performance Comparison under Different BDSI 43 38 41 352 350 350
Waiting Time BDBI 14 18 31 106 134 266
FTSI-WR 48 36 49 393 348 416
Maximum waiting The number Waiting FTBI-WR 20 30 35 123 261 296
time(m) of taxis time(m) BTSI-WR 37 30 38 224 215 238
BTBI-WR 20 22 33 148 164 263
5 22 4.23 BDSI-WR 32 26 29 209 163 179
10 19 6.05 BDBI-WR 12 16 28 74 133 236
15 17 7.38 FTSI-SR 47 35 47 401 352 399
FTBI-SR 19 28 34 159 296 313
BTSI-SR 35 30 37 213 213 252
TABLE 5 BTBI-SR 20 21 32 148 198 317
Results of ALNS on Different Number BDSI-SR 32 26 29 206 162 179
of Requests BDBI-SR 12 16 23 76 133 158
ALNS 10 11 10 61 81 73
The number of requests 100 200 300
The number of taxis 9 20 36
Total distance (km) 76 122 239 TABLE 7
Passengers’ distance (km) 23 51 83 Performance of ALNS on Different Values of ’
Extra income (¥) 341 787 1032
Extra income per taxi (¥) 37.8 39.3 28.6 ’ 0.1 0.2 0.3 0.4 0.5
The number of taxis 23 17 16 13 14
Total distance (km) 156 122 128 91 102
In this experiment, we set Cr ¼ 5 and Cp ¼ 3 according
to the practical situation. The results of ALNS on different
number of requests are shown in Table 5. We can see that iteration. Table 7 shows the influence of ’. Generally speak-
extra income per taxi is greater than 0 on all three data sets, ing, the larger scale of the neighborhood, the higher possi-
so we can conclude that it is reasonable to select taxis to bility to find the optimal solution. Therefore, we can see
deliver food when they carry passengers. In addition, extra that the method is not able to move very far in each itera-
income per taxi has no obvious change in different number tion, and has a higher chance to be trapped in the local
of requests, because of the time constraints of passengers minima when ’ is small. However, the performance of
(e.g., the maximum waiting time), which means the taxis the ALNS becomes worse when ’ is larger because a
cannot accept many requests. larger number of q stretches the capabilities of our inser-
tion heuristics. The insertion methods work fairly well
6.4 Experimental Results of D-OTOD when they must insert a limited number of requests into
We study the results of proposed algorithms in terms of a partial solution, but they cannot build a good solution
both the number of selected taxis and the total movement from scratch. In general, ’ ¼ 0:4 is a good choice in our
distance. In general, ALNS for D-OTOD tries to optimize experiment.
the solution in each iteration based on q requests. Therefore,
we study the performance of ALNS under different values 6.4.3 Extra Income of Users
of q controlled by the parameter ’. In addition, we analyze
Table 8 summarizes the results of ALNS on different num-
the income of drivers when they only deliver food, which is
ber of requests. Note that the extra income of taxis means
the main incentive to stimulate more users to participate in.
the additional income related to the income for carrying
passengers within the same movement distance. It is rea-
6.4.1 Different Algorithms
sonable that taxi drivers are willing to deliver food if the
We compare the performance of proposed algorithms under extra income is greater than 0. We can find that the extra
three data sets in Table 6, and each data set includes 200 food income increases with the increasing of the number of
delivery requests. We can see that LNS can improve the bad requests in Table 8. However, the increased number of the
solution obtained by the construction algorithm to some extra income decreases when the number of requests
extent. In addition, the performance of ALNS is superior in becomes large. The reason may be that there are tight time
both number of selected taxis and the total movement dis- constraints for food delivery requests in our system.
tance in comparison to the best result obtained by LNS.
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
1300 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 18, NO. 6, JUNE 2019
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl
LIU ET AL.: FOODNET: TOWARD AN OPTIMIZED FOOD DELIVERY NETWORK BASED ON SPATIAL CROWDSOURCING 1301
[20] M. Kwiatkowska, G. Norman, and D. Parker, “Prism 4.0: Verifica- Bin Guo received the PhD degree in computer
tion of probabilistic real-time systems,” in Computer Aided Verifica- science from Keio University, Japan, in 2009,
tion. Berlin, Germany: Springer, 2011, pp. 585–591. and then was a postdoc researcher with Institut
[21] L. Wang, D. Zhang, D. Yang, A. Pathak, C. Chen, X. Han, H. Xiong, Te le
com SudParis, France. He is a professor with
and Y. Wang, “SPACE-TA: Cost-effective task allocation exploiting Northwestern Polytechnical University, China. His
intradata and interdata correlations in sparse crowdsensing,” research interests include ubiquitous computing,
ACM Trans. Intell. Syst. Technol., vol. 9, no. 2, pp. 1–28, 2018. mobile crowd sensing, and human-computer
[22] D. Vigo, “Vehicle routing: Problems, methods and applications,” interaction.
Society for Industrial and Applied Mathematics, Philadelphia, PA,
USA, 2015.
[23] D. Pisinger and S. Ropke, “A general heuristic for vehicle routing
problems,” Comput. Operations Res., vol. 34, no. 8, pp. 2403–2435, 2007.
[24] J. Christiaens and G. Berghe,“A fresh ruin & recreate implementa- Chao Chen received the PhD degree from
tion for the capacitated vehicle routing problem,” 2016. Pierre and Marie Curie University and Institut
[25] R. Masson, F. Lehuede, and O. Peton, “The dial-a-ride problem Mines-Te le
com/Te le
com SudParis, Evry, France,
with transfers,” Comput. Operations Res., vol. 41, pp. 12–23, 2014. in 2014. He is a professor with the College of
[26] N. Rahmani, B. Detienne, R. Sadykov, and F. Vanderbeck, “A col- Computer Science, Chongqing University, China.
umn generation based heuristic for the dial-a-ride problem,” in His research interests include pervasive comput-
Proc. Int. Conf. Inf. Syst. Logistics Supply Chain, Jun. 2016. ing, social network analysis, urban logistics, and
[27] T. Gschwind and M. Drexl, “Adaptive large neighborhood search data mining from large-scale taxi data.
with a constant-time feasibility test for the dial-a-ride problem,” Dec.
2016.
[28] S. Ma, Y. Zheng, and O. Wolfson, “Real-time cityscale taxi
ridesharing,” IEEE Trans. Knowl. Data Eng., vol. 27, no. 7,
pp. 1782–1795, Jul. 2015. He Du received the bachelor’s degree from North-
[29] B. Li, D. Krushinsky, H. A. Reijers, and T. Van Woensel, “The western Polytechnical University, Xi’an, China. She
share-a-ride problem: People and parcels sharing taxis,” Eur. is currently working toward the PhD degree in the
J. Operational Res., vol. 238, no. 1, pp. 31–40, 2014. School of Computer Science, Northwestern Poly-
[30] T. Curtois, D. Landa-Silva, Y. Qu, and W. Laesanklang, “Large technical University. Her research interests include
neighbourhood search with adaptive guided ejection search for ubiquitous computing and mobile sensing.
the pickup and delivery problem with time windows,” EURO
J. Trans. Logistics, pp. 1–42, 2017.
[31] A. Landrieu, Y. Mati, and Z. Binder, “A tabu search heuristic for
the single vehicle pickup and delivery problem with time win-
dows,” J. Int. Manuf., vol. 12, no. 5-6, pp. 497–508, 2001.
[32] S. Ropke and D. Pisinger, “An adaptive large neighborhood
search heuristic for the pickup and delivery problem with time Zhiwen Yu received the PhD degree from North-
windows,” Transportation Sci., vol. 40, no. 4, pp. 455–472, 2006. western Polytechnical University, Xi’an, China.
[33] P. Farahani, M. Grunow, and H. G€ unther, “Integrated production He is currently a professor and vice-dean with
and distribution planning for perishable food products,” Flexible the School of Computer Science, Northwestern
Serv. Manuf. J., vol. 24, no. 1, pp. 28–51, 2012. Polytechnical University. His research interests
[34] R. Masson, A. Trentini, F. Lehuede, N. Malhene, O. Peton, and cover ubiquitous computing and human-com-
H. Tlahig, “Optimization of a city logistics transportation system puter interaction.
with mixed passengers and goods,” EURO J. Transportation Logis-
tics, vol. 6, no. 1, pp. 81–109, 2017.
[35] J. K. Lenstra and A. Kan, “Complexity of vehicle routing and
scheduling problems,” Netw., vol. 11, no. 2, pp. 221–227, 1981
[36] Y. Bartal, L.-A. Gottlieb, and R. Krauthgamer, “The traveling
salesman problem: Low-dimensionality implies a polynomial
Daqing Zhang received the PhD degree from the
time approximation scheme,” SIAM J. Comput., vol. 45, no. 4,
University of Rome “La Sapienza” and the Univer-
pp. 1563–1581, 2016. sity of L’Aquila, Rome, Italy, in 1996. He is currently
[37] P. Shaw, “Using constraint programming and local search meth- a full professor in the Te le
com SudParis, Institut
ods to solve vehicle routing problems,” in Proc. Int. Conf. Principles Mines-Te le
com, Evry, France. His research inter-
Practice Constraint Program., 1998, pp. 417–431. ests include context-aware computing, urban
[38] A. Breedam, “Comparing descent heuristics and metaheuristics
computing, mobile computing, big data analytics,
for the vehicle routing problem,” Comput. Operations Res., vol. 28,
pervasive elderly care, etc.
no. 4, pp. 289–315, 2001.
[39] R. Chhikara and J. Folks, “The inverse gaussian distribution as a
lifetime model,” Technometrics, vol. 19, no. 4, pp. 461–468, 1977.
[40] K. Alsabti, S. Ranka, and V. Singh, “An efficient k-means cluster-
ing algorithm,” Electrical Engineering and Computer Science,
1997. Huadong Ma received the PhD degree in com-
[41] B. Li, D. Krushinsky, T. Woensel, and H. Reijers, “An adaptive puter science from the Institute of Computing
Technology, Chinese Academy of Science,
large neighborhood search heuristic for the share-a-ride prob-
lem,” Comput. Operations Res., vol. 66, pp. 170–180, 2016. in 1995. He is a professor and the director of the
Beijing Key Lab of Intelligent Telecommunications
Software and Multimedia, and executive dean of
Yan Liu received the BE degree from Northwest- the School of Computer Science, Beijing Univer-
ern Polytechnical University, Xi’an, China. She is sity of Posts and Telecommunications, China. His
currently working toward the PhD degree in the current research focuses on multimedia system
School of Computer Science, Northwestern Poly- and networking.
technical University. Her research interests include
mobile crowd sensing and spatial crowdsouring.
" For more information on this or any other computing topic,
please visit our Digital Library at www.computer.org/publications/dlib.
uthorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on August 20,2022 at 13:10:38 UTC from IEEE Xplore. Restrictions appl