A Hybrid Discrete Artificial Bee Colony Algorithm Based on Label Similarity for Solving Point-Feature Label Placement Problem
<p>Multi-level and multi-orientation label candidate model (The numbers 0–7 represent label positions).</p> "> Figure 2
<p>Schematic diagram of the shift neighborhood transformation operator (The value on the box is the index of the point, the value in the box is the label position).</p> "> Figure 3
<p>Schematic diagram of the conflict-shift neighborhood transformation operator (The value on the box is the index of the point, the value in the box is the label position).</p> "> Figure 4
<p>Schematic diagram of label similarity calculation (The numbers 0–7 represent label positions).</p> "> Figure 5
<p>The overall flowchart of the hybrid discrete ABC algorithm based on label similarity.</p> "> Figure 6
<p>Ranking of each algorithm: (<b>a</b>) Ranking of each algorithm based on label number; (<b>b</b>) Ranking of each algorithm based on label quality evaluation function.</p> "> Figure 7
<p>Comparison of solution generation between ABC and HDABC.</p> "> Figure 8
<p>Comparison between the greedy acceptance strategy and the Metropolis acceptance strategy.</p> ">
Abstract
:1. Introduction
- A new discrete optimization algorithm (HDABC) is proposed for solving the point-feature label placement problem;
- The update methods for employed and onlooker bees are redesigned to suit the point element label placement problem. The hired bee uses learning from good individuals, and the scout bee searches alternately with two search operators based on dynamic probabilities;
- Onlooker bees select more promising solutions for updating based on label similarity to improve the performance of the algorithm;
- Replace the greedy acceptance strategy of employed bees and onlooker bees with the Metropolis acceptance strategy to avoid the premature convergence problem.
2. Point-Feature Label Placement Problem
2.1. Label Candidate Model
2.2. Label Quality Evaluation Function
3. A Hybrid Discrete Artificial Bee Colony Algorithm
3.1. Standard Artificial Bee Colony Algorithm
- Initialization phase
- 2.
- Employed bee phase
- 3.
- Onlooker bee phase
- 4.
- Scout bee phase
3.2. A Hybrid Discrete Artificial Bee Colony Algorithm Based on Label Similarity
3.2.1. Coding and Initialization
3.2.2. Generation of Neighborhood Solutions
3.2.3. Selection Operation Based on Label Similarity
3.2.4. Metropolis Acceptance Strategy
3.2.5. Reset the Scout Bee
4. Experimental Results and Analysis
4.1. Instance and Parameter Settings
4.2. Experimental Results and Comparison with Other Algorithms
4.3. Analysis and Discussion
4.3.1. Analysis of Neighborhood Solution Generation
4.3.2. The Role of Selection Operations Based on Label Similarity
4.3.3. The Role of Metropolis Acceptance Strategy
5. Conclusions and Future Outlook
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Goudet, O.; Duval, B.; Hao, J.-K. Population-based gradient descent weight learning for graph coloring problems. Knowl.-Based Syst. 2021, 212, 106581. [Google Scholar] [CrossRef]
- Zhang, C.; Zhou, Y.; Peng, K.; Li, X.; Lian, K.; Zhang, S. Dynamic flexible job shop scheduling method based on improved gene expression programming. Meas. Control 2020, 54, 1125–1135. [Google Scholar] [CrossRef]
- Gunduz, M.; Aslan, M. DJAYA: A discrete Jaya algorithm for solving traveling salesman problem. Appl. Soft Comput. 2021, 105, 107275. [Google Scholar] [CrossRef]
- Zhang, Z.; Han, Y. Discrete sparrow search algorithm for symmetric traveling salesman problem. Appl. Soft Comput. 2022, 118, 108469. [Google Scholar] [CrossRef]
- Zhang, X.; Poon, S.-H.; Liu, S.; Li, M.; Lee, V.C. Consistent dynamic map labeling with fairness and importance. Comput. Aided Geom. Des. 2020, 81, 101892. [Google Scholar] [CrossRef]
- Christensen, J.; Marks, J.; Shieber, S. An empirical study of algorithms for point-feature label placement. ACM Trans. Graph. 1995, 14, 203–232. [Google Scholar] [CrossRef]
- Lhuillier, A.; van Garderen, M.; Weiskopf, D. Density-based label placement. Vis. Comput. 2019, 35, 1041–1052. [Google Scholar] [CrossRef]
- She, J.; Liu, J.; Li, C.; Li, J.; Wei, Q. A line-feature label placement algorithm for interactive 3D map. Comput. Graph. 2017, 67, 86–94. [Google Scholar] [CrossRef]
- Li, Y.; Sakamoto, M.; Shinohara, T.; Satoh, T. Automatic label placement of area-features using deep learning. The International Archives of Photogrammetry. Remote Sens. Spat. Inf. Sci. 2020, 43, 117–122. [Google Scholar] [CrossRef]
- Glover, F.; Greenberg, H.J. New approaches for heuristic search: A bilateral linkage with artificial intelligence. Eur. J. Oper. Res. 1989, 39, 119–130. [Google Scholar] [CrossRef]
- Zoraster, S. Practical Results Using Simulated Annealing for Point Feature Label Placement. Cartogr. Geogr. Inf. Syst. 1997, 24, 228–238. [Google Scholar] [CrossRef]
- Li, L.; Zhang, H.; Zhu, H.; Kuai, X.; Hu, W. A Labeling Model Based on the Region of Movability for Point-Feature Label Placement. ISPRS Int. J. Geo-Inf. 2016, 5, 159. [Google Scholar] [CrossRef]
- Yamamoto, M.; Camara, G.; Lorena, L.A.N. Tabu Search Heuristic for Point-Feature Cartographic Label Placement. GeoInformatica 2002, 6, 77–90. [Google Scholar] [CrossRef]
- Liang, J.; Xu, W.; Zhou, Y. A Map Point Labeling Method Based on Genetic Algorithm and Overlapping Conflict Prevention Mechanism. Geogr. Geo-Inf. Sci. 2019, 35, 6–11. [Google Scholar]
- Alvim, A.C.F.; Taillard, E.D. POPMUSIC for the point feature label placement problem. Eur. J. Oper. Res. 2009, 192, 396–413. [Google Scholar] [CrossRef]
- Rabello, R.L.; Mauri, G.R.; Ribeiro, G.M.; Lorena, L.A.N. A Clustering Search metaheuristic for the Point-Feature Cartographic Label Placement Problem. Eur. J. Oper. Res. 2014, 234, 802–808. [Google Scholar] [CrossRef]
- Araújo, E.J.; Chaves, A.A.; Lorena, L.A. Improving the Clustering Search heuristic: An application to cartographic labeling. Appl. Soft Comput. 2019, 77, 261–273. [Google Scholar] [CrossRef]
- Guerine, M.; Rosseti, I.; Plastino, A. A hybrid data mining heuristic to solve the point-feature cartographic label placement problem. Int. Trans. Oper. Res. 2020, 27, 1189–1209. [Google Scholar] [CrossRef]
- Cravo, G.L.; Ribeiro, G.M.; Lorena, L.A.N. A greedy randomized adaptive search procedure for the point-feature cartographic label placement. Comput. Geosci. 2008, 34, 373–386. [Google Scholar] [CrossRef]
- Lu, F.; Deng, J.; Li, S.; Deng, H. A Hybrid of Differential Evolution and Genetic Algorithm for the Multiple Geographical Feature Label Placement Problem. ISPRS Int. J. Geo-Inf. 2019, 8, 237. [Google Scholar] [CrossRef]
- Deng, J.; Guo, Z.; Lessani, M.N. Multiple Geographical Feature Label Placement Based on Multiple Candidate Positions in Two Degrees of Freedom Space. IEEE Access 2021, 9, 144085–144105. [Google Scholar] [CrossRef]
- Li, J.; Zhu, Q. A genetic taboo search algorithm for point-feature label placement considering the constrain of network. Bull. Surv. Map. 2019, 2, 80–85. [Google Scholar] [CrossRef]
- Zhou, X.; Sun, Z.; Wu, C.; Ding, Y. Automatic Label Placement of Point Feature: Using Ant Colony Algorithm Based on Group Clustering. J. Geo-Inf. Sci. 2015, 17, 902–908. [Google Scholar] [CrossRef]
- Karaboga, D.; Gorkemli, B.; Ozturk, C.; Karaboga, N. A comprehensive survey: Artificial bee colony (ABC) algorithm and applications. Artif. Intell. Rev. 2014, 42, 21–57. [Google Scholar] [CrossRef]
- Pandiri, V.; Singh, A. An artificial bee colony algorithm with variable degree of perturbation for the generalized covering traveling salesman problem. Appl. Soft Comput. 2019, 78, 481–495. [Google Scholar] [CrossRef]
- Khan, I.; Maiti, M.K. A swap sequence based Artificial Bee Colony algorithm for Traveling Salesman Problem. Swarm Evol. Comput. 2019, 44, 428–438. [Google Scholar] [CrossRef]
- Chen, R.; Yang, B.; Li, S.; Wang, S. A self-learning genetic algorithm based on reinforcement learning for flexible job-shop scheduling problem. Comput. Ind. Eng. 2020, 149, 106778. [Google Scholar] [CrossRef]
- Marín, A.; Pelegrín, M. Towards unambiguous map labeling—Integer programming approach and heuristic algorithm. Expert Syst. Appl. 2018, 98, 221–241. [Google Scholar] [CrossRef]
- Strijk, T.; van Kreveld, M. Practical extensions of point labeling in the slider model. Geoinformatica 2002, 6, 181–197. [Google Scholar] [CrossRef]
- Van Dijk, S.; Van Kreveld, M.; Strijk, T.; Wolff, A. Towards an evaluation of quality for names placement methods. Int. J. Geogr. Inf. Sci. 2010, 16, 641–661. [Google Scholar] [CrossRef]
- Rylov, M.A.; Reimer, A.W. Improving label placement quality by considering basemap detail with a raster-based approach. GeoInformatica 2014, 19, 463–486. [Google Scholar] [CrossRef]
- Cao, W.; Xu, J.; Peng, F.; Tong, X.; Wang, X.; Zhao, S.; Liu, W. A point-feature label placement algorithm based on spatial data mining. Math. Biosci. Eng. 2023, 20, 12169–12193. [Google Scholar] [CrossRef] [PubMed]
Algorithm | Parameter | Parameter Definition | Value |
---|---|---|---|
HDABC | N | Number of employed bees and onlooker bees | 50 |
L | Scout bee activation threshold | 500 | |
T0 | Initial temperature | 1 | |
α | Cooling speed | 0.95 | |
Tmin | minimum temperature | 0.01 | |
GA | NP | Population size | 100 |
p | Candidate table size | 4 | |
pb | Detection probability | 0.5 | |
SAmax | Annealing length | 20 | |
pm | Elite Probability | 0.1 | |
pe | Crossover probability | 0.8 | |
pv | Mutation probability | 0.1 | |
SA | T0 | Initial temperature | 40,000 |
α | Cooling speed | 0.95 | |
SAmax | Annealing length | 4000 | |
Tc | Termination temperature | 0.01 | |
mv | Label transformation probability | 0.001 | |
cn | Conflict count | / | |
CL | Candidate Table Size | 2 + 0.2 n | |
TS | TL | Contraindicated table size | 5 + 0.2 cn |
pDE | Weight of DE | 0.7 | |
DDEEGA | pGA | Weight of GA | 0.3 |
F | DE variation probability | 0.5 | |
Cr | DE hybridization probability | 0.8 | |
CGA | Genetic variation probability | 0.1 | |
NP | Population size | 100 |
Instance | Algorithm | ρ = 5% | ρ = 10% | ρ = 15% | ρ = 20% | ||||
---|---|---|---|---|---|---|---|---|---|
Best | Average | Best | Average | Best | Average | Best | Average | ||
I1 | HDABC | 88 | 87 | 84 | 83 | 79 | 78 | 77 | 77 |
GA | 88 | 87 | 84 | 82 | 78 | 77 | 77 | 76 | |
SA | 88 | 87 | 84 | 83 | 79 | 78 | 77 | 76 | |
TS | 88 | 87 | 84 | 83 | 79 | 78 | 77 | 76 | |
DDEGA | 88 | 86 | 83 | 82 | 79 | 77 | 77 | 76 | |
I2 | HDABC | 213 | 211 | 189 | 186 | 172 | 170 | 157 | 154 |
GA | 210 | 208 | 185 | 180 | 168 | 163 | 153 | 147 | |
SA | 212 | 210 | 190 | 185 | 172 | 169 | 157 | 153 | |
TS | 212 | 210 | 187 | 185 | 169 | 166 | 153 | 150 | |
DDEGA | 206 | 205 | 182 | 177 | 163 | 160 | 149 | 145 | |
I3 | HDABC | 438 | 435 | 398 | 395 | 366 | 363 | 347 | 341 |
GA | 433 | 429 | 382 | 387 | 356 | 352 | 333 | 327 | |
SA | 437 | 434 | 397 | 393 | 366 | 363 | 344 | 341 | |
TS | 436 | 434 | 397 | 392 | 366 | 361 | 341 | 338 | |
DDEGA | 425 | 422 | 377 | 381 | 351 | 344 | 323 | 317 |
Instance | Algorithm | ρ = 25% | ρ = 30% | ρ = 35% | ρ = 40% | ||||
---|---|---|---|---|---|---|---|---|---|
Best | Average | Best | Average | Best | Average | Best | Average | ||
I1 | HDABC | 77 | 75 | 75 | 74 | 71 | 69 | 68 | 66 |
GA | 76 | 74 | 74 | 71 | 69 | 67 | 66 | 63 | |
SA | 77 | 75 | 74 | 73 | 70 | 68 | 67 | 65 | |
TS | 76 | 74 | 74 | 72 | 70 | 68 | 67 | 65 | |
DDEGA | 73 | 71 | 69 | 72 | 68 | 65 | 64 | 62 | |
I2 | HDABC | 147 | 144 | 138 | 134 | 128 | 125 | 123 | 119 |
GA | 141 | 137 | 134 | 127 | 121 | 118 | 115 | 110 | |
SA | 147 | 144 | 139 | 134 | 129 | 125 | 120 | 117 | |
TS | 144 | 141 | 134 | 130 | 123 | 120 | 118 | 114 | |
DDEGA | 138 | 134 | 127 | 124 | 120 | 116 | 115 | 109 | |
I3 | HDABC | 322 | 317 | 301 | 294 | 283 | 276 | 263 | 259 |
GA | 306 | 300 | 282 | 278 | 267 | 260 | 248 | 242 | |
SA | 320 | 316 | 297 | 293 | 279 | 275 | 267 | 261 | |
TS | 316 | 313 | 296 | 290 | 277 | 272 | 261 | 256 | |
DDEGA | 297 | 291 | 279 | 272 | 261 | 253 | 245 | 238 |
Instance | Algorithm | ρ = 25% | ρ = 30% | ρ = 35% | ρ = 40% | ||||
---|---|---|---|---|---|---|---|---|---|
Best | Average | Best | Average | Best | Average | Best | Average | ||
I1 | HDABC | 153.6 | 157.6 | 163.2 | 169.1 | 187.1 | 190.4 | 201.4 | 206.7 |
GA | 154.4 | 161.4 | 171.1 | 177.1 | 195.4 | 200.1 | 204.7 | 213.9 | |
SA | 152.1 | 158.7 | 167.0 | 172.6 | 188.6 | 194.7 | 199.5 | 205.8 | |
TS | 161.0 | 167.3 | 173.2 | 180.2 | 192.7 | 196.3 | 205.7 | 209.1 | |
DDEGA | 161.7 | 169.6 | 175.7 | 181.6 | 193.6 | 203.4 | 214.2 | 217.7 | |
I2 | HDABC | 246.6 | 249.3 | 266.2 | 268.1 | 280.8 | 285.1 | 294.8 | 297.7 |
GA | 256.0 | 260.3 | 268.7 | 278.7 | 290.5 | 296.5 | 304.8 | 310.4 | |
SA | 245.3 | 250.3 | 264.4 | 268.1 | 278.4 | 285.1 | 296.1 | 297.6 | |
TS | 250.3 | 255.6 | 272.7 | 276.8 | 289.9 | 293.9 | 300.9 | 305.0 | |
DDEGA | 258.1 | 263.0 | 276.8 | 281.7 | 293.0 | 298.3 | 307.0 | 311.8 | |
I3 | HDABC | 217.5 | 221.5 | 240.3 | 242.1 | 256.5 | 259.7 | 269.9 | 273 |
GA | 231.0 | 235.6 | 253.6 | 257.2 | 269.1 | 273.3 | 283.2 | 289.3 | |
SA | 219.4 | 221.9 | 241.8 | 244.3 | 257.1 | 260.3 | 269.1 | 272.6 | |
TS | 222.5 | 225.1 | 244.5 | 247.1 | 260.2 | 263.7 | 274.6 | 278.2 | |
DDEGA | 232.3 | 237.5 | 255.2 | 259.4 | 271.1 | 275.1 | 286.8 | 288.9 |
Instance | Algorithm | ρ = 25% | ρ = 30% | ρ = 35% | ρ = 40% | ||||
---|---|---|---|---|---|---|---|---|---|
Best | Average | Best | Average | Best | Average | Best | Average | ||
I1 | HDABC | 153.6 | 157.6 | 163.2 | 169.1 | 187.1 | 190.4 | 201.4 | 206.7 |
GA | 154.4 | 161.4 | 171.1 | 177.1 | 195.4 | 200.1 | 204.7 | 213.9 | |
SA | 152.1 | 158.7 | 167.0 | 172.6 | 188.6 | 194.7 | 199.5 | 205.8 | |
TS | 161.0 | 167.3 | 173.2 | 180.2 | 192.7 | 196.3 | 205.7 | 209.1 | |
DDEGA | 161.7 | 169.6 | 175.7 | 181.6 | 193.6 | 203.4 | 214.2 | 217.7 | |
I2 | HDABC | 246.6 | 249.3 | 266.2 | 268.1 | 280.8 | 285.1 | 294.8 | 297.7 |
GA | 256.0 | 260.3 | 268.7 | 278.7 | 290.5 | 296.5 | 304.8 | 310.4 | |
SA | 245.3 | 250.3 | 264.4 | 268.1 | 278.4 | 285.1 | 296.1 | 297.6 | |
TS | 250.3 | 255.6 | 272.7 | 276.8 | 289.9 | 293.9 | 300.9 | 305.0 | |
DDEGA | 258.1 | 263.0 | 276.8 | 281.7 | 293.0 | 298.3 | 307.0 | 311.8 | |
I3 | HDABC | 217.5 | 221.5 | 240.3 | 242.1 | 256.5 | 259.7 | 269.9 | 273 |
GA | 231.0 | 235.6 | 253.6 | 257.2 | 269.1 | 273.3 | 283.2 | 289.3 | |
SA | 219.4 | 221.9 | 241.8 | 244.3 | 257.1 | 260.3 | 269.1 | 272.6 | |
TS | 222.5 | 225.1 | 244.5 | 247.1 | 260.2 | 263.7 | 274.6 | 278.2 | |
DDEGA | 232.3 | 237.5 | 255.2 | 259.4 | 271.1 | 275.1 | 286.8 | 288.9 |
Instance | ρ | SOLS | Roulette Selection | ||||
---|---|---|---|---|---|---|---|
Best | Average | Time | Best | Average | Time | ||
I1 | 5% | 84.5 | 85.9 | 25 | 84.5 | 86.1 | 27 |
10% | 108.6 | 109.8 | 29 | 108.6 | 111.5 | 27 | |
15% | 132.9 | 133.9 | 26 | 132.9 | 135.8 | 25 | |
20% | 141.5 | 143.6 | 28 | 141.5 | 143 | 29 | |
25% | 153.6 | 157.6 | 28 | 153.2 | 156.7 | 30 | |
30% | 163.2 | 169.1 | 31 | 166.6 | 170.6 | 33 | |
35% | 187.1 | 190.4 | 31 | 186.2 | 189.1 | 33 | |
40% | 201.4 | 206.7 | 27 | 203.3 | 205.5 | 30 | |
I2 | 5% | 116.8 | 119.6 | 73 | 116.5 | 118.7 | 158 |
10% | 166.5 | 169.1 | 71 | 167.7 | 170.5 | 133 | |
15% | 199.2 | 201.2 | 60 | 200.8 | 202.2 | 130 | |
20% | 228.1 | 231.7 | 75 | 230.7 | 232.8 | 124 | |
25% | 246.6 | 249.3 | 68 | 247 | 249.7 | 107 | |
30% | 266.2 | 268.1 | 56 | 264.9 | 267.7 | 115 | |
35% | 280.8 | 285.1 | 62 | 282.1 | 284.6 | 115 | |
40% | 294.8 | 297.7 | 58 | 294.9 | 297.9 | 111 | |
I3 | 5% | 96.0 | 98.2 | 183 | 97 | 98.4 | 413 |
10% | 139.3 | 141.1 | 200 | 139.2 | 142.3 | 370 | |
15% | 170 | 172 | 173 | 170.5 | 172.2 | 358 | |
20% | 196.6 | 198.4 | 222 | 195.5 | 198.6 | 351 | |
25% | 217.5 | 221.5 | 166 | 220.9 | 223 | 313 | |
30% | 240.3 | 242.1 | 204 | 243.4 | 244.8 | 299 | |
35% | 256.5 | 259.7 | 188 | 259.1 | 261.3 | 300 | |
40% | 269.9 | 273 | 172 | 271.2 | 274.5 | 287 |
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. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Cao, W.; Xu, J.; Zhang, Y.; Zhao, S.; Xu, C.; Wu, X. A Hybrid Discrete Artificial Bee Colony Algorithm Based on Label Similarity for Solving Point-Feature Label Placement Problem. ISPRS Int. J. Geo-Inf. 2023, 12, 429. https://doi.org/10.3390/ijgi12100429
Cao W, Xu J, Zhang Y, Zhao S, Xu C, Wu X. A Hybrid Discrete Artificial Bee Colony Algorithm Based on Label Similarity for Solving Point-Feature Label Placement Problem. ISPRS International Journal of Geo-Information. 2023; 12(10):429. https://doi.org/10.3390/ijgi12100429
Chicago/Turabian StyleCao, Wen, Jiaqi Xu, Yong Zhang, Siqi Zhao, Chu Xu, and Xiaofeng Wu. 2023. "A Hybrid Discrete Artificial Bee Colony Algorithm Based on Label Similarity for Solving Point-Feature Label Placement Problem" ISPRS International Journal of Geo-Information 12, no. 10: 429. https://doi.org/10.3390/ijgi12100429