Geometric Firefly Algorithms on Graphical Processing Units

  • A. V. Husselmann
  • K. A. Hawick
Part of the Studies in Computational Intelligence book series (SCI, volume 516)


Geometric unification of Evolutionary Algorithms (EAs) has resulted in an expanding set of algorithms which are search space invariant. This is important since search spaces are not always parametric. Of particular interest are combinatorial spaces such as those of programs that are searchable by parametric optimisers, providing they have been specially adapted in this way. This typically involves redefining concepts of distance, crossover and mutation operators. We present an informally modified Geometric Firefly Algorithm for searching expression tree space, and accelerate the computation using Graphical Processing Units. We also evaluate algorithm efficiency against a geometric version of the Genetic Programming algorithm with tournament selection. We present some rendering techniques for visualising the program problem space and therefore to aid in characterising algorithm behaviour.


CUDA Visualisation  Combinatorial optimisation GPU Geometric 


  1. 1.
    Yang, X.S.: Firefly algorithms for multimodal optimization. In: Stochastic algorithms: Foundations and applications. SAGA, Sapporo (2009)Google Scholar
  2. 2.
    Moraglio, A.: Towards a geometric unification of evolutionary algorithms. Ph.D. thesis, Computer Science and Electronic Engineering, University of Essex (2007)Google Scholar
  3. 3.
    Moraglio, A., Togelius, J.: Geometric differential evolution. In: Proceedings of GECCO-2009, pp. 1705–1712. ACM Press (2009)Google Scholar
  4. 4.
    Moraglio, A., Silva, S.: Geometric differential evolution on the space of genetic programs. Genet. Programming 6021, 171–183 (2010)CrossRefGoogle Scholar
  5. 5.
    Moraglio, A., Chio, C.D., Poli, R.: Geometric particle swarm optimization. In: M. Ebner et al. (eds.) Proceedings of the European conference on genetic programming (EuroGP). Lecture notes in computer science, vol. 4445 (Springer, Berlin, 2007), pp. 125–136Google Scholar
  6. 6.
    Togelius, J., Nardi, R.D., Moraglio, A.: Geometric pso + gp = particle swarm programming. In: 2008 IEEE Congress on Evolutionary computation (CEC 2008). (2008)Google Scholar
  7. 7.
    Poli, R., Vanneschi, L., Langdon, W.B., McPhee, N.F.: Theoretical results in genetic programming: the next ten years? Genet. Program Evolvable Mach. 11, 285–320 (2010)CrossRefGoogle Scholar
  8. 8.
    Holland, J.H.: Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor (1975)Google Scholar
  9. 9.
    Koza, J.R.: Genetic programming as a means for programming computers by natural selection. Stat. Comput. 4(2), 87–112 (June 1994)Google Scholar
  10. 10.
    Augusto, D., Barbosa, H.J.C.: Symbolic regression via genetic programming. In: Proceedings of the Sixth Brazilian symposium on neural networks 2000, vol. 1, pp. 173–178 (2000)Google Scholar
  11. 11.
    Husselmann, A.V., Hawick, K.A.: Geometric optimisation using karva for graphical processing units. Technical Report CSTN-191, Computer Science, Massey University, Auckland (February 2013)Google Scholar
  12. 12.
    Augusto, D.A., Barbosa, H.J.C.: Accelerated parallel genetic programming tree evaluation with opencl. J. Parallel Distrib. Comput. 73, 86–100 (2013)CrossRefGoogle Scholar
  13. 13.
    Brameier, M.: On linear genetic programming. Ph.D. thesis, University of Dortmund (2004)Google Scholar
  14. 14.
    Ferreira, C.: Gene expression programming: a new adaptive algorithm for solving problems. Complex Syst. 13(2), 87–129 (2001)MATHGoogle Scholar
  15. 15.
    Ferreira, C.: Gene expression programming, vol. 21, 2nd edn. Studies in computational intelligence, (Springer, Berlin, 2006), ISBN 3-540-32796-7Google Scholar
  16. 16.
    O’Neill, M., Vanneschi, L., Gustafson, S., Banzhaf, W.: Open issues in genetic programming. Genet. Program Evolvable Mach. 11, 339–363 (2010)CrossRefGoogle Scholar
  17. 17.
    Moscato, P.: On evolution, search, optimization, genetic algorithms and martial arts: towards memetic algorithms. Technical report, caltech concurrent computation program (1989)Google Scholar
  18. 18.
    Moscato, P., Cotta, C., Mendes, A.: Memetic algorithms. In: New optimization techniques in engineering, (Springer, 2004), pp. 53–85Google Scholar
  19. 19.
    Leist, A., Playne, D.P., Hawick, K.A.: Exploiting graphical processing units for data-parallel scientific applications. Concurrency Comput. Pract. Experience 21(18), 2400–2437 CSTN-065 (2009)Google Scholar
  20. 20.
    Yu, Q., Chen, C., Pan, Z.: Parallel genetic algorithms on programmable graphics hardware. In: advances in natural computation, (Springer 2005), pp. 1051–1059Google Scholar
  21. 21.
    Basu, B., Mahanti, G.K.: Firefly and artificial bees colony algorithm for synthesis of scanned and broadside linear array antenna. Prog. Electromag. Res. 32, 169–190 (2011)CrossRefGoogle Scholar
  22. 22.
    Yang, X.S.: Nature-inspired metaheuristic algorithms. Luniver Press, Frome (2008)Google Scholar
  23. 23.
    Mussi, L., Daoilo, F., Cagoni, S.: Evaluation of parallel particle swarm optimization algorithms within the cuda architecture. Inf. Sci. 181, 4642–4657 (2011)CrossRefGoogle Scholar
  24. 24.
    Chitty, D.M.: Fast parallel genetic programming: multi-core cpu versus many-core gpu. Soft. Comput. 16, 1795–1814 (2012)CrossRefGoogle Scholar
  25. 25.
    Langdon, W.B.: A many-threaded cuda interpreter for genetic programming. In: Esparcia-Alcazar, A.I., Ekart, A., Silva, S., Dignum, S., Uyar, A.S. (eds.) Proceedings of the 13th European conference on genetic programming, (Springer, 2010), pp. 146–158Google Scholar
  26. 26.
    Cano, A., Olmo, J.L., Ventura, S.: Parallel multi-objective ant programming for classification using gpus. J. Parallel Distrib. Comput. 73, 713–728 (2013)CrossRefGoogle Scholar
  27. 27.
    Durkota, K.: Implementation of a discrete firefly algorithm for the qap problem within the seage framework. Technical report. Czech Technical University (2011)Google Scholar
  28. 28.
    Husselmann, A.V., Hawick, K.A.: Parallel parametric optimisation with firefly algorithms on graphical processing units. In: Proceedings of international conference on genetic and evolutionary methods (GEM’12). pp. 77–83 Number 141 in CSTN, CSREA, Las Vegas, 16–19 July 2012Google Scholar
  29. 29.
    Langdon, W.B.: Graphics processing units and genetic programming: an overview. Soft. Comput. 15, 1657–1669 (March 2011)Google Scholar
  30. 30.
    Schulz, C., Hasle, G., Brodtkorb, A.R., Hagen, T.R.: Gpu computing in discrete optimization. part II: Survey focused on routing problems. Euro J. Transp. Logist. Online. pp 1–26 (2013)Google Scholar
  31. 31.
    NVIDIA: CUDA C Programming Guide, 5th edn. (2012)
  32. 32.
    Zhang, L., Zhao, Y., Hou, K.: The research of levenberg-marquardt algorithm in curve fittings on multiple gpus. In: Proceedings 2011 international joint conference IEEE trustCom-11, pp. 1355–1360 (2011)Google Scholar
  33. 33.
    Zhou, T.: Gpu-based parallel particle swarm optimization. Evol. Comput. (2009)Google Scholar
  34. 34.
    Cupertino, L., Silva, C., Dias, D., Pacheco, M.A., Bentes, C.: Evolving cuda ptx programs by quantum inspired linear genetic programming. In: Proceedings of GECCO’11 (2011)Google Scholar
  35. 35.
    Harding, S.L., Banzhaf, W.: Distributed genetic programming on GPUs using CUDA. Workshop on parallel Architecture and Bioinspired Algorithms, Raleigh, USA (2009)Google Scholar
  36. 36.
    Cavuoti, S., Garofalo, M., Brescia, M., Pescape, A., Longo, G., Ventre, G.: Genetic algorithm modeling with gpu parallel computing technology. In: Neural nets and surroundings, vietri sul mare, salerno, Italy, Springer, pp. 29–39 22nd Italian workshop on neural nets, WIRN 2012. 17–19 May 2013Google Scholar
  37. 37.
    Hoberok, B.: Thrust: a parallel template library. (2011)
  38. 38.
    Goldberg, D.E., Deb, K.: A comparative analysis of selection schemes used in genetic algorithms. In: Foundations of genetic algorithms. Morgan Kaufmann, San Mateo (1991), pp. 69–93Google Scholar
  39. 39.
    Weise, T.: Global optimization algorithms-theory and application. Self-Published, (2009)Google Scholar
  40. 40.
    Eiben, A., Raué, P.E., Ruttkay, Z.: Genetic algorithms with multi-parent recombination. In: Proceedings of the 3rd conference on parallel problem solving from nature (1994)Google Scholar
  41. 41.
    Eiben, A.E.: Multi-parent recombination. Evol. comput. 1, 289–307 (1997)Google Scholar
  42. 42.
    Husselmann, A.V., Hawick, K.A.: Visualisation of combinatorial program space and related metrics. Technical Report CSTN-190, computer science, Massey University, Auckland, 2013Google Scholar
  43. 43.
    Hawick, K.A., Playne, D.P.: Parallel algorithms for hybrid multi-core cpu-gpu implementations of component labelling in critical phase models. Technical Report CSTN-177, computer science, Massey University, Auckland, 2013Google Scholar
  44. 44.
    van Berkel, S.: Automatic discovery of distributed algorithms for large-scale systems. Master’s thesis. Delft University of Technology (2012)Google Scholar
  45. 45.
    van Berkel, S., Turi, D., Pruteanu, A., Dulman, S.: Automatic discovery of algorithms for multi-agent systems. In: Proceedings of the fourteenth international conference on Genetic and evolutionary computation conference companion, pp. 337–334 (2012)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.Department of Computer ScienceMassey UniversityAucklandNew Zealand

Personalised recommendations