A GPU-Enabled Parallel Genetic Algorithm for Path Planning of Robotic Operators

  • Panpan Cai
  • Yiyu CaiEmail author
  • Indhumathi Chandrasekaran
  • Jianmin Zheng


Genetic algorithm (GA) is a class of global optimization algorithm inspired by the Darwinian biological evolution. It is widely applied in the field of robotic path planning. Parallel GA (PGA) is a subclass of GA which is able to achieve good solutions in a short time. This chapter discusses the utilization of a PGA in determining collision-free path for robotic operators. GPU-style genetic operators are designed to speed up the GA process while improving the quality of solutions. GPU parallelization for a master–slave parallel GA (MSPGA) is implemented by parallelizing the selection, crossover and mutation operators.


Genetic Algorithm Parallel GA GPU Master-slave Parallel GA 



The authors would like to express their sincere thanks to those who help this work in one way or another.


  1. 1.
    Goldberg, D. E.: Simple genetic algorithms and the minimal, deceptive problem. In: Davis, L. (ed.) Genetic algorithms and simulated annealing, pp. 74–88. Pitman, London (1987)Google Scholar
  2. 2.
    Goldberg, D.E.: Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-wesley Reading, Menlo Park, CA (1989)zbMATHGoogle Scholar
  3. 3.
    Holland, J.H.: Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence. MIT Press, Cambridge, MA (1992). ISBN 0262581116Google Scholar
  4. 4.
    Sanders, J., Kandrot E.: CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison-Wesley Professional (2010). ISBN: 0132180138Google Scholar
  5. 5.
    Holland, J.H.: Genetic algorithms. Sci. Am. 267(1), 66–72 (1992)CrossRefGoogle Scholar
  6. 6.
    Goldberg, D. E., Deb, K.: A comparative analysis of selection schemes used in genetic algorithms. In: Foundations of Genetic Algorithms, vol. 51, 61801–62996 (1991)Google Scholar
  7. 7.
    Miller, B.L., Goldberg, D.E.: Genetic algorithms, selection schemes, and the varying effects of noise. Evol. Comput. 4(2), 113–131 (1996)CrossRefGoogle Scholar
  8. 8.
    Goldberg, D.E., et al.: Messy genetic algorithms: Motivation, analysis, and first results. Complex Syst. 3(5), 493–530 (1989)zbMATHGoogle Scholar
  9. 9.
    Goldberg, D. E., et al.: On the supply of building blocks. In: Proceedings of the Genetic and Evolutionary Computation Conference, Citeseer, pp.336–342 (2001)Google Scholar
  10. 10.
    Nowostawski, M. and Poli R.: Parallel genetic algorithm taxonomy. In: IEEE Third International Conference on Knowledge-Based Intelligent Information Engineering Systems, pp. 88–92 (1999)Google Scholar
  11. 11.
    Ismail, M. A.: Parallel genetic algorithms (PGAs): master slave paradigm approach using MPI. In: IEEE E-Tech 2004, pp. 83–87 (2004)Google Scholar
  12. 12.
    Fujimoto, N., Tsutsui. S.: Parallelizing a Genetic Operator for GPUs. In: 2013 I.E. Congress on Evolutionary Computation (CEC), pp. 1271–1277 (2013)Google Scholar
  13. 13.
    Pospíchal, P., et al. Parallel genetic algorithm on the cuda architecture. In: Applications of Evolutionary Computation, pp. 442–451. Springer, Heidelberg (2010)Google Scholar
  14. 14.
    Feier, M. C., et al.: Solving NP-Complete Problems on the CUDA Architecture Using Genetic Algorithms. In: IEEE 2011, 10th International Symposium on Parallel and Distributed Computing (ISPDC), pp. 278–281 (2011)Google Scholar
  15. 15.
    Jaros, J.: Multi-GPU island-based genetic algorithm for solving the knapsack problem. In: 2012 I.E. Congress on Evolutionary Computation (CEC), pp. 1–8 (2012)Google Scholar
  16. 16.
    Munawar, A., et al.: Advanced genetic algorithm to solve minlp problems over GPU. In: 2011 I.E. Congress on Evolutionary Computation (CEC), pp. 318–325 (2011)Google Scholar
  17. 17.
    Arora, R., et al.: Parallelization of binary and real-coded genetic algorithms on GPU using CUDA. In: 2010 I.E. Congress on Evolutionary Computation (CEC), pp. 1–8 (2010)Google Scholar
  18. 18.
    Oiso, M., et al.: Accelerating steady-state genetic algorithms based on CUDA architecture. In: 2011 I.E. Congress on Evolutionary Computation (CEC), pp. 687–692 (2011)Google Scholar
  19. 19.
    Wang, K., Shen, Z.: A GPU-based parallel genetic algorithm for generating daily activity plans. IEEE Trans. Intell. Transp. Syst. 13(3), 1474–1480 (2012)CrossRefGoogle Scholar
  20. 20.
    NVidia, C.: C programming guide version 3.2. NVIDIA Corporation, Santa Clara, CA (2010)Google Scholar
  21. 21.
    Renders, J.M., Flasse, S.P.: Hybrid methods using genetic algorithms for global optimization. IEEE Trans. Syst. Man. Cybern. B Cybern. 26(2), 243–258 (1996)CrossRefGoogle Scholar
  22. 22.
    Safe, M., et al.: On stopping criteria for genetic algorithms. In: Advances in Artificial Intelligence–SBIA, 405–413 (2004)Google Scholar

Copyright information

© Springer Science+Business Media Singapore 2015

Authors and Affiliations

  • Panpan Cai
    • 1
  • Yiyu Cai
    • 2
    • 3
    Email author
  • Indhumathi Chandrasekaran
    • 1
  • Jianmin Zheng
    • 4
  1. 1.School of Mechanical & Aerospace EngineeringNanyang Technological UniversitySingaporeSingapore
  2. 2.Nanyang Technological UniversitySingaporeSingapore
  3. 3.Institute for Media InnovationNanyang Technological UniversitySingaporeSingapore
  4. 4.School of Computer EngineeringNanyang Technological UniversitySingaporeSingapore

Personalised recommendations