A parallel whale optimization algorithm and its implementation on FPGA

Whale optimization Algorithm (WOA), as a novel nature-inspired swarm optimization algorithm, has demonstrated superior performance in solving optimization problems. However, the performance deteriorates when applied to large-scale complex problems due to rapidly increasing running time required for huge computational tasks. Based on interactions within population, WOA is naturally amenable to parallelism, prompting an effective approach to mitigate the drawbacks of sequential WOA. Field Programmable Gate Array (FPGA) is an acceleration device of high parallelism and programmability. Meanwhile, Open Computing Language (OpenCL) provides a general architecture for heterogeneous development. In this paper, an efficient implementation of parallel WOA on FPGA is proposed named FPWOA. Experiment studies are conducted by performing WOA on CPU and FPWOA on FPGA respectively to solve ten well known benchmark functions. Numerical results show that our approach achieves a favourable speedup while maintaining optimization performance.

[1]  Mark P. Wachowiak,et al.  Adaptive Particle Swarm Optimization with Heterogeneous Multicore Parallelism and GPU Acceleration , 2017, IEEE Transactions on Parallel and Distributed Systems.

[2]  Xin-She Yang,et al.  A literature survey of benchmark functions for global optimisation problems , 2013, Int. J. Math. Model. Numer. Optimisation.

[3]  Majdi M. Mafarja,et al.  Hybrid Whale Optimization Algorithm with simulated annealing for feature selection , 2017, Neurocomputing.

[4]  Rui Wang,et al.  PBAR: Parallelized Brain Storm Optimization for Association Rule Mining , 2019, 2019 IEEE Congress on Evolutionary Computation (CEC).

[5]  Xin Chang,et al.  Suitability Analysis of FPGAs for Heterogeneous Platforms in HPC , 2016, IEEE Transactions on Parallel and Distributed Systems.

[6]  Jitendra Kumar,et al.  GPU based parallel cooperative Particle Swarm Optimization using C-CUDA: A case study , 2013, 2013 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE).

[7]  Abdelouahab Moussaoui,et al.  A guided population archive whale optimization algorithm for solving multiobjective optimization problems , 2020, Expert Syst. Appl..

[8]  Jing Li,et al.  Improving the Performance of OpenCL-based FPGA Accelerator for Convolutional Neural Network , 2017, FPGA.

[9]  Adel A. El-Zoghabi,et al.  Optimized implementation of OpenCL kernels on FPGAs , 2019, J. Syst. Archit..

[10]  Masanori Hariyama,et al.  OpenCL-Based FPGA-Platform for Stencil Computation and Its Optimization Methodology , 2017, IEEE Transactions on Parallel and Distributed Systems.

[11]  Imtiaz Ahmad,et al.  Distributed Whale Optimization Algorithm based on MapReduce , 2018, Concurr. Comput. Pract. Exp..

[12]  Leandro Soares Indrusiak,et al.  Hardware-Accelerated Parallel Genetic Algorithm for Fitness Functions with Variable Execution Times , 2016, GECCO.

[13]  Ke Ding,et al.  A Survey on GPU-Based Implementation of Swarm Intelligence Algorithms , 2016, IEEE Transactions on Cybernetics.

[14]  A. Kai Qin,et al.  A GPU-based implementation of brain storm optimization , 2017, 2017 IEEE Congress on Evolutionary Computation (CEC).

[15]  Herbert Kuchen,et al.  Parallelization Strategies for GPU-Based Ant Colony Optimization Solving the Traveling Salesman Problem , 2019, 2019 IEEE Congress on Evolutionary Computation (CEC).

[16]  Sadok Bouamama,et al.  A New Hybrid GPU-PSO Approach for Solving Max-CSPs , 2016, GECCO.

[17]  Satyasai Jagannath Nanda,et al.  Multi-objective whale optimization , 2017, TENCON 2017 - 2017 IEEE Region 10 Conference.

[18]  Aboul Ella Hassanien,et al.  Multi-objective whale optimization algorithm for content-based image retrieval , 2018, Multimedia Tools and Applications.

[19]  Suely Oliveira,et al.  Two Simple Tricks for Fast Cache-Aware Parallel Particle Swarm Optimization , 2019, 2019 IEEE Congress on Evolutionary Computation (CEC).

[20]  Mehdi Baradaran Tahoori,et al.  Energy Efficient Scientific Computing on FPGAs using OpenCL , 2017, FPGA.

[21]  H. Mora-Mora,et al.  Comparison of High Performance Parallel Implementations of TLBO and Jaya Optimization Methods on Manycore GPU , 2019, IEEE Access.

[22]  Huaxiang Lu,et al.  Parallel particle swarm optimization with genetic communication strategy and its implementation on GPU , 2012, 2012 IEEE 2nd International Conference on Cloud Computing and Intelligence Systems.

[23]  Ying Tan,et al.  GPU-based parallel particle swarm optimization , 2009, 2009 IEEE Congress on Evolutionary Computation.

[24]  Masanori Hariyama,et al.  OpenCL-based design of an FPGA accelerator for quantum annealing simulation , 2019, The Journal of Supercomputing.

[25]  Hongwei Liu,et al.  A Fast Parallel Genetic Algorithm for Graph Coloring Problem Based on CUDA , 2015, 2015 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery.

[26]  Hossam Faris,et al.  Optimizing connection weights in neural networks using the whale optimization algorithm , 2016, Soft Computing.

[27]  Djamel Djenouri,et al.  Exploiting GPU parallelism in improving bees swarm optimization for mining big transactional databases , 2019, Inf. Sci..

[28]  Mohamed Abdel-Basset,et al.  A hybrid whale optimization algorithm based on local search strategy for the permutation flow shop scheduling problem , 2018, Future Gener. Comput. Syst..

[29]  Andrew Lewis,et al.  The Whale Optimization Algorithm , 2016, Adv. Eng. Softw..

[30]  Jianzhou Wang,et al.  A novel hybrid system based on a new proposed algorithm-Multi-Objective Whale Optimization Algorithm for wind speed forecasting , 2017 .

[31]  Rui Zhang,et al.  A General Framework for Accelerating Swarm Intelligence Algorithms on FPGAs, GPUs and Multi-Core CPUs , 2018, IEEE Access.