Next Article in Journal
Production of Microfibrillated Cellulose from Fast-Growing Poplar and Olive Tree Pruning by Physical Pretreatment
Next Article in Special Issue
Outlier Detection Based Feature Selection Exploiting Bio-Inspired Optimization Algorithms
Previous Article in Journal
Implementation of Fused Filament Fabrication in Dentistry
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Optimization of Truck-Drone Parcel Delivery Using Metaheuristics

Department of Computer Science, College of Computer and Information Sciences, King Saud University, Riyadh 11362, Saudi Arabia
*
Author to whom correspondence should be addressed.
Appl. Sci. 2021, 11(14), 6443; https://doi.org/10.3390/app11146443
Submission received: 21 June 2021 / Revised: 6 July 2021 / Accepted: 9 July 2021 / Published: 13 July 2021

Abstract

:
This research addresses a variant of the traveling salesman problem in drone-based delivery systems known as the TSP-D. The TSP-D is a combinatorial optimization problem in which a truck and a drone collaborate to deliver parcels to customers, with the objective of minimizing the total delivery time. Determining the optimal solution is NP-hard; thus, the size of the problems that can be solved optimally is limited. Therefore, metaheuristics are used to solve the problem. Metaheuristics are adaptive and intelligent algorithms that have proved their success in many similar problems. In this study, a solution to the TSP-D problem using the greedy, randomized adaptive search procedure with two local search alternatives and a self-adaptive neighborhood selection scheme is presented. The proposed approach was tested on 200 instances with different properties from the publicly available “Instances of TSP with Drone” benchmark. Results were evaluated against state-of-the-art algorithms. Non-parametric statistical tests concluded that the proposed approach has comparable performance to the rival algorithms ( p = 0.074 ) in terms of tour duration. The proposed approach has better or similar performance in instances where the drone and truck have the same speed ( α = 1 ).

1. Introduction

Over the last few years, drones have been adopted in many sectors [1,2], especially the commercial sector [3,4]. Drones are now deployed to support parcel delivery, an area that has traditionally been handled by trucks. Moreover, the COVID-19 pandemic has taken a significant toll on people all over the world [5]. Drones have helped people to comply with social distancing rules, as they provide contact-free delivery services. In addition, drones help with transportation logistics in many ways, such as avoiding traffic congestion, allowing for faster deliveries, and providing lower transportation costs [6]. However, there is an upper limit for the parcel weight, as drones cannot carry heavy parcels [7]. Additionally, drones are battery-powered, thereby limiting their delivery ranges. In contrast, truck delivery can work over a longer range, as it is fuel-based, and trucks can carry heavy and large parcels. Nonetheless, traditional truck delivery is slow and has high transportation costs [6]. Combining both truck and drone delivery could minimize the total operational costs and time, thereby enhancing the quality of service. This variant of the traveling salesman problem (TSP) [8,9] is known as the traveling salesman problem with drone (TSP-D) [6,10].

1.1. Problem Description

The TSP-D is defined on a graph G = ( V , A ) , where A is a set of arcs, each of which links two nodes in V. V = { 0 , , n + 1 } , where nodes 0 and n + 1 represent the start point and the depot, duplicating the start and return points; the nodes 1 , , n are customer locations. The set of customers is represented by N = { 1 , , n } . The set of customers that are served by a drone is denoted by V d N (Figure 1) [11].
If a customer is served by a truck, it is called a truck delivery, whereas if a customer is served by a drone, it is called a drone delivery. The drone delivery is represented as a tuple < i , j , k > , in which i is the launch node (i.e., the node where the truck launches the drone, as in nodes 1 and 6 in Figure 1b), j is the drone node (i.e., the node that the drone delivers the parcel to, as in nodes 2 and 7 in Figure 1b), and k is the rendezvous node (i.e., where the truck and drone meet again, as in nodes 3 and 9 in Figure 1b); k can either be a customer location or the depot. A sortie refers to a sequence of nodes between a launch node and a rendezvous node. For example, the sequences < 1 , 2 , 3 > and < 6 , 7 , 8 , 9 > represent two distinct sorties in Figure 1b. The drone has a constant level of endurance, defined as the maximum time that the drone can fly without needing to be charged. < i , j , k > is a feasible solution for a drone delivery when i j , j k , k i , t i j + t j k e , where t i j is the time taken by the drone to move from i to j, t j k is the time taken by the drone to move from j to k, and e is the drone’s endurance. The drone path follows the road on the network for safety. The objective of the TSP-D is to find the tour with the shortest delivery time such that all customer locations are served by either the truck or the drone. The pickup, delivery, and recharging times of the drone are neglected.
There are additional constraints that need to be considered:
  • Both vehicles must start from and return to the depot;
  • Customers can only be served once, either by the drone or the truck;
  • The drone does not have a rendezvous node before the delivery drone node;
  • The drone cannot serve more than one customer between nodes i and j.
A very similar problem to the TSP-D is the flying sidekick traveling salesman problem (FSTSP) [12]. The FSPSP is also a collaboration between a single truck and a single drone to deliver parcels to customers. The difference between the TSP-D and FSTSP is that in the FSTSP, two metrics are used for the distance—one for the truck (Manhattan distance) and one for the drone (Euclidean distance)—as the drone can fly directly from the launch point to the destination, thereby ignoring road restrictions. In the TSP-D, however, the drone must follow the road network.
The TSP-D is considered an NP-hard problem [13]. Exact methods have been used to solve the TSP-D [13,14,15,16]; however, due to computational limitations, these methods are only feasible on instances of limited sizes. Heuristics and metaheuristics are generally used to minimize the tour costs. Several taxonomies have been proposed for use in metaheuristics [17,18], among which solution and population-based approaches are the most common classifications.
The route-first, partition-second approach has been used in all reviewed studies. In this approach, the TSP route is constructed first, as if there were no drone. Following that, the drone nodes are selected and removed from the truck route. The Concorde TSP solver [19,20,21] is an exact algorithm which is able to find the optimal solution for a traditional TSP problem that includes instances with a large number of nodes. Many studies have used Concorde for the routing step [10,22,23,24].

1.2. The Original Solution to the TSP-D

Agatz et al. [10] have proposed several heuristics that are able to provide fast and acceptable solutions for instances of reasonable sizes. First, they constructed a truck-only tour using either the Concorde TSP solver or Kruskal’s minimum spanning tree algorithm. Next, two approaches were proposed to classify some nodes as drone nodes. The first approach was a fast greedy heuristic, and the second approach was an exact partitioning algorithm based on dynamic programming. In both approaches, the order in which the nodes are visited remains unchanged. Both the greedy heuristic and the exact partitioning algorithm depend on the initial TSP tour. Therefore, the authors decided to start with a variety of initial tours, in order to determine whether they could obtain a better solution. They applied several heuristics based on the local search (LS) method, which modified the initial tour. Then they iteratively sought improvements. Several neighborhood functions were considered, which yielded several versions. In one of the versions, all neighborhoods were examined and the best neighbor generated in each iteration was selected.
The authors chose to run their experiments using the most challenging instances, where there were no limitations on the drone range and all locations could be visited by both drone and truck [23]. The greedy approach solved all instances with 100 nodes in a few seconds, but with limited savings in time relative to the original TSP tour. In contrast, the run time of the exact partitioning heuristics method increased tremendously with the number of nodes.

1.3. Solution-Based Metaheuristic Approaches to TSP-D

Solution-based metaheuristics have been used in previous studies to solve the TSP-D [6,11,25] and related FSTSP problems [12,22,23,24]. An initial tour for the simulated annealing algorithm [26] was implemented by Ponza [22] using a nearest-neighbor heuristic. To make a move (i.e., selecting a drone node for a sortie), several neighbors were randomly generated, and the roulette-wheels selection method [27] was used to choose a neighbor. De Freitas and Penna [23] first found the optimal solution for the TSP using the Concorde solver. The initial solution for the FSTSP was then defined, using a heuristic utilizing a greedy approach. This procedure removes a truck customer and assigns it to a drone, effectively partitioning the truck route into sub-routes. The initial solution was optimized using the variable neighborhood search [28]. Seven different neighborhood structures were used and randomly selected, resulting in a change in the original sequence of node visits. Similarly, de Freitas and Penna [23,29] used a randomized variable neighborhood descent heuristic with five different neighborhoods. Ha et al. [11] attempted to solve the TSP-D using two heuristics, TSP-LS and GRASP. The aim of this paper was to minimize the total operational cost of the two vehicles. In each iteration, a new giant tour (TSP tour) was generated using three different heuristics: k-nearest neighbors, k-cheapest insertion, and random insertion. A split algorithm built the minimum cost (min-cost) TSP-D solution from the giant tour solution by substituting a truck customer with a drone. After building the min-cost solution, the LS improved the solution using four move operators. The tests conducted in this study showed that the k-nearest neighbors generated a better min-cost TSP, when compared with k-cheapest insertion and random insertion. The quality of solutions obtained with GRASP outperformed those obtained with TSP-LS. However, TSP-LS was faster than GRASP. The proposed GRASP method has been modified by Marinelli et al. [6], such that the drone can launch from and join the truck not only at a customer node, but also along the route.

1.4. Population-Based Metaheuristic Approaches to TSP-D

Özoğlu et al. [30] proposed a solution to the FSTSP: a hybrid approach combining a genetic algorithm (GA) [31] and Clarke and Wright’s savings algorithm (CW) [32]. In this approach, the GA is used to assign the drone and truck to the customers. Following that, the sequence of the customers is determined using the CW. The aforementioned process continues until a specified number of iterations is reached. The authors proposed multiple specific mathematical assumptions for the problem. The most consequential assumption is that the drone must launch and return to the truck at the same node, resulting in an increase in the waiting time of the truck. Ha et al. [33] used another hybrid GA, called the HGA, to solve the TSP-D with both minimum time (min-time) and minimum cost (min-cost) objectives. To improve the HGA’s quality, the authors educated their offspring using LS methods. The authors designed a hill-climbing and first-improvement LS to address the min-time and min-cost objectives. In addition, the authors developed a restoration method to “educate” the TSP-D solution. Ferrandez et al. [34] used K-means clustering to help to find the truck stops, which were also the drone launch points. A GA was used to solve the truck route as a TSP. Houseknecht [35] implemented an extension of the classical ant system [36]. Using ant pairs is essential for the TSP-D, as a truck route and a drone route are needed every time the tour is constructed. When constructing its own path, every ant in the pair lays down a pheromone which is different from those the others. Every ant type is attracted to its own pheromone.

1.5. Discussion of Previous Approaches

Solution-based metaheuristic methods can be less destructive than population-based methods. For instance, genetic operators can drastically change the characteristics of the current solution. The use of generic genetic operators may lead to infeasible solutions. Restorative steps can repair the obtained solution, in some cases. Solution-based methods are more inclined to undergo intensification. Notably, several studies have utilized a considerable number of neighborhood structures (e.g., seven [23] or five [10,28]). The neighborhood structure for the next move has been chosen randomly or pseudo-randomly.
Population-based methods also work much more slowly than solution-based methods, as population-based methods process an entire population of solutions in each iteration. For instance, HGA was found to be 1.5 times slower than GRASP [33]. Notably, population-based metaheuristic approaches have been applied to this problem less frequently than single solution-based methods. The aforementioned approaches can achieve good results and provide the opportunity to further reduce the total route cost, compared with the exact cost in small to medium instances [10]. We considered GRASP [37,38], as it is a simple LS heuristic that utilizes a so-called restricted candidate list, which is a convenient way to store the set of candidate drone nodes. The neighborhood structure, (or equivalently, the next move to be applied) can be viewed as a search parameter. The optimal parameter choice largely depends on the problem type or the problem instance [39]. Self-adaptation has been shown to be beneficial for the selection of a genetic mutation operator for permutation encoding [40]. The search is guided by self-adaptively selected move operators: e.g., if there is a larger probability that moves with higher success rates, the instance in consideration will be identified and exploited, thereby improving the search outcome. This study aims to apply self-adaptive selection when searching the neighborhood in GRASP.

2. Proposed Greedy Randomized Adaptive Search Procedure for TSP-D

The route-first, partition-second approach was followed. The representative solution and the required data structures are described in Section 2.1. The details of the algorithm are presented in Section 2.2. Finally, the objective function is presented in Section 2.3.

2.1. Representative Solution and Supportive Data Structures

The candidate solution, t s p d , is represented using an array that contains both truck and drone deliveries. The first and last indices refer to the depot. The elements in the array are ordered by the visit sequence. Each element in the array consists of a node i d and node l a b e l (t: truck node, d: drone node, and c: combined node, where the location is visited by both the truck and drone). An example of a solution is shown in Figure 2, where Figure 2a illustrates the representative solution of the actual graph presented in Figure 2b. As part of the algorithm’s initialization, the node IDs are initialized with the solution of the TSP tour. The node labels are initialized to t.
The locations of the customer and the depot are stored in a location matrix, L. The column index represents the node i d . The first row contains the x-coordinates, and the second row contains the y-coordinates. The values of the x and y-coordinates are read from the input data set.
In addition, two cost (adjacency) matrices are used to specify the cost over time (seconds): a drone cost matrix ( C D ) and a truck cost matrix ( C T ). Two cost matrices are used, as the drone and truck differ in terms of speed ( s D and s T , respectively). The drone and truck speeds are read as inputs from the dataset. First, the Euclidean distance d i j between nodes i and j for each i; j in L is computed using the x and y-coordinates. Following that, C D i j and C T i j are respectively computed using the following equations: C D i j = d i j s D and C T i j = d i j s T .

2.2. Algorithm Details

The proposed GRASP approach is presented as Algorithm 1. m i n T i m e and b e s t T o u r are initialized to ensure the minimum time and the best attained TSP-D solution found so far, respectively. In line 3, the optimal TSP tour is obtained using the Concorde TSP solver. The following steps are repeated m a x T r i a l s times. The output of o p t i m a l T s p T o u r ( ) is passed to r a n d o m i z e d I n i t T s p d ( ) , in order to construct an initial TSP-D solution. This is explained in detail in Section 2.2.1. Following that, l o c a l S e a r c h ( ) is used to improve the acquired TSP-D solution, which is detailed in Section 2.2.2. C o m p C o s t ( ) then computes the cost (objective function) of the current TSP-D solution as c u r r e n t T i m e (Section 2.3). If there are positive savings in cost, with respect to m i n T i m e , the current TSP-D solution is saved as the best solution found thus far, b e s t T o u r .
  Algorithm 1: The GRASP algorithm
  1 
m i n T i m e = ;
  2 
b e s t T o u r = n u l l ;
  3 
t s p T o u r = o p t i m a l T s p T o u r ( ) ;
  4 
i = 0 ;
  5 
while ( i < m a x T r i a l s ) do
  6 
    t s p d = r a n d o m i z e d I n i t T s p d ( t s p T o u r ) ;
  7 
    t s p d = l o c a l S e a r c h ( t s p d , s w a p S R , t w o O p t S R , P m ) ;
  8 
    c u r r e n t T i m e = C o m p C o s t ( t s p d ) ;
  9 
   if ( c u r r e n t T i m e < m i n T i m e ) then
 10 
    minTime=currentTime;
 11 
    bestTour=tspd;
 12 
   end
 13 
    i = i + 1 ;
 14 
end
 15 
returnbestTour,minTime;

2.2.1. Building the Randomized Initial TSP-D Tour

The main function of the initial TSP-D procedure (Algorithm 2) is to perform the initial partitioning of the available truck route into a truck route and a drone route, using the restricted candidate list (RCL).
First, the time saving obtained for all nodes (except the depot) when a node j is transformed from a truck node to a drone node is computed. The procedure identifies the minimum amount of saved time for all nodes c m i n , the maximum amount of saved time among all nodes c m a x , and an array s a v i n g T i m e which contains the time saved by each node. The saved time is computed using Equation (1) and illustrated in Figure 3, where i is the node ID of the launch node, j is the node ID of the drone node, and k is the node ID of the rendezvous node. Calculating the time savings obtained for all nodes takes O ( n ) time.
  Algorithm 2: r a n d m i z e d I n i t T S P D Algorithm
  1 
c m i n , c m a x , s a v i n g T i m e = c a l c S a v i n g s ( t s p T o u r ) ;
  2 
Generate δ value, δ ( 0 , 1 ) ;
  3 
t a u = c m a x δ × ( c m i n + c m a x ) ;
  4 
R C L = b u i l d R C L ( t a u , s a v i n g T i m e ) ;
  5 
t s p d = t s p T o u r ;
  6 
while ( l e n ( R C L ) 0 ) do
  7 
    R C L = b u i l d T s p d ( t s p d , s a v i n g T i m e ) ;
  8 
end
s a v i n g = C T [ i ] [ j ] + C T [ j ] [ k ] m a x ( C D [ i ] [ j ] + C D [ j ] [ k ] , C T [ i ] [ k ] )
The threshold value, t a u , is computed using Equation (2) [41], where δ is a randomly generated value, δ ( 0 , 1 ) . The RCL is accordingly built by adding the customers that may be serviced by the drone; that is, all nodes i with s a v i n g T i m e [ i ] t a u . The b u i l d R C L procedure requires O ( n ) time. Next, nodes are iteratively and randomly selected and removed from the RCL to be transformed into drone nodes, using the B u i l d T s p d algorithm explained in Algorithm 3.
t a u = c m a x δ × ( c m i n + c m a x )
b u i l d T s p d was inspired by the greedy partitioning heuristic presented by Agatz et al. [10]. In that method, one of the three moves ( M a k e F l y , which converts a truck node to a drone node, P u s h L e f t , and P u s h R i g h t ) is randomly selected in each iteration. The selected move is applied to an unprocessed node. However, in this implementation, as presented in Algorithm 3, a candidate node, c a n d i d a t e E l e m e n t , is chosen randomly and removed from the RCL, in order to be converted into a drone node. c a n d i d a t e E l e m e n t can be a drone node if it has a predecessor and a successor, meaning that it is not a boundary node. In addition, it must not lie in a sortie. Once this move is successful, the feasibility of the P u s h L e f t and P u s h R i g h t moves for the sortie under consideration is examined. If both moves can be feasibly implemented while improving the cost, then one of them is greedily selected, such that the cost saving is maximized. Otherwise, the feasible move is applied if it improves the cost.
P u s h L e f t inserts the truck node to the left of the launch node into the sortie, as shown in Figure 4. The move is only feasible if the node preceding the launch node is a truck node other than the depot and is not part of a sortie. The time taken by the sortie before applying P u s h L e f t , b e f o r e L e f t , is calculated using Equation (3). Equation (4) computes the time taken by the sortie after applying P u s h L e f t , a f t e r L e f t . The time saved is computed by taking the difference between b e f o r e L e f t and a f t e r L e f t . If the procedure results in time savings greater than zero, the move is accepted. The P u s h R i g h t operator is symmetric with respect to P u s h L e f t . Converting the c a n d i d a t e E l e m e n t into a drone node in lines 4–10 of Algorithm 3 requires O ( 1 ) time. The complexity of both moves, including the work required to compute the savings obtained by the moves, is O ( 1 ) time. However, the time required by the C o m p C o s t step at line 1 of the algorithm is O ( n ) (Section 2.3), resulting in a time of O ( n ) for b u i l d T s p d . The b u i l d T s p d algorithm is called a number of times equal to the length of the RCL as in line 6 from Algorithm 2. Accordingly, the time complexity required by the r a n d o m i z e d I n i t T s p d algorithm is O ( n 2 ) .
  Algorithm 3: b u i l d T s p d algorithm
  1 
c u r r e n t T i m e = C o m p C o s t ( t s p d ) ;
  2 
c a n d i d a t e E l e m e n t =randomly select an element from RCL;
  3 
Find the position i of c a n d i d a t e E l e m e n t in t s p d ;
  4 
if ( c a n d i d a t e E l e m e n t can be a drone node) then (
  5 
    l a u n c h = t s p d [ i 1 ] ;
  6 
    d r o n e = t s p d [ i ] ;
  7 
    r e n d e z v o u s = t s p d [ i + 1 ] ;
  8 
   Set labels for nodes t s p d [ i 1 ] , t s p d [ i ] , and  t s p d [ i + 1 ] to c , d , and  c , respectively;
  9 
    c u r r e n t T i m e = c u r r e n t T i m e s a v i n g T i m e [ i ]
 10 
end
 11 
if (both P u s h L e f t and P u s h R i g h t are feasible) then
 12 
   Greedily select and apply the move that maximizes cost savings to t s p d ;
 13 
else (
 14 
   if ( P u s h L e f t is feasible) then
 15 
     ( Apply P u s h L e f t to t s p d ;
 16 
   else (
 17 
    if ( P u s h R i g h t is feasible) then
 18 
     Apply P u s h R i g h t to t s p d ;
 19 
    end
 20 
   end
 21 
end
 22 
returnRCL, tspd
b e f o r e L e f t = C T [ i 1 ] [ i ] + m a x ( C D [ i ] [ i + 1 ] + C D [ i + 1 ] [ i + 2 ] , C T [ i ] [ i + 2 ] )
a f t e r L e f t = m a x ( C D [ i 1 ] [ i + 1 ] + C D [ i + 1 ] [ i + 2 ] , C T [ i 1 ] [ i ] + C T [ i ] [ i + 2 ] )

2.2.2. Optimizing the Obtained Solution with Local Search

The LS procedure helps to improve the initial TSP-D solution by applying two different moves: S w a p and T w o O p t [10]. The LS procedure is explained, followed by a description of the two moves.
A general structure for the LS procedure is shown in Algorithm 4. After the initialization step, an iterative process starts. In each iteration, either the S w a p or T w o O p t move is selected in a self-adaptive manner, based on the move probability, p m , as follows (lines 7–12). A random number, r a n d [ 0 , 1 ] , is generated. If the value of r a n d is less than p m , the S w a p move is selected; otherwise, the T w o O p t move is selected. The selected move is applied to the current solution, t s p d . If the resulting neighbor has a lower cost, the move is accepted. Otherwise, the acceptance criterion is tested. The success ratio of the chosen move is updated. The procedure is repeated until the termination condition or c o n v e r g e n c e is reached.
  Algorithm 4: l o c a l S e a r c h Algorithm
  1 
j = 0 ;
  2 
initialize loop control parameters;
  3 
while(termination condition not satisfied and j < c o n v e r g e n c e ) do
  4 
   if ( w i n d o w S i z e iterations have elapsed) then
  5 
    update p m based on Equation (5);
  6 
   end
  7 
    r a n d =generate a random number [ 0 , 1 ] ;
  8 
   if ( r a n d < p m ) then
  9 
    apply swap move to t s p d and update its success ratio;
  10 
   else
 11 
    apply twoOpt move to t s p d and update its success ratio;
 12 
   end
 13 
   examine move acceptance criteria and accept move accordingly;
 14 
   if (the move was not successful) then
 15 
    increment j;
 16 
   else
 17 
    reset j;
 18 
   end
 19 
   update iteration control parameters;
 20 
end
The move selection probability, p m , is updated consistently after a certain number of iterations, w i n d o w S i z e , based on the success ratio of the S w a p and T w o O p t moves: s w a p S R and t w o O p t S R , respectively (lines 4–6 in Algorithm 4). The success ratio is computed as the number of times that the move is successfully applied, divided by the total number of times that the move was applied during the past w i n d o w S i z e . If s w a p S R is better than t w o O p t S R , p m is updated such that S w a p has a higher probability of being chosen and vice versa, as shown in Equation (5), where β ( 0 , 1 ) is a learning rate parameter.
p m = p m + β × p m , if s w a p S R t w o O p t S R . p m β × p m , , otherwise .
Moreover, in order to control the computational time, the convergence is examined and the LS procedure is stopped if it fails to improve the solution after a specific number of iterations ( c o n v e r g e n c e ), as shown in lines 1 and 14–18.
Two variants of GRASP were considered, according to the LS procedure used: hill-climbing local search (HCLS) [42] and LS with simulated annealing (SA) [26]. These variants differ in terms of the initialization step and the acceptance criteria (lines 2 and 13 in Algorithm 4, respectively). In the HCLS variant, the loop control parameter is a simple loop counter i, which is initialized to zero. The termination condition is satisfied when i reaches the maximum number of allowed iterations, m a x I t e r . In this variant, a move is accepted only if the resulting neighbor has a lower cost than that of the current solution.
In the second variant, SA, the loop is controlled by a temperature parameter, T i . T i is initialized to an initial temperature, T 0 , and updated using a geometric cooling schedule, as shown in Equation (6), where γ ( 0 , 1 ) [26]. The acceptance criterion in SA differs from that in the HCLS variant for inferior moves. A sub-optimal move can be accepted, based on a certain probability P ( Δ E , T ) that it follows the Boltzmann distribution, as shown in Equation (7), where Δ E represents the difference between the objective function (cost) of the current solution and that of the resulting neighbor. A random number, r a n d P , is generated. If the value of r a n d P is less than the probability P ( Δ E , T ) , the move is accepted; otherwise, the move is not accepted. The termination condition in the SA variant is satisfied when the temperature T i exceeds the final temperature T f .
T i = γ × T i
P ( Δ E , T ) = e Δ E T i
The S w a p Move: In the S w a p move, two distinct nodes are randomly selected and swapped (Figure 5). A swapped node may be a truck node, a drone node, or a combined node, but it cannot be the depot [22].
The T w o O p t Move: In the T w o O p t move, two edges are removed from the tour and replaced with another set of edges, in order to obtain a valid tour. The removed edges must be between truck or combined nodes [22]. The first step in applying T w o O p t is to select the two origin nodes of the selected edges randomly. In Figure 6a, nodes 4 and 2 are selected. Two edges are thus removed: ( 4 , 6 ) and ( 2 , 0 ) . Then, two new edges are created, as shown in Figure 6b: ( 4 , 2 ) and ( 6 , 0 ) . As a result, the sortie path is reversed, as shown in Figure 6b.
As twoOpt randomly selects two edges, there are several invalid cases that must be taken into consideration, as follows:
1.
If the selected origin node or its destination node happen to be inside a sortie, as shown in Figure 7;
2.
If both selected origin nodes are launch nodes and their destinations are rendezvous nodes, as shown in Figure 8;
3.
If the selected origin or its destination node happens to be a common node between different sorties, as shown in Figure 9.
The complexity of S w a p and T w o O p t moves, including the work required to compute the savings obtained by the moves, is O ( n ) .

2.3. Objective Function

We aimed to minimize the total delivery time required to serve all customers starting from and returning to the depot, as shown in the objective function (8), where customer i is where the sub-route starts and customer k is where the sub-route ends. Customer j is served by the drone [23].
m i n i m i z e s s u b r o u t e m a x C D [ i , j ] + C D [ j , k ] , i k 1 C T [ i , i + 1 ]
The C o m p C o s t procedure, presented in Algorithm 5, computes the cost of the full t s p d tour. Firstly, the c u r r e n t T i m e is initialized to 0. Following that, the nodes in the tour are examined in sequence. If the node is a launch node, the sortie time is computed. A launch location i and a rendezvous location k are identified. The sortie time is calculated by taking the maximum time between the d r o n e T i m e and t r u c k T i m e . The d r o n e T i m e is calculated by adding the time taken by the drone to move from the launch location to the drone location, to the time taken by the drone to move from the drone location to the rendezvous location. The t r u c k T i m e is computed by calculating the time taken by the truck to move from the launch location to the rendezvous location. In line 16, the value of the counter i is updated to that of the rendezvous location k, as the entire sortie has been processed. Otherwise, if the location is not in a sortie, it is visited by the truck and the cost required by the truck is computed by calculating the time taken by the truck to move from its current location to the following location.
  Algorithm 5: C o m p C o s t algorithm
  1 
c u r r e n t T i m e = 0 ;
  2 
i = 0 ;
  3 
while( i < l e n ( t s p d ) )do
  4 
   if ( t s p d [ i ] is launch location for drone) then (
  5 
      t r u c k T i m e = 0 ;
  6 
      l a u n c h = t s p d [ i ] ;
  7 
      d r o n e = t s p d [ j ] ;
  8 
      r e n d e z v o u s = t s p d [ k ] ;
  9 
      d r o n e T i m e = C D [ l a u n c h , d r o n e ] + C D [ d r o n e , r e n d e z v o u s ] ;
 10 
      t = i ;
 11 
     while ( t < k 1 ) do
 12 
       t r u c k T i m e = t r u c k T i m e + C T [ t , t + 1 ] ;
 13 
       t = t + 1 ;
 14 
     end
 15 
      s o r t i e T i m e = m a x ( d r o n e T i m e , t r u c k T i m e ) ;
 16 
      c u r r e n t T i m e = c u r r e n t T i m e + s o r t i e T i m e ;
 17 
      i = k ;
 18 
   else (
 19 
      t r u c k T i m e = C T [ i , i + 1 ] ;
 20 
      c u r r e n t T i m e = c u r r e n t T i m e + t r u c k T i m e ;
 21 
      i = i + 1
 22 
   end
 23 
end
 24 
returncurrentTime

3. Experimental Setup

The benchmark dataset is described in Section 3.1. The algorithm was implemented in Python. The algorithm parameters are explained in Section 3.2, and the model evaluation is presented in Section 3.3. We used an Ubuntu 16.04 LTS desktop powered by a 3.60 GHz × 8 Intel Xeon(R) CPU E5-1620 with 31.3 GiB of RAM and a 427.9 GB SSD.

3.1. Benchmark Dataset

We used the publicly-available dataset “Instances for the TSP with Drone” [43]. This has been used in several studies [10,23]. The dataset categorizes instances based upon the distribution type, instance size, and vehicle speed configuration. The categories are as follows. We used two different distribution types, based on how each instance was generated in the benchmark dataset. In a uniform distribution, the coordinates are generated independently and uniformly; in a single-center distribution, the coordinates are generated using an angle and a distance drawn from a normal distribution. The dataset contains a wide variety of instance sizes, ranging from 5 to 500 customer locations. The experiments in this study were applied using instances of sizes 10 , 20 , 50 , 75 , and 100. As for the vehicle speed configuration ( α ) , we utilized two different relative speed configurations for the vehicles. With ( α = 1 ) , the truck and drone have the same speed; with ( α = 2 ) , the drone is two times faster than the truck.
For each (type, size, α ) combination, the dataset contains 10 different instances. In each instance, the vehicle speed configuration ( α ), the total number of nodes (including the depot), and for each node, the customer ID and location specified using the x and y-coordinates are defined.

3.2. Parameter Initialization

Table 1 summarizes the initial values of the parameters used in the proposed GRASP approach. Several parameters were adaptively set using the instance size, n. For example, the maximum number of iterations in the GRASP algorithm ( m a x T r i a l s ) and in the HCLS variant ( m a x I t e r ); the window size used to update the move probability parameter in LS, w i n d o w S i z e ; and the c o n v e r g e n c e used to signal LS convergence. When n was less than 50, m a x T r i a l s was set to 50 × 10 . In addition, p m was initialized to 0.5 , in order to allow for equal chances of S w a p and T w o O p t moves occurring at the beginning of the search. The learning rate, β , was initialized to 0.02 , a common default value for standard artificial neural networks [44].

3.3. Model Evaluation

The outcomes of the proposed GRASP approach were compared with the results of two studies. Agatz et al. [10] solved the TSP-D problem by proposing a route-first, cluster-second heuristic based on the local search (LS) method. On the other hand, de Freitas et al. [23] first used a mixed-integer linear-programming solver, and then applied a variable neighborhood search metaheuristic to construct sorties and improve the solution. The effectiveness of the model was measured using the complete tour duration performance measure (in seconds, s e c s). The efficiency of the model was measured using the run-time performance measure (in s e c s). As GRASP is a stochastic algorithm, the run for each instance was repeated ten times, and the average value over each of the obtained performance measures was reported.
To obtain a solid statistical basis for the model comparisons, non-parametric statistical tests were used. The Wilcoxon signed-rank test was used to test the median differences among paired data points (pairwise comparisons) [45]. The Friedman test was used to compare more than two related data samples [46]. The significance level was set to 5 % . The statistical analysis was conducted using the SPSS version 1.0.0.1012 software.

4. Results

This section reports the results for the two variants proposed: the GRASP HCLS variant and the GRASP SA variant (Section 4.1). The better-performing GRASP variant was then compared with two the rival algorithms [10,23]

4.1. Results of the Proposed GRASP Algorithm for TSP-D

The GRASP HCLS variant experiment used 200 test instances, ( 10 , 20 , 50 , 75 , 100 ) in size, of uniform and single-center type, and with a relative truck/drone speed of α = 1 or α = 2 . All parameters were initialized to the settings stated in Table 1.
Table 2 summarizes the results obtained using the proposed GRASP approach with HCLS. The values reported in the table represent average values of the best-known solutions obtained over the ten runs for each of the ten different instances for each of the (type, size, α ) combinations. The table is divided according to the distributions; that is, uniform followed by single-center. In each distribution, the results are sectioned by the relative drone/truck speed ( α ). In the table, the column Size represents the instance size, the column Cost represents the average trip duration of the obtained TSP-D solution (in s e c s), the column Runtime represents the average running time (in s e c s), the column S w a p represents the average number of times in which a S w a p move was applied, the column T w o O p t represents the average number of times that a T w o O p t move was applied, the column S w a p Success represents the average number of times that a S w a p move was successful (i.e., it improved the TSP-D solution and decreased its cost), and finally, the column T w o O p t Success represents the average number of times that a T w o O p t move was successful. Moreover, instances of size 100 were run on different machines; hence, the run time is not reported (NA).
Table 2 shows that the S w a p move was used more successfully in smaller-sized instances than in larger-sized instances, while the T w o O p t move was more successful in larger-sized instances. Nonetheless, the S w a p move was more successful than the T w o O p t move overall. The standard deviation of the solution cost in instances with a uniform distribution tended to be lower than that observed in instances with a single-center distribution. In addition, the standard deviation of the solution cost in instances in which α = 1 tended to be lower than instances in which α = 2 . Concerning the computational time, when α = 1 , the algorithm ran for longer. The run time did not differ between uniform and single-center instances.
Notably, the moves were often not accepted in the GRASP HCLS variant, which suggests that it became stuck in a local optimum. To address this problem, the GRASP SA variant for LS, in which sub-optimal moves can be accepted, was examined. In this experiment, 160 test instances of sizes ( 10 , 20 , 50 , 75 ) , with both uniform and single-center types and vehicle speed configurations of α = 1 and α = 2 were utilized. All parameters were initialized to the settings stated in Table 1.
Table 3 summarizes the results obtained using the proposed GRASP approach with the SA variant. The values reported in the table represent the average values of the best known solutions obtained over the ten runs for each of the ten different instances in each of the (type, size, α ) combinations. The column definitions are the same as those used in Table 2.
Table 3 shows that, as the instance size increased, the success ratios of both moves also increased. Nonetheless, the S w a p move was still more successful than the T w o O p t move in all cases, except for the case (type = single-center, size = 75, α = 2 ). The standard deviation of the solution cost in uniform instances tended to be slightly lower than that for single-centered instances. We also observed that the standard deviation of the solution cost in instances in which α = 1 tended to be lower, compared to that for instances having α = 2 .
As can be seen in Figure 10, overall, the GRASP SA variant performed worse than or approximately equal to the GRASP HCLS variant. The overall average solution cost for the models obtained using the GRASP HCLS variant was 517.79 s e c s, compared to 556.90 s e c s for the models generated using the GRASP SA variant. The standard deviation of the solution cost obtained with the GRASP SA models was higher than that of the GRASP HCLS model. A possible explanation for the large gap between runs of instances of the same size in the former is that the LS with SA accepts sub-optimal moves.
The Wilcoxon signed-rank test was used to compare the models obtained with the two GRASP variants. For a valid comparison, 160 instances were used for each model. A statistically significant difference was detected between the means of the two models ( p < 0.001 ). Based on this, the HCLS variant was considered to perform better than the SA variant.

4.2. Evaluation against Rival Algorithms

Based on the conclusion presented in Section 4.1, the GRASP HCLS variant outperformed the SA variant. The better performing GRASP variant was compared with the rival algorithms, LS [10] and HGVNS [23], for the TSP-D problem, where the endurance of the drone was set to infinity and the service time for the drone launch and return was set to zero. The parameter settings for both rival algorithms can be found in the study of de Freitas and Penna [23].
The experiment used 200 instances, as described in Section 3.1. Table 4 reports the average values (in s e c s) for the best-known solutions for the ten instances for each (type, size, α ) combination. The column definitions are the same as those used in Table 2, and are sectioned according to the algorithm addressed. Figure 11 compares the average solution cost results. Similarly to the findings presented by de Freitas and Penna [23], the algorithms generally performed better for instances with a uniform distribution, compared to instances with a single-center distribution, for all values of α . The proposed GRASP approach performed better in instances where α = 1 ; however, in instances where α = 2 , that size was found to play a role. Accordingly, the proposed GRASP approach had a better or approximately equal performance in instances with small size (i.e., 10 and 20). Conversely, in instances with large size (i.e., 50 and 75), our approach had a worse or approximately equal performance.
The average solution costs over all instances (in s e c s) were as follows: The HGVNS scored 565.52 , closely followed by the LS (567.10) and GRASP (594.11). The Friedman test applied under the null hypothesis of equal performance of all algorithms obtained a p-value of ( p = 0.074 ). Since the p-value was larger than the significance level (0.05), the null hypothesis is accepted, indicating that no statistically significant differences were detected among all the means of solution costs obtained from the three algorithms on multiple datasets.
Considering the efficiency of the three algorithms under consideration, all three algorithms start by constructing the initial TSP tour using the Concorde TSP solver. Both of the rival algorithms, LS and HGVNS, adapt the best-improvement search strategy, which exhaustively explores the neighborhoods and returns the solution having the minimum cost. The proposed GRASP algorithm, on the other hand, employs the first-improvement strategy, accepting the first neighbor having a cost that is lower than that of the current solution. Excluding the time required for obtaining the initial TSP tour, a single iteration of the LS procedure requires O ( n 3 log n ) [10]. A single iteration of the HGVNS algorithm runs in Θ ( n 2 | N 2 | ) [23], where | N | is the number of neighborhoods considered. On the contrary, and considering the value of m a x I t e r in HCLS to be equal to n, a single iteration of GRASP requires O ( n 2 ) time. Accordingly, the proposed algorithm has lower computational requirements than the two rival algorithms, LS and HGVNS.

5. Discussion

The GRASP HCLS variant focuses on improving the obtained TSP-D solution using relatively optimal moves only, whereas in the SA variant, sub-optimal moves with a given probability can be accepted. Overall, the GRASP SA variant was shown to have a worse or approximately equal performance to the HCLS variant. Setting the initial temperature to a high value may have played a role. Furthermore, setting γ to 0.95 and using the geometric schedule to update the temperature may have resulted in the temperature decreasing faster than needed. It is possible that changing the values of the SA parameters could result in better performance.
Comparing the performance of the proposed GRASP HCLS variant with the two rival algorithms, LS and HGVNS, the proposed approach performed better in instances where α = 1 and instances of smaller sizes where α = 2 . Overall, the Friedman test showed that the proposed GRASP was comparable with the two state-of-the-art rival algorithms specified earlier in terms of solution cost. It is possible that the number of iterations in the LS procedure was not sufficient to effectively improve the solution. Furthermore, the random δ value heavily affects the size of the RCL. Thus, a small δ value may result in a small and inadequate RCL. However, the proposed algorithm had lesser computational complexity than the other two.

6. Conclusions

In this study, we addressed the TSP-D problem and its variants. Various algorithms, including population-based metaheuristic algorithms and solution-based metaheuristic algorithms, have been proposed for TSP-D and its variants, such as the FSTSP. We used GRASP as a single-solution metaheuristic algorithm. The proposed algorithm starts by constructing the entire truck route as a classical TSP. The obtained route is then partitioned into truck nodes and drone nodes, yielding an initial TSP-D solution. Following that, the proposed GRASP algorithm is applied to minimize the total delivery time for the initial TSP-D solution. Two versions of the LS procedure in GRASP were used: HCLS and LS with SA. Both versions use a self-adaptive neighborhood. The proposed approach was tested on the “Instances of TSP with Drone” benchmark dataset. Generally, the HCLS variant outperformed the SA variant of GRASP. Subsequently, the performance of the proposed GRASP HCLS variant was compared with two state-of-the-art algorithms: LS [10] and HGVNS [23]. Overall, the proposed approach was found to have a performance comparable to those of the two rival algorithms. Nonetheless, under some (type, size, α ) combinations, our approach outperformed the rival algorithms.
The main contribution of this study is the self-adaptive selection of the search neighborhood, which was implemented for two neighborhoods (associated with S w a p and T w o O p t moves), but which could be easily extended to a larger number of neighborhoods. The self-adaptive selection of the search neighborhood for the TSP-D problem may also inspire other methods, which in turn may significantly outperform existing ones. We recommend that the proposed GRASP approach be further improved by increasing the number of iterations in the LS procedure and tuning the δ value. Moreover, it would be interesting to investigate different parameters for the SA variant and to add more neighborhood alternatives into the search.

Author Contributions

Conceptualization, S.A. (Sarab AlMuhaideb); methodology, S.A. (Sarab AlMuhaideb) and T.A.; software, T.A., S.A. (Sara Alamri). Y.A., L.A. and H.A.; validation, T.A., S.A. (Sara Alamri), Y.A., L.A. and H.A.; writing—original draft preparation, S.A. (Sarab AlMuhaideb), T.A., S.A. (Sara Alamri) and Y.A.; writing—review and editing, S.A. (Sarab AlMuhaideb); visualization, L.A. and H.A. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data used in this study are openly available in Instances for the TSP with Drone at doi:10.5281/zenodo.1204676, reference number [43].

Acknowledgments

The authors would like to thank the anonymous reviewers for their constructive comments. Special thanks to Heba Kurdi, Department of Computer Science, King Saud University, for her valuable advice that helped improve the quality of this work.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
CWClarke and Wright’s Savings Algorithm
FSTSPFlying Sidekick Traveling Salesman Problem
GAGenetic Algorithm
GRASPGreedy Randomized Adaptive Search Procedures
GVNSGeneral Variable Neighborhood Search
HCLSFirst-choice Hill-Climbing Local Search
HGAHybrid Genetic Algorithm
HGVNSHybrid General Variable Neighborhood Search
IPInteger Programming Model
LSLocal Search
NP-HardNon-Deterministic Polynomial-Time Hardness Problem
RCLRestricted Candidate List
RVNDRandomized Variable Neighborhood Descent
SASimulated Annealing
TSPTraveling Salesman Problem
TSP-DTraveling Salesman Problem with Drone
VNDVariable Neighborhood Descent
VNSVariable Neighborhood Search

References

  1. Scott, J.; Scott, C. Drone delivery models for healthcare. In Proceedings of the 50th Hawaii International Conference on System Sciences, Hawaii, HI, USA, 4–7 January 2017. [Google Scholar]
  2. Frachtenberg, E. Practical Drone Delivery. Computer 2019, 52, 53–57. [Google Scholar] [CrossRef]
  3. McNabbon, M. Walmart Drone Delivery: Investment in DroneUp Could Change the Race to Dominate the Last Mile. Available online: https://dronelife.com/2021/06/17/walmart-drone-delivery-investment-in-droneup-could-change-the-race-to-dominate-the-last-mile/ (accessed on 17 June 2021).
  4. Straight, B. Workhorse Now Making Residential Deliveries with HorseFly Drone. Available online: https://www.freightwaves.com/news/technology/drone-delivery-test-underway-in-cincinnati (accessed on 18 May 2018).
  5. Ioannidis, J.P. Global perspective of COVID-19 epidemiology for a full-cycle pandemic. Eur. J. Clin. Investig. 2020, 50, e13423. [Google Scholar] [CrossRef]
  6. Marinelli, M.; Caggiani, L.; Ottomanelli, M.; Dell’Orco, M. En route truck–drone parcel delivery for optimal vehicle routing strategies. IET Intell. Transp. Syst. 2018, 12, 253–261. [Google Scholar] [CrossRef]
  7. Khoufi, I.; Laouiti, A.; Adjih, C. A survey of recent extended variants of the traveling salesman and vehicle routing problems for unmanned aerial vehicles. Drones 2019, 3, 66. [Google Scholar] [CrossRef] [Green Version]
  8. Lawler, E.L.; Lenstra, J.; Kan, A.R.; Shmoys, D.B. The Traveling Salesman Problem; John Wiley & Sons, Incorporated: Chichester, UK, 1985; Volume 12. [Google Scholar]
  9. Gutin, G.; Punnen, A.P. The Traveling Salesman Problem and Its Variations; Springer Science & Business Media: Boston, MA, USA, 2006; Volume 12. [Google Scholar]
  10. Agatz, N.; Bouman, P.; Schmidt, M. Optimization approaches for the traveling salesman problem with drone. Transp. Sci. 2018, 52, 965–981. [Google Scholar] [CrossRef]
  11. Ha, Q.M.; Deville, Y.; Pham, Q.D.; Hà, M.H. On the min-cost traveling salesman problem with drone. Transp. Res. Part C Emerg. Technol. 2018, 86, 597–621. [Google Scholar] [CrossRef] [Green Version]
  12. Murray, C.C.; Chu, A.G. The flying sidekick traveling salesman problem: Optimization of drone-assisted parcel delivery. Transp. Res. Part C Emerg. Technol. 2015, 54, 86–109. [Google Scholar] [CrossRef]
  13. Tang, Z.; van Hoeve, W.J.; Shaw, P. A study on the traveling salesman problem with a drone. In International Conference on Integration of Constraint Programming, Artificial Intelligence, and Operations Research; Springer: Cham, Switzerland, 2019; pp. 557–564. [Google Scholar]
  14. Bouman, P.; Agatz, N.; Schmidt, M. Dynamic programming approaches for the traveling salesman problem with drone. Networks 2018, 72, 528–542. [Google Scholar] [CrossRef] [Green Version]
  15. Schermer, D.; Moeini, M.; Wendt, O. A branch-and-cut approach and alternative formulations for the traveling salesman problem with drone. Networks 2020, 76, 164–186. [Google Scholar] [CrossRef]
  16. Roberti, R.; Ruthmair, M. Exact methods for the traveling salesman problem with drone. Transp. Sci. 2021, 55, 315–335. [Google Scholar] [CrossRef]
  17. Blum, C.; Roli, A. Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Comput. Surv. CSUR 2003, 35, 268–308. [Google Scholar] [CrossRef]
  18. Stegherr, H.; Heider, M.; Hähner, J. Classifying Metaheuristics: Towards a unified multi-level classification system. Nat. Comput. 2020, 1–17. [Google Scholar]
  19. Applegate, D.; Bixby, R.; Chvátal, V.; Cook, W. Finding Cuts in the TSP (A Preliminary Report); Technical Report 5; Rutgers University: New Brunswick, NJ, USA, 1995. [Google Scholar]
  20. Applegate, D.; Bixby, R.; Chvátal, V.; Cook, W. The Traveling Salesman Problem. In Combinatorial Optimization: Theory and Algorithms; Springer: Berlin/Heidelberg, Germany, 2008; pp. 527–562. [Google Scholar] [CrossRef] [Green Version]
  21. Cook, W. Concorde TSP Solver. Available online: http://www.math.uwaterloo.ca/tsp/concorde/index.html (accessed on 29 October 2020).
  22. Ponza, A. Optimization of Drone-Assisted Parcel Delivery. Master’s Thesis, Universita Degli Studi Di Padova, Padova, Italy, 2015. [Google Scholar]
  23. de Freitas, J.C.; Penna, P.H.V. A variable neighborhood search for flying sidekick traveling salesman problem. Int. Trans. Oper. Res. 2020, 27, 267–290. [Google Scholar] [CrossRef]
  24. Crişan, G.C.; Nechita, E. On a cooperative truck-and-drone delivery system. Procedia Comput. Sci. 2019, 159, 38–47. [Google Scholar] [CrossRef]
  25. González-R, P.L.; Canca, D.; Andrade-Pineda, J.L.; Calle, M.; Leon-Blanco, J.M. Truck-drone team logistics: A heuristic approach to multi-drop route planning. Transp. Res. Part C Emerg. Technol. 2020, 114, 657–680. [Google Scholar] [CrossRef]
  26. Kirkpatrick, S.; Gelatt, C.D.; Vecchi, M.P. Optimization by simulated annealing. Science 1983, 220, 671–680. [Google Scholar] [CrossRef] [PubMed]
  27. Lipowski, A.; Lipowska, D. Roulette-wheel selection via stochastic acceptance. Phys. A Stat. Mech. Appl. 2012, 391, 2193–2196. [Google Scholar] [CrossRef] [Green Version]
  28. Mladenović, N.; Hansen, P. Variable neighborhood search. Comput. Oper. Res. 1997, 24, 1097–1100. [Google Scholar] [CrossRef]
  29. de Freitas, J.C.; Penna, P.H.V. A randomized variable neighborhood descent heuristic to solve the flying sidekick traveling salesman problem. Electron. Notes Discret. Math. 2018, 66, 95–102. [Google Scholar] [CrossRef]
  30. Özoğlu, B.; Çakmak, E.; Tuğçe, K. Clarke & Wright’s savings algorithm and genetic algorithms based hybrid approach for flying sidekick traveling salesman problem. Avrupa Bilim Teknol. Derg. 2019, 185–192. [Google Scholar]
  31. Holland, J.H. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence; MIT Press: Cambridge, MA, USA, 1992. [Google Scholar]
  32. Clarke, G.; Wright, J.W. Scheduling of vehicles from a central depot to a number of delivery points. Oper. Res. 1964, 12, 568–581. [Google Scholar] [CrossRef]
  33. Ha, Q.M.; Deville, Y.; Pham, Q.D.; Hà, M.H. A hybrid genetic algorithm for the traveling salesman problem with drone. J. Heuristics 2020, 26, 219–247. [Google Scholar] [CrossRef] [Green Version]
  34. Ferrandez, S.M.; Harbison, T.; Weber, T.; Sturges, R.; Rich, R. Optimization of a truck-drone in tandem delivery network using k-means and genetic algorithm. J. Ind. Eng. Manag. JIEM 2016, 9, 374–388. [Google Scholar] [CrossRef] [Green Version]
  35. Houseknecht, J. An ACO-Inspired, Probabilistic, Greedy Approach to the Drone Traveling Salesman Problem. Bachelor’s Thesis, School of Engineering and Computational Sciences Senior Honors, Liberty University, Lynchburg, VA, USA, 2019. [Google Scholar]
  36. Dorigo, M.; Maniezzo, V.; Colorni, A. Ant system: Optimization by a colony of cooperating agents. IEEE Trans. Syst. Man Cybernet. Part B Cybernet. 1996, 26, 29–41. [Google Scholar] [CrossRef] [Green Version]
  37. Feo, T.A.; Resende, M.G. Greedy randomized adaptive search procedures. J. Glob. Optim. 1995, 6, 109–133. [Google Scholar] [CrossRef] [Green Version]
  38. Feo, T.A.; Resende, M.G. A probabilistic heuristic for a computationally difficult set covering problem. Oper. Res. Lett. 1989, 8, 67–71. [Google Scholar] [CrossRef]
  39. Eiben, A.E.; Smith, J.E. Introduction to Evolutionary Computing; Springer: Berlin/Heidelberg, Germany, 2003; Volume 53. [Google Scholar]
  40. Serpell, M.; Smith, J.E. Self-adaptation of mutation operator and probability for permutation representations in genetic algorithms. Evol. Comput. 2010, 18, 491–514. [Google Scholar] [CrossRef] [PubMed]
  41. Resende, M.G.; Ribeiro, C.C. Greedy randomized adaptive search procedures. In Handbook of Metaheuristics; Springer: Boston, MA, USA, 2003; pp. 219–249. [Google Scholar]
  42. Russell, S.; Norvig, P. Artificial Intelligence: A Modern Approach; Prentice Hall: Upper Saddle River, NJ, USA, 2002. [Google Scholar]
  43. Agatz, N.; Bouman, P.; Schmidt, M. Instances for the Tsp with Drone. Available online: https://zenodo.org/record/1204676#.YIc_y30zYTU (accessed on 30 October 2020).
  44. Bengio, Y. Practical recommendations for gradient-based training of deep architectures. In Neural Networks: Tricks of the Trade; Springer: Berlin/Heidelberg, Germany, 2012; pp. 437–478. [Google Scholar]
  45. Oyeka, I.C.A.; Ebuh, G.U. Modified Wilcoxon signed-rank test. Open J. Stat. 2012, 2, 172–176. [Google Scholar] [CrossRef] [Green Version]
  46. Theodorsson-Norheim, E. Friedman and Quade tests: BASIC computer program to perform nonparametric two-way analysis of variance and multiple comparisons on ranks of several related samples. Comput. Biol. Med. 1987, 17, 85–99. [Google Scholar] [CrossRef]
Figure 1. TSP vs. TSP-D for a graph of size n = 9 : (a) displays an optimal TSP route without the aid of a drone; and (b) displays a TSP-D route, where the drone is launched from a truck, delivering parcels to two customers.
Figure 1. TSP vs. TSP-D for a graph of size n = 9 : (a) displays an optimal TSP route without the aid of a drone; and (b) displays a TSP-D route, where the drone is launched from a truck, delivering parcels to two customers.
Applsci 11 06443 g001
Figure 2. Representative solution: (a) represents the solution corresponding to the graph presented in (b).
Figure 2. Representative solution: (a) represents the solution corresponding to the graph presented in (b).
Applsci 11 06443 g002
Figure 3. Transforming node j into a drone node.
Figure 3. Transforming node j into a drone node.
Applsci 11 06443 g003
Figure 4. P u s h L e f t move: (a) displays the current solution before applying P u s h L e f t ; and (b) displays the solution after applying P u s h L e f t .
Figure 4. P u s h L e f t move: (a) displays the current solution before applying P u s h L e f t ; and (b) displays the solution after applying P u s h L e f t .
Applsci 11 06443 g004
Figure 5. Example of the S w a p move: (a) displays the TSP-D solution, t s p d , before applying S w a p ; and (b) displays the t s p d after nodes 2 and 5 have been swapped.
Figure 5. Example of the S w a p move: (a) displays the TSP-D solution, t s p d , before applying S w a p ; and (b) displays the t s p d after nodes 2 and 5 have been swapped.
Applsci 11 06443 g005
Figure 6. An example of a S w a p move: (a) displays the TSP-D solution, t s p d , before applying S w a p ; and (b) displays the t s p d after nodes 2 and 5 have been swapped.
Figure 6. An example of a S w a p move: (a) displays the TSP-D solution, t s p d , before applying S w a p ; and (b) displays the t s p d after nodes 2 and 5 have been swapped.
Applsci 11 06443 g006
Figure 7. An example of an invalid T w o O p t move applied to the graph in (a), where origin node 3 is a truck node inside a sortie and the origin node 6 is a launch node for a different sortie, resulting in an invalid tour in (b).
Figure 7. An example of an invalid T w o O p t move applied to the graph in (a), where origin node 3 is a truck node inside a sortie and the origin node 6 is a launch node for a different sortie, resulting in an invalid tour in (b).
Applsci 11 06443 g007
Figure 8. An example of an invalid T w o O p t move applied to the graph in (a), where origin nodes 2 and 5 are launch nodes and their destination nodes 4 and 7 are rendezvous nodes, resulting in an invalid tour in (b).
Figure 8. An example of an invalid T w o O p t move applied to the graph in (a), where origin nodes 2 and 5 are launch nodes and their destination nodes 4 and 7 are rendezvous nodes, resulting in an invalid tour in (b).
Applsci 11 06443 g008
Figure 9. An example of an invalid T w o O p t move applied to the graph in (a), where destination node 4 is a launch and rendezvous node for different sorties, resulting in an invalid tour in (b).
Figure 9. An example of an invalid T w o O p t move applied to the graph in (a), where destination node 4 is a launch and rendezvous node for different sorties, resulting in an invalid tour in (b).
Applsci 11 06443 g009
Figure 10. Comparison of the average solution cost obtained with the two GRASP variants–GRASP with HCLS vs. GRASP with SA: (a) Uniform distribution, α = 1 . (b) Uniform distribution, α = 2 . (c) Single-centered distribution, α = 1 . (d) Single-centered distribution, α = 2 .
Figure 10. Comparison of the average solution cost obtained with the two GRASP variants–GRASP with HCLS vs. GRASP with SA: (a) Uniform distribution, α = 1 . (b) Uniform distribution, α = 2 . (c) Single-centered distribution, α = 1 . (d) Single-centered distribution, α = 2 .
Applsci 11 06443 g010
Figure 11. Comparison of the average solution cost (in s e c s) obtained with the HCLS variant of the proposed GRASP, HGVNS [23], and LS [10] for instances of size 10, 20, 50, 75, and 100: (a) Uniform distribution, α = 1 . (b) Uniform distribution, α = 2 . (c) Single-centered distribution. α = 1 (d) Single-centered distribution, α = 2 .
Figure 11. Comparison of the average solution cost (in s e c s) obtained with the HCLS variant of the proposed GRASP, HGVNS [23], and LS [10] for instances of size 10, 20, 50, 75, and 100: (a) Uniform distribution, α = 1 . (b) Uniform distribution, α = 2 . (c) Single-centered distribution. α = 1 (d) Single-centered distribution, α = 2 .
Applsci 11 06443 g011
Table 1. Algorithm parameter initialization.
Table 1. Algorithm parameter initialization.
ParameterInitial ValueDescription
m a x T r i a l s n × 10 Max. number of iterations in GRASP
p m 0.5 Move selection probability in LS
β 0.02 Learning rate for updating p m
w i n d o w S i z e n 2 Window size for updating p m
m a x I t e r nMax. number of iterations in HCLS
c o n v e r g e n c e n × 0.3 Max. number of iterations without improvement in LS
T 0 500Initial temperature in SA
T f 0.01 Final temperature in SA
γ 0.95 SA cooling schedule coefficient
Table 2. Results obtained with the proposed GRASP approach, HCLS variant.
Table 2. Results obtained with the proposed GRASP approach, HCLS variant.
SizeCostRuntimeSwapTwoOptSwap SuccessTwoOpt Success
Uniform Distribution
α = 1 10281.46 ± 1.384.055107.894709.60338.840.02
20363.83 ± 1.6411.134141.194058.0689.940.13
50554.10 ± 0.5757.013848.663847.0823.010.07
75647.18 ± 1.12121.853804.583784.049.600.13
100731.32 ± 0.78NA12,867.7712,851.6013.750.17
Avg.516.99 ± 1.1048.515954.025850.0795.030.10
α = 2 10224.74 ± 3.672.324246.954010.12105.20.00
20306.39 ± 4.554.983963.703888.4143.810.04
50472.88 ± 2.9018.893807.673806.2211.171.43
75551.92 ± 3.1232.693795.463791.467.981.42
100632.30 ± 2.41NA15,166.7015,204.0019.083.36
Avg.437.65 ± 3.3314.726196.106140.0437.451.25
Single Center
α = 1 10385.49 ± 8.144.2355500.515027.52484.101.00
20546.13 ± 3.9111.194172.034085.86101.390.44
50776.97 ± 1.2856.693838.703835.0121.200.11
751039.74 ± 1.47121.953789.253812.0611.970.10
1001238.28 ± 1.60NA15,177.6315,201.6023.890.10
Avg.797.32 ± 3.2848.526495.626392.45128.510.35
α = 2 10277.00 ± 6.172.394406.144143.45158.165.07
20402.92 ± 7.094.533920.743856.9933.132.35
50604.79 ± 6.2213.223787.353792.577.091.19
75851.01 ± 7.0323.033774.443775.383.830.83
100995.72 ± 9.10NA15,145.0415,128.2410.715.29
Avg.626.29 ± 7.1210.806206.746139.3342.582.95
Table 3. Results obtained with the proposed GRASP approach, SA variant.
Table 3. Results obtained with the proposed GRASP approach, SA variant.
SizeCostRuntimeSwapTwoOptSwap SuccessTwoOpt Success
Uniform Distribution
α = 1 10283.71 ± 1.913.373185.492948.501173.7721.21
20366.08 ± 0.7415.9412,194.3010,935.504031.44140.95
50561.93 ± 58.0487.7625,107.2723,404.504050.01221.54
75656.76 ± 94.22282.6242,641.8140,542.604415.07269.36
Avg.467.12 ± 38.7397.4220,782.2319,457.803417.57163.27
α = 2 10242.09 ± 9.602.544597.524152.011590.50349.87
20321.88 ± 5.3412.2515,570.1813,879.044604.19711.19
50568.37 ± 94.3160.0130,890.6926,462.187064.082919.46
75648.30 ± 113.28164.6254,327.1452,851.945357.964451.74
Avg.445.16 ± 55.5859.8626,346.3824,336.294654.182108.07
Single Center
α = 1 10380.46 ± 7.743.293557.433272.931174.02269.90
20556.99 ± 3.0916.3311,851.5510,657.873878.31137.46
50787.78 ± 64.3485.1325,643.5523,858.434372.77219.97
751058.13 ± 89.51244.2342,661.8040,628.154396.45262.65
Avg.695.84 ± 41.1787.2420,928.5819,604.303455.39222.50
α = 2 10295.49 ± 9.242.514231.813831.191437.96293.26
20428.09 ± 12.5512.3315,760.8714,192.324427.882114.55
50723.88 ± 107.9358.2132,542.0731,949.984799.594409.37
751030.92 ± 104.36154.6555,666.1357,962.205123.66297.56
Avg.619.60 ± 58.5256.9227,050.2226,983.923947.263278.69
Table 4. Performance comparison of the models obtained by the LS [10], a TSP-D version of the HGVNS [23], and the proposed GRASP HCLS variant, showing the average solution cost in s e c s.
Table 4. Performance comparison of the models obtained by the LS [10], a TSP-D version of the HGVNS [23], and the proposed GRASP HCLS variant, showing the average solution cost in s e c s.
SizeCost
LS [10]HGVNS [23]GRASP
Uniform Distribution
α = 1 10286.82289.82285.69
20365.38368.5364.54
50550.38559.20554.94
75645.55624.32647.18
100729.40698.42731.10
Avg.515.51508.05515.16
α = 2 10231.29233.20230.75
20293.59293.60312.82
50428.63420.80478.31
75495.90490.40557.15
100572.53553.43632.30
Avg.404.39398.29437.65
Single Center
α = 1 10379.29364.90399.55
20529.15553.53553.79
50763.28784.32779.33
751017.04978.321042.00
1001203.421193.951238.28
Avg.778.44775.00797.32
α = 2 10278.22291.36287.13
20384.87364.00416.47
50554.58593.50617.43
75741.38754.40861.21
100891.28900.10995.72
Avg.570.07580.67626.29
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

AlMuhaideb, S.; Alhussan, T.; Alamri, S.; Altwaijry, Y.; Aljarbou, L.; Alrayes, H. Optimization of Truck-Drone Parcel Delivery Using Metaheuristics. Appl. Sci. 2021, 11, 6443. https://doi.org/10.3390/app11146443

AMA Style

AlMuhaideb S, Alhussan T, Alamri S, Altwaijry Y, Aljarbou L, Alrayes H. Optimization of Truck-Drone Parcel Delivery Using Metaheuristics. Applied Sciences. 2021; 11(14):6443. https://doi.org/10.3390/app11146443

Chicago/Turabian Style

AlMuhaideb, Sarab, Taghreed Alhussan, Sara Alamri, Yara Altwaijry, Lujain Aljarbou, and Haifa Alrayes. 2021. "Optimization of Truck-Drone Parcel Delivery Using Metaheuristics" Applied Sciences 11, no. 14: 6443. https://doi.org/10.3390/app11146443

APA Style

AlMuhaideb, S., Alhussan, T., Alamri, S., Altwaijry, Y., Aljarbou, L., & Alrayes, H. (2021). Optimization of Truck-Drone Parcel Delivery Using Metaheuristics. Applied Sciences, 11(14), 6443. https://doi.org/10.3390/app11146443

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop