High-Performance Parallel Implementation of Genetic Algorithm on FPGA

  • Matheus F. Torquato
  • Marcelo A. C. FernandesEmail author


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.


Parallel implementation FPGA Genetic algorithms Reconfigurable computing 



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


  1. 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)CrossRefGoogle Scholar
  2. 2.
    M.S.B. Ameur, A. Sakly, Fpga based hardware implementation of bat algorithm. Appl. Soft Comput. 58, 378–387 (2017)CrossRefGoogle Scholar
  3. 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)Google Scholar
  4. 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)Google Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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–8Google Scholar
  7. 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). CrossRefGoogle Scholar
  8. 8.
    M. Goresky, A. Klapper, Pseudonoise sequences based on algebraic feedback shift registers. IEEE Trans. Inf. Theory 52(4), 1649–1662 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 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)CrossRefGoogle Scholar
  10. 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)CrossRefGoogle Scholar
  11. 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)zbMATHGoogle Scholar
  12. 12.
    N. Instruments, Understanding parallel hardware: multiprocessors, hyperthreading, dual-core, multicore and FPGAs (2011).
  13. 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–540Google Scholar
  14. 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–6Google Scholar
  15. 15.
    J.R. Koza, Genetic evolution and co-evolution of computer programs. Artif. Life II(10), 603–629 (1991)Google Scholar
  16. 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–1284Google Scholar
  17. 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–5Google Scholar
  18. 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–5Google Scholar
  19. 19.
    G. Mingas, E. Tsardoulias, L. Petrou, An fpga implementation of the SMG-SLAM algorithm. Microprocess. Microsyst. 36(3), 190–204 (2012)CrossRefGoogle Scholar
  20. 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)CrossRefGoogle Scholar
  21. 21.
    N. Nedjah, L. de Macedo Mourelle, An efficient problem-independent hardware implementation of genetic algorithms. Neurocomputing 71(1), 88–94 (2007)CrossRefzbMATHGoogle Scholar
  22. 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–190Google Scholar
  23. 23.
    M. Peker, A fully customizable hardware implementation for general purpose genetic algorithms. Appl. Soft Comput. 62, 1066–1076 (2018)CrossRefGoogle Scholar
  24. 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)CrossRefGoogle Scholar
  25. 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–1139Google Scholar
  26. 26.
    A. Rodriguez, F. Moreno, Evolutionary computing and particle filtering: a hardware-based motion estimation system. IEEE Trans. Comput. 64(11), 3140–3152 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 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.
  28. 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–77Google Scholar
  29. 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)CrossRefGoogle Scholar
  30. 30.
    J.P. Uyemura, Introduction to VLSI Circuits and Systems (Wiley, Hoboken, 2002)Google Scholar
  31. 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)Google Scholar
  32. 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–2231Google Scholar
  33. 33.
    Z. Zhu, D.J. Mulvaney, V.A. Chouliaras, Hardware implementation of a novel genetic algorithm. Neurocomputing 71(1), 95–106 (2007)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.College of EngineeringSwansea UniversitySwanseaUK
  2. 2.Department of Computer Engineering and AutomationFederal University of Rio Grande do Norte (UFRN)NatalBrazil

Personalised recommendations