Optimizing Shape Design with Distributed Parallel Genetic Programming on GPUs

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.

[1]  Julian Francis Miller,et al.  Evolving Developmental Programs for Adaptation, Morphogenesis, and Self-Repair , 2003, ECAL.

[2]  Julian F. Miller,et al.  A Survey of Self Modifying Cartesian Genetic Programming , 2011 .

[3]  J. Miller,et al.  15 – Evolving the program for a cell: from French flags to Boolean circuits , 2003 .

[4]  Wolfgang Banzhaf,et al.  Advances in Artificial Life , 2003, Lecture Notes in Computer Science.

[5]  Peter J. Bentley,et al.  On growth, form and computers , 2003 .

[6]  Riccardo Poli,et al.  A Field Guide to Genetic Programming , 2008 .

[7]  nVIDIA社 CUDA Programming Guide 1.1 , 2007 .

[8]  Julian F. Miller,et al.  The Challenge of Complexity , 2004 .

[9]  J. Gielis A generic geometric transformation that unifies a wide range of natural and abstract shapes. , 2003, American journal of botany.

[10]  Terence Soule,et al.  Genetic Programming Theory and Practice XVI , 2015, Genetic and Evolutionary Computation.

[11]  Julian Francis Miller,et al.  Self-modifying cartesian genetic programming , 2007, GECCO '07.

[12]  Kyriakos C. Giannakoglou,et al.  Aerodynamic optimization using a parallel asynchronous evolutionary algorithm controlled by strongly interacting demes , 2009 .

[13]  C. Poloni,et al.  Hybridization of a multi-objective genetic algorithm, a neural network and a classical optimizer for a complex design problem in fluid dynamics , 2000 .

[14]  K. Giannakoglou,et al.  Aerodynamic shape design using evolutionary algorithms and new gradient-assisted metamodels , 2006 .

[15]  Ingo Rechenberg,et al.  Case studies in evolutionary experimentation and computation , 2000 .

[16]  W. Vent,et al.  Rechenberg, Ingo, Evolutionsstrategie — Optimierung technischer Systeme nach Prinzipien der biologischen Evolution. 170 S. mit 36 Abb. Frommann‐Holzboog‐Verlag. Stuttgart 1973. Broschiert , 1975 .

[17]  Dipl. Ing. Karl Heinz Kellermayer NUMERISCHE OPTIMIERUNG VON COMPUTER-MODELLEN MITTELS DER EVOLUTIONSSTRATEGIE Hans-Paul Schwefel Birkhäuser, Basel and Stuttgart, 1977 370 pages Hardback SF/48 ISBN 3-7643-0876-1 , 1977 .

[18]  Julian Francis Miller,et al.  SMCGP2: finding algorithms that approximate numerical constants using quaternions and complex numbers , 2011, GECCO '11.

[19]  Ingo Rechenberg,et al.  Evolutionsstrategie : Optimierung technischer Systeme nach Prinzipien der biologischen Evolution , 1973 .

[20]  James E. Turner,et al.  PDE Nozzle Optimization Using a Genetic Algorithm , 2000 .

[21]  H. P. Schwefel,et al.  Numerische Optimierung von Computermodellen mittels der Evo-lutionsstrategie , 1977 .

[22]  Randall J. LeVeque,et al.  Finite difference methods for ordinary and partial differential equations - steady-state and time-dependent problems , 2007 .

[23]  R. LeVeque Finite Difference Methods for Ordinary and Partial Differential Equations: Steady-State and Time-Dependent Problems (Classics in Applied Mathematics Classics in Applied Mathemat) , 2007 .

[24]  Julian Francis Miller,et al.  Self Modifying Cartesian Genetic Programming: Fibonacci, Squares, Regression and Summing , 2009, EuroGP.

[25]  Julian Francis Miller,et al.  Developments in Cartesian Genetic Programming: self-modifying CGP , 2010, Genetic Programming and Evolvable Machines.

[26]  Shubhabrata Sengupta,et al.  Efficient Parallel Scan Algorithms for GPUs , 2011 .

[27]  Shigeru Obayashi,et al.  Multiobjective genetic algorithm applied to aerodynamic design of cascade airfoils , 2000, IEEE Trans. Ind. Electron..

[28]  Julian Francis Miller,et al.  Self modifying cartesian genetic programming: finding algorithms that calculate pi and e to arbitrary precision , 2010, GECCO '10.

[29]  J. Miller An empirical study of the efficiency of learning boolean functions using a Cartesian Genetic Programming approach , 1999 .

[30]  Julian Francis Miller,et al.  Self-modifying cartesian genetic programming , 2007, GECCO '07.

[31]  Julian Francis Miller,et al.  Self modifying Cartesian Genetic Programming: Parity , 2009, 2009 IEEE Congress on Evolutionary Computation.

[32]  Rick L. Riolo,et al.  Genetic Programming Theory and Practice VIII , 2010 .

[33]  Julian Francis Miller,et al.  Redundancy and computational efficiency in Cartesian genetic programming , 2006, IEEE Transactions on Evolutionary Computation.

[34]  Ting Hu,et al.  Variable population size and evolution acceleration: a case study with a parallel evolutionary algorithm , 2010, Genetic Programming and Evolvable Machines.

[35]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.