Next Article in Journal
An Effective Staff Scheduling for Shift Workers in Social Welfare Facilities for the Disabled
Next Article in Special Issue
Union Models for Model Families: Efficient Reasoning over Space and Time
Previous Article in Journal
Fuzzy Algorithmic Modeling of Economics and Innovation Process Dynamics Based on Preliminary Component Allocation by Singular Spectrum Analysis Method
Previous Article in Special Issue
Ant-Balanced Multiple Traveling Salesmen: ACO-BmTSP
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Solving the Parallel Drone Scheduling Traveling Salesman Problem via Constraint Programming

by
Roberto Montemanni
1,* and
Mauro Dell’Amico
1,2
1
Department of Sciences and Methods for Engineering, University of Modena and Reggio Emilia, Via Amendola 2, 42122 Reggio Emilia, Italy
2
Interdepartmental Center En&Tech, University of Modena and Reggio Emilia, Capannone 19 Tecnopolo, Piazza Europa 1, 42122 Reggio Emilia, Italy
*
Author to whom correspondence should be addressed.
Algorithms 2023, 16(1), 40; https://doi.org/10.3390/a16010040
Submission received: 23 December 2022 / Revised: 3 January 2023 / Accepted: 6 January 2023 / Published: 8 January 2023

Abstract

:
Drones are currently seen as a viable way of improving the distribution of parcels in urban and rural environments, while working in coordination with traditional vehicles, such as trucks. In this paper, we consider the parallel drone scheduling traveling salesman problem, where a set of customers requiring a delivery is split between a truck and a fleet of drones, with the aim of minimizing the total time required to serve all the customers. We propose a constraint programming model for the problem, discuss its implementation and present the results of an experimental program on the instances previously cited in the literature to validate exact and heuristic algorithms. We were able to decrease the cost (the time required to serve customers) for some of the instances and, for the first time, to provide a demonstrated optimal solution for all the instances considered. These results show that constraint programming can be a very effective tool for attacking optimization problems with traveling salesman components, such as the one discussed.

1. Introduction

E-commerce has experienced a boom in recent decades and, according to statistics provided by Statista (https://www.statista.com/statistics/379046/worldwide-retail-e-commerce-sales/, accessed on 8 January 2023), an enormous increase in e-commerce sales is occurring worldwide. One consequence is a huge increase in home-delivered parcels, which can be readily observed in our own cities. It has been reported [1] that many e-commerce and parcel delivery companies are offering ever faster delivery, such as same-day and instant delivery. The report suggests that 20 to 25% of consumers are willing to pay more to receive their parcel on the same day, and 2% would want instant delivery. Companies may be able to offer this kind of delivery through application of cutting-edge technology, such as the use of different types of vehicles, including aerial drones. In [2], the authors forecast that autonomous vehicles, including drones, will deliver about 80% of all parcels in the coming decades. Among the different aspects of the use of aerial drones for last mile deliveries, we focus on operational planning, aiming at optimized delivery strategies. There are several advantages associated with the use of aerial drones: they do not need to follow the road network and can fly in (almost) straight lines, and they are not affected by traffic congestion. These properties also have an important positive impact on sustainability, making these innovative solutions of interest to companies (through reduction in costs), to customers (through more efficient delivery services) and for the whole of society (through more sustainable logistics).
The seminal work of [3] pioneered a new routing optimization problem in which a truck and a drone collaborate to make deliveries. From an operational research perspective, the authors present two new prototypical variants developed from the traditional traveling salesman problem (TSP) called flying sidekick TSP (FSTSP) and parallel drone scheduling TSP (PDSTSP). In both cases a truck and drones collaborate to deliver parcels, the difference being that, in the former, model drones can be launched and collected from the truck during its tour, while, in the latter, the drones are operated directly from the central depot, while the truck executes a traditional delivery tour. In the remainder of the paper, we will focus on the second problem, addressing the interested reader to [4] for full details and some solution strategies for the FSTSP.
More specifically, in the PDSTSP, there is a truck that can leave the depot, serve a set of customers, and return to the depot, and a set of drones, each of which can leave the depot, serve a customer, and return to the depot before serving other customers. Not all the customers can be served by the drones, either due to their location or the characteristics of their parcel. The objective of the approach is to minimize the time needed to serve all the customers and to get the last vehicle back to the depot.
A first mixed-integer linear programming (MILP) model for the PDSTSP and some heuristic methods [5,6] are proposed in [3]. A more refined model, and the first metaheuristic method, based on a two-step strategy embedding a dynamic programming-based component, are discussed in [7] (later extended in [8] for a variation of the problem using several trucks). A similar two-step approach, but based on matheuristics concepts [9] is presented in [10]. A hybrid ant colony optimization metaheuristic is discussed in [11]. An improved variable neighbour search metaheuristic is presented in [12]. Most of the work published to date has focused on heuristic methods, while exact methods have been able to solve systematically only instances with up to 20 customers [10]. Two other recent studies have dealt with variations of the problem where several trucks are employed, and also present results for the basic PDSTSP. In [13], three MILP models are proposed, one of which is arc-based and the other two are set-covering-based, together with a branch-and-price approach using one of the set-covering-based models. A heuristic version of one of the solvers is also discussed, leading to a matheuristic approach developed to target large instances. A more realistic variation of the PDSTSP is introduced in [14], where concepts such as the capacity of the vehicles, load balancing and decoupling of costs and times are taken into account. The authors propose an MILP model and a ruin-and-recreate metaheuristic for the problem. Several other PDSTSP variants and extensions have also been introduced and investigated in the literature. We refer the interested reader to [15,16] for a complete survey. The reader interested in technological details about hardware design for UAVs can refer to [17,18]. Solutions for autonomous flying for drones are described in [19]. Finally, policies and regulations for flying drones are analyzed in [20].
In this paper, we explore the potential of constraint programming (CP) for the PDSTSP. The use of CP is motivated by recent developments in black-box solvers for such a paradigm. Although still not widely used in the optimization community, these solvers can now benefit greatly from parallel computation, and offer a new perspective for optimization on modern personal computers. We discuss how to use CP efficiently and show how the paradigm can be used to optimally solve (mostly for the first time) instances traditionally used to benchmark exact and heuristic PDSTSP approaches in the literature. In earlier research studies attention was focused mainly on heuristic methods, since initial studies indicated that exact algorithms were not likely to be suitable for large instances. In this paper, we show that CP can be a “game-changer” for PDSTSP and potentially for other optimization problems with similar characteristics.
The rest of the paper is organized as follows: PDSTSP is formally defined in Section 2; in Section 3, a CP model for the PDSTSP, that represents the main contribution of the paper, together with the results, is proposed; Section 4 presents extensive experimental results relating to validation of the proposed approach; our conclusions are drawn in Section 5.

2. The Parallel Drone Scheduling Traveling Salesman Problem

The PDSTSP can be represented on a complete directed graph G = ( V , A ) , where the node set V = { 0 , 1 , . . . , n } includes the depot (node 0) and a set of customers C = { 1 , . . . , n } to be served. The set A contains ordered pairs of nodes, representing connections. A truck and a set D of identical drones are available to deliver parcels to the customers. The truck starts from the depot 0, visits a subset of the customers, and returns back to the depot. The drones operate back-and-forth trips from the depot to customers, delivering one parcel per trip. Not all the customers can be served by a drone due to the weight of the parcel, excessive distance of the customer location from the depot, or adverse morphological configurations of the terrain. Let C D C denote the set of customers that can be served by drones. These customers are referred to as drone-eligible in the remainder of the paper. The travel time incurred by the truck to go from node i to node j is denoted as t i j T , while the time required by a drone to serve a customer i (back-and-forth trip) is denoted as t i U . The truck and the drones start from the depot at time 0; the objective of the PDSTSP is to minimize the time required to complete all the deliveries and to have the truck and all the drones back at the depot. Note that, since the truck and drones work in parallel, the objective function translates into minimizing the maximum time required by the vehicles. In the remainder of the paper, we refer to this quantity as cost.
An example of a PDSTSP instance is provided in Figure 1.

3. A Constraint Programming Model

The P D S T S P can be formally described by the following CP model. The variables are defined as follows: A binary variable y i j , with i , j V , takes value 1 if node i is visited right before node j by the truck during its tour, and value 0 otherwise. Note that, in case a customer i C D is visited by a drone, then y i i is set to 1, 0 otherwise. A binary variable x d i , with d D and i C D , takes value 1 if the drone-eligible customer i is visited by the drone d, and value 0 otherwise. Finally, a variable α is used to capture the objective function value, which is the time taken by the last vehicle to go back to the depot after completion of its tasks.
( P D S T S P ) min α
s . t . Circuit ( y i j ; i , j V )
d D x d i = y i i i C D
α i V j V , i j t i j T y i j
α i C D t i D x d i d D
y i j { 0 ; 1 } i , j V
x d i { 0 ; 1 } d D , i C D
The objective function (1) minimizes α that will be assigned the time of the longest tasks among the vehicles. Constraint (2) implements a circuit that imposes y variables to take values in such a way as to form a feasible truck tour, and eventually self-loops for the variables associated with customers not visited by the truck. Constraint (3) requires that, if a customer i C D is not visited by the truck (which means y i i = 1 ), then a drone d must visit it. Constraint (4) sets α to be at least as large as the length of the truck tour. Constraint (5) requires α to take a value larger than or equal to the time spent by each drone d to execute the tasks assigned to it. Finally, constraints (6) and (7) define the domain of the binary variables.

4. Computational Experiments

The constraint programming model described in Section 3 was implemented in Python 3.9 and solved via the CP-SAT solver of Google OR-Tools (https://developers.google.com/optimization, accessed on 8 January 2023) 9.4. Note that this CP solver, like most modern versions, relies heavily on bounds from linear programming during computations. The experiments were run on a laptop computer equipped with 8GB of RAM, an Apple M1 chip and using all eight CPU cores available—four performance cores running up to 3.204 GHz and four efficiency cores running up to 2.064 GHz—unless otherwise indicated.
The outcomes of the extensive experimental program that was undertaken are discussed in the remainder of this section.
A quite vast literature related to solving methods for the PDSTSP exists. We compare our results with the exact methods (namely, MILPs attacked via commercial solvers) presented in [3,10,13], and, for the larger instances, with the heuristic methods discussed in [7,10,11,12,14]. The results are organized by benchmark sets, after some preliminary considerations are presented and experiments on solver-related aspects are described. The optimal solutions obtained in the study are available in the Supplementary Materials.

4.1. Preliminary Experiments

In this section, we report the results of some preliminary experiments aimed at tuning a parameter of the solving procedure implemented and understanding the behaviour of the CP-SAT solver while running in a multi-threading environment.

4.1.1. Scaling and Precision

For technical reasons, the CP solver requires the use of integer coefficients in the constraints; then, scaling is necessary to represent floating point values for the coefficients that appear in constraints (4) and (5) of our model. In practice, the coefficients need to be multiplied by a constant F and, then, only the integer part is considered. Once the optimal solution is found, the value of α has to be scaled back by dividing by F. The choice of the scaling factor F has a double impact on the performance of the solver: high values for the factor guarantee higher numerical precision in the results (once scaled back), but, at the same time, lower numerical precision leads to faster execution. Therefore, a trade-off has to be found.
We carried out a preliminary study to identify a suitable value for the factor F that would then be adopted for the rest of the experiments. A representative instance to illustrate our results was identified in berlin52_0_80_2_2_1 (originally proposed in [7] and with an optimal solution of cost 5290.652). The results obtained by considering F { 1 ; 10 ; 100 ; 1000 ; 10 , 000 ; 100 , 000 ; 1 , 000 , 000 } are reported in Figure 2. In the first chart, we report the computation time (in seconds) required by the solver for different values of F; in the second chart, the value of the optimal cost affected by precision errors (estimated), and the value of the real cost of the same solution, are plotted.
From Figure 2, it can be observed that smaller scaling factors correspond to shorter computing times, both to retrieve the optimal solution and to confirm its optimality. On the other hand, the precision associated with a smaller scaling factor is not sufficient, as shown by the poor quality of the estimation of the cost of the tentative optimal solution retrieved. The results presented are illustrative and representative. Based on the results, we chose to use F = 10 , 000 for the remaining experiments. This value guarantees acceptable computation times and sufficiently safe precision for floating point numbers. Note that, from the results, the choice can appear as over-conservative, since values such as 100 and 1000 for F have already been shown to be good approximations; however, since the computation time associated with 10 , 000 is only marginally increased, we preferred it, to be sure to avoid any numerical instability problems in our results.

4.1.2. Multi-Threading Computation

CP solvers notoriously benefit greatly from the use of multi-threading computation, typically substantially more than MILP solvers, due to the different nature of the solving routines. On the other hand, nowadays, home-computers and laptops offer multi-core architectures, making parallel computation affordable. In this section, we assess the effect of multi-threading on the performance of solvers while running on the PDTSP.
For the test reported, we selected the instance eil101_0_0_1_2_1 first proposed in [7] since it reduces to a classic traveling salesman problem, with no drone-eligible customers. This also enables previously proposed MILP-based solvers for the PDSTSP to close the instance. A maximum running time of 180 s was set. We solve the CP model described in Section 3 with the CP-SAT solver and the MILP model described in [10] attacked by the Gurobi (https://www.gurobi.com, accessed on 5 January 2023) 9.1.1 solver. For both cases, we allow the use of a number of parallel threads between 1 and 8; in Figure 3, we report on the time required by the solvers (180 is reported when the time limit is reached).
The results reported in Figure 3 indicate that the CP approach is able to benefit substantially from the use of multi-threading computation. This result was expected, given the general characteristics of routines solving constraint programming and their scalability properties. More surprising is the drastic change in performance between four and five threads. This behaviour was observed in several other instances (although the jump was not always between four and five) and is likely a consequence of activation of crucial sub-solvers on newly available parallel cores. In general, the chart also testifies to the importance of the heuristic routines used to distribute the computation economically and efficiently and to select the alternative solvers that are eventually run in parallel. On the other hand, the MILP solver does not seem to benefit from multi-threading in these short tests, possibly due to the overhead of distributing tasks and collecting results and to the reduced variety of the methods run in parallel. It should be noted that the situation might be less extreme when more challenging instances are considered, but this is difficult to observe, since, even with longer computation times (hours) allowed and eight threads, generic instances were not closed.
In conclusion, multi-threading appears to be the basis of the success of modern CP solvers; therefore, all the experiments reported in Section 4.2 were run on eight cores.

4.2. Main Experimental Results

In this section, we consider the instances commonly adopted in the previous PDSTSP literature. We also present optimal solution costs and the computation times required by the CP model discussed in Section 3 to retrieve these solutions.
It should be noted that the optimal solution costs were only already published for the 720 small instances discussed in Section 4.2.1 and for two of the instances addressed in Section 4.2.2. For all remaining 96 instances, optimality was demonstrated here for the first time.

4.2.1. Instances Proposed in [3]

The first instances analysed were those originally proposed in [3]. A total of 120 configurations with 10 customers and 120 configurations with 20 customers were created; these instances were solved with a single truck and either one, two, or three drones, resulting in 720 test instances.
In Table 1, we compare the results published in [3,10,13] with the new CP-based approach. The rows give the average values over the 360 instances with 10 customers and the 360 instances with 20 customers. For each instance size, and for each algorithm, we give the average computing time in seconds required to solve the instances and the standard deviations. It should be noted that the experiments were run on different hardware configurations, so the comparison might not be fair. In addition, the experiments for the methods based on MILP models discussed in [10,13] were run on a single core, while those from [3] and our CP model were run using eight cores. This might make the comparison even less fair, but it has also to be considered that, according to the experiments reported in Section 4.1.2, it is very unlikely that the MILP solvers could achieve a real substantial advantage by running in parallel for the problem considered. This is not true for the CP solver, which is designed to exploit as much as possible from any multi-core architecture (in our case, a laptop computer).
The results presented in Table 1 highlight the substantial improvements in exact methods for the PDSTSP that have occurred in the last few years. The CP model discussed in Section 3 (bold entries) is the fastest, with a clear advantage (especially in terms of standard deviation) for the instances with 20 customers.

4.2.2. Instances Proposed in Mbiadou Saleu et al. in [7]

A second program of experiments to test the new CP model was carried out on the instances originated from TSPLIB [21] in [7]. For each original TSPLIB instance considered, several PDSTSP instances were created; we refer the reader to [7,14] for the details. The results cover instances with 48 to 229 customers (first number in the name of each instance); the results are presented for several methods (we show the best results disclosed in a single publication where alternative methods are discussed) together with those of the new CP model. It should be noted that the latter is the first effective exact solving method used for these instances. The results are grouped by original TSPLIB instance and are summarized in Table 2, Table 3, Table 4, Table 5, Table 6 and Table 7. For each heuristic method, the best upper bound is reported, while, for the CP method, the optimal solution cost, the time required to retrieve the optimal solution (Sec found), and the time to prove its optimality (Sec opt) are annotated. In the tables, we report in italics any suboptimal result, and, in bold, newly improved upper bounds. In this case, the results are taken from the original papers and, therefore, are likely to have been obtained on different hardware configurations.
Examining the results reported in Table 2, Table 3, Table 4, Table 5, Table 6 and Table 7, several observations can be made. The first is that the heuristic methods are extremely effective. The last methods particularly retrieved almost all the optimal solutions (without proving their optimality). The CP solver was able to marginally improve one solution over the previously best known results. It should be noted that this result indirectly validates the quality of the heuristic methods previously proposed. The times required to solve instances to optimality varied from a few seconds for the smaller instances to more than 17,000 s for the largest and most difficult instance.

4.2.3. Instances Proposed in [13]

A third set of experiments to test the model presented in Section 3 was carried out on the instances originated from TSPLIB [21] in [13]. Since this dataset partially overlaps with that discussed in Section 4.2.2, only the results on the uncovered instances are reported here. We rename the instances according to the logic followed in previous publications for the instances presented in [7]. We refer the reader to [13] for full details about the instances (the mapping of the naming notation should also be straightforward). The results again cover instances with 48 to 229 customers served with six drones. We report figures for the methods previously applied on these instances, namely a MILP, a branch-and-price approach (B&P) and a matheuristic algorithm (matheuristic), all discussed in [13]. The results are summarized in Table 8.
The results show that CP was able to find three new optimal solutions, with improvements of up to 15% over the previous solution values. For the hardest instances, however, significant computing time was required—more than 32 h of computation.
In Figure 4 the optimality gaps are reported for all the methods available for these instances. For each method M, the gap is calculated in terms of the percentage deviation from the optimal solution as c o s t ( M ) c o s t ( C P ) c o s t ( C P ) · 100 , where c o s t ( M ) is the cost of the best solution retrieved by method M. From the chart, it is possible to see how the methods previously introduced in [13] have difficulty finding high quality solutions for the larger instances, with substantial gaps with respect to CP in some cases. From the results on these instances, the best method among those discussed in [13] appears to be the MILP-based method, although it performed poorly on one of the instances.
Table 2. Instances originated from att48 in [7]. Optimal solution costs.
Table 2. Instances originated from att48 in [7]. Optimal solution costs.
InstanceMbiadou Saleu et al.
[7]—UB
Dell’Amico et al.
[10]—UB
Dinh et al.
[11]—UB
Lei and Chen
[12]—UB
Nguyen et al.
[14]—UB
Raj et al.
[13]—UB
CP
Opt CostSec FoundSec Opt
att48_0_80_1_2_129,954.029,954.029,954.029,954.0--29,954.00.71.3
att48_1_80_1_2_133,798.033,798.033,798.033,798.0--33,798.02.73.3
att48_0_0_1_2_142,136.042,136.042,136.042,136.0--42,136.00.30.3
att48_0_20_1_2_138,662.038,662.038,662.038,662.0--38,662.00.80.8
att48_0_40_1_2_131,592.031,592.031,592.031,592.0--31,592.00.50.5
att48_0_60_1_2_130,788.830,788.830,788.830,788.8--30,788.82.02.2
att48_0_100_1_2_127,784.027,784.027,784.027,784.0--27,784.04.15.2
att48_0_80_1_1_133,234.033,234.033,234.033,234.0--33,234.01.42.1
att48_0_80_1_3_129,142.029,142.029,142.029,142.0--29,142.02.45.3
att48_0_80_1_4_128,686.028,686.028,686.028,686.0--28,686.03.87.1
att48_0_80_1_5_128,610.028,610.028,610.028,610.0--28,610.02.97.6
att48_0_80_2_2_128,686.028,686.028,686.028,686.0-28,796.028,686.011.113.6
att48_0_80_3_2_128,610.028,610.028,610.028,610.0--28,610.02.018.0
att48_0_80_4_2_128,610.028,610.028,610.028,610.0-28,610.028,610.05.922.6
att48_0_80_5_2_128,610.028,610.028,610.028,610.0--28,610.03.527.3
Table 3. Instances originated from berlin52 in [7]. Optimal solution costs.
Table 3. Instances originated from berlin52 in [7]. Optimal solution costs.
InstanceMbiadou Saleu et al.
[7]—UB
Dell’Amico et al.
[10]—UB
Dinh et al.
[11]—UB
Lei and Chen
[12]—UB
Nguyen et al.
[14]—UB
Raj et al.
[13]—UB
CP
Opt CostSec FoundSec Opt
berlin52_0_80_1_2_16386.56386.56386.56386.5--6386.53.54.5
berlin52_1_80_1_2_17830.07830.07830.07830.0--7830.00.71.0
berlin52_0_0_1_2_19675.09675.09675.09675.0--9675.00.40.5
berlin52_0_20_1_2_19350.09350.09350.09350.0--9350.01.11.1
berlin52_0_40_1_2_18300.08300.08300.08300.0--8300.01.01.1
berlin52_0_60_1_2_17410.07410.07410.07410.0--7410.03.06.7
berlin52_0_100_1_2_16192.06192.06192.06192.0--6192.013.719.6
berlin52_0_80_1_1_17450.07450.07450.07450.0--7450.01.55.4
berlin52_0_80_1_3_15656.65656.65656.65656.6--5656.61.92.4
berlin52_0_80_1_4_15290.75290.75290.75290.7--5290.71.01.8
berlin52_0_80_1_5_15190.05190.05190.05190.0--5190.02.02.1
berlin52_0_80_2_2_15299.85290.75290.75290.7-5290.7 a5290.72.85.3
berlin52_0_80_3_2_15190.05190.05190.05190.0--5190.02.22.2
berlin52_0_80_4_2_15190.05190.05190.05190.0-5190.0 a5190.02.22.2
berlin52_0_80_5_2_15190.05190.05190.05190.0--5190.01.21.3
a Optimality first proven in [13].
Table 4. Instances originated from eil101 in [7]. Optimal solution costs.
Table 4. Instances originated from eil101 in [7]. Optimal solution costs.
InstanceMbiadou Saleu et al.
[7]—UB
Dell’Amico et al.
[10]—UB
Dinh et al.
[11]—UB
Lei and Chen
[12]—UB
Nguyen et al.
[14]—UB
Raj et al.
[13]—UB
CP
Opt CostSec FoundSec Opt
eil101_0_80_1_2_1564.0564.0564.0564.0564.0-564.034.339.5
eil101_1_80_1_2_1650.0649.0649.0649.0649.0-649.071.480.8
eil101_0_0_1_2_1819.0819.0819.0819.0819.0-819.05.96.0
eil101_0_20_1_2_1738.0736.0736.0736.0736.0-736.015.720.2
eil101_0_40_1_2_1646.0646.0646.0646.0646.0-646.021.438.8
eil101_0_60_1_2_1578.0578.0578.0578.0578.0-578.031.435.9
eil101_0_100_1_2_1561.4560.0560.0560.0560.0-560.054.892.4
eil101_0_80_1_1_1650.0650.0650.0650.0650.0-650.070.392.5
eil101_0_80_1_3_1504.0504.0503.9503.2503.2-503.222.244.2
eil101_0_80_1_4_1456.0456.0456.0456.0456.0-456.016.036.0
eil101_0_80_1_5_1420.8421.0420.8420.8420.8-420.829.635.5
eil101_0_80_2_2_1456.0456.0456.0456.0456.0458.8456.057.7276.0
eil101_0_80_3_2_1395.0395.0395.0395.0395.0-395.029.965.9
eil101_0_80_4_2_1346.7346.0346.0346.0346.0354.0346.025.536.7
eil101_0_80_5_2_1319.7318.0318.0318.0318.0-318.011.933.5
Table 5. Instances originated from gr120 in [7]. Optimal solution costs.
Table 5. Instances originated from gr120 in [7]. Optimal solution costs.
InstanceMbiadou Saleu et al.
[7]—UB
Dell’Amico et al.
[10]—UB
Dinh et al.
[11]—UB
Lei and Chen
[12]—UB
Nguyen et al.
[14]—UB
Raj et al.
[13]—UB
CP
Opt CostSec FoundSec Opt
gr120_0_80_1_2_11414.01420.81414.01414.01414.0-1414.0168.7206.2
gr120_1_80_1_2_11730.01726.01726.01726.01726.0-1726.099.0113.6
gr120_0_0_1_2_12006.02006.02006.02006.02006.0-2006.07.98.1
gr120_0_20_1_2_11736.01736.01736.01736.01736.0-1736.048.152.0
gr120_0_40_1_2_11624.01624.01624.01624.01624.0-1624.0142.0152.6
gr120_0_60_1_2_11494.01494.01494.01494.01494.0-1494.027.569.8
gr120_0_100_1_2_11414.81416.01414.01414.01414.0-1414.0138.2775.5
gr120_0_80_1_1_11592.01592.01592.01592.01592.0-1592.0119.7288.1
gr120_0_80_1_3_11289.31291.01284.71284.71284.7-1284.775.797.8
gr120_0_80_1_4_11189.71192.01186.01186.01186.0-1186.087.4139.7
gr120_0_80_1_5_11112.01114.01112.01112.01112.0-1112.091.8403.8
gr120_0_80_2_2_11188.51197.01186.01186.01186.01202.21186.0234.0368.3
gr120_0_80_3_2_11044.71050.01044.01044.01044.0-1044.0330.4700.9
gr120_0_80_4_2_1946.0946.0943.0943.0943.0949.0943.0627.9663.9
gr120_0_80_5_2_1880.0881.0878.9878.9878.9-878.76036.66037.3
Table 6. Instances originated from pr152 in [7]. Optimal solution costs.
Table 6. Instances originated from pr152 in [7]. Optimal solution costs.
InstanceMbiadou Saleu et al.
[7]—UB
Dell’Amico et al.
[10]—UB
Dinh et al.
[11]—UB
Lei and Chen
[12]—UB
Nguyen et al.
[14]—UB
Raj et al.
[13]—UB
CP
Opt CostSec FoundSec Opt
pr152_0_80_1_2_176,008.076,008.076,008.076,008.076,008.0-76,008.0316.2324.4
pr152_1_80_1_2_176,556.076,556.076,556.076,556.076,556.0-76,556.0259.81045.9
pr152_0_0_1_2_186,596.086,596.086,596.086,596.086,596.0-86,596.029.842.1
pr152_0_20_1_2_182,504.082,504.082,504.082,504.082,504.0-82,504.0622.31120.8
pr152_0_40_1_2_177,372.077,316.077,236.077,236.077,236.0-77,236.023.539.8
pr152_0_60_1_2_176,786.076,786.076,786.076,786.076,758.0-76,758.047.074.1
pr152_0_100_1_2_174,468.074,302.074,302.074,302.074,302.0-74,302.0708.5775.0
pr152_0_80_1_1_180,164.079,952.079,952.079,952.079,952.0-79,952.094.3106.0
pr152_0_80_1_3_172,936.072,936.072,936.072,936.072,936.0-72,936.0243.8398.1
pr152_0_80_1_4_170,412.070,328.070,148.070,148.070,148.0-70,148.0431.2553.7
pr152_0_80_1_5_167,798.067,798.067,798.067,798.067,858.0-67,798.01472.02260.9
pr152_0_80_2_2_170,244.070,405.570,148.070,148.070,148.079,686.070,148.0195.4483.6
pr152_0_80_3_2_165,062.164,720.364,626.064,550.964,550.0-64,550.0393.4575.6
pr152_0_80_4_2_160,027.459,772.059,772.059,772.059,756.063,990.059,756.0325.4366.8
pr152_0_80_5_2_156,336.156,262.056,262.056,180.056,178.0-56,178.0742.9941.0
Table 7. Instances originated from gr229 in [7]. Optimal solution costs.
Table 7. Instances originated from gr229 in [7]. Optimal solution costs.
InstanceMbiadou Saleu et al.
[7]—UB
Dell’Amico et al.
[10]—UB
Dinh et al.
[11]—UB
Lei and Chen
[12]—UB
Nguyen et al.
[14]—UB
Raj et al.
[13]—UB
CP
Opt CostSec FoundSec Opt
gr229_0_80_1_2_11794.81785.91781.21783.11780.9-1780.91697.61817.6
gr229_1_80_1_2_11913.71911.61911.61911.61911.6-1911.62084.82355.3
gr229_0_0_1_2_12020.22017.22017.22017.22017.2-2017.2125.6127.7
gr229_0_20_1_2_11862.81860.11860.11860.11860.1-1860.1279.4316.1
gr229_0_40_1_2_11828.01827.01824.81825.91824.8-1824.81517.31595.4
gr229_0_60_1_2_11807.51797.41796.91796.61796.6-1796.6691.8794.1
gr229_0_100_1_2_11498.11496.31697.01496.31496.3-1496.3316.4358.9
gr229_0_80_1_1_11865.01863.11862.01862.01862.0-1862.0558.5723.8
gr229_0_80_1_3_11735.21725.51717.91719.91716.7-1716.7806.81371.6
gr229_0_80_1_4_11679.31675.81668.11669.91664.8-1664.82748.83940.5
gr229_0_80_1_5_11642.01629.41623.11622.91620.2-1620.21895.62434.2
gr229_0_80_2_2_11686.81673.71668.31666.91664.81851.51664.82139.13644.9
gr229_0_80_3_2_11603.91592.51582.91582.41580.9-1580.94103.66480.7
gr229_0_80_4_2_11518.61526.91516.71515.11511.71899.91511.76109.27528.1
gr229_0_80_5_2_11483.71467.81465.01460.71458.7-1458.715,361.517,367.1
Table 8. Instances originated from TSPLIB in [13]. Optimal solution costs.
Table 8. Instances originated from TSPLIB in [13]. Optimal solution costs.
InstancesRaj et al. [13]
MILP
UB
Raj et al. [13]
B&P
UB
Raj et al. [13]
Matheuristic
UB
CP
Opt
Cost
Sec
Found
Sec
Opt
att48_0_80_6_2_128,610.028,784.030,708.028,610.09.843.0
berlin52_0_80_6_2_15190.0 a5190.05685.05190.04.84.9
eil101_0_80_6_2_1314.0320.0365.0314.043.678.2
gr120_0_80_6_2_1851.4889.0851.5820.0666.92232.0
pr152_0_80_6_2_165,140.057,794.057,794.053,478.01401.21446.9
gr229_0_80_6_2_11664.61883.81883.81415.13214.2115,622.3
a Optimality first proven in [13].

5. Conclusions

The aim of the investigation was to show the potential of constraint programming solvers on optimization problems that—like the parallel drone scheduling traveling salesman problem—extend the concepts of a traditional traveling salesman problem. The new constraint programming model we propose leads—by exploiting multi-threading computation—to a very effective exact algorithm for the problem considered. The method was able to find the optimal solution for all the instances normally considered in the literature, and this was the first optimality proof for most of the instances. During the process, four of the previously best-known solution costs were also improved.
Finally, we believe that straightforward adaptations of the model we propose could lead to state-of-the-art results for many of the several extensions proposed to the basic problem considered here, although this is beyond the scope of the present paper. From a more general perspective, we also believe that constraint programming has potential for use in effectively attacking many other optimization problems arising in different fields.

Supplementary Materials

The following are available online at https://www.mdpi.com/article/10.3390/a16010040/s1.

Author Contributions

Conceptualization, R.M. and M.D.; methodology, R.M.; software, R.M.; validation, R.M. and M.D.; formal analysis, R.M. and M.D.; investigation, R.M. and M.D.; resources, R.M.; data curation, R.M.; writing—original draft preparation, R.M.; writing—review and editing, R.M. and M.D.; visualization, R.M. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data is contained within the supplementary material.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Joerss, M.; Schroeder, J.; Neuhaus, F.; Klink, C.; Mann, F. Parcel Delivery—The Future of Last Mile; Volume Travel, Transport and Logistics, McKinsey and Company: Minato City, Japan, 2016. [Google Scholar]
  2. Wolleswinkel, R.; Lukic, V.; Jap, W.; Chan, R.; Govers, J.; Banerjee, S. An Onslaught of New Rivals in Parcel and Express; Volume Travel, Transport and Logistics, Boston Consulting Group: Boston, MA, USA, 2018. [Google Scholar]
  3. 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]
  4. Dell’Amico, M.; Montemanni, R.; Novellani, S. Algorithms based on branch and bound for the flying sidekick traveling salesman problem. Omega 2021, 104, 102493. [Google Scholar] [CrossRef]
  5. Toklu, N.E.; Montemanni, R.; Gambardella, L.M. An ant colony system for the capacitated vehicle routing problem with uncertain travel costs. In Proceedings of the 2013 IEEE Symposium on Swarm Intelligence (SIS), Singapore, 16–19 April 2013; pp. 32–39. [Google Scholar]
  6. Yang, H.; Yuan, J.; Li, C.; Zhao, G.; Sun, Z.; Yao, Q.; Bao, B.; Vasilakos, A.V.; Zhang, J. BrainIoT: Brain-Like Productive Services Provisioning With Federated Learning in Industrial IoT. IEEE Internet Things J. 2022, 9, 2014–2024. [Google Scholar] [CrossRef]
  7. Mbiadou Saleu, R.G.; Deroussi, L.; Feillet, D.; Grangeon, N.; Quilliot, A. An iterative two-step heuristic for the parallel drone scheduling traveling salesman problem. Networks 2018, 72, 459–474. [Google Scholar] [CrossRef]
  8. Mbiadou Saleu, R.G.; Deroussi, L.; Feillet, D.; Grangeon, N.; Quilliot, A. The parallel drone scheduling problem with multiple drones and vehicles. Eur. J. Oper. Res. 2022, 300, 571–589. [Google Scholar] [CrossRef]
  9. Donati, A.V.; Montemanni, R.; Gambardella, L.M.; Rizzoli, A.E. Integration of a robust shortest path algorithm with a time dependent vehicle routing model and applications. In Proceedings of the International Symposium on Computational Intelligence for Measurement Systems and Applications, Lugano, Switzerland, 29–31 July 2003; pp. 26–31. [Google Scholar]
  10. Dell’Amico, M.; Montemanni, R.; Novellani, S. Matheuristic algorithms for the parallel drone scheduling traveling salesman problem. Ann. Oper. Res. 2020, 289, 211–226. [Google Scholar] [CrossRef] [Green Version]
  11. Dinh, Q.T.; Do, D.D.; Há, M.H. Ants can solve the parallel drone scheduling traveling salesman problem. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO), Lille, France, 10–14 July 2021; pp. 14–21. [Google Scholar]
  12. Lei, D.; Chen, X. An improved variable neighborhood search for parallel drone scheduling traveling salesman problem. Appl. Soft Comput. 2022, 127, 109416. [Google Scholar] [CrossRef]
  13. Raj, R.; Lee, D.; Lee, S.; Walteros, J.; Murray, C. A Branch-and-Price Approach for the Parallel Drone Scheduling Vehicle Routing Problem. SSRN Electron. J. 2021, 3879710. [Google Scholar] [CrossRef]
  14. Nguyen, M.A.; Dang, G.T.H.; Há, M.H.; Pham, M.T. The min-cost parallel drone scheduling vehicle routing problem. Eur. J. Oper. Res. 2022, 299, 910–930. [Google Scholar] [CrossRef]
  15. Otto, A.; Agatz, N.; Campbell, J.; Golden, B.; Pesch, E. Optimization approaches for civil applications of unmanned aerial vehicles (uavs) or aerial drones: A survey. Networks 2018, 72, 411–458. [Google Scholar] [CrossRef]
  16. Pasha, J.; Elmi, Z.; Purkayastha, S.; Fathollahi-Fard, A.M.; Ge, Y.E.; Lau, Y.Y.; Dulebenets, M.A. The Drone Scheduling Problem: A Systematic State-of-the-Art Review. IEEE Trans. Intell. Transp. Syst. 2022, 23, 14224–14247. [Google Scholar] [CrossRef]
  17. Konar, M.; Turkmen, A.; Oktay, T. Improvement of the thrust-torque ratio of an unmanned helicopter by using the ABC algorithm. Aircr. Eng. Aerosp. Technol. 2020, 92, 1133–1139. [Google Scholar] [CrossRef]
  18. Sal, F. Analysis of combined passively and actively morphing blade root chord length and blade taper for helicopter control. Aircr. Eng. Aerosp. Technol. 2020, 92, 172–179. [Google Scholar] [CrossRef]
  19. Giusti, A.; Guzzi, J.; Ciresan, D.; He, F.L.; Rodriguez, J.; Fontana, F.; Faessler, M.; Forster, C.; Schmidhuber, J.; Di Caro, G.; et al. A Machine Learning Approach to Visual Perception of Forest Trails for Mobile Robots. IEEE Robot. Autom. Lett. 2016, 1, 661–667. [Google Scholar] [CrossRef] [Green Version]
  20. Lee, D.; Hess, D.; Heldeweg, M. Safety and privacy regulations for unmanned aerial vehicles: A multiple comparative analysis. Technol. Soc. 2022, 71, 102079. [Google Scholar] [CrossRef]
  21. Reinelt, G. TSPLIB—A Traveling Salesman Problem Library. ORSA J. Comput. 1991, 3, 376–384. [Google Scholar] [CrossRef]
Figure 1. An example of PDSTSP is provided on the left; we assume that two drones are available (travel times are omitted for the sake of simplicity). A solution is provided on the right. The black arcs represent the tour of the truck that visits nodes 1 and 3 before going back to the depot. The red arcs depict the missions of the first drone (that serves nodes 2 and 6), while the blue arcs depict the missions of the first drone (that serves nodes 4 and 5).
Figure 1. An example of PDSTSP is provided on the left; we assume that two drones are available (travel times are omitted for the sake of simplicity). A solution is provided on the right. The black arcs represent the tour of the truck that visits nodes 1 and 3 before going back to the depot. The red arcs depict the missions of the first drone (that serves nodes 2 and 6), while the blue arcs depict the missions of the first drone (that serves nodes 4 and 5).
Algorithms 16 00040 g001
Figure 2. Times and optimal objective function cost for different values of the scaling factor F—instance berlin52_0_80_2_2_1 from [7].
Figure 2. Times and optimal objective function cost for different values of the scaling factor F—instance berlin52_0_80_2_2_1 from [7].
Algorithms 16 00040 g002
Figure 3. Time required by the MILP solver and by the CP solver with different numbers of threads (180 s maximum time)—instance eil101_0_0_1_2_1 from [7].
Figure 3. Time required by the MILP solver and by the CP solver with different numbers of threads (180 s maximum time)—instance eil101_0_0_1_2_1 from [7].
Algorithms 16 00040 g003
Figure 4. Optimality gap for the different methods tested on the instances proposed in [13].
Figure 4. Optimality gap for the different methods tested on the instances proposed in [13].
Algorithms 16 00040 g004
Table 1. Instances from [3]. Comparison of exact methods.
Table 1. Instances from [3]. Comparison of exact methods.
InstancesMurray and Chu [3]Dell’Amico et al. [10]Raj et al. [13]CP
SizeSecSecSecSec
AvgStDevAvgStDevAvgStDevAvgStDev
100.322.020.080.570.030.310.020.20
2077.78 a180.00 a109.5528,698.710.8647.950.171.89
a 352 instances (over 360) solved to optimality within the 180 s considered.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Montemanni, R.; Dell’Amico, M. Solving the Parallel Drone Scheduling Traveling Salesman Problem via Constraint Programming. Algorithms 2023, 16, 40. https://doi.org/10.3390/a16010040

AMA Style

Montemanni R, Dell’Amico M. Solving the Parallel Drone Scheduling Traveling Salesman Problem via Constraint Programming. Algorithms. 2023; 16(1):40. https://doi.org/10.3390/a16010040

Chicago/Turabian Style

Montemanni, Roberto, and Mauro Dell’Amico. 2023. "Solving the Parallel Drone Scheduling Traveling Salesman Problem via Constraint Programming" Algorithms 16, no. 1: 40. https://doi.org/10.3390/a16010040

APA Style

Montemanni, R., & Dell’Amico, M. (2023). Solving the Parallel Drone Scheduling Traveling Salesman Problem via Constraint Programming. Algorithms, 16(1), 40. https://doi.org/10.3390/a16010040

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