An introduction to Evolutionary Algorithms and ... - Semantic Scholar

1 downloads 1414 Views 278KB Size Report
Evolutionary Algorithms in Aerofoil Design Optimisation will be given in Section 2, and ... programs to develop the preliminary design of aerocraft engine turbines. ..... The pseudo-code of a generic local search process GeneAir (Genetic ...
An introduction to Evolutionary Algorithms and their application to the Aerofoil Design Problem { Part II: the Results I. De Falco ? Institute for Research on Parallel Information Systems (IRSIP) National Research Council of Italy (CNR) Via P. Castellino, 111 80131 Naples - Italy

Abstract. This paper is the second part of a short course on the utilisation of

Evolutionary Algorithms as an e ective means to solve the Aerofoil Design Problem in Aerodynamics. In it their application to both Direct and Inverse Aerofoil Design Problem is described, and results are given. Finally, several possible parallel models for Evolutionary Algorithms are discussed, and the results of the application of one of them to the above problem are presented.

Keywords: Evolutionary Algorithms, Aerofoil Design Optimisation, Direct Design, Inverse Design, Parallel Evolutionary Algorithms.

1 Introduction In Part I we have brie y described some of the most important instances of Evolutionary Algorithms (EAs), and we have clearly shown their di erences. We have pointed out that such techniques are very general, that is they can be used in several elds very di erent one from another. One of the possible application elds is that of Aerodynamic Design, since in this area even the simplest problems, like Aerofoil Design, are quite dicult. As it will be better stated in next section, EAs seem to constitute one of the most suitable means to provide Aerofoil Design Optimisation eld with practical tools to work with. This paper is organised as follows: a state-of-the-art overview on the usage of Evolutionary Algorithms in Aerofoil Design Optimisation will be given in Section 2, and their practical usage in Direct and Inverse Aerofoil Design as implemented by the author will be presented in Section 3, and obtained results will be shown. Then, the di erent approaches to parallelise EAs will be discussed in Section 4, and the results obtained by means of a parallel version on the Aerofoil Design will be given in Section 5. Finally, the conclusions follow in Section 6.

2 Overview of Evolutionary Aerofoil Design It is well known that in Aerofoil Design skilful designers can eciently solve the problem of nding a good shape satisfying all of the requirements for one operating condition; as ?

e-mail: [email protected]

soon as we have to deal with more than one such condition the design becomes less and less eciently solvable by using only human mind capabilities, since too many conditions and constraints must be handled at the same time. It must be remarked here that the usage of the classical gradient-based optimisation methods leads to a boring trial-anderror work, since the procedures based on this will get stuck in any local optimum they meet; every time this takes place, the program must be restarted from another randomly chosen initial point in the search space. Because of this, and due to the limitations of mathematical methods summarised in section 1 of part I, new approaches to Design Optimisation are welcome. Usually, this shape design has been faced by using stream function based methods [Dulikravich], numerical optimization [Vanderplaats] or control theory [Jameson]. Further methods based on expert systems have also been introduced, like in [Tong85]. Unfortunately these methods show in this problem their critical aspects such as the use of the experience acquired in previous designs and the diculty in the synthesis of innovative solutions, aspects that must be carefully considered in any aerodynamic optimisation problem. Quite recently, Genetic Algorithms (GAs) are becoming more and more widely used in aeronautical problems, including parametric and conceptual design of aerocraft, preliminary design of turbines, topological design of nonplanar wings, and aerodynamic optimisation using CFD. Like in the above mentioned elds, there is an increasing interest for EAs also in Aerofoil Design Optimisation, both direct and inverse. As an example, Obayashi and Takanashi [Obayashi] have implemented a GA-based tool to optimise target pressure distributions for inverse design methods; once target pressure distributions are obtained, corresponding aerofoil/wing geometries can be computed by an inverse design code coupled with a Navier-Stokes solver. Design examples indicate that their optimisation algorithm is ecient and that supercritical wing shapes are reproduced by the simulated evolution. Quagliarella and Della Cioppa [QDC94] have developed a transonic aerofoil aerodynamic design method based on a GA coupled to a full potential ow eld solver. They have investigated the e ectiveness of such a method for the optimisation of both a one operating condition design problem and a two operating conditions one. Tong [Tong] has proposed the usage of GAs in the aerospace eld to solve complex design problems. He has used these algorithms together with expert system technology and numerical programs to develop the preliminary design of aerocraft engine turbines. Mosetti and Poloni [Mosetti] have implemented a design tool that couples an ad hoc designed GA with a Navier-Stokes ow eld solver. Furthermore, Grasmeyer [Grasmeyer] has applied Genetic Algorithms with adaptive penalty functions to Aerofoil Design aiming at the minimisation of the drag coecient at two di erent lift coecients. Gage and Kroo [Gage] have investigated GAs as an alternative to conventional optimisation for the preliminary design of wings; their conclusion is that GAs promise to be a useful tool for the exploration of dicult design domains like the one examined. Very recently Parallel versions for GAs have been successfully applied to Aerofoil Optimisation and to Wing Optimisation as well [DPO]. As it results from the above examples, the classical binary GAs are being more and more often used as an optimisation means in aerofoil design. To evaluate the e ectiveness 2

of GAs usage in Aerofoil Design a brand{new binary EA, M{EA, based on co{mutation operator only, is applied to this eld, with the aim to compare its performance against that of usual GAs. Furthermore, since the variables to be dealt with in this eld are usually real, De Falco, Della Cioppa, Del Balio and Tarantino [DDDT95, DDDT96a, DDDT96b] have wondered whether techniques able to directly handle real variables rather than their binary encoding might be useful for the problem under examination. This has been, as far as it appears from the literature in the eld, the rst attempt to use Breeder Genetic Algorithms (BGAs) for aerofoil optimisation design. The method used to implement this and the obtained results are the subject of next sections, together with a comparison against the results achieved by using binary GAs and M{EA.

3 Results in Aerofoil Design Optimisation In order to compare the behaviour of the BGAs against those o ered by binary{valued EAs on the Aerofoil Design Optimisation, I have developed three algorithms, one based on GAs, another on M{EA, and the third based on BGAs, with the aim to apply them to both the Direct and the Inverse Design. Just to recall the meaning of both the problems, in the former we are given an initial aerofoil shape and one or more operating conditions for that shape, and we have to modify the aerofoil so that it can eciently satisfy the requirements for pressure and other parameters like wave drag and lift imposed at the operating condition(s). In the latter, instead, the aerofoil shape is to be found, and a target pressure coecient distribution along the unknown shape is given; starting from an initial aerofoil shape the goal is to reconstruct the target one showing that pressure distribution. Let us start with the description of the direct problem faced and of the results obtained.

3.1 Direct Problem In this case I have decided to represent an aerofoil shape as a linear combination of a baseline shape and of some given modi cation functions:

y = yb +

n X k=1

xk  fk

(1)

where n is the number of the modi cation functions used, yb is the ordinate of the base aerofoil, fk is a generic modi cation function and xk is its related weight. I have used a number of n = 28 modi cations functions, a wide subset chosen among the functions available in literature. The modi cation functions used are the Wagner, Hicks-Henne, Polinomial and Rear-Loading ones, normalised by means of the chord c. Given the baseline shape and the modi cation function set ffk g, the weight set x = fxk g univocally de nes an aerofoil. The tness function introduced in the GA has been designed to optimise the aerofoil eciency in the several design conditions. For a design problem with q operating conditions the tness function of an individual is a function of the 'chromosome' x: 3

? C dw (x; i ; Mi ) (2) (x) / ( ki  C (x; ; M ) ) i i l i where Cl is the Lift Coecient and Cdw is the wave drag coecient, and i and Mi are q X

1

2

=1

the angle of attack and the Mach number at the i{th design condition. The aerodynamic coecients of each element of the population are evaluated by using a full potential ow eld solver. In order to test the e ectiveness of the proposed algorithm, I have taken into account a design problem with one operating condition, so that:

Cdw (x; ; M ) )? (x) = ( Cl (x; ; M ))

(3)

Cl = 0:855; M = 0:745

(4)

1

2

and we have to maximise (x), subject to the operating condition: and subject to the physical constraints: 0:0805  tmax  0:085

(5)

0:0201  yte  0:0206 (6) where tmax (the maximum thickness-to-chord ratio) and yte (the trailing edge thickness) are parameters related to the aerofoil geometry represented by x. In this case the maximisation of the tness function with xed Cl and leads to the wave drag minimisation. Since a constraint on the aerofoil maximum thickness is present in the design problem examined, it is convenient to ensure the automatic satisfaction of such a constraint by scaling the aerofoil population members in the following way: y0 = y < tmax > =t, where < tmax > is the mean on the assigned maximum thickness range and t is the maximum thickness of the shape computed. Since in our problem M and Cl de ne the operating condition and since it results:

Cl = Cl (x; ; M ) ) = (x; Cl ; M )

(7)

Cdw = Cdw (x; ; M ) (8) and as the functional relation between and Cdw is not linear, di erently from the one between and Cl, it is necessary to compute the value of given M and Cl for the current

aerofoil shape de ned by x. Hence, after that the chromosome string has been decoded, the ow eld solver is run twice with di erent pre xed values for so as to determine the two corresponding values for Cl . Then by linear interpolation the relative to the given Cl is found and the ow eld solver is run again to evaluate Cdw for the aerofoil under examination. The experimental results have been obtained by starting from a cambered base aerofoil preoptimised by means of an expert system. The population size has been set equal to 120, the crossover probability has been set equal to 1.0 and the mutation probability to 0.001, and a 2{elitist strategy has been used. The termination condition 4

has been set as the tness values reaching 90,000. I have performed 10 runs. In Fig.1(a) the best evolution obtained is reported in terms of both the best tness and the average tness within the population as a function of the number of generations. Fig.1(b) shows the corresponding aerofoil obtained, and the starting one as well. Fig.1(c) plots the polar curve of the achieved aerofoil, compared against that of the starting one. A substantial improvement around the Cl = 0:855 can be observed. Finally Fig.1(d) reports the Cp distribution along the nal shape, compared against that of the initial shape. 100000

0.06 max fitness avg fitness

80000

0.04

70000

0.03

60000

0.02

50000

0.01

40000

0

30000

-0.01

20000

-0.02

10000

-0.03

0

0

5

10 15 GENERATION

initial final

0.05

y/c

FITNESS

90000

-0.04

20

0.03

0

0.1

0.2

0.3

0.4

0.5 x/c

0.6

0.7

0.8

1

initial final

0.025

-1

0.02

-0.5

Cp

Cdw

initial final

0.015

0

0.01

0.5

0.005

1

0 0.3

0.9

-1.5

0.4

0.5

0.6

0.7

Cl

0.8

0.9

1

1.1

1.5

1.2

0

0.1

0.2

0.3

0.4

0.5 x/c

0.6

0.7

0.8

0.9

1

Fig. 1. The results obtained in Direct Design by means of a sequential GA. 3.2 Inverse Problem In this case I have faced the following problem: given a surface pressure distribution, Cp, at a given operating condition, the inverse problem consists in reaching the aerofoil con guration with the xed Cp distribution at the same operating condition. The closer we get to this goal con guration, the better the technique. In this case I have used GAs, M{EA and BGAs for the reconstruction of the Korn aerofoil for subsonic inviscid ow starting from the NACA64A410 aerofoil. The operating conditions considered for the design task are the following: Mach number M=0.75 and angle of attack equal to zero. The objective function used is the classical referred to in literature for this kind of problems, that is: 5

f (x) =

I

(Cp(x; s) ? Cpt(s)) ds (9) ? where Cp and Cpt are respectively the current and the target pressure distribution at the operating condition and s is the arc length along the Cp shape ? . The tness function of a generated aerofoil is proportional to the inverse of the objective function, i.e. (x) = f kx , so the problem becomes a typical maximisation problem and a tness of in nite value would mean that the two Cp shapes are absolutely identical. A very important issue is the representation of the geometry of the aerofoil. I have used for this problem a B{spline representation [Rogers], by means of which we de ne a closed curve (the aerofoil) with a set of m points. Such a curve varies as a function of a parameter called degree of the curve (the higher the degree the softer the curve, without spikes, and the farther the shape from the control points). If we let these control points slightly move within given ranges, we will obtain new curves, so new aerofoils. The parameters to be optimised are, thus, the positions of these control points. There are two reasons to choose the B{spline representation. Firstly, it allows to generate curves in a general way and, if it is needed, permits to set some control points and to change the remaining ones. Secondly, this representation is particularly interesting for our task because it allows a local optimisation. From a mathematical point of view, a curve generated by using the vertices of a de ning polygon is dependent on some interpolation or approximation scheme establishing the relationship between the curve and the polygon. We have de ned a set of control points for both the upper and the lower aerofoil shape: 2

( )

B0 = fB x ; B y ; : : : ; Bmx ; Bmy g 1 0

1 0

0

0

and for each point the following variation has been allowed:

(10)

W = fW x; W y ; : : : ; Wmx ; Wmy g

(11) Hence, the variation law that has been de ned for each control point is the following: 1

1

Bix = Bix0 + Wix Biy = Biy0 + Wiy

(12)

(13) The aerofoil shape has been de ned using two open B{spline curves of degree 4 with 9 control points for both the upper and the lower surface. The initial and nal points, i.e. B 0 = (0:0; 0:0) and B 0 = (1:0; 0:0), have been set on both the curves to close the aerofoil and the remaining ones are let free to move. So, we have 14 control points corresponding to 28 coordinates to be optimised. The variation Wi of each coordinate is in the range [-0.04, 0.04]. This is a very general approach because no speci c knowledge of the desired nal shape has been used, di erently from other approaches which employ a di erent range for each point. Thus, we have computed the vertices of the polygon which de nes the NACA64A410 geometry using it as the initial polygon for the genetic optimisation. In Fig.2 the usage of a B{spline to represent the NACA64A410 shape is shown. For the solution of this problem I have used GAs, M{EA and BGAs. Their behaviour is described in next subsections. 1

9

6

0.08 NACA64A410 Airfoil NACA64A410 Control Points 0.06

0.04

0.02

0

-0.02

-0.04 0

0.2

0.4

0.6

0.8

1

Fig. 2. The NACA64A410 aerofoil and its B{spline representation. GA usage The GA uses binary encoding for the continuous parameters to be optimised.

The population size chosen is 120. A one-point crossover (Pc = 0:8) and a mutation operator (Pm = 0:005) are used; moreover a 2{elitist strategy has been taken into account. A preliminary set of experiments has been performed with the aim to nd the most suitable number of bits for the GA gene representation. The experiments performed by using 8, 16 and 32 bits have indicated that an 8{bit encoding is the most appropriate for the problem under examination and that the evolution gets slower as the number of bits grows. The decision has been taken to stop the evolution when a tness value equal to or higher than 70,000 is reached. In Fig. 3 the best among 10 runs is reported. Namely, in Fig. 3(a) the evolution process in terms of maximum and average tness within the population is depicted; Fig. 3(b) and Fig. 3(c) report respectively the target and the computed aerofoils and the relative distributions of the pressure coecient Cp. The number of generations averaged over 10 runs needed to reach the nal tness value is 190, though in the best run it is about 150.

Mselection, {EA usage In this case I have used a population size of 120 individuals, truncation an 8{bit encoding and 1{elitism. Preliminary sets of runs have allowed to

determine the best range for T%. This has turned out to be [20%; 50%], with the best performance shown for T%=40%. Ten runs have been made with a value of T% equal to 40%. The nal value chosen is the same for GAs, i.e. 70,000. In Fig. 4(a) I report the best tness and the average tness for the best run, and in Fig. 4(b) the target and the computed shapes are given. Fig. 4(c), nally, shows the pressure distributions along the target and the computed aerofoils. Comparison between Figg. 3(a) and 4(a) shows that M{EA is able to obtain a nal solution equivalent in quality to that achieved by GAs in a lower number of generations (88 generations are needed in this best case, and 115 on average, against 150 and 190 respectively required by GAs). This comparison is important since it is made between the only two techniques based on binary encoding, so it helps to draw the conclusion that, as long as we are in the binary domain, M{EA is preferable to GAs in the solution of the problem under examination. 7

80000

0.08 max fitness avg fitness

target computed

70000

0.06

60000 0.04

FITNESS

50000 0.02 40000 0 30000 20000

-0.02

10000

-0.04

0

0

20

40

60

80 100 GENERATION -1.5

120

140

160

-0.06

0

0.2

0.4

0.6

0.8

1

target computed -1

Cp

-0.5

0

0.5

1

1.5

0

0.2

0.4

0.6

x/c

0.8

1

Fig. 3. The results obtained in Inverse Design by means of a sequential GA. 80000

0.08 TARGET COMPUTED

best average

70000

0.06

60000 0.04

0.02 40000 0

30000 20000

-0.02

10000

-0.04

0 0

10

20

30

40 50 Generations -1.5

60

70

80

90

-0.06 0

0.2

0.4

0.6

0.8

"target_cp" "maccos_cp" -1

-0.5

Cp

Fitness

50000

0

0.5

1

1.5 -0.2

0

0.2

0.4

0.6

0.8

1

1.2

x/c

Fig. 4. The results obtained in Inverse Design by means of M{EA. 8

1

BGA usage As attains the usage of BGA for this problem, it uses EIR and CM operators.

Preliminary sets of experiments have been made in order to nd the best values ( = 0:25 and const = 0:5) for the operators employed. Also for this algorithm a population of 120 individuals has been considered. Due to the approximations, and to preliminary runs as well, I have xed as stop criterium tness values of about 120,000 (so higher than in the previous two cases) as representative of shapes satisfying the problem. An analysis of the best threshold percentage T% has been e ected. For each value of T% 10 runs have been carried out with di erent seeds for the random generator underlying the BGA procedure. I have noticed by preliminary experiments that for such a problem the truncation rate must not be too high (otherwise the resulting pro les are quite poor from an aerodynamic point of view), so I have considered for T% a range between 5% and 30%. In Table 1 the average number of generations (Av gen) is reported as a function of T%. The best results have been obtained for a value of T% within the range 10% to 15%. Also these results are averaged over 10 runs.

T

5% 10% 15% 20% 25% 30% Av gen 46.0 40.8 38.6 53.6 63.3 67.6

Table 1. The average number of generations of BGA over 10 runs. An intuitive explanation of the results obtained in Table 1 can be the following. When the T% is small (< 10%) there are few elements in the population which drive the search; it means that these 'super{individuals' allow to reach a good solution only if they are within a promising search space. This involves an extreme variability in the convergence rate. In the opposite case (T  20%) the breeding mechanism works less and less e ectively, thus it there exists an optimal range for T% values in which this mechanism is fruitful. The best evolution among all these runs has been obtained for T=10% and it is reported in Fig. 5(a) where the best tness, the average tness and the standard deviation are sketched as a function of the number of generations performed. The computed and the target aerofoils are shown in Fig. 5(b); Fig. 5(c) sketches the relative distributions of the pressure coecient Cp. As it can immediately be seen by comparing Fig. 3(a) and Fig, 5(a), by using BGAs we can achieve higher tness values than with GAs (the former allows to reach 120,000 against 70,000). So, if we wish to compare the two gures, we may note that BGAs have taken 18 generations to reach the same nal value as GAs, i.e. 70,000. After that, however, BGAs have kept on evolving up to values almost double than those found by the GAs. This ratio of 18 with respect to 150 is a very important feature of the BGA technique, considering the high CPU time required by the ow eld solver for the tness evaluation of each individual (about 30 seconds on a RISC/6000). In fact, since in both cases the populations are equally sized (120 elements) with GAs we have performed 120  150 = 18; 000 evaluations, whereas with BGAs just 120  18 = 2; 160. 9

Summary By summarising the results presented within this Section it can be stated that BGAs are the best approach, followed by M{EA and nally by GAs, for the solution of

the Inverse Design Problem in terms of faster convergence to good solutions (the quality of the aerofoils yielded by all approaches being about the same from the aerodynamic point of view). 140000 max fitness avg fitness std deviation

120000

target final

0.06

0.04 100000

y/c

FITNESS

0.02 80000 0

60000 -0.02 40000 -0.04 20000 -0.06 0

0

5

10

15 GENERATION

20

25

30

0

0.2

0.4

x/c

0.6

0.8

1

-1.5 target computed -1

Cp

-0.5

0

0.5

1

1.5

0

0.2

0.4

x/c

0.6

0.8

1

Fig. 5. The results obtained in Inverse Design by means of a BGA.

4 Parallel models for Evolutionary Algorithms Many researchers have been interested in designing parallel approaches to Evolutionary Algorithms (for a good paper surveying this subject, please see [Cantu]). By doing so, in fact, we could take advantage of the nowadays widely available parallel machines, and this would result in a reduction in execution time needed to nd an acceptable solution for the problem under examination, and (hopefully) in a quality improvement too. Four basic ideas have been developped, leading to normal sequential EAs running in parallel, to a parallelised EA, to a coarse-grained parallel EA and to a ne-grained parallel EA.

4.1 Independent runs in parallel This is a straightforward idea showing nothing really new. In this case we simply run on each of the M available processors one EA, so we can obtain in the same time needed to 10

run it once on one processor exactly M results. This turns out in a speedup of M in the execution of the total set of Q trials to be performed, but the execution time for each run remains unchanged, and its evolution as well.

4.2 Fitness evaluation in parallel The simplest idea to make an EA parallel is to nd all the EA phases which are executed sequentially but for which there is no need to go serial, since there is no relation among them, so that they could be executed in parallel. Such a phase does exist, and it takes place during the tness evaluation for all individuals belonging to the population, which is the most time{consuming phase in the solution of the Aerofoil Design Problem. In such an approach, if we have a parallel machine composed by M processors, we can run the usual EA on one processor. When we have to evaluate the P individuals of the population we can split them into (M-1) groups of P/(M-1) elements and we can send each subgroup to one processor. On each processor the tness evaluation of one individual a time takes place, and then the corresponding tness value is sent back to the master processor. Once the master has received back all of the P tness values, it starts again to perform the EA. By doing so we have not created anything new, we are just executing the EA faster than by using just one processor, so the nal results achieved in this way will de nitely be the same on one or on many processors if we run the same population of P individuals for the same number of generations NG. We have not created a new parallel algorithm, we are only executing the EA faster. This approach may be convenient in the solution of any real problem where the tness evaluation takes a lot of time, like it is usually the case for Aerodynamic problems. The achievable speed-up cannot be greater than the number of processors evaluating the tness, if this part is really time-consuming so that we can neglect the time needed for selection, recombination, mutation, and interprocessor communications.

4.3 Coarse Grained Parallel EA In this case we de ne a new parallel algorithm as it follows: instead of running one population of P individuals we split this population on the M available processors, so as to create M subpopulations of P/M individuals each. We then run these M searches in parallel. Up to now this would seem not very di erent from what said in 4.1. The real improvement showing dramatic e ects is that in this case we let the subpopulations "talk" among themselves and exchange information every now and then, so that the searches are actually linked together. For a good description of the method applied to GAs, please see [Tanese, Muehlenbein91]. We can either let all processors talk directly among themselves (broadcast) or let each processor talk directly with only a given number NN < M of other processors (local connections). Let us de ne more formally these concepts.

Broadcast In this case each processor executes its GA, and at xed intervals (every Gen generations) sends its best local solution to all the processors and receives their locally best solutions. So, each subpopulation receives M ? 1 elements which replace bad local individuals, if better. 11

A variant may be each subpopulation to send its own locally best solution to a master process. Such a master collects the locally best solutions and chooses the best among them (global best); this solution is sent back to each slave so that each of them restarts executing by containing in it this individual. This method may lead to lack of diversity among the di erent searches, so that all of them may easily be attracted within the same subregion. So, for the solution of problems where there is a strong suboptimum, far from the global best, we can get trapped there.

Local connections In this case we rstly de ne a logical topology for the subpopulations,

so that each one will have a number of neighbouring subpopulations, be NN this number, NN < M . This means that one subpopulation does not see directly all the other subpopulations. At xed intervals, let's say every MI generations (migration interval), neighbouring subpopulations are allowed to exchange individuals. The percentage of individuals each population sends to its neighbours is called migration rate (MR). All of the chosen individuals, be their number SI, are sent to all of the neighbours, so that each subpopulation receives a total number of SI  NN elements at each migration time. A design decision is the quality of the elements to be sent; they might be the best ones, or randomly chosen ones. Another decision must be taken about the received individuals; they might anyway replace the worst individuals in the population or they might replace them only if better, or they might nally replace any individual (apart from the very best ones, of course). What has been found by scientists in this eld is that the number of individuals sent should not be high, and they should not be sent too frequently, otherwise the subsearch in a processor might be very disturbed by these continuously entering elements which could even be seen as noise. This mechanism allows to achieve both exploitation and exploration, which are basic features for a good search. Exploration means to wander through the search space so as to consider also very di erent situations, looking for the most promising areas to be intensively sampled. Exploitation means that one area is thoroughly examined, so that we can be con dent in being able to state whether this area is promising. By making use of this approach, in fact, good solutions will spread within the network with successive di usions, so more and more processors will try to sample that area (exploitation), and, on the other hand, there will exist at the same time clusters of processors which will investigate di erent subareas of the search space. A typical situation for a coarse-grained approach is shown in Fig. 6. In it, it is shown in black the generic subpopulation, and in grey its neighbouring subpopulations are indicated. The subpopulation under examination is, thus, "isolated" from all the other ones, shown in white, in the sense that it does not see them directly, and it can communicate with them in an indirect way only, through the grey ones. Of course in this case the speedup is not restricted to M. In fact the algorithm itself is completely changed from before. As a matter of fact, di erent situations have been reported by researchers in which superspeedups have been obtained. As regards practical implementations of this model, it can be implemented in a straightforward way on Multiple{Instruction Multiple{Data (MIMD) parallel machines, and on clusters of workstations as well. 12

Fig. 6. Subpopulation linkage in the coarse grained approach. 4.4 Fine Grained Parallel EA Another way to de ne a brand-new parallel EA (see [Manderick]) which can take advantage of parallel computing is this: let us suppose to have a parallel machine with many processors, possibly a Single{Instruction Multiple{Data (SIMD) one. Usually each of these processors is not very powerful. We allocate on each of these processors a very small subpopulation, in the ideal case just one individual. In the following we will make reference to this ideal case, since SIMD machines have at least hundreds, if not thousands, of processors, and populations of such sizes are quite large for most real problems. The processors in the machine are arranged according to some topology in which each processor has a number of, say, NN neighbouring processors; and this means that any individual will have a number of NN neighbouring individuals. The selection phase takes place as follows: each individual chooses randomly one among its neighbours in order to mate with it. Recombination takes place as de ned by the speci c EA we are running (if present in the model), and mutation follows as well. Then the new individual obtained may replace the old one in that location according to the rules of the speci c EA.

5 Results with Parallel models Within this Section I will give results for Aerofoil Design Optimisation obtained by using a locally{connected coarse grained Parallel approach for both GAs and BGAs.

5.1 Direct Problem solved in parallel I have designed and implemented a simple parallel version which consists of a set of classical GAs, running in parallel, each assigned to a di erent processing element. Moreover, the implementation of a broadcasting mechanism among all 'searchers' has 13

been carried out , so that all the search trajectories are linked very closely. This allows to obtain, usually, better nal solutions in lower convergence times. Namely, in each iteration, the local current best is exchanged among the populations; if one of the arrived solutions is better than the local best one, the former becomes the new best but it does not replace the latter which is maintained in the new population, rather the least t element is discarded. Furthermore, the other arrived solutions replace the worst solutions in the population. A 2{elitist strategy has been used. The pseudo-code of a generic local search process GeneAir (Genetic Algorithm for Airfoil Optimisation) is delineated in the following:

Procedure GeneAir begin

initialise population of P aerofoils; evaluate goodness by ow eld solver;

while not done do copy the m best members of current population into the new population; for i = 1 to (P-m)/2 do select pairs of aerofoils with Roulette Wheel; apply recombinationandmutation operators; evaluate goodness by ow eld solver; od send the current best to the master process; broadcast the current best aerofoil; exploit the received solutions; od end.

In our system a master process, whose functions are those of nding and saving the best among all the local best designs, is also depicted. It provides the user with an interactive control of the system evolution. As attains the initialisation of the population, we have exploited the conclusions reached in [QDC94], in which the behaviour of the GA has been tested by using di erent kinds of initial shapes. In a rst case, a symmetric aerofoil with a strong shock wave was used as basic shape, while in another a preoptimised cambered aerofoil with a weaker shock wave was used. The experimental results obtained for the test cases considered have shown how the use of a cambered 'preoptimised' aerofoil can often lead to substantial reduction in the number of generations necessary to reach a good aerofoil. The testbed design problem is the same as in Section 3.1. The experiments have been performed on a distributed system, the Convex Meta Series. Our con guration consists of a C210 Convex supercomputer linked to four HP/730 nodes via hardware by FDDI and via software by a message passing library, the Parallel Virtual Machine (PVM). I have then divided the population into four subpopulations; since I have taken into account the same population size as in the sequential case, i.e. 120, the subpopulation size has been set equal to 120=4 = 30, and I have associated each local search process with a node of the hardware con guration. The genetic parameters (pc; pm) are equal to those reported in Section 3.1 for the sequential case. Also in this case I have performed 14

a set of 10 runs. I report in Fig. 7 the results of the best run, namely in Fig. 7(a) the trends of the highest tness reached and of the average tness within the population. It must be remarked that in all runs the evolution is very similar to that shown here. From comparison with the results shown in Fig. 1 in Section 3.1 it turns out the superiority of the parallel evolution under the same generation for both the maximum and the average score. This is due to the very powerful intensi cation around good solutions coming out from the exchange of the best members among populations, which leads to better search trajectories in the search space. Namely, these results are within one and two orders of magnitude greater than those obtained by using the sequential approach. Nevertheless, when the maximum tness overcomes a threshold value (about 90,000 for our operating condition) related to the precision of the aerodynamic computation, the tness values increase hugely, as it can be seen from the gure under examination, and they become unreliable, so that from the aerodynamic point of view both the results are good. The advantage of the parallel approach is not only in terms of solution quality but also in terms of the numbers of evaluations (noe) of the tness function and of the execution time. In fact, this approach allows to reduce noe from 3,306 to 904 as it is possible to evaluate from the values reported in Fig. 1(a) and in Fig. 7(a) by considering that in each generation, except the generation 0, the best two elements survive. Thus, the reduction factor is about 3.7. If we consider that, for a single evaluation of the tness function, the execution of the aerodynamic code needs about 30 seconds on an HP/730 node, it is evident that a complete parallel execution for a single trial requires about 7 hours compared against about 27 hours employed by the sequential code. Fig. 7(b) reports the initial and the nal aerofoils found. Figure 7(c) reports the plots of the polar curve computed at the design Mach. From this gure it can be noted that, for the xed design point (Cl = 0:855), the Cdw achieved with the parallel version is better than that yielded by the sequential approach. The pressure distribution in terms of the pressure coecient Cp on the starting and nal aerofoils at the design point are shown in Fig.7(d). They reveal that, although also the plot related to the sequential approach evidences a good aerofoil, the one obtained by the PGA is preferable from the aerodynamic point of view owing to the higher smoothness in the critical central area which is an index of absence of shock wave. It should be pointed out that the aerofoil obtained by means of the parallel approach is really innovative with respect to those usually designed due to the easier physical feasibility related to the rear loading. Moreover, the best aerofoils have been tested also in di erent design conditions; the aerodynamic analysis has proved the reliability of these aerofoils even in those critical situations.

5.2 Inverse Problem solved in parallel

Also in this case I have used a locally{connected coarse-grained parallel approach. In this context I have implemented a simple parallel version for BGAs, which consists of a set of four classical BGAs, running in parallel, assigned to four di erent processing elements in a completely connected topology, thus the local searches are linked together allowing, in each generation, an exchange of the current best individuals among all processes. The pseudo-code of a generic local search process is delineated in the following: Procedure slave-BGA 15

8.0e6

0.06 max fitness avg fitness

initial final

0.05

7.0e6

0.04 6.0e6 0.03 0.02 y/c

FITNESS

5.0e6 4.0e6

0.01 0

3.0e6

-0.01 ..... -0.02 1.0e5 0

-0.03 0

1

2

3

4 5 GENERATION

6

7

8

-0.04

9

0.03

0

0.2

0.4

x/c

0.6

0.8

initial final

initial final

0.025

-1

0.02

-0.5

Cp

Cd

1

-1.5

0.015

0

0.01

0.5

0.005

1

0 0.3

0.4

0.5

0.6

0.7

Cl

0.8

0.9

1

1.1

1.2

1.5

0

0.1

0.2

0.3

0.4

0.5 x/c

0.6

0.7

0.8

0.9

1

Fig. 7. The results obtained for the direct problem by means of a PGA. begin

randomly generate an initial population of P individuals; evaluate goodness of each individual;

end

while (termination criterion not ful lled) do save the best individual in the new population; select the best T% individuals; for i = 1 to (P ? 1) do randomly select two elements among the T%; recombine them so as to obtain one o spring; perform mutation on the o spring; evaluate goodness of the o spring; od send the current best individual to the master process; broadcast the current best individual; exploit the received solutions; update variables for termination; od

The master process is simply a collector of the current local best solutions of the 'slave' processes and saves the best element at each generation. As regards the exploitation of the 16

received solutions, these replace the worst elements (in my case 3 elements) in each local population. I have made preliminary sets of experiments in order to nd the best values for the control parameters and the best combination for the genetic operators. The results have led to a BGA version with EIR and CM operators,  equal to 0.25 and const = 0:5. The total population size is N=120, as in the sequential case, divided on 4 processors, so that each subpopulation consists of Np = 30 elements, and the truncation rate is T=10%. All the tests have been performed on a parallel machine, the Meiko Computing Surface CS2. It is a distributed global memory architecture. I have used the Parallel Virtual Machine (PVM) as message-passing paradigm among the nodes. It should be pointed out that we have chosen a oat representation for the variables involved and, as a consequence, the resulting possible con gurations in the search space are about 10 . Due to the values of Np and T%, 3 elements are selected for mating. Due to the approximations, a tness value of about 120,000 has been set as stop criterion, as in the sequential case. This value represents a good tness value representative of shapes satisfying the problem. In Fig.8(a) the evolution process in terms of maximum and average tness for the best among 10 runs is depicted. Fig.8(b) and Fig.8(c) report respectively the initial, the target and the computed aerofoils and the related distributions of the pressure coecient Cp obtained by the BGA and by the PBGA in their best executions. In both cases the computed shapes are really close to the desired one (they overlap it almost everywhere), and their pressure distributions are very similar to the desired one. Comparing the BGA and the PBGA at parity of the nal solution, the speed-up in terms of ratio between sequential and parallel convergence times is equal to 6.15. This value has been computed neglecting the time due to the message passing because the time consumed by the BGA and by the

ow eld solver is much higher. On the other hand, the ratio between the total number of evaluations performed by the BGA and by the PBGA is equal to 1.54. These results prove that while for the rst speedup it is possible to obtain good values and 'super-speedups' for the second the gain is not comparable to the rst one. From the genetic point of view it is interesting to evaluate the migration e ects in the evolution process by comparing the BGA and the PBGA at the same number of generations. In Fig.8(a) it can be noted that the solution of the PBGA shows always higher quality. It should also be pointed out that the PBGA nal solution has been obtained in a quarter of the time required by the BGA. Note that the comparison should be done against a BGA with a population size equal to 30 and that, as said, the BGA employed with P=120 outperforms the above, so the results obtained are even more meaningful from the parallel point of view. These results have a very important implication in the industrial applications, like that under consideration. In fact, the nal aim in this context is to design aerocraft wings, so it should be desirable to obtain a solution as close as possible to the physical requirements for both in- and o design conditions in the lowest possible time. 163

Summary With the aim to summarise the results obtained in the Inverse Design

Problem, let's consider the turnaround time tt needed to achieve a good solution in the di erent experiments performed. Let's consider an aerofoil with tness value of 70,000 as one of good quality. In order to determine tt let's make reference to the time needed to evaluate the tness functions for all the individuals until we nd one with tness 17

value equal to or greater than the above. In fact the most time{consuming part of the Algorithms is by large the execution of the aerodynamic code, while the evolutionary parts (selection, recombination, mutation) and the parallel parts (when present) are very fast compared to the above. Let's call fet the time needed to evaluate one individual (fet ' 30 seconds for all the machines used). We have started with GAs, needing a ttGA = 120  150 = 18; 000fet. A rst improvement has been obtained with M{EA, leading to ttM?EA = 120  88 = 10; 560fet. Then we have made reference to BGAs, obtaining ttBGA = 120  16 = 1; 920fet. Finally, by using PBGA on 4 processors, we have used an amount of time given by ttPBGA = 30  21 = 630fet. As a conclusion, a speedup s (in terms of time) equal to

; 000 = 28:57 s = 18630

(14)

has been obtained, resulting in a good pro le obtained within few hours compared to several days typical of GAs. (a)

(b)

140000

0.08

0.06

100000

0.04

80000

0.02 y/c

Fitness

120000

INITIAL TARGET COMPUTED (SEQUENTIAL) COMPUTED (PARALLEL)

60000

0

40000

-0.02 BGA Best BGA Average PBGA Best PBGA average

20000

-0.04

0

-0.06 5

10

15

20 Generation

25

30

35

40

0

0.2

0.4

0.6

0.8

x/c (c)

-1.5 TARGET COMPUTED (SEQUENTIAL) COMPUTED (PARALLEL) -1

-0.5

Cp

0

0

0.5

1

1.5 -0.2

0

0.2

0.4

0.6

0.8

1

1.2

x/c

Fig. 8. The results obtained for the inverse design problem by means of a PBGA. 18

1

6 Conclusions In part I of this paper I have given a description of some of the most commonly used Evolutionary Algorithms. Within Part II I have then taken into account the Aerofoil Design Problem and I have shown how the application of Evolutionary Algorithms may lead to a substantial improvement in the quality of the obtained design while, at the same time, reducing the time needed to perform the search, so a rst conclusion is that Evolutionary Algorithms on their own are able to reduce the time needed to obtain a good solution in this eld, like in many others. A remarkable conclusion is that I have shown how Breeder Genetic Algorithms can pro tably be exploited in both Direct and Inverse Design, as they have proved their superiority in these problems with respect to classical discrete Genetic Algorithms, widely used in this area. M{EA binary{based algorithm has turned out superior to binary Genetic Algorithms, though not comparable to real{valued algorithms. Moreover, I have shown how EAs can be easily parallelised. In the last Section of this paper I have provided the reader with results obtained in both Direct and Inverse Aerofoil Design by using parallel versions of Evolutionary Algorithms. The results allow us to state that in this way we can further reduce the search time.

Acknowledgements

The author wishes to wholeheartedly thank his colleagues in this research, who have contributed as much as him to the theoretical approach to Evolutionary Algorithms, to their application to Aerofoil Design, to the successful implementations described within this paper and to the achieved results as well: Dr. Antonio Della Cioppa, Dr. Renato Del Balio, Dr. Aniello Iazzetta and Dr. Ernesto Tarantino.

References [Vanderplaats] G. N. Vanderplaats, Numerical Optimization Techniques for Engineering Design: with applications, Mc Graw Hill, New York, 1984. [Dulikravich] G. S. Dulikravich, Aerodynamic shape design and optimization, Tech. Rep. 91{0476, AIAA paper, Jan. 1991 [Jameson] A. Jameson, Aerodynamic design via Control Theory, Tech. rep. 88{64, ICASE, 1988. [Tong85] S. S. Tong, Design of aerodynamic bodies using arti cial intelligence/expert system technique, Tech. Rep. 85{0112, AIAA Paper, 1985. [Obayashi] S. Obayashi and S. Takanashi, \Genetic Optimization of Target Pressure Distributions for Inverse Design Methods," in Proceedings of the 12th AIAA Computational Fluid Dynamics Conference, San Diego, CA, Jun 19-22 1995. [QDC94] D. Quagliarella and A. Della Cioppa, "Genetic Algorithms Applied to the Aerodynamic Design of Transonic Airfoils", in Proceedings of the 12th AIAA Applied 19

Aerodynamics Conference, Colorado Springs, CO, USA, Jun, 1994, AIAA-94-1896-CP, pp. 686-693 [Tong] S. S. Tong, D. Powell and M. Skolnick, Engeneous: domain independent, machine learning for design optimization, in Proceedings of the third International Conference on Genetic Algorithms, (J. D. Scha er editor), pp.151{159, M. Kau mann Publisjers, 1989. [Mosetti] G. Mosetti and C. Poloni, Aerodynamic shape optimization by means of a genetic algorithm, Proceedings of the fth International symposium on Computational Fluid Dynamics, Sendai, Japan, pp. 279{284, 1993. [Grasmeyer] J. Grasmeyer, Application of a Genetic Algorithm with Adaptive Penalty Functions to Airfoil Design, Proceedings of the AIAA Region III Student Conference, March 28{30, 1996, West Lafayette, Indiana, USA. [Gage] P. Gage and I. Kroo, A Role for Genetic Algorithms in a Preliminary Design Environment, Stanford University Technical Report, 1993. [DPO] D. J. Doorly, J. Peiro' and J-P. Oesterle, \Optimisation of Aerodynamic and Coupled Aerodynamic{Structural Design using Parallel Genetic Algorithms", in Proceedings of the Sixth AIAA/NASA/USAF Multidiscipliary Analysis and Optimization Symposium, September 4{6, Seattle, WA, USA, 1996, AIAA Paper 96{ 4027, 1996. [DDDT95] I. De Falco, R. Del Balio, A. Della Cioppa and E. Tarantino, \A Parallel Genetic Algorithm for Transonic Airfoil Optimisation," in Proceedings of the IEEE International Conference on Evolutionary Computing, Perth, University of Western Australia, Australia, Nov. 1995. [DDDT96a] I. De Falco, R. Del Balio, A. Della Cioppa and E. Tarantino, \Breeder Genetic Algorithm for Airfoil Design Optimisation," Proceedigs of the IEEE International Conference on Evolutionary Computing, Nagoya, Japan, May 20-22 1996. [DDDT96b] I. De Falco, R. Del Balio, A. Della Cioppa and E. Tarantino, Investigating a Parallel Breeder Genetic Algorithm on the Inverse Aerodynamic Design, Proceedings of Parallel Problem Solving from Nature IV, Lecture Notes in Computer Science, Springer Verlag, 1996, pp. 982{991. [Rogers] D. E. Rogers, Mathematical Elements for Computer Graphics. Addison-Wesley, Reading, Mass., 1989. [Cantu] E. Cantu{Paz, \A Summary of Research on Parallel Genetic Algorithms" IlliGAL Report, no. 95007, University of Illinois at Urbana{Champaign, USA, July 1995. [Tanese] R. Tanese, \Distributed Genetic Algorithms," in Proceedings of the 3rd International Conference on Genetic Algorithms, (J. D. Scha er, ed.), pp. 434{439, M. Kaufmann Publisher, 1989. [Muehlenbein91] H. Muhlenbein, M. Schomisch and J. Born, \The Parallel Genetic Algorithm as Function Optimizer," Parallel Computing, vol. 17, pp. 619{632, 1991. [Manderick] B. Manderick and P. Spiessens, \Fine{grained Parallel Genetic Algorithms," in Proceedings of the 3rd International Conference on Genetic Algorithms, (J. D. Scha er, ed.), pp. 428{433, M. Kaufmann Publisher, 1989.

20

Suggest Documents