Abstract
In this paper, we propose a fine-grained fast parallel genetic algorithm based on a ternary optical computer. Owing to the natural parallelizability of genetic algorithms, we take advantage of the characteristics of ternary optical computers, such as a large number of processor bits that can be reconfigured or allocated bit-by-bit, parallel computation, and low power consumption. The design and implementation of a parallel genetic algorithm on a ternary optical computer by solving the traveling salesman problem (TSP) is used as an example. Theoretical analysis and experimental results show that our proposed algorithm provides more efficient performance when the size of the members of the cities continuously increases according to the acceleration ratio measurement results. It also lays the theoretical foundation for the application of ternary optical computers in data-intensive computing.















Similar content being viewed by others
Data availability
All data, models, and code generated or used during the study appear in the submitted article.
References
Karp RM, Miller RE, Thatcher JW, Bohlinger JD (1972) Reducibility among combinatorial problems. Springer, Boston
Beame P, Cook S, Edmonds J, Impagliazzo R, Pitassi T (1998) The relative complexity of np search problems. J Computer Syst Sci 57(1):3–19. https://doi.org/10.1006/jcss.1998.1575
Baniasadi P, Foumani M, Smith-Miles K, Ejov V (2020) A transformation technique for the clustered generalized traveling salesman problem with applications to logistics. Eur J Op Res 285(2):444–457. https://doi.org/10.1016/j.ejor.2020.01.053
Khosravani Moghadam E, Vahdanjoo M, Jensen AL, Sharifi M, Sørensen CAG (2020) An arable field for benchmarking of metaheuristic algorithms for capacitated coverage path planning problems. Agronomy 10(10):1454. https://doi.org/10.3390/agronomy10101454
Wang Z, Mumtaz J, Zhang L, Yue L (2019) Application of an improved spider monkey optimization algorithm for component assignment problem in pcb assembly. Procedia CIRP 83:266–271. https://doi.org/10.1016/j.procir.2019.04.075
Liu H, Liu R, Liu Z, Xu S (2021) Minimizing the number of transitions of 3d printing nozzles using a traveling-salesman-problem optimization model. Int J Precision Eng Manuf 22(9):1617–1637. https://doi.org/10.1007/s12541-021-00512-2
Kumar NS, Ponsekar P (2016) Cluster based data gathering and energy saving in wireless sensor network (wsn). Int J Adv Res Biol, Eng, Sci Technol (IJARBEST) 2(2):38–44
Abbasi M, Rafiee M, Khosravi MR, Jolfaei A, Menon VG, Koushyar JM (2020) An efficient parallel genetic algorithm solution for vehicle routing problem in cloud implementation of the intelligent transportation systems. J Cloud Comput 9(1):1–14. https://doi.org/10.1186/s13677-020-0157-4
Lo K-M, Yi W-Y, Wong P-K, Leung K-S, Leung Y, Mak S-T (2018) A genetic algorithm with new local operators for multiple traveling salesman problems. Int J Comput Intell Syst 11(1):692–705. https://doi.org/10.2991/ijcis.11.1.53
Qamar MS, Tu S, Ali F, Armghan A, Munir MF, Alenezi F, Muhammad F, Ali A, Alnaim N (2021) Improvement of traveling salesman problem solution using hybrid algorithm based on best-worst ant system and particle swarm optimization. Appl Sci 11(11):4780. https://doi.org/10.3390/app11114780
Shetty A, Shetty A, Puthusseri KS, Shankaramani R (2018) An improved ant colony optimization algorithm: Minion ant (mant) and its application on tsp. In: 2018 IEEE Symposium Series on Computational Intelligence (SSCI), pp. 1219–1225
Osaba E, Villar-Rodriguez E, Oregi I, Moreno-Fernandez-de-Leceta A (2021) Hybrid quantum computing-tabu search algorithm for partitioning problems: Preliminary study on the traveling salesman problem. In: 2021 IEEE Congress on Evolutionary Computation (CEC), pp. 351–358
Rao TS (2021) A simulated annealing approach to solve a multi traveling salesman problem in a fmcg company. Mater Today: Proc 46:4971–4974. https://doi.org/10.1016/j.matpr.2020.10.384
Saadatmand-Tarzjan M (2018) On computational complexity of the constructive-optimizer neural network for the traveling salesman problem. Neurocomputing 321:82–91. https://doi.org/10.1016/j.neucom.2018.09.039
Cui L, Chen C, Jin J, Yu F (2021) Dynamic analysis and fpga implementation of new chaotic neural network and optimization of traveling salesman problem. Complexity 2021. https://doi.org/10.1155/2021/5521192
Bouman P, Agatz N, Schmidt M (2018) Dynamic programming approaches for the traveling salesman problem with drone. Networks 72(4):528–542. https://doi.org/10.1002/net.21864
Montero A, Méndez-Díaz I, Miranda-Bront JJ (2017) An integer programming approach for the time-dependent traveling salesman problem with time windows. Computers Op Res 88:280–289. https://doi.org/10.1016/j.cor.2017.06.026
Menezes BAM, Kuchen H, Amorim Neto HA, de Lima Neto FB (2019) Parallelization strategies for gpu-based ant colony optimization solving the traveling salesman problem. In: 2019 IEEE Congress on Evolutionary Computation (CEC), pp. 3094–3101. https://doi.org/10.1109/CEC.2019.8790073
Li D, Feng Y, Zhong J, Zhou J, Yin L, Zhou J (2017) Parallel optimization based on artificial bee colony algorithm. In: 2017 IEEE 2nd International Conference on Big Data Analysis (ICBDA), pp. 955–959. https://doi.org/10.1109/ICBDA.2017.8078779
Abbasi M, Rafiee M (2020) Efficient parallelization of a genetic algorithm solution on the traveling salesman problem with multi-core and many-core systems. Int J Eng 33(7):1257–1265. https://doi.org/10.5829/ije.2020.33.07a.12
Alanzi E, Bennaceur H (2019) Hadoop mapreduce for parallel genetic algorithm to solve traveling salesman problem. Int J Adv Computer Sci Appl 10:8. https://doi.org/10.14569/ijacsa.2019.0100814
Cheng JR, Gen M (2020) Parallel genetic algorithms with gpu computing. In: Bányai, T., Felice, A.P.F.D. (eds.) Industry 4.0. IntechOpen, Rijeka. Chap. 6. https://doi.org/10.5772/intechopen.89152
Yan L, Hu W, Han L (2019) Parallel architecture design of genetic algorithms on hpc platform. In: Proceedings of the ACM Turing Celebration Conference-China, pp. 1–7. https://doi.org/10.1145/3321408.3326677
Guo L, Funie AI, Thomas DB, Fu H, Luk W (2016) Parallel genetic algorithms on multiple fpgas. ACM SIGARCH Computer Arch News 43(4):86–93. https://doi.org/10.1145/2927964.2927980
Li S, Wang Z, Wang S, An D (2022) Theoretical basis and implementation mechanism of the programming platform for ternary optical computer. IEEE Access 10:5585–5594. https://doi.org/10.1109/access.2022.3142329
Jiabao J, Yunfu S, Shan O, JunJie P, Xianchao W (2020) The application of sj-msd adder to mean value filtering processing. Optik 206:164271. https://doi.org/10.1016/j.ijleo.2020.164271
Zhang S, Shen Y, Zhao Z (2020) Design and implementation of a three-lane ca traffic flow model on ternary optical computer. Opt Commun 470:125750. https://doi.org/10.1016/j.optcom.2020.125750
Zhehe W, Yunfu S (2021) Design and implementation of the walsh-hadamard transform on a ternary optical computer. Appl Opt 60(30):9254–9262. https://doi.org/10.1364/ao.435457
Avizienis A (1961) Signed-digit numbe representations for fast parallel arithmetic. IRE Transactions on Electronic Computers EC-10(3), 389–400. https://doi.org/10.1109/tec.1961.5219227
Drake BL, Bocker RP, Lasher ME, Patterson RH, Miceli WJ (1986) Photonic computing using the modified signed-digit number representation. Opt Eng 25(1):250138. https://doi.org/10.1117/12.7973778
Bocker RP, Drake BL, Lasher ME, Henderson TB (1986) Modified signed-digit addition and subtraction using optical symbolic substitution. Appl Opt 25(15):2456–2457. https://doi.org/10.1364/ao.25.002456
Jin Y, Shen Y, Peng J, Xu S, Ding G, Yue D, You H (2010) Principles and construction of msd adder in ternary optical computer. Sci China Inf Sci 53(11):2159–2168. https://doi.org/10.1007/s11432-010-4091-9
Peng J, Wei X, Zhang X, Shen Y, Fu Y (2017) Implementation of parallel fft algorithm on a ternary optical computer. SCIENTIA SINICA Inf 47(7):846. https://doi.org/10.1360/n112016-00164
Jin Y, He H, Lü Y (2003) Ternary optical computer principle. Sci China Ser F: Inf Sci 46(2):145–150. https://doi.org/10.1360/03yf9012
Yunfu S, Zhehe W, Junjie P, Shan O (2021) Characteristics of parallel carry-free three-step msd additions. IEEE Access 9:49601–49613. https://doi.org/10.1109/access.2021.3059208
Ansorge R (2022) Programming in parallel with CUDA: a practical guide. Cambridge University Press, Cambridge
Chitty DM (2007) A data parallel approach to genetic programming using programmable graphics hardware. In: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, pp. 1566–1573. https://doi.org/10.1145/1276958.1277274
Lohn JD, Colombano SP, Haith GL, Stassinopoulos D (2000) A parallel genetic algorithm for automated electronic circuit design. In: Proc. of the Computational Aerosciences Workshop, NASA Ames Research Center
Nowostawski M, Poli R (1999) Parallel genetic algorithm taxonomy. In: 1999 Third International Conference on Knowledge-Based Intelligent Information Engineering Systems. Proceedings (Cat. No. 99TH8410), pp. 88–92
Skorpil V, Oujezsky V, Tuleja M (2020) Hardware utilization of models of genetic algorithms. In: 2020 12th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT), pp. 131–135
Byun J-H, Datta K, Ravindran A, Mukherjee A, Joshi B (2009) Performance analysis of coarse-grained parallel genetic algorithms on the multi-core sun ultrasparc t1. In: IEEE Southeastcon 2009, pp. 301–306
Poveda R, Gómez J (2018) Solving the quadratic assignment problem (qap) through a fine-grained parallel genetic algorithm implemented on gpus. In: International Conference on Computational Collective Intelligence, pp. 145–154. https://doi.org/10.1007/978-3-319-98446-9_14. Springer
Cantú-Paz E et al (1998) A survey of parallel genetic algorithms. Calculateurs paralleles, reseaux et systems repartis 10(2):141–171
Wang Z, Shen Y (2021) Design and implementation of bitwise parallel msd square rooting in ternary optical computer. Opt Eng 60(8):085107. https://doi.org/10.1117/1.OE.60.8.085107
Deng Y, Liu Y, Zhou D (2015) An improved genetic algorithm with initial population strategy for symmetric tsp. Math Probl Eng. https://doi.org/10.1155/2015/212794
Optimal solutions for symmetric TSPs. http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/. accessed on July 1, (2022)
Acknowledgements
Thank Prof. Jin Yi, all Ph. D candidates and master graduate students of our research center for their kind help and valuable discussions in preparing the paper. We also thank Prof. Guan Dawen for his help with the english grammar in the revised paper.
Funding
This work is supported by National Natural Science Foundation of China (Grant No.61572305), Hainan Higher Education Reform Research Project of China (Grant No. Hnjg2017-46, No.Hnjg2022-90), Hainan Provincial Natural Science Foundation of China(Grant No.121RC1071, No.622MS084) and University-level general research project of Shanghai Normal University of China(Grant No.SK202121).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix A: Abbreviations comparison table
Acronym | Full name |
---|---|
CPU | Central Processing Unit |
CUDA | Compute Unified Device Architecture |
FPGA | Field Programmable Gate Array |
GA | Genetic Algorithm |
GPU | Graphics Processing Unit |
HPC | High Performance Computing |
LCD | Liquid Crystal Display |
MPI | Massage Passing Interface |
MSD | Modied Signed Digital |
NPC Problem | Non-deterministic Polynomial Complete Problem |
PGA | Parallel Genetic Algorithm |
SD16 | Chinese spelling of Shanghai University-2016 |
TOC | Ternary Optical Computer |
TOC-FFPGA | Fine-grained Fast PGA based on a TOC |
TOP | Ternary Optical Processor |
TSP | Traveling Salesman Problems |
Appendix B: Variables or function comparison table
Variable/Function name | Meaning |
---|---|
\(Adder\_i\) | The i-th adder or arithmetic unit |
BestFitness | Best Fitness |
C(t) | Individual crossover function |
ChrFit[PopSize] | Buffer for storing optimal chromosomes |
ChrLength | The length of chromosome |
CityChrNo[n][n] | Storing city information |
\(Comparer\_i\) | The i-th comparator or logical unit |
CurGen | Curent generation number |
\(Fitness(chr_i)\) | Calculation function for the i-th individual fitness |
M(t) | Individual mutation function |
MaxGen | Maximum number of generations |
NewCityChrNo[n][n] | Storing new city information |
P(CurGen) | Population initialization function |
\(P_c\) | Crossover probability |
\(P_m\) | Mutation probability |
PopSize | Population number |
\(P_s\) | Selection probability |
Rights and permissions
Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Wang, Z., Shen, Y., Li, S. et al. A fine-grained fast parallel genetic algorithm based on a ternary optical computer for solving traveling salesman problem. J Supercomput 79, 4760–4790 (2023). https://doi.org/10.1007/s11227-022-04813-9
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-022-04813-9