Pickup and Delivery Problem With Time Windows
Pickup and Delivery Problem With Time Windows
a r t i c l e i n f o a b s t r a c t
Article history: In the present work, we study the Pickup and Delivery Problem with Time Windows, which generalizes
Received 3 January 2020 the well-known Vehicle Routing Problem and has many potential applications to transportation services.
Revised 18 July 2020 The contributions span from an improved hybrid algorithm with a mathematical programming compo-
Accepted 18 July 2020
nent (matheuristic) to a new method to generate instances for routing problems based on open data.
Available online 29 July 2020
We further provide a thorough component analysis of the proposed algorithm, a comparison to state-
of-the-art methods, and investigate the differences in results obtained for a standard instance set and
2010 MSC:
a new testbed. Numerical experiments show the proposed matheuristic works well for the standard
00–01
99–00
benchmark set, whereas results in the new set are surprisingly divergent. The possible reasons and future
research directions are discussed. In addition, a number of solutions to the standard instances have been
Keywords: improved.
Pickup and delivery Ó 2020 Elsevier Ltd. All rights reserved.
Time windows
Metaheuristic
Instances
https://doi.org/10.1016/j.cor.2020.105065
0305-0548/Ó 2020 Elsevier Ltd. All rights reserved.
2 C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065
Table 1
Summary of the main PDPTW research.
benchmarks sets, the one by Ropke and Cordeau (2009) denoted as In lines 4–10, the components are iterated to search for
RC09 and instances from Li and Lim (2003) with 100 requests in improved solutions. First, the AGES (Section 4.1) is applied to find
addition to six tightly constrained cases with 500 requests, all a solution with a reduced number of vehicles. Then, the LNS (Sec-
denoted as LL01-. The specific solver of Baldacci et al. (2011) was tion 4.2) tries to reduce the total cost of the current solution as well
able to solve 39 out of 40 RC09 instances and 26 out of 36 LL01- as the number of routes. The SP phase (Section 4.3) adds the routes
benchmarks within at most 10 h (on average less than two hours). of s to P and tries to recombine generated routes. Finally, new solu-
Meanwhile, the method of Pessoa et al. (2019) solved all RC09 tions are accepted (Section 4.4) and and perturbed (Section 4.5).
instances in less than one hour (average of five minutes) but was This continues until a stopping condition is reached.
able to solve only 3 LL01- instances within one hour (Pessoa
et al., 2019 did not report results for PDPTW instances using longer 4.1. Adaptive guided ejection search
computation times).
The AGES of Curtois et al. (2017) is the component responsible
4. The matheuristic approach for vehicle minimization. To search for solutions with fewer routes,
it removes an entire route r from the current solution and then
The algorithm developed in this work is an extension of the reinserts the requests from r in the remaining routes. Algorithm
metaheuristic applied in Curtois et al. (2017). We propose the 2 describes the AGES.
use of a Mathematical Programming (MP) phase using a Set Parti-
tioning (SP) formulation of the PDPTW to recombine routes gener- Algorithm 2: Adaptive Guided Ejection Search
ated during the search, a different perturbation mechanism, and an Input: Feasible solution s; Maximum perturbations M A ;
Iterated Local Search framework to iterate through the Perturbation size Z A ; Perturbation bias l
components. 1: while counted < MA perturbations do
The overall structure of the matheuristic is depicted in Algo- 2: r random routeð sÞ
rithm 1. There are several parameters besides the input instance 3: s0 remove routeð s; rÞ
– each one described later in this section. In line 1, a greedy initial 4: E initialize stackð rÞ
solution s is constructed. In line 2 the pool of routes, denoted as P, is 5: q½u 1; for every request u
initialized with routes from s. The pool is used in the SP component 6: while E – £ and counted < M A perturbations do
in line 7, as detailed in Section 4.3. Variables iter and count keep the 7: uin remove requestð EÞ
total number of iterations and the number of iterations without 8: if there is a feasible insertion of uin in s0 then
improvement, respectively. The best solution found is denoted by 9: s0 insert requestð uin ; s0Þ
s . 10: else
11: q½uin q½uin þ 1
Algorithm 1: Matheuristic 12: s0 eject and insertð uin ; s0; EÞ
Input: AGES parameters M A ; Z A ; LNS parameters 13: s0 perturbð s0; Z A ; lÞ
ML ; L; w; bmin ; bmax ; kmin ; kmax ; Perturbation parameters Z M 14: end if
and l; 15: end while
1: s initial solutionðÞ 16: if E ¼ £then s s0 end if
2: P initialize poolð sÞ 17: end while
3: iter; count 0
4: repeat
5: s AGESð s; M A ; Z A ; lÞ The procedure is iterated (lines 1–17) for a maximum number
6: s LNSð s; M L ; L; w; bmin ; bmax ; kmin ; kmax Þ of perturbations MA . A random route r is removed from solution s
7: sM SPð s; PÞ in lines 2–3. The removal of route r creates the partial solution s0.
8: s accept solutionð s; sM ; iter; countÞ In line 4, all requests that belong to r are inserted into stack E,
9: s perturbð s; Z M ; lÞ for last-in-first-out (LIFO) ordering Nagata and Kobayashi (2010).
10 until stopping condition Penalty counters q½u for each request u are initialized in line 5.
A request uin is then removed from stack E and reinserted into s0.
A random feasible insertion position is selected for uin by selecting
4 C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065
a random route and position using reservoir sampling. If there is no 3. Worst Removal: removes requests that add the most to the cur-
available position, the penalty counter q½uin is increased and a rent objective function. It chooses requests with large combined
number k of requests are ejected from s0. The procedure tries to (pickup-delivery) incoming arcs.
insert uin considering k ¼ 1, e.g., the ejection of a single request v
that minimizes the value q½v . In case there is still no position The value of b is selected at random at every iteration of the LNS in
available for uin , the method considers the ejection of k ¼ 2 the interval ½bmin ; bmax .
requests v ; x in the same route that minimize q½v þ q½x. All
ejected requests are inserted in E. The underlying idea is to remove 4.2.2. Request insertion
requests which are easier to insert later, as opposed to requests After creating the set of unrouted requests U, the LNS continues
with large penalties that are harder to place. After the k ejections, to insert these requests in the partial solution. This process is per-
solution s0 is perturbed by the procedure described in Section 4.5. formed solely by the Regret Heuristic of Ropke and Pisinger (2006).
The stopping criterion is based on the total number of perturba- This heuristic is commonly denoted as k-regret, where k is a
tions executed. Whenever a perturbation is performed in line 12, a parameter.
counter is increased. On the other hand, when the number of The idea behind the Regret Heuristic is to compute the mini-
unrouted requests decreases below a previous minimum value, mum cost insertion position of unrouted requests into the routes
the counter is reset. In line 16 the counter is reset. This is the adap- of the current solution. In case a request cannot be inserted in a
tive mechanism proposed by Curtois et al. (2017), which allows the route due to constraints, its insertion cost for this route is set as
AGES to run as long as it makes progress and to terminate quickly a large enough value. Then, from all unrouted requests, the request
otherwise. that maximizes the summed differences between the best inser-
Once stack E is empty a route was successfully removed from tion and its k 1 other insertions is selected. In this way, requests
solution s. Thus, s0 is a full feasible solution. The current solution that have fewer insertion locations are inserted earlier, which
s is updated and the procedure restarts. avoids the possible lack of insertion positions latter. Basically, at
each iteration of the Regret Heuristic, the algorithm selects the
4.2. Large neighborhood search insertion we will regret the most if postponed.
In our matheuristic, the value of k is selected at every iteration
The LNS component used in the matheuristic is based on both of the LNS randomly in the interval ½kmin ; kmax . Note that for k ¼ 1,
the ALNS of Ropke and Pisinger (2006) and the LNS of Curtois the heuristic is a basic greedy insertion heuristic.
et al. (2017). This phase is composed of two steps followed by a
solution acceptance phase. Algorithm 3 depicts the LNS. First, a ser- 4.3. Set partitioning formulation
ies of requests are removed from the current solution s creating a
set of unrouted requests U and a partial solution s0. Then, requests The PDPTW can be formulated as an SP problem in MILP form
in U are inserted back into s0 creating a potentially different solu- and solved to optimality. Dumas et al. (1991) presented a similar
tion. At last, the new solution is accepted using a Late Acceptance formulation applied to a column generation method. Let set R con-
Hill Climbing Burke and Bykov (2017) strategy with list of size L. tain all feasible routes of a PDPTW instance, and kir ; i 2 P; r 2 R a
This process is repeated for a number M L of iterations without binary value that assumes 1 if location i is visited by route r and
improvement. 0 otherwise. Define binary variables yr which assume 1 if route
r 2 R is used in the optimal solution and 0 otherwise. Then, the
Algorithm 3: Large Neighborhood Search MILP formulation can be stated as follows.
X
Input: Feasible solution s; Maximum iterations M L ; LAHC list minimize yr CðrÞ
size L; Weights ws ; wr ; ww ; Values bmin ; bmax ; kmin ; kmax r2R
1: repeat X
subject to kir yr ¼ 1; 8i2P
2: s0 remove requestsð s; b; hÞ r2R
3: s0 reinsert requestsð s0; b; kÞ
4: s accept solutionð s; s0; LÞ yr 2 f0; 1g; 8r2R
5: until maximum iterations without improvement M L The objective function minimizes the accumulated costs of all
routes used in the optimal solution. If a large cost is assigned to
the use of a vehicle, the formulation is able to minimize the number
of routes as in the original problem.
4.2.1. Request removal Set R is exponential in the instance size. To overcome this, pre-
In the LNS, a number of b requests is removed from s using one vious works have used this model in column generation
of three removal heuristics proposed in Ropke and Pisinger (2006): approaches, which generate the set of routes. In this work, we
Shaw, Random, and Worst. A heuristic h is chosen in every iteration use a similar idea, but generate a pool of routes P to act as set R.
of the LNS with a fixed probability wh =ðws þ wr þ ww Þ, where The routes in the pool are a subproduct of the heuristic search
ws ; wr ; ww are the probabilities of selecting the Shaw, Random, and at every iteration of Algorithm 1 previous routes are recom-
and Worst heuristic respectively. Below, there is a brief explana- bined with new ones in search of a better solution.
tion for each removal – for more details the reader is referred to
Ropke and Pisinger (2006). 4.4. Acceptance criterion
1. Shaw Removal: removes requests that are related. The relation In the matheuristic, solutions are accepted according to their
measure is computed considering the temporal relation (when cost (Eq. 1) and and the number of iterations. If the new solution
requests are serviced), the spatial relation (where the requests sM is better than the best known s , i.e., f ðsM Þ < f ðs Þ, the new solu-
are physically located), and the demand relation (how similar tion is accepted to continue the search. In case f ðsM Þ P f ðs Þ, solu-
are their demands); tion s is accepted with probability ðcount=iterÞ, otherwise the
2. Random Removal: selects requests completely at random from solution s generated by the LNS is accepted to continue the search.
the current solution to remove; This choice happens in line 8 of Algorithm 1.
C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065 5
4.5. Perturbation mechanism The instances were generated within cities to avoid long travel
times due to the lack of constraints for overnight trips and rests. In
A perturbation mechanism is used in the overall algorithm and this way, all routes can be performed under a single working day of
the AGES phase. In this work, we distinguish between two pertur- at most eight hours. The cities we have chosen are Barcelona
bations: Original Perturbation (OP), and Biased Perturbation (BP). (Spain), Berlin (Germany), New York City (United States of Amer-
They are described next. ica), and Porto Alegre (Brazil). In the following sections, we
describe strategies to select the locations for customer requests,
how to obtain realistic travel times, and the generation of time
4.5.1. Original perturbation
windows and demands. The New York City instances are generated
The perturbation proposed by Nagata and Kobayashi (2010),
with a slightly different procedure, thus they are explained in a
which contains two random movements. The first is the random
separate section.
shift that selects a request u at random and moves it to another
route r 2 s at random. The second is the random exchange, which
5.1. Obtaining addresses and travel times
selects two routes r 1 ; r 2 at random and one request at random from
each route u 2 r 1 ; v 2 r2 , then it moves u to r2 and v to r 1 placing
To obtain real urban locations for the benchmarks, we select
them in the best position.
them from a pre-defined list L of addresses. The list contains as
A series of movements are performed by the perturbation, one
many locations in the city of interest as possible. The reasoning
in each iteration. The type of movement is selected at random in
is that a pre-defined list provides an approximation of urban distri-
every iteration, considering the random shift is selected with prob-
butions. Densely populated regions have more addresses, thus the
ability pshift and the random exchange consequentially with
probability of choosing an address from these areas is larger when
pex ¼ 1 pshift . Whenever there are no feasible insertions, the
compared to less populated regions.
movement is not performed.
In this work, we use two datasets publicly available to create
the list. One is from the OpenAddresses (2017), which keeps
4.5.2. Biased perturbation addresses and coordinates for several cities around the world.
It is a modification of the random shift. Instead of selecting the We were able to extract 129,460 addresses for Barcelona,
destination completely at random, our perturbation applies a bias 371,265 for Berlin, and 33,688 for Porto Alegre. The second is from
l. A request u is randomly selected and removed from s. Then, a the dataset by Donovan and Work (2016) that contains informa-
route r 2 s is randomly chosen. From all possible insertions of u tion about taxi rides in New York City, including pickup and drop-
in r, a set of l% of them is taken at random and the best position off locations. We used 125,728 taxi rides (paired pickup-dropoff
is selected for the insertion. In case l < 100% there is a bias locations) in this work.
towards better insertions, but not necessarily the best, which Additionally, the use of geographic coordinates allows the com-
maintains the desired diversification. When there is no feasible putation of realistic travel times. For our method, we employ the
insertion, the move is not performed. Open Source Routing Machine (OSRM) tool by Luxen and Vetter
For the matheuristic, a maximum number of Z M shifts is per- (2011). The OSRM implements state-of-the-art shortest path algo-
formed iteratively, whereas, for the AGES, the maximum is denoted rithms that support data from the OpenStreetMap (2017) project
by Z A . There is a difference because in the AGES the perturbation (OSM). An advantage of this combination is the possibility to use
should not be too large. Although, in both cases, the same bias l the information on speed limits, traffic directions, and road limita-
is used. tions to compute travel times. In all instances, travel times, time
windows, durations, and the scheduling horizon are measured in
4.6. Interactions between components minutes. Similar to the CVRPLib (Uchoa et al., 2017), we decided
to use only integer values for arc weights. When computing travel
Given the number of different components used in the algo- times in minutes, the values are rounded up. Travel costs and times
rithm, it is expected that questions regarding their interaction are the same (i.e., cij ¼ tij ).
arise. The contributions of each component should be understood
within their context in Algorithm 1. The AGES reduces the number 5.2. Barcelona, Berlin, and Porto Alegre instances
of vehicles in a solution, while the LNS focuses on cost minimiza-
tion and the SP intensifies this same role. Finally, the perturbation The PDPTW instances have 2n þ 1 locations. There are 2n cus-
mechanism is used to avoid returning to the same local minimum, tomer locations and one depot. The 2n locations are paired to form
so that new areas of the search space are potentially explored. a total of n requests (pickup-delivery pairs). Next, we describe how
Section 6 details the interplay of components and their use of the 2n locations and the depot are selected from list L. All locations
computational time. The referred section also presents the reason- are unique, and cannot be selected twice.
ing behind the choice of the parameters and of certain compo- There are three distributions for the locations, analogous to the
nents, indicating their contributions to the heuristic search. Li and Lim (2003) instances. In the clustered (C) instances, loca-
tions are selected from L in a way that creates clusters, similar
to Uchoa et al. (2017). A set A of seed locations is selected at ran-
5. New benchmarks for the PDPTW dom, where the size of A is taken from U½3; 8. Then, the remaining
ð2n jAjÞ locations are selected according to the probability distri-
Despite the variety of characteristics, the standard benchmarks bution in Eq. 2, which favors the selection of requests that are clo-
of the PDPTW (Li and Lim, 2003; Ropke and Cordeau, 2009) fail to ser to the seed locations to create the actual clusters. The
fully represent reality. In all cases, locations are defined in a two- probability of selecting coordinate x 2 L is denoted by probðxÞ:
dimensional Cartesian plane, travel times are symmetrical X
(t ij ¼ t ji ), and time windows are artificial. In this work, we propose probðxÞ ¼ expðhavðx; aÞdÞ ð2Þ
a2A
a method to generate instances for VRP problems that consider
realistic configurations using data publicly available on the Inter- where havðx; aÞ is the haversine distance between coordinates x and
net. The new benchmarks and related data are available online a. We opted for the haversine distance approximation in the selec-
Sartori and Buriol (2020). tion stage, because otherwise we would have to compute the actual
6 C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065
distance between all coordinates in L, which is potentially large. tions. Under no circumstance, a time window can have e < 0 or
Moreover, this approach provides a clusterization that is indepen- l > H.
dent of streets and obstacles. Parameter d controls the cluster den- Customer demands are generated based on the maximum
sity. Its value is chosen randomly from U½0:6; 1:6. Larger values of d capacity of the vehicles Q. For each request, the demand is selected
generate denser clusters. uniformly from U½10; 0:6 Q . The maximum capacity Q is one of
For random (R) instances, locations are randomly selected from 100 or 300 units of goods.
L. For the random-clustered (RC), a number d2nhe of locations are
clustered, whereas the remaining b2nð1 hÞc are random. The 5.3. Taxis of New York instances
value of h is randomly taken from U½0:4; 0:6.
After selecting 2n customer locations, we create n pickup- The data of Taxi trips in New York City by Donovan and Work
delivery pairs according to the distribution of locations in the (2016) is the most complete we could obtain to create realistic
instance. For R and RC instances, pairs are defined by selecting PDPTW instances from open data. Each taxi trip contains the exact
one random location for the pickup and another location for the pickup and dropoff locations, the number of passengers riding the
delivery. taxi, and the precise time of pickup and dropoff. Our procedure
On the other hand, for C instances, locations are paired within makes use of all this information to create PDPTW instances.
their cluster. Initially, clusters are computed by a k-means algo- Instead of a list of locations L, the New York City data provides a
rithm, where k is the number jAj of seed locations. Then, a proce- list of requests (paired locations). Requests are selected by ran-
dure is applied to guarantee that all clusters have an even domly choosing n requests from this list. The pickup-delivery pairs
number of locations (call them even-clusters). Otherwise, it is are defined by the input data rather than the method. In this way,
not possible to pair locations completely. The procedure selects the placement of locations in the space is defined by the distribu-
the largest odd-cluster z1 , and location x1 2 z1 that minimizes the tion of pickups and deliveries in the real application.
haversine distance to the center of another odd-cluster z2 . The The process to select the depot is similar to the one in Sec-
location x1 is then moved to cluster z2 . The process is repeated until tion 5.2. For random depots, the location is simply chosen at ran-
there are only even-clusters. Then, locations are randomly paired dom. In the case of central depots, the location that is closest to
within their clusters. This strategy generates local requests, the center of the rectangle formed by the 2n locations is taken.
because both the pickup and delivery locations belong to close Note that in both cases, when selecting the depot, the concept of
neighborhoods. request is ignored and only individual locations are considered.
The depot is either random or central. In the first, a random loca- The scheduling horizon H is one of 240 or 480 min. Service
tion is simply selected from L to hold the depot. In the second, the times are fixed in 2 min as an upper bound on the amount of time
center of the rectangle containing all 2n customer locations is com- a passenger takes to get in and off a vehicle. Time windows are
puted, and the location in L that minimizes the haversine distance computed according to the clock time of the pickup and dropoff
to this center is selected to hold the depot. reported in Donovan and Work (2016). These times are used as
Next, we describe the procedure to generate the information for the center wcp of the time window in the same way to the previous
routes and customer requests (e.g., scheduling horizon, time win-
section. Hence, for a request ðp; dÞ; p 2 P; d 2 D and centers wcp and
dows, and demands). The scheduling horizon H is one of 240 min
wcd , the time windows ½ep ; lp and ½ed ; ld are computed using Eqs. 3,4.
or 480 min. For service durations, we have decided to fix a single
value for the whole instance. The duration is selected from 5, 10, In this way, we keep as much of the original information as possi-
or 15 min. At last, a time window width W is chosen from 60 or ble when creating the instances. Time widths W are fixed by
120 min. instance and chosen from 30, 60, and 120 min. The 30-min time
The time windows are computed as follows. Given the time windows were introduced because in this context requests should
window width W and a request ðp; dÞ; p 2 P; d 2 D, we genereate be serviced next to their original times.
the center wcp of the time window of p using the uniform distribu- For demands, Donovan and Work (2016) report the number of
passengers in each taxi ride, which we use as the demand for the
tion U½t 0p ; H t pd t d0 sp sd . The minimum value is t0p , the
requests. The maximum capacity of the vehicles is Q ¼ 6. This limit
time of a direct trip from the depot to the pickup location. The
is based on the largest number of passengers in a single ride in the
maximum value, or latest time to arrive at p, is the time such that
input data.
a direct trip from p to d and then to the depot 0 is feasible, includ-
ing service times. Then, the time window ½ep ; lp in p is computed as
5.4. A brief discussion of the new benchmarks
ep ¼ wcp W=2 ð3Þ
lp ¼ wcp þ W=2 ð4Þ A total of 300 instances were generated using the new method.
These benchmarks have a total number of locations varying from
For the corresponding delivery location d, the time window can be 100 up to 5000 locations (2500 requests). When defining the con-
generated in two ways. The first creates an overlap between the figurations for each instance, we maintained a similar distribution
time windows of p and d of characteristics, i.e., distribution of locations, depot location, time
window width, scheduling horizon, vehicle capacity, and city. A full
ed ¼ ep þ tpd þ sp table with the configurations of all instances is available in the
ld ¼ e d þ W online repository.
Fig. 1 presents examples of instances generated for each city.
The second simulates cases in which the pickup has to be per-
Note these show precisely the impact of realistic locations, because
formed early and the delivery only later
the distributions change according to the urban landscape, in addi-
ed ¼ lp þ t pd þ sp tion to C, R, and RC options. In Barcelona, requests are located
ld ¼ e d þ W mainly in a stretched ellipsoid with a few outliers, even though
the distribution option for this case is random (R) – in a simple
At most 10% of the requests receive non-overlapping time windows. 2D instance, locations would be evenly distributed in a rectangle.
Additionally, 5% to 15% of the requests do not receive time win- Besides, less urbanized areas contain fewer customer locations.
dows, i.e., these requests have the time window ½0; H in both loca- In contrast, Berlin is more evenly urbanized, thus the clustered
C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065 7
Fig. 1. Example of four instances generated. Red circles are pickup locations. Blue triangles are delivery locations. The black square is the depot. Images created using the GPS
Visualizer by Schneider (2003). (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
instance is distributed in a similar way to a simple 2D instance. had an Intel i7-930 processor running at 2.8 GHz, with 12 GB RAM
Meanwhile, the New York instance contains almost all requests and Ubuntu 18.04 LTS operating system. For solving the SP model,
centered at Manhattan Island, where most taxi rides occur. Hence, we employed CPLEX solver version 12.6. Complete and detailed
given these examples, we consider the new benchmarks are able to results are available in Sartori (2020).
cover a wide range of instance configurations. Due to a large number of instances, results are reported as the
The work of Arnold et al. (2019) also proposed obtaining more accumulated values of the number of vehicles (Veh.) and total
realistic customer distributions for the CVRP. The authors solution cost (Cost) per instance size. This is the usual summary
extracted a distribution from data of delivery companies in Bel- presented in the PDPTW literature. Each instance size in the Li
gium, which may be considered a better approximation than ours and Lim (2003) set has 60 instances, whereas in the new bench-
for routing problems. Nonetheless, our method focused on generat- marks each size has 25 instances. Furthermore, the stopping condi-
ing instances that approximate actual configurations as best as tion used in our tests is always execution time. The specific
possible using solely publicly available data and realistic distances running times are reported for each experiment set separately.
within cities.
6.1. Configurations and parameters
Table 2 gap values for number of vehicles (gapv(%)) and cost (gapc(%)) in
Algorithms used in the experiments (OFAT procedure). comparison to the best-known solutions (BKS) available at
Algorithm SP OP BP SINTEF (2008). The maximum execution time follows the criterion
A1 – used in Curtois et al. (2017), i.e., 5, 15, 15, 30, 60, and 60 minutes
A2 – for instances with 100, 200, 400, 600, 800, and 1000 locations,
A3 – – respectively.
A4 – – In terms of solution quality, all algorithms found the optimal
solution for instances of size 100. For the other cases, algorithm
A1 performed the best. Algorithm A2 had an accumulated number
configurations generated with OFAT. For simplicity, they are called of vehicles better for instances of size 600, albeit at the cost a
A1, A2, A3, and A4. Note we have not included the LNS among the greater solution cost. Despite that, A1 obtained almost twice the
factors, because the work of Curtois et al. (2017) demonstrated its number of best solutions as A2. Meanwhile, A3 and A4 performed
importance already. poorly in comparison to A1 and A2, which indicates benefits from
Moreover, to define the parameters of each algorithm, we used the use of the SP component. To attest if the results are significant,
the irace tool of López-Ibáñez et al. (2016) for tuning. The irace we applied a pairwise Wilcoxon signed-rank test and present the
used a subset of instances from the Li and Lim (2003) set, with a p-values in Table 5.
maximum of 2000 experiments and default configurations. Two With a significance level of 0:05, we can confirm A1 had the best
irace runs were executed using this setup. First, one to tune algo- performance among the four algorithms over the Li and Lim (2003)
rithms using the AGES-BP (AGES with Biased Perturbation), that instances. Moreover, A4 had the worst performance according to
is, A1 and A3, and the second to tune AGES-OP (AGES with Original the results in Table 4. Algorithm A2 comes in second place.
Perturbation), that is, A2 and A4. This is because the values of Next we provide analysis to understand the components and
parameters differ greatly depending on the type of perturbation. how their behavior contributed to the final solutions. For example,
Furthermore, the tuning decided whether to use the SP phase the sole difference between A1 and A2 is the perturbation used in
and the parameter values for the LNS for all algorithms. both the AGES and the matheuristic (A1 uses the BP and A2 the
Table 3 presents the parameters tuned for configurations OP). Fig. 2 presents the percentual time spent by algorithms A1
A1 + A3, A2 + A4, and All. Column Alg. denotes the algorithms using and A2 on each phase. The analysis shows that AGES-OP requires
these parameters. Column Notation is the reference to the param- more time than AGES-BP to achieve similar results. Hence, the
eter, and column Description briefly describes its use. Column new perturbation mechanism can reduce the total time required
Range presents the possible values irace was allowed to select, by the AGES and reaches similar results in terms of the number
and Best is the final configuration reported. Parameters for the of vehicles. This reduction in time spent by the AGES impacts
LNS and the selection of the SP were tuned in the two irace runs directly in the total time used by the LNS and SP. For A1, the SP
but their results were similar. Hence we report one result used in and LNS phases always use more time when compared to A2.
our experiments. Additionally, the SP was selected in all cases, sup- Fig. 2 also shows the SP component spends a relatevely small
porting its use as an improving mechanism, despite the overhead. amount of time during the search. Nevertheless, it has proven itself
The ranges set for AGES-OP in A2 + A4 were based on the study of worth the additional overhead. Both A1 and A2 use the SP phase
Curtois et al. (2017). and ranked best in terms of performance.
Despite the AGES playing a major role in reducing the total
6.2. Component analysis number of vehicles during the search, the component is rather
time-consuming and in many iterations does not provide any con-
In this section, we verify the overall performance of the four tribution whatsoever. Fig. 3 shows the number of times an applica-
algorithms over the Li and Lim (2003) instances and analyze the tion of the AGES resulted in a reduced number of vehicles. The
contributions of the components. We started executing the algo- majority of cases is just one – this is true for both AGES-OP and
rithms once for all the 354 instances and report the accumulated AGES-BP. This does not mean AGES reduced only one vehicle, but
number of vehicles (Veh.) and total solution cost (Cost) in Table 4. that it reduced a possibly large number of vehicles once – and
We also report the number of best solutions found (Best). Even had no effect later on. A few cases were not even impacted by
though uncommon for this set of instances, we report average the AGES (0 times). Even though its results are of good quality
Table 3
Parameters tuned with irace and their respective values.
Table 4
Results of the component analysis for algorithms A1, A2, A3, and A4 per instance size. Bold results are the best solutions found.
A1 A2
Inst. Veh. Cost gapv(%) gapc(%) Veh. Cost gapv(%) gapc(%)
100 402 58,059 0.00 0.00 402 58,059 0.00 0.00
200 601 184,899 0.13 0.68 601 185,499 0.13 1.07
400 1139 442,438 1.33 1.73 1142 445,740 1.72 2.19
600 1641 914,106 1.99 2.49 1639 920,605 1.73 3.05
800 2135 1,506,254 2.01 1.40 2135 1,526,631 2.01 2.13
1000 2606 2,208,991 2.45 0.76 2606 2,221,614 2.62 1.38
Best 85 44
A3 A4
Inst. Veh. Cost gapv(%) gapc(%) Veh. Cost gapv(%) gapc(%)
100 402 58,059 0.00 0.00 402 58,059 0.00 0.00
200 601 185,598 0.13 1.06 601 185,351 0.13 1.03
400 1141 442,345 1.45 1.66 1141 447,196 1.66 2.49
600 1645 915,765 2.26 2.51 1642 918,475 2.06 2.93
800 2135 1,510,845 2.14 0.99 2136 1,535,762 2.05 2.65
1000 2607 2,222,585 2.65 1.37 2609 2,223,193 2.73 1.43
Best 39 18
1.1%
1000 58.2%
40.7%
2.5%
800 54.7%
42.7%
2.0%
600 47.8%
50.1%
A1
1.5%
400 40.7%
57.7%
1.9%
200 51.6%
46.5%
0.2%
Instance size
component
100 64.4%
35.3% SP
LNS
0.5%
1000 40.6% AGES
58.9%
0.8%
800 35.3%
63.8%
1.0%
600 28.0%
71.0%
A2
0.2%
400 18.3%
81.5%
0.2%
200 20.6%
79.1%
0.1%
100 24.2%
75.7%
0 25 50 75
Time (%)
Fig. 2. Comparison between the time spent on each component of the matheuristic when using the biased (A1) and the original (A2) perturbation within the AGES.
10 C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065
A1 A2
250
219
202
200
Number of Instances
150
101
100
84
50
23 24 19 20
4 9 3
0
0 1 2 3 4 5 0 1 2 3 4 5
Number of reductions
Fig. 3. Statistics on the number of times the AGES reduced the number of vehicles for algorithms A1 and A2.
Table 6 presents the results of CLSQL, A1, and A1avg. The analysis of shows that, with longer computation times, A1 is able to improve
these results shows that both A1 and A1avg were able to achieve the results further, but the accumulated number of vehicles
better results than the original method of CLSQL, showing the obtained by CVB are better for all sizes except 200. Despite that,
modifications proposed to the method can improve the final the solution cost obtained by A1 is often smaller. At last, not a sin-
results. Curtois et al. (2017) provided detailed solution values for gle technique was able to fully match the BKS results. In fact, many
the single run, thus we can compare results per instance as well. results available at SINTEF (2008) are from unpublished works
A1 was able to find 187 (52%) solutions better than CLSQL, and (with no method description or reported execution times). Besides,
106 (30%) equal results. In 61 instances CLSQL outperformed A1. it shows that despite the effectiveness of the three methods on
A wilcoxon signed-rank test to verify whether A1 < CLSQL provides their own, none is capable of reaching the best solutions for all
p < 0:001, indicating that A1 resulted in better solutions overall. 354 instances.
Additionally, we compare results with Christiaens and Vanden Finally, note that neither Table 6 nor 7 contain solution gaps.
Berghe (2020), denoted CVB, that ran experiments on Intel Xeon This is because the literature of the PDPTW does not usually pre-
CPU E5-2650 running at 2.60 GHz. Their results, however, are sent such values, mainly due to the lexicographic objective
reported for different (longer) computation times, i.e., 6, 23, 66, function.
140, and 226 minutes for instances with 200, 400, 600, 800, and
1000 locations respectively. CVB reported only the accumulated 6.4. Experiments with the new benchmarks
values of best solutions found in five runs. Therefore we could
not provide a detailed comparison against this method. Neverthe- The purpose of this section is twofold. The first is to provide ini-
less, we ran our algorithm five times using those longer computa- tial upper bounds for the new instances. Second, it aims to verify
tion times and report its best solutions. the performance of the proposed algorithm in instances that differ
Table 7 compares results of the BKS at SINTEF (2008) with the from the standard ones, and for which the algorithm was never
best results of previous methods: CLSQL in an unspecified number tested during its development phase. We produce the same analy-
of runs (CLSQL*); A1 out of five runs (A1*); CVB out of five runs sis in terms of components as for the Li and Lim (2003) bench-
(CVB*); and A1 with longer computation times, denoted A1L, out marks and discuss the results of each algorithm and their
of five runs (A1*L). Comparing A1* to CLSQL*, A1 was able to find differences from the initial ones.
better values for all cases, except instances with size 400, for which The maximum running times for these experiments are similar
CLSQL obtained a smaller solution cost. Comparing CVB* and A1*L to the ones for the standard instances, i.e., 5, 15, 15, and 30 minutes
Table 6
Comparison of A1 with CLSQL.
CLSQL A1 A1avg
Inst. Veh. Cost Veh. Cost Veh. Cost
100 402 58,163 402 58,059 402.0 58,059
200 601 186,158 601 184,899 600.8 185,390
400 1142 447,627 1139 442,438 1140.6 445,787
600 1643 935,948 1641 914,106 1642.2 908,811
800 2146 1,551,495 2135 1,506,254 2134.8 1,506,048
1000 2634 2,310,830 2606 2,208,991 2605.4 2,218,717
C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065 11
Table 7
Comparison between best solutions of BKS, CLSQL, CVB, A1, and A1L.
for instance with 100, 200, 400, and 600 locations, and 60 minutes major side effect of the pool sizes is that the SP takes longer to exe-
for all other sizes (800 up to 5000 locations). Due to the new, larger cute when P is large, particularly if routes are short.
instances, we had to limit some of the parameters. In A1 and A3 we In fact, the best solutions for the new instances have more routes
limited the AGES-BP perturbation size to Z A ¼ minf150; 0:15 ng (Rou.), and fewer requests per route (Req.) in average, which is
and the maximum number of request removals in the LNS to depicted in Table 10. The average number of requests is roughly
bmax ¼ minf150; 0:20 ng. the same in the new instances, regardless of the number of locations,
Table 9 presents the accumulated number of vehicles (Veh.) and but the same is not true for the Li and Lim (2003) instances. A possi-
cost (Cost) for each one of the 12 instance sizes per algorithm. ble explanation is that our scheduling horizon is fixed in 240 or
Additionally, the table presents solution gaps for the number of 480 min, whereas the standard instances increase the scheduling
vehicles (gapv(%)) and cost (gapc(%)) in comparison to the BKS of horizion length according to the number of locations. Thus, it is
the new instances available at Sartori and Buriol (2020). expected that the number of requests per route does not differ lar-
In this context, we note that algorithm A1 is not the best perfor- gely in the new benchmarks, but does so in the standard ones due
mant anymore. Configuration A2 takes the lead, followed by A4. to the extra time. Another possibility is due to the way Li and Lim
Differences in vehicle counts are even much larger than in the (2003) generated the instances, which consisted of first taking a
standard instances. For example, in instances with 600 locations, VRPTW instance, using a heuristic to find a feasible solution, and
there is a difference of 14 vehicles when comparing A1 to A2, then pairing locations that belong to the same route to create a
whereas in the Li and Lim (2003) instances the difference was only PDPTW instance. This process may have created a structure in the
2 vehicles for the same size. Even though A1 and A3 have negative instances where the pickup and delivery fit well together in the same
gapc(%) values in many cases, their solutions are not better because route in both terms of load and time window. This structure may
they fail to reach the same number of vehicles as the other also avoid cases such as a pickup at one side of the region and the
algorithms. delivery in the opposite direction. However, this is an assumption,
A Wilcoxon signed-rank test using these results presents p- and further investigation is required to answer whether the creation
values that oppose our initial conclusion. Table 8 shows the result- process may have impacted the type of solution found.
ing statistics. Note that as Table 9 suggests, A2 has the best perfor- When solutions have more routes on average, the pool size
mance overall and is statistically better than the other three with tends to grow as well, because it is directly connected to the solu-
significance level of 0:05. tion size during the search. However, the average solution size is
The explanation for different results is found analyzing the per- possibly not the only factor in play contributing to more routes
centage time spent by the algorithms on each phase. Fig. 4 shows in P. Another hypothesis is that the routes produced with the
the AGES-OP and AGES-BP behavior is approximately the same as new instances are more diverse, due to the asymmetrical time
in the Li and Lim (2003) instances, that is, AGES-OP spends more matrices. The reasoning is that when solving the new benchmarks,
time than AGES-BP. However, in this scenario, the extra time is solutions found in every iteration were different to those previ-
worth spending. Besides, the number of times the AGES was effec- ously found, due to diversified routes, whereas in the standard
tive in reducing the number of routes is the same as depicted in benchmarks, solutions remained similar in one iteration to
Fig. 5. On the other hand, the SP phase uses a much larger portion another, reducing diversification.
of time in A1 than it used in the standard instances (for sizes 100–
1000). This comes at the expense of the time spent by the LNS in 7. Conclusion
A1, which is much reduced.
These result were unexpected, although understanding the new In this work, we have proposed a matheuristic to the PDPTW.
instances and how they differ from the standard ones may help to The method is an extension of previous works by Curtois et al.
figure out the reasons. Fig. 6 shows the relation between the size of (2017) and Sartori and Buriol (2018). It presents the use of well-
pool P in the new instances Po(NI), and in the standard instances known heuristic components embedded in an Iterated Local Search
Po(LL). The proportion is similar for both A1 and A2 in the sense framework. The components include the AGES, LNS, and a mathe-
that the pool in the new instances is always larger by at least matical programming phase using the SP formulation of the
25% when compared to the Li and Lim (2003) instances. For tests PDPTW, combined with a new perturbation mechanism to improve
with 100 locations, Po(NI) is even 10 times larger than Po(LL). A the results of the AGES. Additionally, we presented a new method
to generate instances for vehicle routing problems and applied it to
generate new benchmarks for the PDPTW.
Table 8 The results for the standard benchmarks of Li and Lim (2003)
Pairwise Wilcoxon signed-rank test comparing the four algorithms in the new
demonstrated the matheuristic obtained good quality solutions in
instances.
reasonable execution time. Furthermore, the proposed modifica-
A2 A4 A1 tions provided better performance for the algorithm according to
A4 0.00383 – – the component analysis. However, it was not able to reach solution
A1 < 0.00001 < 0.00001 – values that matched all the best-known solutions. Yet, as verified, no
A3 < 0.00001 < 0.00001 0.43540
current single method in the literature is able to reach the BKS qual-
12 C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065
Table 9
Results of the four algorithms over the new instances. Bold results are the best solutions found.
A1 A2
Inst. Veh. Cost gapv (%) gapc(%) Veh. Cost gapv (%) gapc (%)
100 164 25,388 0.00 0.21 165 25,579 1.33 0.45
200 339 46,218 1.46 0.33 337 46,587 0.72 0.16
400 593 85,352 0.67 0.61 589 86,193 0.00 1.15
600 854 121,755 1.67 0.46 840 122,130 0.00 0.59
800 1167 162,907 1.99 0.06 1150 163,341 0.25 0.20
1000 1431 224,966 3.01 0.15 1401 226,228 0.29 0.34
1500 2160 301,794 2.86 0.33 2115 303,478 0.13 0.26
2000 2963 414,447 2.19 0.96 2924 425,343 0.18 1.08
2500 3270 502,309 3.27 1.06 3201 506,436 0.12 0.04
3000 4355 598,966 2.65 3.27 4276 625,072 0.13 0.83
4000 5991 834,365 1.55 3.78 5944 866,430 0.40 1.38
5000 6864 1,069,925 2.17 0.14 6802 1,089,677 0.73 2.00
Best 24 71
A3 A4
Inst. Veh. Cost gapv (%) gapc (%) Veh. Cost gapv (%) gapc (%)
100 164 25,445 0.00 0.49 165 25,588 1.33 0.49
200 339 46,220 1.46 0.38 337 46,600 1.07 0.11
400 592 85,184 0.55 0.49 589 85,887 0.00 0.84
600 852 121,409 1.51 0.24 843 121,978 0.29 0.49
800 1167 162,673 1.96 0.08 1154 163,261 0.65 0.06
1000 1436 224,682 3.21 0.20 1406 226,152 0.51 0.28
1500 2155 302,410 2.62 0.20 2118 304,564 0.18 0.54
2000 2964 415,520 2.06 0.69 2928 426,507 0.27 1.38
2500 3271 502,976 3.33 1.05 3201 506,488 0.10 0.06
3000 4357 597,676 2.75 3.49 4278 623,979 0.21 0.63
4000 5991 834,365 1.55 3.78 5944 866,430 0.40 1.38
5000 6864 1,069,925 2.17 0.14 6802 1,089,677 0.73 2.00
Best 19 46
5000
4000
3000
2500
2000
1500
A1
1000
800
600
400
Instance size
200 component
100 SP
LNS
5000
AGES
4000
3000
2500
2000
1500
A2
1000
800
600
400
200
100
0 25 50 75
Time (%)
Fig. 4. Comparison of the time spent on the three major components in the context of the new instances by algorithms A1 and A2. Numeric labels were removed for improved
visualization.
C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065 13
A1 A2
200
176
150
Number of Instances
136
100
88
76
50 49
31
18
10 6
2 3 2 2 1
0
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Number of reductions
Fig. 5. Statistics for the number of times AGES was able to reduce the number of vehicles in the context of the new instances.
ity – and some BKS values were obtained by the proposed instances are also a contribution to the PDPTW (and possibly other
matheuristic. VRPs) by providing instance diversification for training and testing.
Other than a pure horse race paper as coined by Johnson (2002), A possible research direction is to apply automated learning
our work has looked into the components of the heuristic and ana- methods (i.e., Machine Learning) to recognize characteristics in
lyzed their performance. In particular, the SP and AGES compo- instances and choose the best options and combinations of compo-
nents. In relation to the former, we were able to show its use nents to use during the execution. The idea is to benefit the most
does provide major improvements in solution quality and its use from known methods and avoid overfitting a single fixed algo-
is preferred in all cases. Nonetheless, there was no observation of rithm. Similar ideas have been applied before in the context of
the SP reducing the number of vehicles, something restricted to other optimization problems (Lindauer et al., 2015) and exact
both AGES and LNS. Indeed, the SP was only responsible for recom- methods (Boas et al., 2019). Another possibility is to explore the
bining routes to reduce the total solution cost. This answers our instances characteristics that resulted in contrasting conclusions.
first question posed in Section 1. For example, does the way (Li and Lim, 2003) created the PDPTW
As for the AGES, the idea was to reduce its required execution instance influenced in the solutions obtained? Or did the urban-
time without impacting solution quality. This was partially like distribution of locations in the new instances impact the final
obtained with the use of a modified perturbation mechanism. In solution structure? What are the differences between these two
the Li and Lim (2003) instances, the results were similar in the sets, or more generally, between simply randomly created sets in
number of vehicles to the original AGES, but the extra time avail- a 2D region, and the ones created with our proposed method?.
able allowed the LNS and SP to reduce further the solution cost, A variation of the algorithm presented in this work has been
thus providing better solutions overall. Although, the same was embedded into the software infrastructure of the partner company
not observed in the new benchmarks. When running the same uMov.meÒ, which operates in Porto Alegre, Brazil. It has been
set of experiments in the new instances, the results opposed our deployed to their customers as an automated vehicle routing tool.
initial conclusion. Due to the different characteristics of the stan- The algorithm was modified to account for side constraints that
dard and new instances, the results showed that using the Biased arise in practice such as mandatory breaks, whole fleet usage,
Perturbation to make AGES faster did not produce the same out- and heterogeneous capacities. Indeed, the algorithm can handle a
come in the new instances. Indeed, the original, more time- number of side constraints with little changes to the actual ideas.
consuming AGES, performed better in terms of the number of vehi-
cles. This answers our second and third questions in Section 1.
Declaration of Competing Interest
On the one hand, it appears the new algorithm was inadver-
tently overtuned for the standard set. Overtuning is not uncommon
The authors declare that they have no known competing finan-
in metaheuristic research as Sörensen (2015) noted, partially due
cial interests or personal relationships that could have appeared to
to the usual practice of both training (developing) and testing algo-
influence the work reported in this paper.
rithms using a standard set of instances. This is different from prac-
tices in Machine Learning research, for example, where there are
two distinct sets (one for training and one for testing) Alpaydin CRediT authorship contribution statement
(2009), ideally with distinct characteristics. Using the same set
may fit algorithms to certain characteristics dictated by a particu- Carlo S. Sartori: Methodology, Software, Investigation, Writing
lar instance set. In fact, we have only been able to verify a possible - original draft. Luciana S. Buriol: Supervision, Conceptualization,
overtuning due to tests with new benchmarks. Therefore, the new Resources, Writing - review & editing.
14 C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065
A1 A2
10.34
10
7.92
8
Po(NI) / Po(LL)
4.16
4
3.48
2.54
2.11
1.85
2
1.52 1.58 1.49 1.47
1.26
1
100 200 400 600 800 1000 100 200 400 600 800 1000
Instance Size
Fig. 6. Analysis of the proportions between the average pool size in the new instance set Po(NI) and in the standard set Po(LL) for algorithms A1 and A2 in the six basic
instance sizes.
References
Table 10
Average number of requests per route and number of routes in solutions of the
Alpaydin, E., 2009. Introduction to Machine Learning. MIT press.
standard and new benchmark sets.
Arnold, F., Gendreau, M., Sörensen, K., 2019. Efficiently solving very large-scale
Li and Lim (2003) New Instances routing problems. Comput. Oper. Res. 107, 32–42.
Baldacci, R., Bartolini, E., Mingozzi, A., 2011. An exact algorithm for the pickup and
Inst. Req. Rou. Req. Rou. delivery problem with time windows. Oper. Res. 59 (2), 414–426.
Battarra, M., Cordeau, J.-F., Iori, M., 2014. Chapter 6: pickup-and-delivery problems
100 22.17 7.18 21.14 6.56
for goods transportation. In: Vehicle Routing: Problems, Methods, and
200 31.46 10.00 20.71 13.40
Applications, second ed., SIAM, pp. 161–191.
400 35.94 18.76 23.31 23.56 Bent, R., Van Hentenryck, P., 2006. A two-stage hybrid algorithm for pickup and
600 39.06 27.02 23.92 33.60 delivery vehicle routing problems with time windows. Comput. Oper. Res. 33
800 40.55 35.58 24.19 45.92 (4), 875–893.
1000 41.76 44.31 26.12 55.92 Burke, E.K., Bykov, Y., 2017. The late acceptance hill-climbing heuristic. Eur. J. Oper.
Res. 258 (1), 70–78.
Christiaens, J., Vanden Berghe, G., 2020. Slack induction by string removals for
vehicle routing problems. Transp. Sci. 54 (2), 417–433.
Christiansen, M., Fagerholt, K., Nygreen, B., Ronen, D., 2007. Chapter 4 maritime
transportation. In: Barnhart, C., Laporte, G. (Eds.), Transportation. Vol. 14 of
Acknowledgments Handbooks in Operations Research and Management Science. Elsevier, pp. 189–
284.
Curtois, T., Landa-Silva, D., Qu, Y., Laesanklang, W., 2017. Large neighbourhood
The work was funded by the Conselho Nacional de Desenvolvi- search with adaptive guided ejection search for the pickup and delivery
mento Científico e Tecnológico (CNPq). It was developed in the problem with time windows. EURO J. Transp. Logist., 1–42
Algorithms and Optimization group of the Institute of Informatics Dantzig, G.B., Ramser, J.H., 1959. The truck dispatching problem. Manage. Sci. 6 (1),
80–91.
of the Federal University of Rio Grande do Sul, in Brazil. Finally,
Doerner, K.F., Salazar-González, J.-J., 2014. Chapter 7: pickup-and-delivery
the authors would like to thank the valuable contributions of the problems for people transportation. In: Vehicle Routing: Problems, Methods,
two anonymous reviewers. and Applications, second ed., SIAM, pp. 193–212.
C.S. Sartori, L.S. Buriol / Computers and Operations Research 124 (2020) 105065 15
Donovan, B., Work, D., 2016. New york city trip data (2010 to 2013). Univ. Illinois Programming and Combinatorial Optimization. Springer International
Urbana-Champaign. https://doi.org/10.13012/J8PN93H8. Publishing, Cham, pp. 354–369.
Dumas, Y., Desrosiers, J., Soumis, F., 1991. The pickup and delivery problem with Ropke, S., Cordeau, J.-F., 2009. Branch and cut and price for the pickup and delivery
time windows. Eur. J. Oper. Res. 54 (1), 7–22. problem with time windows. Transp. Sci. 43 (3), 267–286.
Furtado, M.G.S., Munari, P., Morabito, R., 2017. Pickup and delivery problem with Ropke, S., Cordeau, J.-F., Laporte, G., 2007. Models and branch-and-cut algorithms
time windows: a new compact two-index formulation. Oper. Res. Lett. 45 (4), for pickup and delivery problems with time windows. Networks 49 (4), 258–
334–341. 272.
Gschwind, T., Irnich, S., Rothenbächer, A.-K., Tilk, C., 2018. Bidirectional labeling in Ropke, S., Pisinger, D., 2006. An adaptive large neighborhood search heuristic for the
column-generation algorithms for pickup-and-delivery problems. Eur. J. Oper. pickup and delivery problem with time windows. Transp. Sci. 40 (4), 455–472.
Res. 266 (2), 521–530. Sartori, C.S., 2020. Online Git repository with complete results. Available online:
Johnson, D.S., 2002. A theoretician’s guide to the experimental analysis of https://github.com/cssartori/math-pdptw, last accessed: 2020-07-15.
algorithms. Data Structures, Near Neighbor Searches, and Methodology: Fifth Sartori, C.S., Buriol, L.S., 2018. A matheuristic approach to the pickup and delivery
and Sixth DIMACS Implementation Challenges 59, 215–250. problem with time windows. In: Cerulli, R., Raiconi, A., Voß, S. (Eds.),
Li, H., Lim, A., 2003. A metaheuristic for the pickup and delivery problem with time Computational Logistics. Springer International Publishing, Cham, pp. 253–267.
windows. Int. J. Artif. Intell. Tools 12 (02), 173–186. Sartori, C.S., Buriol, L.S., 2020. Instances for the pickup and delivery problem with
Lindauer, M., Hoos, H.H., Hutter, F., Schaub, T., 2015. An automatically configured time windows based on open data. Mendeley Data, v2.
algorithm selector. J. Artif. Intell. Res. 53, 745–778. https://data.mendeley.com/datasets/wr2ct4r22f/2.
López-Ibáñez, M., Dubois-Lacoste, J., Cáceres, L.P., Birattari, M., Stüle, T., 2016. The Savelsbergh, M.W., Sol, M., 1995. The general pickup and delivery problem. Transp.
irace package: iterated racing for automatic algorithm configuration. Oper. Res. Sci. 29 (1), 17–29.
Perspect. 3, 43–58. Schneider, A., 2003. Gps visualizer. Available online: https://www.
Lourenço, H.R., Martin, O.C., Stützle, T., 2010. Iterated local search: framework and gpsvisualizer.com/, last accessed: 2020-02-16.
applications. In: Gendreau, M., Potvin, J.-Y. (Eds.), Handbook of Metaheuristics. Schrage, L., 1981. Formulation and structure of more complex/realistic routing and
Springer, US, Boston, MA, pp. 363–397. scheduling problems. Networks 11 (2), 229–232.
Luxen, D., Vetter, C., 2011. Real-time routing with openstreetmap data. In: Shen, Y., Potvin, J.-Y., Rousseau, J.-M., Roy, S., 1995. A computer assistant for vehicle
Proceedings of the 19th ACM SIGSPATIAL International Conference on dispatching with learning capabilities. Ann. Oper. Res. 61 (1), 189–211.
Advances in Geographic Information Systems. GIS ’11. ACM, New York, NY, SINTEF, 2008. Li & lim benchmark instances. Available online: https://www.sintef.
USA, pp. 513–516. no/projectweb/top/pdptw/li-lim-benchmark/, last accessed 2020-05-07.
Nagata, Y., Kobayashi, S., 2010. Guided ejection search for the pickup and delivery Solomon, M.M., 1987. Algorithms for the vehicle routing and scheduling problems
problem with time windows. In: European Conference on Evolutionary with time window constraints. Oper. Res. 35 (2), 254–265.
Computation in Combinatorial Optimization. Springer, pp. 202–213. Sörensen, K., 2015. Metaheuristics-the metaphor exposed. Int. Trans. Oper. Res. 22
Nanry, W.P., Barnes, J.W., 2000. Solving the pickup and delivery problem with time (1), 3–18.
windows using reactive tabu search. Transp. Res. B Methodol. 34 (2), 107–121. Uchoa, E., Pecin, D., Pessoa, A., Poggi, M., Vidal, T., Subramanian, A., 2017. New
OpenAddresses, 2017. The free and open global address collection. Available online: benchmark instances for the capacitated vehicle routing problem. Eur. J. Oper.
https://openaddresses.io/, last accessed 2020-05-07. Res. 257 (3), 845–858.
OpenStreetMap, 2017. OSM contributors. Planet dump retrieved from Vilas Boas, M.G., Santos, H.G., Merschmann, L.H., Vanden Berghe, D.C., 2019.
https://planet.osm.org. Available online: https://www.openstreetmap.org, last Optimal decision trees for the algorithm selection problem: integer
accessed 2020-05-07. programming based approaches. Int. Trans. Oper. Res..
Pessoa, A., Sadykov, R., Uchoa, E., Vanderbeck, F., 2019. A generic exact solver for Wilson, N.H., Weissberg, R.W., Hauser, J., 1976. Advanced dial-a-ride algorithms
vehicle routing and related problems. In: Lodi, A., Nagarajan, V. (Eds.), Integer research project. Tech. Rep.