An FPGA-Based Accelerated Optimization Algorithm for Real-Time Applications

Many modern applications, such as industrial control, image processing and machine learning, are based on optimization algorithms that must solve compute-intensive problems under real-time constraints taking into account real-world parameters that evolve in time. Among others, evolutionary algorithms (EAs) are increasingly used in real-time applications to solve such complex optimization problems. Moreover, Field Programmable Gate Arrays (FPGAs) have been proved an effective platform for the implementation of these algorithms satisfying real-time and low-power requirements. In this paper, we study the FPGA-based acceleration of the Big Bang-Big Crunch (BB-BC) algorithm. BB-BC is an optimization method inspired by the corresponding evolutionary theory of the universe [ 1 ]. The BB-BC method is performed in two phases: in the Bing Bang phase, similarly to other Genetic Algorithms (GAs) it generates a random population of candidate solutions, while in the Big Crunch phase it shrinks these candidates around an optimal point. It has been shown that the BB-BC method outperforms classical GA algorithms for several optimization problems in terms of convergence speed. We show that the BB-BC algorithm does not suffer from the design limitations of the classical GAs that impede the performance of their hardware-based accelerators. We propose an efficient fully pipelined design of both BB-BC phases and a parallel scheme which integrates several BB-BC pipelined engines to improve system performance. We implement the proposed FPGA-based accelerator on a Xilinx Virtex-5 development board for three different fitness functions and compare the execution time against its software counterpart (in C language) and a CUDA program running on a massively parallel computing platform (GPU). We also compare the proposed optimized FPGA architecture with an RTL design generated by a high-level synthesis (HLS) design flow. We propose an Adaptive Neuro-fuzzy Inference System (ANFIS) model for fitness function approximation method to reduce the execution latency of complex fitness functions. We also demonstrate the efficiency of the proposed FPGA architecture on an image search problem, finding the darkest pixel of a grey image. The experimental results show that the proposed approach achieves significant speedup compared to the other software versions of the BB-BC algorithm and converges much faster than a typical GA algorithm making it an ideal solution for real-time embedded applications.

[1]  Anastasios I. Dounis,et al.  Fuzzy-PID controller for MPPT of PV system optimized by Big Bang-Big Crunch algorithm , 2015, 2015 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE).

[2]  Viktor K. Prasanna,et al.  High-Performance Reduction Circuits Using Deeply Pipelined Operators on FPGAs , 2007, IEEE Transactions on Parallel and Distributed Systems.

[3]  Wayne Luk,et al.  Reconfigurable acceleration of fitness evaluation in trading strategies , 2015, 2015 IEEE 26th International Conference on Application-specific Systems, Architectures and Processors (ASAP).

[4]  Ashok Samal,et al.  HGA: A Hardware-Based Genetic Algorithm , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[5]  Michio Sugeno,et al.  Fuzzy identification of systems and its applications to modeling and control , 1985, IEEE Transactions on Systems, Man, and Cybernetics.

[6]  Payel Ghosh,et al.  Incorporating priors for medical image segmentation using a genetic algorithm , 2016, Neurocomputing.

[7]  Engin Yesil,et al.  Adaptive fuzzy model based inverse controller design using BB-BC optimization algorithm , 2011, Expert Syst. Appl..

[8]  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.

[9]  Wayne Luk,et al.  Automated framework for FPGA-based parallel genetic algorithms , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[10]  Siamak Talatahari,et al.  Optimal design of Schwedler and ribbed domes via hybrid Big Bang–Big Crunch algorithm , 2010 .

[11]  Sam Kwong,et al.  Genetic Algorithms : Concepts and Designs , 1998 .

[12]  Abdollah Khoei,et al.  High-Speed General Purpose Genetic Algorithm Processor , 2016, IEEE Transactions on Cybernetics.

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

[14]  Miaoqing Huang,et al.  Modular Design of Fully Pipelined Reduction Circuits on FPGAs , 2013, IEEE Transactions on Parallel and Distributed Systems.

[15]  Charles V. Camp,et al.  Design of Retaining Walls Using Big Bang–Big Crunch Optimization , 2012 .

[16]  Wallace Tang,et al.  Hardware implementation of genetic algorithms using FPGA , 2004, The 2004 47th Midwest Symposium on Circuits and Systems, 2004. MWSCAS '04..

[17]  Yamina Mohamed Ben Ali,et al.  Edge-based Segmentation Using Robust Evolutionary Algorithm Applied to Medical Images , 2009, J. Signal Process. Syst..

[18]  Yaochu Jin,et al.  A comprehensive survey of fitness approximation in evolutionary computation , 2005, Soft Comput..

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

[20]  Carlos Silva Cardenas,et al.  Design and implementation of an adaptive neuro-fuzzy inference system on an FPGA used for nonlinear function generation , 2010, 2010 IEEE ANDESCON.

[21]  Vassilios A. Chouliaras,et al.  Hardware implementation of a novel genetic algorithm , 2007, Neurocomputing.

[22]  A. Kaveh,et al.  Size optimization of space trusses using Big Bang-Big Crunch algorithm , 2009 .

[23]  Ibrahim Eksin,et al.  A new optimization method: Big Bang-Big Crunch , 2006, Adv. Eng. Softw..

[24]  Eun Yi Kim,et al.  Automatic video segmentation using genetic algorithms , 2006, Pattern Recognit. Lett..

[25]  Wayne Luk,et al.  Pipelined Genetic Propagation , 2015, 2015 IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing Machines.

[26]  Engin Yesil,et al.  Interval type-2 fuzzy PID load frequency controller using Big Bang-Big Crunch optimization , 2014, Appl. Soft Comput..

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

[28]  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.

[29]  Mahboubeh Shamsi,et al.  Fast Algorithm for Iris Localization Using Daugman Circular Integro Differential Operator , 2009, 2009 International Conference of Soft Computing and Pattern Recognition.

[30]  Khaled Rasheed,et al.  A Survey of Fitness Approximation Methods Applied in Evolutionary Algorithms , 2010 .

[31]  Peihua Qiu,et al.  Difference Detection Between Two Images for Image Monitoring , 2018, Technometrics.

[32]  Jyh-Shing Roger Jang,et al.  ANFIS: adaptive-network-based fuzzy inference system , 1993, IEEE Trans. Syst. Man Cybern..

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

[34]  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.

[35]  Jason M. Daida,et al.  Algorithm discovery using the genetic programming paradigm: extracting low-contrast curvilinear features from SAR images of arctic ice , 1996 .

[36]  George A. Constantinides,et al.  High-level synthesis of dynamic data structures: A case study using Vivado HLS , 2013, 2013 International Conference on Field-Programmable Technology (FPT).

[37]  Manish Kumar Jaiswal,et al.  DSP48E efficient floating point multiplier architectures on FPGA , 2017, 2017 30th International Conference on VLSI Design and 2017 16th International Conference on Embedded Systems (VLSID).

[38]  Wayne Luk,et al.  Parallel Genetic Algorithms on Multiple FPGAs , 2016, CARN.

[39]  Franck Marzani,et al.  Fast FPGA prototyping for real-time image processing with very high-level synthesis , 2019, Journal of Real-Time Image Processing.