Skip to main content
Log in

High-Performance Parallel Implementation of Genetic Algorithm on FPGA

  • Published:
Circuits, Systems, and Signal Processing Aims and scope Submit manuscript

Abstract

Genetic algorithms (GAs) are used to solve search and optimization problems in which an optimal solution can be found using an iterative process with probabilistic and non-deterministic transitions. However, depending on the problem’s nature, the time required to find a solution can be high in sequential machines due to the computational complexity of genetic algorithms. This work proposes a full-parallel implementation of a genetic algorithm on field-programmable gate array (FPGA). Optimization of the system’s processing time is the main goal of this project. Results associated with the processing time and area occupancy (on FPGA) for various population sizes are analyzed. Studies concerning the accuracy of the GA response for the optimization of two variables functions were also evaluated for the hardware implementation. However, the high-performance implementation proposed in this paper is able to work with more variable from some adjustments on hardware architecture. The results showed that the GA full-parallel implementation achieved throughput about 16 millions of generations per second and speedups between 17 and 170,000 associated with several works proposed in the literature.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

References

  1. S.P.H. Alinodehi, S. Moshfe, M.S. Zaeimian, A. Khoei, K. Hadidi, High-speed general purpose genetic algorithm processor. IEEE Trans. Cybern. 46(7), 1551–1565 (2016)

    Article  Google Scholar 

  2. M.S.B. Ameur, A. Sakly, Fpga based hardware implementation of bat algorithm. Appl. Soft Comput. 58, 378–387 (2017)

    Article  Google Scholar 

  3. K. Chapman, Multiplexer design techniques for datapath performance with minimized routing resources, in Application Note: Spartan-6 Family, Virtex-6 Family, 7 Series FPGAs (2014)

  4. Y. Chen, Q. Wu, Design and implementation of PID controller based on FPGA and genetic algorithm, in 2011 International Conference on Electronics and Optoelectronics (ICEOE), vol. 4, p. V4–308. IEEE (2011)

  5. K. Deliparaschos, G. Doyamis, S. Tzafestas, A parameterised genetic algorithm IP core: FPGA design, implementation and performance evaluation. Int. J. Electron. 95(11), 1149–1166 (2008)

    Article  Google Scholar 

  6. P. Fernando, H. Sankaran, S. Katkoori, D. Keymeulen, A. Stoica, R. Zebulum, R. Rajeshuni, A customizable FPGA IP core implementation of a general purpose genetic algorithm engine, in IEEE International Symposium on Parallel and Distributed Processing, 2008. IPDPS 2008 (IEEE, 2008), p. 1–8

  7. P.R. Fernando, S. Katkoori, D. Keymeulen, R. Zebulum, A. Stoica, Customizable FPGA IP core implementation of a general-purpose genetic algorithm engine. IEEE Trans. Evolut. Comput. 14(1), 133–149 (2010). https://doi.org/10.1109/TEVC.2009.2025032

    Article  Google Scholar 

  8. M. Goresky, A. Klapper, Pseudonoise sequences based on algebraic feedback shift registers. IEEE Trans. Inf. Theory 52(4), 1649–1662 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  9. L. Guo, A.I. Funie, D.B. Thomas, H. Fu, W. Luk, Parallel genetic algorithms on multiple fpgas. ACM SIGARCH Comput. Arch. News 43(4), 86–93 (2016)

    Article  Google Scholar 

  10. L. Guo, A.I. Funie, Z. Xie, D. Thomas, W. Luk, A general-purpose framework for FPGA-accelerated genetic algorithms. Int. J. Bio-Inspir. Comput. 7(6), 361–375 (2015)

    Article  Google Scholar 

  11. J.H. Holland, Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence (U Michigan Press, Ann Arbor, 1975)

    MATH  Google Scholar 

  12. N. Instruments, Understanding parallel hardware: multiprocessors, hyperthreading, dual-core, multicore and FPGAs (2011). http://www.ni.com/tutorial/6097/en/

  13. L.M. Ionescu, A. Mazare, A.I. Lita, G. Serban, Fully integrated artificial intelligence solution for real time route tracking, in 2015 38th International Spring Seminar on Electronics Technology (ISSE) (IEEE, 2015), p. 536–540

  14. Y. Jewajinda, P. Chongstitvatana, Hardware architecture and FPGA implementation of a parallel elitism-based compact genetic algorithm, in TENCON 2009-2009 IEEE Region 10 Conference (IEEE, 2009), p. 1–6

  15. J.R. Koza, Genetic evolution and co-evolution of computer programs. Artif. Life II(10), 603–629 (1991)

    Google Scholar 

  16. A. Lotfi, A. Rahimi, A. Yazdanbakhsh, H. Esmaeilzadeh, R.K. Gupta, Grater: an approximation workflow for exploiting data-level parallelism in FPGA acceleration. In: 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE) (IEEE, 2016), p. 1279–1284

  17. F. Mengxu, T. Bin, FPGA implementation of an adaptive genetic algorithm, in 2015 12th International Conference on Service Systems and Service Management (ICSSSM) (IEEE, 2015), p. 1–5

  18. H. Merabti, D. Massicotte, Hardware implementation of a real-time genetic algorithm for adaptive filtering applications, in 2014 IEEE 27th Canadian Conference on Electrical and Computer Engineering (CCECE) (IEEE, 2014), p. 1–5

  19. G. Mingas, E. Tsardoulias, L. Petrou, An fpga implementation of the SMG-SLAM algorithm. Microprocess. Microsyst. 36(3), 190–204 (2012)

    Article  Google Scholar 

  20. V.P. Nambiar, S. Balakrishnan, M. Khalil-Hani, M.N. Marsono, Hw/sw co-design of reconfigurable hardware-based genetic algorithm in FPGAs applicable to a variety of problems. Computing 95(9), 863–896 (2013)

    Article  Google Scholar 

  21. N. Nedjah, L. de Macedo Mourelle, An efficient problem-independent hardware implementation of genetic algorithms. Neurocomputing 71(1), 88–94 (2007)

    Article  MATH  Google Scholar 

  22. T.C. Oliveira, V.P. Júnior, An implementation of compact genetic algorithm on FPGA for extrinsic evolvable hardware, in 2008 4th Southern Conference on Programmable Logic (IEEE, 2008), p. 187–190

  23. M. Peker, A fully customizable hardware implementation for general purpose genetic algorithms. Appl. Soft Comput. 62, 1066–1076 (2018)

    Article  Google Scholar 

  24. H. Qu, K. Xing, T. Alexander, An improved genetic algorithm with co-evolutionary strategy for global path planning of multiple mobile robots. Neurocomputing 120, 509–517 (2013)

    Article  Google Scholar 

  25. N.M. Razali, J. Geraghty, Genetic algorithm performance with different selection strategies in solving TSP, in Proceedings of the World Congress on Engineering, vol. 2 (International Association of Engineers, Hong Kong, 2011), pp. 1134–1139

  26. A. Rodriguez, F. Moreno, Evolutionary computing and particle filtering: a hardware-based motion estimation system. IEEE Trans. Comput. 64(11), 3140–3152 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  27. S.D. Scott, A. Samal, S. Seth, Hga: a hardware-based genetic algorithm, in 3rd International ACM Symposium on Field-Programmable Gate Arrays (1995), p. 53–59. https://doi.org/10.1109/FPGA.1995.241945

  28. N. Sehatbakhsh, M. Aliasgari, S.M. Fakhraie, Fpga implementation of genetic algorithm for dynamic filter-bank-based multicarrier systems, in 2013 8th International Conference on Design & Technology of Integrated Systems in Nanoscale Era (DTIS) (IEEE, 2013), p. 72–77

  29. V. Tirumalai, K.G. Ricks, K.A. Woodbury, Using parallelization and hardware concurrency to improve the performance of a genetic algorithm. Concurr. Comput. Pract. Exp. 19(4), 443–462 (2007)

    Article  Google Scholar 

  30. J.P. Uyemura, Introduction to VLSI Circuits and Systems (Wiley, Hoboken, 2002)

    Google Scholar 

  31. M. Vavouras, K. Papadimitriou, I. Papaefstathiou, High-speed FPGA-based implementations of a genetic algorithm, in: International Symposium on Systems, Architectures, Modeling, and Simulation, 2009. SAMOS’09, p. 9–16. (IEEE, 2009)

  32. Z. Yan-cong, G. Jun-hua, D. Yong-feng, H. Huan-ping, Implementation of genetic algorithm for tsp based on FPGA, in: 2011 Chinese Control and Decision Conference (CCDC) (IEEE, 2011), p. 2226–2231

  33. Z. Zhu, D.J. Mulvaney, V.A. Chouliaras, Hardware implementation of a novel genetic algorithm. Neurocomputing 71(1), 95–106 (2007)

    Article  Google Scholar 

Download references

Acknowledgements

This study was financed in part by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)—Finance Code 001.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marcelo A. C. Fernandes.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Torquato, M.F., Fernandes, M.A.C. High-Performance Parallel Implementation of Genetic Algorithm on FPGA. Circuits Syst Signal Process 38, 4014–4039 (2019). https://doi.org/10.1007/s00034-019-01037-w

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00034-019-01037-w

Keywords

Navigation