An FPGA array for cellular genetic algorithms: Application to the minimum energy broadcast problem

Abstract The genetic algorithm is a general purpose optimization metaheuristic for solving complex optimization problems. Because the algorithm usually requires a large number of iterations to evolve a population of solutions to good final solutions, it normally exhibits long execution times, especially if running on low-performance conventional processors. In this work, we present a scalable computing array to parallelize and accelerate the execution of cellular GAs (cGAs). This is a variant of genetic algorithms which can conveniently exploit the coarse-grain parallelism afforded by custom parallel processing. The proposed architecture targets Xilinx FPGAs and was implemented as an auxiliary processor of an embedded soft-core CPU (MicroBlaze). To facilitate the customization for different optimization problems, a high-level synthesis design flow is proposed where the problem-dependent operations are specified in C++ and synthesised to custom hardware, thus demanding of the programmer only minimal knowledge of low-level digital design for FPGAs. To demonstrate the efficiency of the array processor architecture and the effectiveness of the design methodology, the development of a hardware solver for the minimum energy broadcast problem in wireless ad hoc networks is employed as a use case. Implementation results for a Virtex-6 FPGA show significant speedups, especially when comparing to embedded processors used in current FPGA devices.

[1]  Gregory S. Hornby,et al.  Automated Antenna Design with Evolutionary Algorithms , 2006 .

[2]  Enrique Alba,et al.  Cellular genetic algorithms , 2014, GECCO.

[3]  Majid Nili Ahmadabadi,et al.  SOPC-Based Parallel Genetic Algorithm , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[4]  Wayne Luk,et al.  Automated Framework for General-Purpose Genetic Algorithms in FPGAs , 2014, EvoApplications.

[5]  João Canas Ferreira,et al.  A framework for hardware cellular genetic algorithms: An application to spectrum allocation in cognitive radio , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[6]  Spyros G. Tzafestas,et al.  A parameterised genetic algorithm IP core: FPGA design, implementation and performance evaluation , 2008 .

[7]  Keiichi Yasumoto,et al.  General Architecture for Hardware Implementation of Genetic Algorithm , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[8]  Ioannis Papaefstathiou,et al.  High-speed FPGA-based implementations of a Genetic Algorithm , 2009, 2009 International Symposium on Systems, Architectures, Modeling, and Simulation.

[9]  Alok Singh,et al.  A hybrid genetic algorithm for the minimum energy broadcast problem in wireless ad hoc networks , 2011, Appl. Soft Comput..

[10]  Ching-Chih Tsai,et al.  Parallel Elite Genetic Algorithm and Its Application to Global Path Planning for Autonomous Robot Navigation , 2011, IEEE Transactions on Industrial Electronics.

[11]  Richard J. Carter,et al.  A High-Performance, Pipelined, FPGA-Based Genetic Algorithm Machine , 2001, Genetic Programming and Evolvable Machines.

[12]  Adrian Stoica,et al.  A customizable FPGA IP core implementation of a general purpose Genetic Algorithm engine , 2010, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[13]  João Canas Ferreira,et al.  A scalable array for Cellular Genetic Algorithms: TSP as case study , 2012, 2012 International Conference on Reconfigurable Computing and FPGAs.

[14]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[15]  Fariborz Ahmadi,et al.  New Hardware Engine for Genetic Algorithms , 2011, 2011 Fifth International Conference on Genetic and Evolutionary Computing.

[16]  René Cumplido,et al.  A scalable and customizable processor array for implementing cellular genetic algorithms , 2016, Neurocomputing.

[17]  Richard J. Carter,et al.  FPGA implementation of neighborhood-of-four cellular automata random number generators , 2002, FPGA '02.

[18]  Ujjwal Maulik,et al.  Multiobjective Genetic Algorithms for Clustering - Applications in Data Mining and Bioinformatics , 2011 .

[19]  Pedro Larrañaga,et al.  Genetic Algorithms for the Travelling Salesman Problem: A Review of Representations and Operators , 1999, Artificial Intelligence Review.

[20]  Muhammad N. Marsono,et al.  HW/SW co-design of reconfigurable hardware-based genetic algorithm in FPGAs applicable to a variety of problems , 2013, Computing.