Optimizing Shape Design with Distributed Parallel Genetic Programming on GPUs

  • Simon HardingEmail author
  • W. Banzhaf
Part of the Studies in Computational Intelligence book series (SCI, volume 415)


Optimized shape design is used for such applications as wing design in aircraft, hull design in ships, and more generally rotor optimization in turbomachinery such as that of aircraft, ships, and wind turbines.We present work on optimized shape design using a technique from the area of Genetic Programming, self-modifying Cartesian Genetic Programming (SMCGP), to evolve shapes with specific criteria, such as minimized drag or maximized lift. This technique is well suited for a distributed parallel system to increase efficiency. Fitness evaluation of the genetic programming technique is accomplished through a custom implementation of a fluid dynamics solver running on graphics processing units (GPUs). Solving fluid dynamics systems is a computationally expensive task and requires optimization in order for the evolution to complete in a practical period of time. In this chapter, we shall describe both the SMCGP technique and the GPU fluid dynamics solver that together provide a robust and efficient shape design system.


Computational Fluid Dynamics Genetic Programming Graphic Processing Unit Shared Memory Thread Block 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Asouti, V.G., Giannakoglou, K.C.: Aerodynamic optimization using a parallel asynchronous evolutionary algorithm controlled by strongly interacting demes. Engineering Optimization 41(3), 241 (2009)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Banzhaf, W., Miller, J.: The challenge of complexity. In: Menon, A. (ed.) Frontiers of Evolutionary Computation, pp. 243–260. Springer (2004)Google Scholar
  3. 3.
    Billings, D.: PDE Nozzle Optimization Using a Genetic Algorithm. Technical report. Marshall Space Flight Center (2000)Google Scholar
  4. 4.
    Giannakoglou, K., Papadimitriou, D., Kampolis, I.: Aerodynamic shape design using evolutionary algorithms and new gradient-assisted metamodels. Computer Methods in Applied Mechanics and Engineering 195(44-47), 6312–6329 (2006)zbMATHCrossRefGoogle Scholar
  5. 5.
    Gielis, J.: A generic geometric transformation that unifies a wide range of natural and abstract shapes. Am. J. Bot. 90(3), 333–338 (2003)CrossRefGoogle Scholar
  6. 6.
    Harding, S., Banzhaf, W., Miller, J.F.: A survey of self modifying cartesian genetic programming. In: Riolo, R., McConaghy, T., Vladislavleva, E. (eds.) Genetic Programming Theory and Practice VIII, Genetic and Evolutionary Computation, 20-22 May, vol. 8, ch. 6, pp. 91–107. Springer, Ann Arbor (2010)Google Scholar
  7. 7.
    Harding, S., Miller, J., Banzhaf, W.: Self Modifying Cartesian Genetic Programming: Fibonacci, Squares, Regression and Summing. In: Vanneschi, L., Gustafson, S., Moraglio, A., De Falco, I., Ebner, M. (eds.) EuroGP 2009. LNCS, vol. 5481, pp. 133–144. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Harding, S., Miller, J.F., Banzhaf, W.: Evolution, development and learning with self modifying cartesian genetic programming. In: GECCO 2009: Proceedings of the 11th Annual Conference on Genetic and Evolutionary Computation, pp. 699–706. ACM Press, New York (2009)CrossRefGoogle Scholar
  9. 9.
    Harding, S., Miller, J.F., Banzhaf, W.: Self modifying cartesian genetic programming: Parity. In: Tyrrell, A. (ed.) 2009 IEEE Congress on Evolutionary Computation, Trondheim, Norway, May 18-21, pp. 285–292. IEEE Computational Intelligence Society, IEEE Press (2009)Google Scholar
  10. 10.
    Harding, S., Miller, J.F., Banzhaf, W.: Developments in cartesian genetic programming: self-modifying CGP. Genetic Programming and Evolvable Machines 11(3/4), 397–439 (2010); Tenth Anniversary Issue: Progress in Genetic Programming and Evolvable MachinesCrossRefGoogle Scholar
  11. 11.
    Harding, S., Miller, J.F., Banzhaf, W.: Self modifying cartesian genetic programming: finding algorithms that calculate pi and e to arbitrary precision. In: Branke, J., Pelikan, M., Alba, E., Arnold, D.V., Bongard, J., Brabazon, A., Branke, J., Butz, M.V., Clune, J., Cohen, M., Deb, K., Engelbrecht, A.P., Krasnogor, N., Miller, J.F., O’Neill, M., Sastry, K., Thierens, D., van Hemert, J., Vanneschi, L., Witt, C. (eds.) GECCO 2010: Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation, Portland, Oregon, USA, 7-11 July, pp. 579–586. ACM (2010)Google Scholar
  12. 12.
    Harding, S., Miller, J.F., Banzhaf, W.: SMCGP2: finding algorithms that approximate numerical constants using quaternions and complex numbers. In: Krasnogor, N., Lanzi, P.L., Engelbrecht, A., Pelta, D., Gershenson, C., Squillero, G., Freitas, A., Ritchie, M., Preuss, M., Gagne, C., Ong, Y.S., Raidl, G., Gallager, M., Lozano, J., Coello-Coello, C., Silva, D.L., Hansen, N., Meyer-Nieberg, S., Smith, J., Eiben, G., Bernado-Mansilla, E., Browne, W., Spector, L., Yu, T., Clune, J., Hornby, G., Wong, M.-L., Collet, P., Gustafson, S., Watson, J.-P., Sipper, M., Poulding, S., Ochoa, G., Schoenauer, M., Witt, C., Auger, A. (eds.) GECCO 2011: Proceedings of the 13th Annual Conference Companion on Genetic and Evolutionary Computation, Dublin, Ireland, July 12-16, pp. 197–198. ACM (2011)Google Scholar
  13. 13.
    Hu, T., Harding, S., Banzhaf, W.: Variable population size and evolution acceleration: a case study with a parallel evolutionary algorithm. Genetic Programming and Evolvable Machines 11(2), 205–225 (2010)CrossRefGoogle Scholar
  14. 14.
    Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)zbMATHGoogle Scholar
  15. 15.
    Kumar, S., Bentley, P.: On Growth, Form and Computers. Academic Press (2003)Google Scholar
  16. 16.
    LeVeque, R.J.: Finite Difference Methods for Ordinary and Partial Differential Equations. In: Society for Industry and Applied Mathematics Proceedings (2007)Google Scholar
  17. 17.
    Miller, J., Banzhaf, W.: Evolving the program for a cell: from french flags to boolean circuits. In: Kumar, S., Bentley, P. (eds.) On Growth, Form and Computers, pp. 278–301. Academic Press, London (2003)CrossRefGoogle Scholar
  18. 18.
    Miller, J.F.: An empirical study of the efficiency of learning boolean functions using a cartesian genetic programming approach. In: Proceedings of the 1999 Genetic and Evolutionary Computation Conference (GECCO), Orlando, Florida, pp. 1135–1142. Morgan Kaufmann (1999)Google Scholar
  19. 19.
    Miller, J.F.: Evolving Developmental Programs for Adaptation, Morphogenesis, and Self-Repair. In: Banzhaf, W., Ziegler, J., Christaller, T., Dittrich, P., Kim, J.T. (eds.) ECAL 2003. LNCS (LNAI), vol. 2801, pp. 256–265. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Miller, J.F., Smith, S.L.: Redundancy and computational efficiency in cartesian genetic programming. IEEE Transactions on Evoluationary Computation 10, 167–174 (2006)CrossRefGoogle Scholar
  21. 21.
    nVidia: CUDA Programming Guide. nVidia Corporation, Version 2.3 (2009)Google Scholar
  22. 22.
    Obayashi, S., Tsukahara, T., Nakamura, T.: Multiobjective genetic algorithm applied to aerodynamic design of cascade airfoils. IEEE Transactions on Industrial Electronics 47(1), 211–216 (2000)CrossRefGoogle Scholar
  23. 23.
    Poli, R., Langdon, W.B., McPhee, N.F.: A field guide to genetic programming (2008) (With contributions by Koza, J.R.), Published via,, freely Available at,
  24. 24.
    Poloni, C., Giurgevich, A., Onesti, L., Pediroda, V.: Hybridization of a multi-objective genetic algorithm, a neural network and a classical optimizer for a complex design problem in fluid dynamics. Computer Methods in Applied Mechanics and Engineering 186(2-4), 403–420 (2000)zbMATHCrossRefGoogle Scholar
  25. 25.
    Rechenberg, I.: Evolutionsstrategie: optimierung technischer systeme nach prinzipien der biologischen evolution. Frommann-Holzboog (1973)Google Scholar
  26. 26.
    Rechenberg, I.: Case studies in evolutionary experimentation and computation. Computer Methods in Applied Mechanics and Engineering 186(2-4), 125–140 (2000)zbMATHCrossRefGoogle Scholar
  27. 27.
    Schwefel, H.-P.: Numerische Optimierung von Computer-Modellen mittels der Evolutionsstrategie. Mit einer vergleichenden Einführung in die Hill-Climbing- und Zufallsstrategien. Journal of Applied Mathematics and Mechanics/Zeitschrift für Angewandte Mathematik und Mechanik 60 (1977)Google Scholar
  28. 28.
    Sengupta, Harris, Garland: Efficient parallel scan algorithms for gpus. nVidia Technical Report NVR-2008-003. nVidia Corporation (2008)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2012

Authors and Affiliations

  1. 1.IDSIA (Istituto Dalle Molle di Studi sull’Intelligenza Artificiale)LuganoSwitzerland
  2. 2.Memorial University of NewfoundlandSt. John’sCanada

Personalised recommendations