5.1. Computational Results for CARP
The performance of the metaheuristic algorithm was tested using differently sized problems from the instance sets gdb by DeArmon [
33], val by Benavent et al. [
34], egl by Eglese [
35], kshs by Kiuchi et al. [
36], bmcv by Beullens et al. [
37], eglL by Brandão and Eglese [
38], and Hefei by Tang and Wang [
39]. In particular, the largest and most complex problems from each instance set were used. The largest-sized problems in the gdb, val, egl, egl, kshs, bmcv, and eglL sets, and the Hefei-4 test problem from the Hefei set, in which a total of 1212 edges, 485 required edges, and 727 non-required edges were chosen. The solution quality of the suggested algorithm is presented as the deviation value from the optimal or the best known solution in the literature.
The deviation value presented in Equation (3) is used as a performance indicator for the suggested method. On the other hand, the parameter values of the algorithm were determined as the initial temperature value
, the final temperature value
, and the cooling rate
values
. The number of iterations
to be performed at each temperature was determined based on the problem size and is shown in
Table 2.
As presented in
Table 2, the number of iterations is increased as the size of the problem increased in order to sufficiently explore the search space for each temperature value of the algorithm. The proposed algorithm for the CARP was coded using the Python 3.7 programming language and executed on an Intel Core i5 1.6 GHz computer with 8 GB RAM. The suggested algorithm was run 10 times for each test problem and the obtained results are presented in
Table 3.
Table 3 summarizes the results of 20 differently sized test problems taken from the seven sets. The first column of
Table 3 contains the names of the test problems. The names of the largest sized test problems in the set are denoted with an asterisk (kshs-6*, gdb-23*, bmcv-f24*, val-10d*, egl-s4c*, and eglL-g2e*). The number of required edges and the total number of edges in the relevant test problems are presented in the second column. The third column of the table shows the number of vehicles that serve the required edges. In the fourth column, the obtained objective function values for the test problems are presented. The next column contains the optimal or the best known objective function values. Deviation values (gap) are given in the fifth column. The last column shows the computation times reported in seconds.
The values of the optimal or best known results presented in the fifth column of
Table 3 are based on findings from the literature. Martinez et al. [
40] used a genetic algorithm for solving the CARP. In the structure of this algorithm, a random key was used for solution representation. The result of the kshs-6* problem presented in
Table 3 was obtained in the study. Zhang et al. [
41] proposed two divide-and-conquer algorithms called RCO-RDG-MAENS and RCO-SAHiD to solve a large-sized CARP. In this study, the unified hybrid genetic search (UHGS) algorithm proposed by Vidal [
42] was used to compare the algorithms, and the best known solution for the Hefei-4 problem, as presented in
Table 3, was obtained by the UHGS algorithm. Chen et al. [
43] proposed the hybrid metaheuristic approach (HMA) for effectively solving the CARP. In the structure of the algorithm, inversion, single insertion, double insertion, swap, two-opt, and merge–split operators were used as local refinement methods. The results of all other test problems presented in
Table 3 (gdb-5, gdb-21, gdb-23*, val-5c, val-5d, bmcv-d1, bmcv-f24*, val-10c, val-10d*, egl-e4c, bmcv-c18, bmcv-d18, egl-s4a, egl-s4b, egl-s4c*, eglL-g2a, and eglL-g2e*) were obtained in the study. Since the number of vehicles to be used in the test problems is fixed, the same number of vehicles as presented in the third column of
Table 3 was used in the aforementioned studies.
The test problems kshs-6 and gdb-23, which are the largest-sized problems in the kshs and gdb sets, were able to be solved optimally using the proposed algorithm. On the other hand, the optimal solutions could be obtained for the val-5c problem with 65 required edges and for the val-10c problem with 97 required edges. The optimal solution to the bmcv-d18 problem, which includes 121 required edges and a total of 133 edges, was achieved in 1345 s. This is the largest-sized problem for which the optimal solution could be obtained with the proposed algorithm. From these results, it is clear that the proposed algorithm is capable of reaching optimal solutions even for large-sized problems.
On the other hand, high-quality solutions were obtained for large-sized test problems in the egl set. For the egl-s4a and egl-s4b problems with 190 required edges, the solution with a deviation of about 1% from the best known result was reached in about 2300 s. The egl-s4c test problem, the largest-sized problem in the egl set, was solved with a 3.5% deviation from the best known result. For the eglL-g2a and egl-g2e problems in the EglL set with 375 required edges, high-quality solutions could be obtained in about 2 h with a deviation of about 3% from the best known result.
Comparing the proposed algorithm with the genetic algorithm proposed by Martinez et al. [
40] for the kshs test problem, it is evident that both algorithms achieved the optimal solution. On the other hand, for the problems in the gdb, val, bmcv, egl, and eglL sets presented in
Table 3, the proposed algorithm was compared with the HMA algorithm proposed by Chen et al. [
43]. As a result, it was found that the proposed algorithm obtained the same results as the HMA for small-sized problems, approximately 0.9% away from the HMA for medium-sized problems, and approximately 3% away from the HMA for large-sized problems on average. Therefore, it is clear that the proposed algorithm performs very close to the algorithms that provide the optimal/the best known results for the CARP, demonstrating that it is a highly competitive algorithm.
In addition, high quality solution was obtained for the Hefei-4 test problem with a total of 1212 edges, 485 required edges, and 727 non-required edges in about 2.5 h with a deviation of 4% from the best known result provided by Zhang et al. [
41]. Therefore, when comparing the proposed solution approach with the UHGS algorithm, used by Zhang et al. [
41] and proposed by Vidal [
42], for the Hefei-4 problem, it is seen that the result obtained with the proposed approach is only 4% away from the best known result. This test problem is quite large-sized, and problem-specific heuristic algorithms are usually used to solve such challenging problems in the literature. For this reason, the suggested algorithm is successful and has the ability to reach high-quality solutions.
The performances of neighbor search operators were analyzed using the bmcv-d18 test instance, which is the large-sized test problem for which the optimal solution was obtained. As a result of the analysis, it is seen that the proposed algorithm improves the initial solution value 63 times in total and reaches the optimal solution. When the performances of the neighbor search operators were examined, k-route shorten improved the current solution 20 times, edge postpone 17 times, and edge direction and smart edge direction change 11 times, respectively. Therefore, it is seen that k-route shorten, edge postpone, edge direction, and smart edge direction change operators have high performance and make a great contribution to reaching high-quality solutions to the CARP.
5.3. Computational Results for DARP-DD
Seven different test problems were generated for the DARP-DD and the information about these test problems was detailed in the previous section. The performance of the proposed metaheuristic algorithm was tested in solving these problems.
The parameter values of the simulated annealing algorithm were determined as initial temperature value
, final temperature value
, and cooling coefficient
value
. Since the initial solution of the algorithm is randomly generated, the initial temperature value is not varied according to the size of the problem. The number of iterations
to be operated at each temperature was determined based on the problem size and is shown in
Table 5.
In order to sufficiently explore the search space for each temperature value of the algorithm, the number of iterations is increased as the size of the problem increases.
The URL heuristic algorithm was used to evaluate the quality of the results obtained with the proposed simulated annealing algorithm for the DARP-DD. The URL algorithm was proposed by Belenguer et al. [
44] in the literature. In this algorithm, a giant tour is first created with path scanning with random link. Therefore, the five rules of the path scanning algorithm are not used in this algorithm, and it differs from the path scanning algorithm proposed by Golden et al. [
45]. During the giant tour creation phase, path scanning with random link adds the feasible unserved edge that is nearest to the last node added. Then, the created giant tour is divided into vehicle routes using Ulusoy’s splitting algorithm [
46]. Moreover, the URL algorithm shows that 4 to 11 executions are enough to perform better than the path scanning algorithm [
47].
The suggested simulated annealing algorithm and URL algorithm for the DARP-DD was run 10 times for each test problem and the best obtained results are presented in
Table 6.
Table 6 presents the results obtained for seven different DARP-DD test problems. The first four columns of
Table 6 contain information about the test problem. The number of drones and the energy capacity of the drones in the test problems are given in the fifth column. Their energy capacities are presented in Joules and the number of drones used in each test problem is reported. In the sixth column, the obtained results for the DARP-DD are given, which are the total traveled distances by drones. The seventh column shows the computation times given in seconds. The last two columns in
Table 6 present the results obtained with the URL algorithm.
Table 6 demonstrates that the proposed metaheuristic algorithm was capable of solving differently sized problems within reasonable computation times. For example, the DARP-2 problem with 6 components, 28 required edges, and 406 non-required edges was solved in about 66 s using four drones with an energy capacity of 1000 Joules. The total traveled distance by the drones was 2429.58 units for this problem. The DARP-7 problem includes 34 components, 200 required edges, and 18,915 non-required edges. For the DARP-7 problem, the solution was obtained in about 1 h by using 21 drones with an energy capacity of 1500 Joules. The total distance traveled by the drones was obtained as 20,137.39 units.
Examining the results presented in
Table 6, it can be seen that the proposed simulated annealing algorithm is more successful and achieves better solutions than the URL algorithm. For example, for the DARP-1 problem, the total distance traveled with the proposed algorithm is 1204.46 units, while the total distance traveled with the URL algorithm is 1324.12 units. Therefore, the proposed algorithm provided a 9.9% better result for DARP-1 than the URL algorithm. For the large-sized DARP-7 problem, the proposed algorithm achieved an 18.4% better result than the URL algorithm. For the other test problems in
Table 6, the proposed algorithm obtained an average of 14% higher quality results. Meanwhile, since the URL algorithm is a heuristic method, it is quite fast, and the results presented in
Table 6 were obtained in less than three seconds for each test problem.
The DARP-1 and DARP-6 problems are taken into consideration to display the drone routes that correspond to the obtained solution shown in
Table 6. The drone routes for the DARP-1 problem are shown in
Figure 6 while the drone routes for the DARP-6 problem are presented in
Appendix A.
As shown in
Figure 6, 17 required edges were serviced by using four drones with an energy capacity of 500 Joules. The edges in each drone’s route are shown in a different color. Dashed edges indicate deadheading on the relevant edge. Drone routes were obtained as follows:
First drone route (blue-colored route): d(depot − 10) − (10 − 8) − (8 − 7) − (7 − 9) − (9 − 10) − d(10 − depot).
Second drone route (red-colored route): d(depot − 16) − (16 − 15) − d(15 − 1) − (1 − 3) − d(3 − 6) − (6 − 5) − (5 − 4) − d(4 − depot).
Third drone route (green-colored route): d(depot − 2) − (2 − 1) − d(1 − 11) − (11 − 12) − d(12 − 6) − (6 − 4) − d(4 − depot).
Forth drone route (purple-colored route): d(depot − 16) − (16 − 17) − (17 − 18) − (18 − 13) − (13 − 14) − (14 − 15) − d(15 − 2) − (2 − 3) − d(3 − depot).
Analyzing the drone routes reveals that some components on the graph are serviced by the same drone, while other components are serviced by different drones. In addition, because the energy capacity of the drones is consumed during deadheading, deadheading was made at the edges that give the shortest possible connection between the components. The capacity utilization rates of the drones are 75%, 99%, 96%, and 97%, respectively. The objective function value, the total distance traveled by the drones, was obtained as 1204.46 units.
5.4. Computational Results for MS-DARP-DD
Seven different test problems were generated for the DARP-DD, and the obtained results for these problems were presented in the previous section. The multiple service drone arc routing problem with deadheading demand (MS-DARP-DD), one of the special cases of the DARP-DD that involves servicing the required edges more than once, is discussed in this section. A multiple service condition was added to some required edges in the DARP-DD test problems. Thus, MS-DARP-DD test problems were generated. The proposed metaheuristic algorithm was applied to solve these problems. The parameter values of the algorithm were the same as for those determined in the DARP-DD.
The suggested algorithm was run 10 times for each test problem and the best obtained solutions are presented in
Table 7.
Table 7 presents the obtained results for the DARP-DD, where each required edge must be serviced once, and the MS-DARP-DD, where some required edges must be serviced more than once. For example, in the DARP-2 problem for the DARP-DD, there are 28 required edges on the graph and each required edge must be serviced once. When this problem was solved with the suggested algorithm, the 28 required edges on the graph were serviced by four drones with an energy capacity of 1000 Joules and the total traveled distance was obtained as 2429.58 units. On the other hand, if the DARP-2 problem is considered for the MS-DARP-DD, there are 32 required edges on the graph with a multiple service condition providing service twice for edge (14 − 15), twice for edge (19 − 20), three times for edge (2 − 3), and once for the other required edges on the graph. The suggested algorithm was also used to solve this problem. The obtained results show that the 32 required edges on the graph were serviced by five drones with an energy capacity of 1000 Joules and the total traveled distance by the drones was obtained as 2707.22 units. The computation time of this problem is approximately 70 s. As shown in
Table 7, since the MS-DARP-DD has a larger number of required edges than the DARP-DD, more drones can be used to service the required edges in most of the test problems. In addition, the total traveled distance increased in the MS-DARP-DD compared to the DARP-DD due to the increased number of required edges to be served in the graph.
When the MS-DARP-DD drone routes are analyzed, it is revealed that the required edges that need to be serviced more than once can be served by the same drones or by different drones. Consequently, multiple services do not have to be performed by the same drone.
The URL algorithm [
44] was used to analyze the quality of the MS-DARP-DD results obtained by applying the proposed simulated annealing algorithm.
Table 8 presents the results achieved using both methods.
Table 8 shows that the suggested simulated annealing algorithm outperforms the URL algorithm for all MS-DARP-DD instances. For example, in DARP-7, the largest-sized test problem, the objective function value obtained with the proposed algorithm is 20724.5, but the objective function value provided by the URL algorithm is 24718.4. Therefore, an approximately 20% better result was achieved for the DARP-7 instance with the proposed algorithm. Moreover, an average of 14% better results were obtained for the other test problems. Additionally, the number of drones used with the URL algorithm is higher for all test problems. In this table, no information is provided on the computing time of the URL algorithm, because it is a heuristic method, and the computing time is quite short. For each test problem, the computing time is less than three seconds.
The obtained drone routes for the DARP-1 problem when all required edges are serviced just once are shown in
Figure 6. In the same problem, the drone routes obtained when (4 − 6) is serviced twice, edge (10 − 8) twice, edge (1 − 2) three times, and the other required edges once are presented in
Figure 7. Furthermore, the drone routes for the DARP-6 problem, where all required edges are serviced only once, are presented in
Appendix A. In the same problem, the drone routes obtained when edge (60 − 61) is serviced twice, edge (70 − 71) five times, edge (95 − 96) three times, and the other required edges once are presented in
Appendix B.
In
Figure 7, 21 required edges were serviced by using five drones with an energy capacity of 500 Joules. The edges in each drone’s route are shown in a different color. Dashed edges indicate deadheading on the relevant edge. Drone routes were obtained as follows:
First drone route (blue-colored route): d(depot − 4) − (4 − 6) − (6 − 5) − (5 − 4) − d(4 − depot).
Second drone route (red-colored route): d(depot − 2) − (2 − 3) − d(3 − 11) − (11 − 12) − d(12 − 6) − (6 − 4) − d(4 − depot).
Third drone route (green-colored route): d(depot − 2) − (2 − 1) − (1 − 2) − (2 − 1) − (1 − 3) − d(3 − depot).
Forth drone route (purple-colored route): d(depot − 16) − (16 − 15) − (15 − 14) − (14 − 13) − (13 − 18) − (18 − 17) − (17 − 16) − d(16 − 8) − (8 − 10) − d(10 − depot).
Fifth drone route (orange-colored route): d(depot − 10) − (10 − 8) − (8 − 7) − (7 − 9) − (9 − 10) − d(10 − depot).
When the obtained drone routes are evaluated, it is revealed that Drone-3 served the edge (1 − 2) three times in succession. The edge (4 − 6) was served by Drone-1 and Drone-2, whereas the edge (10 − 8) was served by Drone-4 and Drone-5. In other words, the multiple service demands of these edges were met by different drones. Examining the drone routes reveals that multiple service to the required edges need not be provided by the same drone. Multiple service can be carried out by the same drone if it is advantageous with regard to the traveled distance. On the other hand, the number of required edges on the graph increases in the case of multiple services and the number of drones increases to five. The capacity utilization rates of these drones are 79%, 97%, 97%, 97%, and 75%, respectively. The objective function value, the total traveled distance by the drones, was obtained as 1417.3 units.
5.5. Performance of the Simulated Annealing Algorithm Components
The performance of the components of the suggested algorithm was analyzed using the DARP-6 test problem. This problem has 17 components, 100 required edges, and 4753 non-required edges. The parameter values of the simulated annealing algorithm were determined as the initial temperature value
, the final temperature value
, the cooling rate
, and the number of iteration
values
. When the DARP-6 problem was solved with the suggested algorithm, eight drones with an energy capacity of 1500 Joules were used in the obtained solution and the total distance traveled by the drones was 6916.44 units. The computation time of the algorithm for this problem is approximately 1319 s. The convergence graph of the suggested algorithm for the DARP-6 problem is presented in
Figure 8.
Figure 8 shows the convergence graph of the suggested algorithm for DARP-6 based on the objective function values obtained between the initial and the final temperature values. Since the initial solution of the algorithm is randomly generated, the search process is initiated with solutions having very large objective function values. The objective function value of the first feasible solution obtained at the initial temperature values is 9017. However, the algorithm’s well-designed components allowed for it to quickly converge to high-quality solution regions, and the objective function values were improved. For example, the obtained solution’s objective function value was 7354 when the algorithm’s temperature value was 47, and 7145 when the temperature value decreased to 21. At the end of the algorithm, a solution with a value of 6916.44 was reached owing to the intensification mechanism, which allowed for the algorithm to search more thoroughly for quality solution regions at lower temperature levels. Furthermore, the cooling rate in the geometric cooling schedule was set as close to 1 as possible. Thus, the algorithm was able to thoroughly search the solution space at each temperature value. This also enabled the algorithm to access the quality solution regions in the solution space.
A study was conducted on the impact of the dynamic penalty function, which is another component of the algorithm and used as a constraint-handling strategy, on the solution quality. When the DARP-6 problem was solved using the dynamic penalty function within the proposed algorithm’s structure, the objective function value was obtained as 6916.44. On the other hand, the penalty coefficient value (k) was taken as 1 in the dynamic penalty function, thus obtaining a generic (fixed) penalty function. Then, the DARP-6 problem was solved using the generic penalty function within the proposed algorithm’s structure. In this case, the objective function value was obtained as 7084.11. Therefore, it can be said that the dynamic penalty function improves solution quality by approximately 2.4% for DARP-6. Moreover, the same study was conducted for other test problems. On examining the results, it was found that the dynamic penalty function improves the solution quality by approximately 0.5% for DARP-1, DARP-2, and DARP-3; by approximately 1.2% for DARP-4 and DARP-5; and by approximately 2% for DARP-6 and DARP-7.
The initial temperature value and the number of iterations performed at each temperature were analyzed. The proposed algorithm was run for the solution of the DARP-6 problem with different initial temperatures and the number of iterations to be performed at each temperature. The obtained results of this experiment are presented in
Table 9.
DARP-6 was solved considering the algorithm’s initial temperature values as 50, 100, 150, and 200 and the number of iterations at each temperature as 2000, 2500, 3000, and 3500, and the obtained results of these experiments are presented in
Table 9. The algorithm was run 10 times for each initial temperature and the number of iterations.
Table 9 presents the minimum deviation value, average deviation value, and computation times of each experiment. The deviation values were calculated using the objective function value of 6916.44 units as the basis. This objective function value, which is shown in the convergence graph, was obtained by setting the initial temperature value to 100 and the number of iterations to 2500.
Table 9 shows that the best obtained solution (the solution having objective function value of 6916.44 units) for the DARP-6 problem was reached when the initial temperature values were 100, 150, and 200 and the number of iterations at each temperature was 2500, 3000, and 3500. Consequently, the initial temperature value of 100 and the number of iterations at each temperature of 2500 provide the shortest computation time among the parameter values enabling the best solution to be obtained. That is why the initial temperature value was set to 100 and the number of iterations performed at each temperature was set to 2500.
Figure 9 shows the performance of the neighbor search operators used in the structure of the algorithm whose convergence graph is drawn in
Figure 8. The performance of the neighbor search operators is evaluated with regard to the number of times they improve the current solution.
Regarding
Figure 9, the edge postpone operator (F) demonstrates the highest performance with regard to the number of improvements to the current solution and contributes the greatest to obtaining high-quality solutions. The edge postpone operator (F) improved the current solution value 66 times. Another operator with high performance is the
k-route shorten operator (E). The
k-route shorten operator (E) contributes to improving the current solution 40 times. Apart from the
k-route shorten (E) and edge postpone operators (F), the other operators that contribute the most to obtaining quality solutions are smart reverse (C), edge direction and smart edge direction change (G), and route-repairing operators (H).
The following comments can be made considering the temperature values at which the neighbor search operators improve the current solution. It is seen that the edge postpone operator (F), which has the highest performance in improving the solution, contributes to reaching quality solutions from the initial temperature to the final temperature of the algorithm. The k-route shorten operator (E), which is the second highest performing operator, has improved the current solution at several temperature values similar to the edge postpone operator (F). The final temperature value at which the k-route shorten operator (E) improves the current solution is approximately 10. The edge direction and smart edge direction change (G), smart reverse (C), and route-repairing operators (H) showed high performance, especially at the initial and final temperature values of the algorithm. The k-reverse (A) and n-reverse (B) operators, which are the two worst-performing operators, made a great contribution to the diversification mechanism of the algorithm since they caused major changes in the current solution. In addition, it might be concluded that the edge postpone (F) and k-route shorten (E) operators, which contribute to the improvement in the current solution at almost every temperature value of the algorithm, play a crucial role for the diversification and intensification mechanisms of the algorithm.