Elsevier

Parallel Computing

Volume 26, Issue 4, March 2000, Pages 377-397
Parallel Computing

A two-level parallelization strategy for Genetic Algorithms applied to optimum shape design

https://doi.org/10.1016/S0167-8191(99)00116-7Get rights and content

Abstract

This paper presents a two-level strategy for the parallelization of a Genetic Algorithm (GA) coupled to a compressible flow solver designed on unstructured triangular meshes. The parallel implementation is based on MPI and makes use of the process group features of this environment. The resulting algorithm is used for the optimum shape design of aerodynamic configurations. Numerical and performance results are presented for the optimization of two-dimensional airfoils for calculations performed on the following systems: an SGI Origin 2000 and an IBM SP-2 MIMD systems; an Pentium Pro (P6/200 MHz) cluster where the interconnection is realized through a FastEthernet (100 Mbits/s) switch.

Introduction

Genetic Algorithms (GAs) are search algorithms based on the mechanisms of natural selection. They lie on one of the most important principles of Darwin: survival of the fittest. John Holland, in the 1970s, thought that he could incorporate in a computer algorithm such a technique, to solve difficult problems through evolution. This technique, close to the laws of nature, uses a population of potential solutions represented by strings of binary digits (called chromosomes or individuals) which is submitted to many transformations (called genetic operations such that selection, crossover and mutation). The population is going to evolve during the generations according to the fitness value of the individuals; then, when a stationary state is reached, the population has converged to the solution of the given optimization problem. More recently, David Goldberg brought GAs in nonconvex optimization theory and introduced a decisive thrust in the GAs research field (see [5]).

GAs are different from normal optimization procedures (e.g. simple or conjugate gradient methods or steepest descent methods) in many ways:

  • they work with a coding of the parameter set and not the parameters themselves;

  • they work simultaneously with a population of potential binary coded solutions, not only with one solution;

  • they use probabilistic rules (the genetic operators are applied with probabilities) and not deterministic ones;

  • they investigate in a search space componing a database of the solutions, which implies that they cannot fall into a local optimum;

  • two keywords are linked to GAs: exploration and exploitation. Exploration of the search space is important at the beginning of the GA process while exploitation is desirable when the GA process is close to the global optimum.

From about 15 years, GAs have been introduced in aerodynamics shape design problems (see [8], [12], [14], [17]) who presents 3D results for a transonic flow around a wing geometry). They are computationally simple and they accommodate well to discontinuous or nonlinear environments. They are able to optimize problems involving simultaneously real, integer and boolean parameters. They count on both the exploration of the search space and the exploitation of the results. The exploration, which relies on a pseudo-random search, is wider than what is obtained with classical deterministic methods (such as steepest descent methods). The latter methods are particularly well adapted to local (unimodal) optimization problems whereas GAs are much more robust for nonconvex situations. Another attractive feature is that GAs can approach a multi-objective optimization problem. In that case, several criteria are taken into account simultaneously meaning that there exists a set of optimal solutions instead of a unique one (for more details, see [6], [7], [16]). As a result, a database of optimal solutions is created during the optimization process. Then, by choosing weights for each criteria, the different decision makers will obtain an optimal solution for their own problem.

The main concern related to the use of GAs for aerodynamic design is the computational effort needed for the accurate evaluation of a design configuration that, in the case of a crude application of the technique, might lead to unacceptable computer time if compared with more classical algorithms. In addition, hard problems need bigger populations and this translates directly into higher computational costs. It is a widely accepted position that GAs can be effectively parallelized and can in principal take full advantage of (massively) parallel computer architectures. This point of view is before all motivated by the fact that within a generation (iteration) of the algorithm, the fitness values associated to each individual of the population can be evaluated in parallel.

The basic motivation behind many early studies of Parallel Genetic Algorithms (PGAs) was to reduce the processing needed to reach an acceptable solution; later on, coarse grain PGAs-based sub-populations models and migration operators were introduced and were shown to bring improvements on the convergence rate of classical GAs (see for example [11]). The reader is referred to Cantú-Paz [1] for a recent review of PGAs. The present paper describes a parallelization strategy of GAs which is particularly well suited to optimization problems based on cost functional calculations characterized by high CPU costs and large memory requirements. In the context of GAs, these characteristics translate into constraints on the evaluation of the fitness values associated to each individual of a population. In particular, for the applications considered here involving an unstructured grid-based CFD solver, we have observed that 80–90% of the total CPU time is spent in the evaluation of fitness values. It must be clear to the reader that the objective here, is not to discuss a new GA but to describe and evaluate a particular parallelization strategy in the context of CFD and optimum shape design applications. Furthermore, an important component of this work stands in the fact that the underlying flow solver is based on a finite element/finite volume type discretization technique on unstructured meshes. This is not a particular case since, nowadays, a lot of modern flow solvers are relying on such discretization techniques. On the other hand, the parallelization of such solvers is often based on domain partitioning techniques. In other words, we assess here a parallelization strategy of GAs applied to Optimum Shape Design applications, that take into account existing and widely used discretization techniques and parallelization strategies for unstructured grid solvers, not only CFD solvers but also Computational Structural Mechanics (CSM) or Computational Electromagnetics (CEM) solvers.

In the next section, we describe the genetic operators that form the building blocks of our GA. As this GA is used for the optimum design of aerodynamic shapes, we detail in Section 3 the shape parameterization procedure. In Section 4, we present the features of the underlying compressible flow solver. The flow solver is based on a mixed finite volume/finite element Monotonic Upwind Scheme for Conservative Laws (MUSCL) method designed on unstructured triangular meshes. In Section 5, we motivate and introduce a two-level strategy for the parallelization of a GA coupled to a compressible flow solver. Finally, in Section 6, numerical and performance results are presented for the optimization of 2D airfoils. Calculations have been performed on the following systems: a SGI Origin 2000 and a IBM SP-2 MIMD systems; a Pentium Pro (P6/200 MHz) cluster where the interconnection is realized through FastEthernet (100 Mbits/s) switches.

Section snippets

The Genetic Algorithm

The basic structure of a GA consists of the following steps: (1) initialize randomly a population of individuals; (2) evaluate the individuals following their fitness (cost functional) value; (3) apply genetic operators (crossover and mutation) to the population and goto (2) until the best individual is reached. The following subsections describe the genetic operators taking part in the binary coded GA used in our study (the individuals encoding is described is Section 3).

Shape parameterization

In the 2D optimum shape design problems considered here, the population of individuals is represented by airfoil shapes. A natural parameterization of airfoils is a point by point one, based on the discretization of the shape. Such an approach presents two drawbacks:

  • in order to obtain accurate results, the shape has to be defined by a lot of points and it is well known that the convergence of GAs depends on the number of parameters (see [5]). It has been established (see [18]) that the time

The flow solver

In the present study, the evaluation of a fitness value to be associated to an individual requires the calculation of the steady inviscid compressible flow around an airfoil. The objective of this section is to briefly describe the main characteristics of the underlying flow solver for the solution of the two-dimensional Euler equations. We refer to [10] for a more detailed description of the various numerical ingredients of this flow solver.

Parallelization strategy

Several possible strategies can be considered for the parallelization of the optimum shape design methodology described in the previous sections:

  • a first strategy stems from the following remark: within a given generation of the GA, the evaluation of the fitness values associated to the population individuals defines independent processes. This makes GAs particularly well suited to massively parallel systems; we also note that a master/slave approach is a standard candidate for the

An optimum shape design application

This section is mainly devoted to a detailed evaluation of the performances of the proposed parallelization strategy for GAs. For this reason, we have considered a single test case which is a direct optimization problem; the goal is to obtain the shape of an RAE2822 type airfoil corresponding to the minimization of the shock-induced drag. In order to do so, we consider the external Euler flow around a RAE2822 airfoil (2 incidence, freestream Mach number fixed to 0.73). The nonlinear

Concluding remarks and future works

A two-level strategy has been proposed for the parallelization of GAs applied to aerodynamic shape optimization applications. At the lower level (a fitness function evaluation), an unstructured grid based flow solver is parallelized by combining mesh partitioning techniques and a message passing programming model. MPI has been adopted for the parallel implementation. At the higher level (the generation loop) the MPI process group features has been used : two individuals are treated

Acknowledgements

The calculations presented in this paper have been conducted on the IBM SP-2 system installed at the CNUSC (Centre National Universitaire Sud de Calcul) site of the IDRIS (Institut du Développement et des Ressources en Informatique Scientifique) institute and on the SGI Origin 2000 system installed at the Centre Charles Hermite located in Nancy. The Pentium Pro cluster is an experimental platform located at INRIA Sophia Antipolis. For the work presented here, N. Marco was partially supported

References (19)

There are more references available in the full text version of this article.

Cited by (0)

View full text