| Literature DB >> 33286654 |
Petr Stodola1, Karel Michenka1, Jan Nohel1, Marian Rybanský2.
Abstract
The dynamic traveling salesman problem (DTSP) falls under the category of combinatorial dynamic optimization problems. The DTSP is composed of a primary TSP sub-problem and a series of TSP iterations; each iteration is created by changing the previous iteration. In this article, a novel hybrid metaheuristic algorithm is proposed for the DTSP. This algorithm combines two metaheuristic principles, specifically ant colony optimization (ACO) and simulated annealing (SA). Moreover, the algorithm exploits knowledge about the dynamic changes by transferring the information gathered in previous iterations in the form of a pheromone matrix. The significance of the hybridization, as well as the use of knowledge about the dynamic environment, is examined and validated on benchmark instances including small, medium, and large DTSP problems. The results are compared to the four other state-of-the-art metaheuristic approaches with the conclusion that they are significantly outperformed by the proposed algorithm. Furthermore, the behavior of the algorithm is analyzed from various points of view (including, for example, convergence speed to local optimum, progress of population diversity during optimization, and time dependence and computational complexity).Entities:
Keywords: ant colony optimization; combinatorial dynamic optimization problem; dynamic traveling salesman problem; hybridization; metaheuristic algorithm; simulated annealing
Year: 2020 PMID: 33286654 PMCID: PMC7517487 DOI: 10.3390/e22080884
Source DB: PubMed Journal: Entropy (Basel) ISSN: 1099-4300 Impact factor: 2.524
Key parameters of the ant colony optimization (ACO) algorithm.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
Variables and symbols used in Section 3.1.
|
| Number of iterations of the DTSP. |
|
| Number of vertices in each TSP. |
|
| A set of sets of all vertices of the DTSP; |
|
| A set of vertices of the |
|
| |
|
| Total cost of thDTSP solution. |
|
| Cost of the |
|
| Cost of a solution found by the |
|
| The lowest cost of all solutions found by ants in a generation. |
|
| A set of all routes for the DTSP; |
|
| A route for the |
|
| |
|
| A route found by the |
|
| |
|
| The route with the lowest cost found by ants in a generation. |
|
| A set of alvertices still missing in a route. |
|
| A selected vtex still missing in a route; |
|
| Probability that vertex |
|
| An |
|
| An element of matrix |
Key parameters of the SA algorithm.
|
|
|
|
| |
|
| |
|
| |
|
|
Variables and symbols used in Section 3.2.
|
| Cost of the initial and final TSP solution. |
|
| Cost of the current solution. |
|
| Cost of the solution transformed from the current solution. |
|
| A route of the initial and final TSP solution; |
|
| |
|
| A route of the current solution; |
|
| |
|
| A route of the transformed solution; |
|
| |
|
| Current temperature. |
|
| Current number of transformations in a generation. |
|
| Current number of replacements in a generation. |
|
| Probability that the transformed solution |
New parameters of the ACO-SA algorithm.
|
| |
|
|
Benchmark instances.
| Benchmark Instance |
|
| Position Representation |
|---|---|---|---|
|
| 52 | 11 | 2D Euclidean |
|
| 100 | 11 | 2D Euclidean |
|
| 200 | 11 | 2D Euclidean |
|
| 202 | 11 | Geographical |
|
| 442 | 11 | 2D Euclidean |
|
| 666 | 11 | Geographical |
Experiment sets.
| Experiment Set | Algorithm Used | Pheromone Matrix Initialization |
|---|---|---|
|
| ACO | TSP |
|
| ACO | DTSP |
|
| ACO-SA | TSP |
|
| ACO-SA | DTSP |
Settings of parameters for experiments.
| Instance | Set | ACO Parameters | SA Parameters | ACO-SA | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||
|
|
| 1664 | 32 | 0.006 | 1 | 1 | 1 | 0 | – | – | – | – | – | – | – |
|
| 1664 | 32 | 0.004 | 1 | 1 | 1 | 10 | – | – | – | – | – | – | – | |
|
| 1664 | 32 | 0.001 | 1 | 1 | 3 | 0 | 1 | 0.1 | 0.8 | 50 | 5 | 1 | 1664 | |
|
| 1664 | 32 | 0.001 | 1 | 1 | 3 | 10 | 1 | 0.1 | 0.8 | 50 | 5 | 1 | 1664 | |
|
|
| 1600 | 64 | 0.006 | 1 | 1 | 2 | 0 | – | – | – | – | – | – | – |
|
| 1600 | 64 | 0.005 | 1 | 1 | 2 | 20 | – | – | – | – | – | – | – | |
|
| 1600 | 64 | 0.006 | 1 | 1 | 2 | 0 | 1 | 0.02 | 0.9 | 60 | 5 | 1 | 1600 | |
|
| 1600 | 64 | 0.006 | 1 | 1 | 2 | 30 | 1 | 0.02 | 0.9 | 60 | 5 | 1 | 1600 | |
|
|
| 2560 | 80 | 0.007 | 1 | 1 | 4 | 0 | – | – | – | – | – | – | – |
|
| 2560 | 80 | 0.007 | 1 | 1 | 4 | 50 | – | – | – | – | – | – | – | |
|
| 2560 | 80 | 0.008 | 1 | 1 | 4 | 0 | 1 | 0.03 | 0.9 | 200 | 10 | 1 | 2560 | |
|
| 2560 | 80 | 0.008 | 1 | 1 | 4 | 50 | 1 | 0.03 | 0.9 | 200 | 10 | 1 | 2560 | |
|
|
| 2048 | 101 | 0.1 | 1 | 1 | 1 | 0 | – | – | – | – | – | – | – |
|
| 2048 | 101 | 0.1 | 1 | 1 | 1 | 20 | – | – | – | – | – | – | – | |
|
| 2048 | 101 | 0.13 | 1 | 1 | 1 | 0 | 1 | 0.03 | 0.9 | 200 | 10 | 1 | 2048 | |
|
| 2048 | 101 | 0.13 | 1 | 1 | 1 | 500 | 1 | 0.03 | 0.9 | 200 | 10 | 1 | 2048 | |
|
|
| 4352 | 104 | 0.005 | 1 | 2 | 5 | 0 | – | – | – | – | – | – | – |
|
| 4352 | 104 | 0.001 | 1 | 2 | 5 | 20 | – | – | – | – | – | – | – | |
|
| 4352 | 104 | 0.003 | 1 | 2 | 5 | 0 | 1 | 0.01 | 0.9 | 500 | 20 | 1 | 4352 | |
|
| 4352 | 104 | 0.003 | 1 | 2 | 5 | 20 | 1 | 0.01 | 0.9 | 500 | 20 | 1 | 4352 | |
|
|
| 6144 | 112 | 0.02 | 1 | 1 | 2.5 | 0 | – | – | – | – | – | – | – |
|
| 6144 | 112 | 0.007 | 1 | 1 | 2.5 | 500 | – | – | – | – | – | – | – | |
|
| 6144 | 112 | 0.11 | 1 | 1 | 2.5 | 0 | 10 | 0.1 | 0.9 | 1000 | 20 | 1 | 4096 | |
|
| 6144 | 112 | 0.11 | 1 | 1 | 2.5 | 500 | 10 | 0.1 | 0.9 | 1000 | 20 | 1 | 4096 | |
Results of experiments A and B.
| Instance | Experiment | Experiment | ||||||
|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
| |||
|
| 0.49 | 0.00% | 0.15% | 0.27% | 0.48 | 0.01% | 0.02% | 0.03% |
|
| 2.47 | 0.60% | 1.96% | 0.75% | 2.61 | 0.39% | 0.68% | 0.21% |
|
| 17.49 | 1.50% | 3.03% | 0.85% | 18.73 | 0.77% | 1.45% | 0.33% |
|
| 17.89 | 1.37% | 3.14% | 0.88% | 18.02 | 1.22% | 2.75% | 0.74% |
|
| 179.45 | 4.46% | 6.76% | 0.79% | 183.33 | 4.18% | 5.05% | 0.33% |
|
| 545.88 | 4.89% | 6.76% | 0.95% | 557.08 | 4.40% | 5.71% | 0.58% |
Results of experiments C and D.
| Instance | Experiment | Experiment | ||||||
|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
| |||
|
| 0.90 | 0.00% | 0.08% | 0.31% | 0.90 | 0.00% | 0.00% | 0.00% |
|
| 4.34 | 0.06% | 0.39% | 0.19% | 4.51 | 0.03% | 0.17% | 0.09% |
|
| 30.85 | 0.64% | 1.37% | 0.41% | 32.02 | 0.21% | 0.63% | 0.23% |
|
| 27.79 | 0.35% | 1.36% | 0.70% | 28.53 | 0.30% | 0.97% | 0.44% |
|
| 317.45 | 2.43% | 4.17% | 0.66% | 312.59 | 1.85% | 2.56% | 0.30% |
|
| 948.34 | 2.06% | 3.85% | 0.89% | 951.12 | 2.09% | 3.06% | 0.51% |
Settings of the pheromone evaporation coefficient.
| Instance | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
| ||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 | 0.07 | 100 | 0.01 | 160 | 0.033 | 128 | 0.29 | 272 | 0.05 | 384 | 0.16 |
| 416 | 0.016 | 400 | 0.007 | 640 | 0.03 | 512 | 0.2 | 1088 | 0.01 | 768 | 0.14 |
| 1664 | 0.001 | 1600 | 0.006 | 2560 | 0.008 | 2048 | 0.13 | 4352 | 0.003 | 1536 | 0.13 |
| – | – | – | – | – | – | – | – | – | – | 3072 | 0.11 |
| – | – | – | – | – | – | – | – | – | – | 6144 | 0.11 |
Comparison of results.
| Instance |
| ACS | PACO | DPSO-Ho | DPSO-He | ACO-SA | |||
|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
| ||
|
| 104 | 0.96% | 0.96% | 0.15% | 0.32% | 0.13% | 0.15% | 0.06% | 0.12% |
| 416 | 0.50% | 0.50% | 0.01% | 0.04% | 0.01% | 0.05% | 0.01% | 0.00% | |
| 1664 | 0.46% | 0.46% | 0.00% | 0.00% | 0.01% | 0.05% | 0.00% | 0.00% | |
|
| 100 | 1.80% | 2.97% | 5.44% | 2.47% | 2.68% | 1.40% | 0.74% | 0.24% |
| 400 | 1.31% | 2.13% | 1.28% | 1.02% | 1.05% | 0.81% | 0.29% | 0.16% | |
| 1600 | 0.82% | 1.36% | 0.64% | 0.69% | 0.78% | 0.77% | 0.17% | 0.09% | |
|
| 160 | 2.41% | 3.33% | 15.63% | 2.77% | 5.14% | 1.84% | 1.19% | 0.35% |
| 640 | 1.62% | 2.71% | 4.45% | 1.62% | 2.89% | 1.09% | 0.81% | 0.37% | |
| 2560 | 1.47% | 2.28% | 1.62% | 0.81% | 2.02% | 0.80% | 0.63% | 0.23% | |
|
| 128 | 6.26% | 4.91% | 13.75% | 2.06% | 4.19% | 1.20% | 2.21% | 0.77% |
| 512 | 4.88% | 3.90% | 6.81% | 2.11% | 1.97% | 0.66% | 1.34% | 0.56% | |
| 2048 | 3.93% | 3.34% | 1.52% | 0.60% | 1.53% | 0.55% | 0.97% | 0.44% | |
|
| 272 | 6.18% | 4.44% | 29.31% | 5.33% | 6.73% | 1.68% | 3.07% | 0.44% |
| 1088 | 4.87% | 3.56% | 13.41% | 5.00% | 2.87% | 0.89% | 2.83% | 0.32% | |
| 4352 | 3.91% | 3.30% | 3.13% | 1.52% | 1.92% | 0.79% | 2.56% | 0.30% | |
|
| 384 | 9.18% | 5.89% | 10.84% | 1.52% | 9.58% | 0.86% | 4.46% | 0.98% |
| 768 | 7.46% | 4.77% | 7.37% | 1.00% | 6.88% | 0.78% | 3.57% | 0.70% | |
| 1536 | 6.09% | 4.51% | 5.62% | 0.84% | 5.33% | 0.57% | 3.49% | 0.65% | |
| 3072 | 5.67% | 4.14% | 4.88% | 0.63% | 4.52% | 0.88% | 3.22% | 0.66% | |
| 6144 | 4.92% | 4.21% | 3.99% | 0.77% | 3.80% | 0.78% | 3.06% | 0.51% | |
|
| 3.74% | 3.18% | 6.49% | 1.56% | 3.20% | 0.83% | 1.73% | 0.39% | |
Comparison of optimization times.
| Instance |
|
| ||
|---|---|---|---|---|
| DPSO-Ho | DPSO-He | ACO-SA | ||
|
| 104 | 0.13 | 0.13 | 0.06 |
| 416 | 0.30 | 0.28 | 0.22 | |
| 1664 | 0.98 | 0.89 | 0.90 | |
|
| 100 | 1.03 | 0.86 | 0.27 |
| 400 | 1.63 | 1.27 | 1.10 | |
| 1600 | 4.11 | 3.38 | 4.51 | |
|
| 160 | 2.49 | 2.18 | 2.02 |
| 640 | 5.13 | 4.46 | 7.81 | |
| 2560 | 15.60 | 13.18 | 32.02 | |
|
| 128 | 8.82 | 8.17 | 1.78 |
| 512 | 11.54 | 10.88 | 7.07 | |
| 2048 | 23.01 | 21.98 | 28.53 | |
|
| 272 | 11.22 | 11.16 | 19.63 |
| 1088 | 28.52 | 30.69 | 81.39 | |
| 4352 | 102.78 | 108.25 | 312.59 | |
|
| 384 | 85.19 | 91.83 | 58.95 |
| 768 | 98.36 | 115.19 | 116.42 | |
| 1536 | 124.84 | 163.48 | 241.68 | |
| 3072 | 180.66 | 259.00 | 460.09 | |
| 6144 | 296.83 | 453.83 | 951.12 | |
|
| 50.16 | 65.05 | 116.41 | |
Figure 1Dependence of optimization time on the number of generations (instance gr666).
Figure 2Solution convergence in dependence on the pheromone evaporation coefficient (instance pcb442).
Figure 3Principle of entropy calculation: (a) TSP example; (b) edge occurrences; (c) edge probabilities.
Figure 4Population diversity (instance gr202).
Figure 5Solution improvements by simulated annealing.
Figure 6Dependence of optimization time on the number of vertices.
Results after k-opt optimization.
| Instance |
| ACO-SA | 2-opt | 3-opt | 4-opt | 5-opt |
|---|---|---|---|---|---|---|
|
| 104 | 0.057% | 0.032% | 0.030% | 0.030% | 0.030% |
| 416 | 0.006% | 0.006% | 0.004% | 0.004% | 0.004% | |
| 1664 | 0.000% | 0.000% | 0.000% | 0.000% | 0.000% | |
|
| 100 | 0.745% | 0.470% | 0.385% | 0.375% | 0.372% |
| 400 | 0.287% | 0.227% | 0.201% | 0.199% | 0.199% | |
| 1600 | 0.168% | 0.163% | 0.154% | 0.154% | 0.154% | |
|
| 160 | 1.186% | 0.858% | 0.828% | 0.817% | 0.816% |
| 640 | 0.811% | 0.672% | 0.656% | 0.638% | 0.638% | |
| 2560 | 0.627% | 0.507% | 0.492% | 0.488% | 0.488% | |
|
| 128 | 2.215% | 1.523% | 1.465% | 1.454% | 1.447% |
| 512 | 1.335% | 1.041% | 1.009% | 1.000% | 0.999% | |
| 2048 | 0.973% | 0.790% | 0.770% | 0.766% | 0.762% | |
|
| 272 | 3.071% | 2.249% | 2.186 | 2.164% | 2.156% |
| 1088 | 2.826% | 2.069% | 2.029% | 2.016% | 2.013% | |
| 4352 | 2.564% | 1.921% | 1.869% | 1.846% | 1.842% | |
|
| 384 | 4.457% | 3.335% | 3.230% | 3.190% | 3.166% |
| 768 | 3.572% | 2.831% | 2.763% | 2.738% | 2.723% | |
| 1536 | 3.487% | 3.018% | 2.970% | 2.946% | 2.923% | |
| 3072 | 3.224% | 2.780% | 2.723% | 2.705% | 2.691% | |
| 6144 | 3.058% | 2.567% | 2.526% | 2.510% | 2.501% | |
|
| 1.733% | 1.353% | 1.315% | 1.302% | 1.296% | |
Execution time of k-opt optimization.
| Instance | 2-opt (s) | 3-opt (s) | 4-opt (s) | 5-opt (s) |
|---|---|---|---|---|
|
| 0.004 | 0.005 | 0.005 | 0.006 |
|
| 0.012 | 0.020 | 0.025 | 0.030 |
|
| 0.127 | 0.181 | 0.228 | 0.274 |
|
| 0.189 | 0.255 | 0.303 | 0.352 |
|
| 5.214 | 6.124 | 6.858 | 7.459 |
|
| 28.793 | 33.891 | 37.807 | 40.520 |