ARTICLE IN PRESS
Engineering Applications of Artificial Intelligence 17 (2004) 337–344
Optimization and defect identification using distributed evolutionary algorithms ! a,b,*, Wac"aw Kus! a, Adam D"ugosza, Piotr Oranteka Tadeusz Burczynski a
Department for Strength of Materials and Computational Mechanics, Silesian University of Technology, ul. Konarskiego 18a, 44-100 Gliwice, Poland b Institute of Computer Modelling, Artificial Intelligence Section, Cracow University of Technology, ul. Warszawska 24, 31-155 Cracow, Poland
Abstract The aim of the paper is to present the application of the distributed evolutionary algorithms to selected optimization and defect identification problems. The coupling of evolutionary algorithms with the finite element method and the boundary element method creates a computational intelligence technique that is very suitable in computer aided optimal design. Several numerical examples for shape, topology optimization and identification are presented for elastic, thermoelastic and elastoplastic structures. r 2004 Elsevier Ltd. All rights reserved. Keywords: Distributed evolutionary algorithm; Coevolution; Optimization; Identification; FEM; BEM
1. Introduction Evolutionary methods have found various applications in mechanics, especially in structural optimization ! ! (Burczynski and Osyczka, 2004c; Burczynski and ! D"ugosz, 2002; Burczynski and Kus!, 2001; Kus! and ! Burczynski, 2000; Papadrakakis and Lagaros, 2003). The main feature of such applications is the fact that the design process of artificial systems like structural or mechanical components is simulated by biological processes based on heredity principles (genetics) and the natural selection (the theory of evolution). The paper is devoted to structural optimization and defect identification using distributed evolutionary algorithms. Solutions of optimization and identification problems are very time consuming when sequential evolutionary algorithms are applied. The long time of computations is due to the fitness function evaluation which requires solution of direct (boundary-value or initial boundaryvalue) problems. The fitness function is computed with the use of the boundary element method (Brebbia et al., 1984; Dominguez, 1993) (BEM) or the finite element method (Kleiber, 1998; Zienkiewicz and Taylor, 2000) (FEM). In order to speed up evolutionary optimization the distributed evolutionary algorithms can be proposed instead of the sequential evolutionary algorithms. *Corresponding author. Fax: +48-3237-1267. ! E-mail address:
[email protected] (T. Burczynski). 0952-1976/$ - see front matter r 2004 Elsevier Ltd. All rights reserved. doi:10.1016/j.engappai.2004.04.007
This paper is the extension of our previous papers devoted to applications of evolutionary methods to ! optimization and identification (Burczynski et al., ! 2003c) in thermoelastic problems (Burczynski et al., 2003a; D"ugosz, 2004), optimization of nonlinear ! ! structures (Burczynski and Kus!, 2003a; Burczynski and Kus!, 2004b) and identification in dynamically ! loaded structures (Burczynski et al., 2003b; Orantek, 2004).
2. Optimization problem A body, which occupies a domain O bounded by a boundary G; is considered. Boundary conditions in the form of the displacement and traction fields are prescribed. In the case of dynamical problems initial conditions are also prescribed. One should find optimal shape or topology of the structure by minimizing an objective functional: min Jo ðChÞ
ð1Þ
Ch
with imposed constraints: Ja ðChÞ ¼ 0; Jb p0;
a ¼ 1; 2; y; A;
b ¼ 1; 2; y; B:
ð2Þ
Ch is a vector of design parameters which is represented by a chromosome with the floating
ARTICLE IN PRESS ! T. Burczynski et al. / Engineering Applications of Artificial Intelligence 17 (2004) 337–344
338
point representation
START
Ch ¼ ½g1 ; g2 ; y; gi ; y; gN ;
ð3Þ create starting population
where restrictions on genes are imposed in the form giL pgi pgiR ;
i ¼ 1; 2; y; N:
ð4Þ chromosomes
Genes are responsible for shape, topology and material parameters of the structures. General form of the objective functional Jo and performance functionals Ja and Jb can be expressed in structural optimization as follows: Z Z J¼ Cðs; E; u; TÞ dO þ jðu; p; T; qÞ dG; ð5Þ O
¼
0
G
tf 0
fitness f. values selection
Y
stop condition
N
G
where C is an arbitrary function of stress s; strain E; displacement u and temperature T fields in the domain O; respectively, j is an arbitrary function of displacement u; traction p; temperature T and heat flux q fields on the boundary G; respectively. In order to evaluate the fitness function one should solve the boundary-value problem using FEM, BEM. In the case of defect identification the fitness function is constructed as follows: Z tf Z J¼ jðwÞ dG dt Z
evolutionary algorithm operators
fitness function evaluation
Z X n
# tÞ2 dðx xi Þ dG dt: ½wðx; tÞ wðx;
ð6Þ
G i¼1
The function wðx; tÞ; xAG; tA½0; tf ; represents displacement uðx; tÞ or temperature Tðx; tÞ fields calculated # tÞ represents using FEM or BEM and the function wðx; the same field measured at sensor points x ¼ xi ; j ¼ 1; 2; y; n: Defects are detected by the minimization of the fitness function (6) with respect to genes gi ; i ¼ 1; 2; y; N; which describe position, shape and number of defects (cracks or voids).
3. Distributed evolutionary algorithm 3.1. Sequentional evolutionary algorithm Evolutionary algorithms (Michalewicz, 1996) are algorithms searching the space of solutions basing on the analogy to the biological evolution of species. Like in biology, the term of an individual is used, and it represents a single solution. Evolutionary algorithms operate on populations of individuals, so while an algorithm works, all the time we deal with a set of problem solutions. An individual consists of chromosomes. Usually it is assumed that an individual has one chromosome. Chromosomes consist of genes which are equivalents of design variables in optimization problems. The adaptation is computed using fitness function. All the genes of an individual decide about
END Fig. 1. Flowchart of sequentional evolutionary algorithm.
the fitness function value. Fig. 1 shows flowchart of sequentional evolutionary algorithm. In the first step a initial population of individuals is created. Usually, the values of the genes of particular individuals are randomly generated. In the next step the individuals’ fitness function value is computed. Then, evolutionary operators change genes of the parent population individuals. The fitness function is computed for changed individuals. The constraints are checked during fitness function evaluation. The penalty method can be used when linear or nonlinear constraints are not fulfilled. The evolutionary operators are used again for the chromosome, the fitness function of which cannot be evaluated (for example, when the shape of the structure based on the chromosome genes) cannot be created. The individuals are selected for the offspring population, which becomes a parent population and the algorithm is done iteratively till the end of the computation. The termination condition of the computation is formulated as the maximum number of iterations. In evolutionary algorithms floating-point representation is applied, which means that genes included in chromosomes include floating-point numbers. Usually the variation of the gene value is limited. A single-chromosome individual (called a chromosome) chk ; k ¼ 1; 2; y; nchr where nchr is the population size, may be presented by means of a column or a line matrix, whose elements are represented by genes gi ; i ¼ 1; 2; y; N; N—the number of genes in a chromosome. Evolutionary operators change gene value like the biological mechanisms of mutation and crossing. Different kinds of operators are presented in publications, and the basic ones are: an uniform mutation, a mutation with Gaussian distribution, a boundary mutation, a simple crossover and arithmetical crossover. An uniform mutation changes the values of a randomly
ARTICLE IN PRESS ! T. Burczynski et al. / Engineering Applications of Artificial Intelligence 17 (2004) 337–344
chosen genes in randomly selected individual. The new values of the genes are drawn so that they could fulfill constraints imposed on the variation of the gene values. A mutation with Gaussian distribution is an operator changing the values of an individual’s genes randomly, similarly to an uniform mutation. New values of the genes are created by means of random numbers with Gaussian distribution. The operator searches the individual’s surrounding. A boundary mutation operates similar to an uniform mutation, however, new values of the genes are equal to the left or right value from the gene variation range. A simple crossover is an operator creating an offspring on the basis of two parent individuals. A cutting position is drawn, and a new individual consists of the genes coming partly form the first and partly form the second individual. An arithmetical crossover has no biological counterpart. A new individual is formed similar to a simple crossover, on the basis of two parent individuals, however, the values of the individual’s genes are defined as the average value of the parent individuals’ genes. An important element of an evolutionary algorithm is the mechanism of selection. The probability of the individual’s survival depends on the value of the fitness function. Ranking selection is performed in a few steps. First, the individuals are classified according to the value of the fitness function, then a rank value is attributed to each individual. It depends on the individual’s number and the rank function. The best individuals obtain the highest rank value, the worst obtain the lowest one. In the final step individuals for the offspring generation are drawn, but the probability of drawing particular individuals is closely related to their rank value. 3.2. Parallel and distributed evolutionary algorithms In majority of cases the increased speed of the action of an evolutionary algorithm is connected with shortening the time of computing the objective function and/ or the proper choice of the parameters of the algorithm. In the case of optimization problems, for which the time of computing the fitness function is very short, and the use of operators and the realization of the selection take most of the processor time, it is very important to optimize the code of the evolutionary algorithm. As problems of mechanics take a lot of computation time, it has been decided that the computation time will be shortened by reducing the time of computing the fitness function and choosing the parameters of the evolutionary algorithm. In order to increase the speed of the evolutionary algorithm, especially when multiprocessor computers or clusters are used, parallel, distributed or cellular evolutionary algorithms can be applied. ! Parallel evolutionary algorithms (Cantu-Paz, 1998) have the client-server architecture (Fig. 2). They operate, like sequentional algorithms, on a single population of
339
client/worker
START
compute fitness function value
create starting population
server/master chromosomes send chromosomes to clients and receive finess functions values
evolutionarya lgorithm operators fitness f. values selection
Y
compute fitness function value
client/worker
compute fitness function value
stop condition
N
END
client/worker
Fig. 2. The flowchart of a parallel evolutionary algorithm.
individuals. The server is treated as a master, and other processors play the role of workers. The master makes the selection and performs genetic operators, the workers compute the values of the fitness function of the individuals sent by the administrator. The maximal speedup which can be achieved in the case of parallel evolutionary algorithms equals n (linear). ! Distributed evolutionary algorithms (Cantu-Paz, 1998; Alba and Troya, 1999; Tanese, 1989; Aleander, 2000) are based on the theory of co-evolutionary algorithms. The process of evolution is faster, if isolated subpopulations of small number of interchangeable individuals evolve. In this algorithm a population of individuals is divided into several subpopulations. Each of the subpopulations evolves separately, and from time to time only a migration phase occurs, during which a part of individuals is interchanged between the subpopulations. Usually, the number of processing units is equal to the number of subpopulations. In the presented approach the number of processors can be less or equal to the number of all chromosomes in ! subpopulations (Burczynski and Kus!, 2003b, c; Burczy! nski and Kus!, 2004a). A flowchart of a distributed algorithm for one subpopulation is presented in Fig. 3. The migration phase occurs after the selection of offspring subpopulation. The migration of the best chromosome in every generation is used in numerical problems. The fitness functions are evaluated by workers processors while the coevolutionary algorithm runs on master processor. This approach is very useful when the number of subpopulation is not equal to the number of processors. The presented approach allows the use of the number of processors equal to sum of all chromosomes in subpopulations. The maximal speedup of presented algorithm can be linear, however when comparing a distributed evolutionary algorithm with
ARTICLE IN PRESS ! T. Burczynski et al. / Engineering Applications of Artificial Intelligence 17 (2004) 337–344
340 client/worker
client/worker
compute fitness function value
compute fitness function value
control point NURBS control polygon
START
P2
P3
create starting subpopulation
NURBS curve
server/master chromosomes send chromosomes to clients and receive finess functions values
evolutionary algorithm operators
P1 P4’
communication with other subpopulations
P4
migration
compute fitness function value
client/worker
P0
fitness f. values
selection
Y
stop condition
P6
N
P5
Fig. 4. A NURBS curve with control polygon.
END Fig. 3. The flowchart of distributed evolutionary algorithm.
the best sequentional one, the speedup can be superlinear.
4. Shape and topology parametrization by genes The shape of a structure or distribution of boundary conditions can be represented by a NURBS (Non Uniform Rational B-Spline) curve (Piegl and Tiller, 1997). Sample NURBS curve is presented in Fig. 4. A control polygon determines the shape of the NURBS curve. Coordinates of the control points of the NURBS play the role of genes gi ; i ¼ 1; y; N: The NURBS curve is formulated as: Pn i¼0 Nipj ðuj Þwi Pij Cj ðuj Þ ¼ P ; ð7Þ n i¼0 Nipj ðuj Þwi where Cj means the point coordinate on the NURBS curve in j dimension, for distance parameter uj : Nipj ðuj Þ are NURBS curve base functions with degrees p: Pij are the coordinates of control point i in dimension j; wi is weight of the control point. n is the number of control points. Parameters uj are inside aj puj pbj : The coefficients aj ; bj represent variability in a knot vector: 9 8 > > = < ð8Þ Uj ¼ aj ; y; aj ; Upþ1j ; y; Ump1j ; bj ; y; bj ; > |fflfflfflfflffl{zfflfflfflfflffl}> ; :|fflfflfflfflffl{zfflfflfflfflffl} pþ1
pþ1
where number of elements of a knot vector is equal to m ¼ n þ 2p: The NURBS curve base functions are created basing on knot vector: 1 when uij puj puiþ1j ; Ni0j ðuj Þ ¼ ð9Þ 0 otherwise;
Nipj ðuj Þ ¼
uj Uij Nip1j ðuj Þ Uiþpj Uij Uiþpþ1j uj Niþ1p1j ðuj Þ: þ Uiþpþ1j Uiþ1j
ð10Þ
The base function takes value 0, if in above equations is undetermined symbol 0=0: Three different types of chromosomes are considered for parametrization of internal voids: Ch ¼ ½x1 ; r1 ; x2 ; r2 ; y; xhmax ; rhmax ;
ð11Þ
Ch ¼ ½nh ; x1 ; r1 ; x2 ; r2 ; y; xhmax ; rhmax ;
ð12Þ
Ch ¼ ½w1 ; w2 ; y; wn ; x1 ; r1 ; x2 ; r2 ; y; xhmax ; rhmax :
ð13Þ
The xi vector contains information about the position of the center of the void, ri information about the shape parameters of the void. hmax is the maximal number of voids. The n in (12) representation is equal to the number of active voids. Similar meaning has wi parameter in (13), each wi corresponds with void i: The presence or absence of a void in (11) chromosome can be determined using shape parameters ri : The void is present only when the parameter value is above some limit.
5. Numerical examples 5.1. Identification of hole in a elasto-plastic 3D structure A structure with a spherical void made from elastoplastic with hardening material is considered (Fig. 5). The problem is to identify the position and radius of the void. The fitness function is formulated by (6) taking into account displacement values in boundary sensor points. Fig. 5a shows loading for the structure. The uniaxial stress-strain characteristic AA 6063 T7 material is shown in Fig. 5b. The finite element method is used to
ARTICLE IN PRESS ! T. Burczynski et al. / Engineering Applications of Artificial Intelligence 17 (2004) 337–344
q
Table 1 The actual and found parameters of the spherical void
r
y
100
S
Parameter
Actual value
Found value
Error %
Coordinate x Coordinate y Coordinate z Radius r
50.00 50.00 50.00 10.00
50.16 50.04 49.83 10.01
0.12 0.08 0.34 0.10
100
z
x
341
100
(a) 2.0E+08 1.5E+08 1.0E+08 5.0E+07 0.0E+00 0
0.02
0.04
0.06
0.08
0.1
fitness function value
(b)
1400000 1200000 1000000 800000
(Fig. 5a). The chromosome contains four genes. The number of subpopulations was two and the number of chromosomes in each subpopulation was 10. The measured displacements values were obtained from numerical experiment. Fig. 5c shows fitness function value in function of generation number. The actual and found parameters of the spherical void are presented in Table 1. The speedup of the optimization was measured experimentally. The two dual processor Intel Xeon 1:4 GHz computers were used. The speedup was computed using formula s ¼ T1 =Tn ; where T1 means time need for computations on 1 processor, Tn time need for computations on n processors. The results are presented in Fig. 5d.
600000 400000
5.2. Shape evolutionary design of thermomechanical structure
200000 0 0
100
200
(c)
300
400
500
generation
4
speedup
3.5 3 2.5 2 1.5 1 1
2
3
4
number of processors
(d)
actual speed up
linear speed up
Fig. 5. Structure with spherical voids: (a) geometry and boundary conditions; (b) the AA 6063 T7 uniaxial stress–strain characteristic; (c) fitness function value in function of generation number; (d) speedup of computations in function of number of processors.
compute displacements in the structure. The 10-nodes tetrahedral elements were used. The T3D mesh generator (Rypl, 2002) were used. The MSC.Nastran (2004) FEM solver was adopted to obtain the displacement field. The boundary sensor points of the displacement are located at 10 nodes of the external boundary S
A square plate with a circular void is considered ! (Burczynski et al., 2003a) (Fig. 6a). For the sake of the symmetry only a quarter of the structure is taken into consideration. The considered quarter of the structure contains a gap bounded by an unknown internal boundary shown in the Fig. 6b. The values of the boundary conditions are: T10 ¼ 300 C; T20 ¼ 20 C; q0 ¼ 0; p0 ¼ 100 kN=m; a1 ¼ 1000 W=m2 K; a2 ¼ 20 W=m2 K; u0 ¼ 0: The model consists of 90 boundary elements. The optimization problem consists in searching the optimal: (a) shape of the internal boundary, (b) width of the gap, (c) distribution of the temperature T 0 on the internal boundary for minimization of the radial displacements given by the functional (5) with C ¼ 0 and j ¼ ðu=uo Þ2n ; where u is a field of boundary displacements where tractions p0 are prescribed, u0 is a reference displacement, n is natural number. The shape of the internal boundary was modeled using NURBS curve which consists of seven control points, whereas the width of the gap and temperature T 0 using NURBS curve consisting of six control points (Fig. 6c). For the sake of the symmetry along line AB (Fig. 6c) the total number of design parameters was equal to 13. The range of the variability of each control point for the width of the gap is between 0.2 and 0.8, whereas for the temperature is between 5 C and 80 C: The number of
ARTICLE IN PRESS 342
! T. Burczynski et al. / Engineering Applications of Artificial Intelligence 17 (2004) 337–344
subpopulations was two and the number of chromosomes in each subpopulation was 10. Fig. 6d shows the results of the optimization. 5.3. Identification of voids for thermomechanical problem A structure which contains three circular voids being under thermomechanical boundary conditions is con! sidered (Burczynski et al., 2003a) (Fig. 7). The problem is to identify positions, radii and a number of the voids assuming that this number is from the interval 1–5. The fitness function is formulated by (6) taking into account displacement as well as temperature values in boundary sensor points. Fig. 7a shows thermomechanical loading for the structure, values of the boundary conditions are as follows: T10 ¼ 100 C; T20 ¼ 20 C; T30 ¼ 0 C; p0 ¼ 100 kN=m; a1 ¼ 1000 W=m2 K; a2 ¼ 20 W=m2 K; u0 ¼ 0: The external boundary was divided into 39 elements, whereas each internal boundary into eight. The boundary sensor points of displacement and temperatures are located at every node of the external boundary except the part where u0 is prescribed. The chromosome contains 15 genes (three for each void). The void was generated for the value of radius greater than 0.5. The displacements in the structure were computed using the boundary element method. The number of subpopulations was two and the number of chromosomes in each subpopulation was 10. The measured displacements and
Fig. 6. A square plate with a circular void: (a) geometry; (b) boundary conditions; (c) NURBS curves; (d) best result. Fig. 7. A structure with circular voids: (a) geometry and boundary conditions; (b) identification results.
ARTICLE IN PRESS ! T. Burczynski et al. / Engineering Applications of Artificial Intelligence 17 (2004) 337–344
343
Acknowledgements This research was carried out in the framework of the KBN grant 4T11F00822.
References
Fig. 8. A structure with circular holes: (a) geometry, boundary conditions and sensor points; (b) identification results for distance 30 mm; (c) identification results for distance 50 mm:
temperatures values were obtained from a numerical experiment. Fig. 7b shows the results of identification. 5.4. Dynamically loaded plate A plate under dynamical loads is considered (Burczy! nski et al., 2003b). The body is made from an elastic material. In the body there are two voids. The distributed evolutionary algorithm should find the position and size of these holes. The geometry, boundary conditions and the sensor points distribution are shown in Fig. 8a. The two defects are determined by chromosome with six genes. The fitness functions were computed by solving a boundaryinitial value problem of elastodynamics by dualreciprocity boundary element method (DRBEM) (Dominguez, 1993). The number of subpopulations was two and the number of chromosomes in each subpopulation was 10. The numerical tests were performed for the distance between defect equal to 30 and 50 mm: The defects actual and found by distributed evolutionary algorithm are presented in Fig. 8c,d.
6. Conclusions An effective intelligent technique of evolutionary design and identification based on distributed computations has been presented. The important feature of this approach is its great flexibility and the strong probability of finding the global optimal solutions. The distributed evolutionary algorithm allows short optimization time. The numerical examples for optimization and identification for elastic, thermomechanical and elastoplastic structures were presented.
Alba, E., Troya, J.M., 1999. A survey of parallel distributed genetic algorithms. Complexity 4 (4), 31–52. Aleander, J.T., 2000. An indexed bibliography of distributed genetic algorithms, University of Vaasa, Report 94-1-PARA, Vaasa, Finland. Brebbia, C.A., Telles, J.C.F., Wrobel, L.C., 1984. Boundary Element Techniques. Springer, Berlin. ! Burczynski, T., D"ugosz, A., 2002. Evolutionary optimization in thermoelastic problems using the boundary element method. Computational Mechanics, Vol. 28(3–4). Springer, Berlin. ! Burczynski, T., Ku!s, W., 2001. Shape optimization of elasto-plastic structures using distributed evolutionary algorithms. Proceedings of the European Conference on Computational Mechanics, ECCM ! 2001, Krakow. ! Burczynski, T., Ku!s, W., 2003a. Distributed and parallel evolutionary algorithms in optimization of nonlinear structures. Proceedings of the 15th International Conference on Computational Mechanics, CMM 2003, Gliwice Wis"a, CD, ISBN 83-914632-4-9, Poland. ! Burczynski, T., Ku!s, W., 2003b. Improvements of distributed evolutionary algorithm in optimization of nonlinear structures. Symposium on Methods of Artificial Intelligence AI-METH 2003, Gliwice, Poland. ! Burczynski, T., Ku!s, W., 2003c. Distributed evolutionary algorithms with master–co-evolutionary algorithm and slaves—fitness function evaluators. Sixth National Conference on Evolutionary Algo! Poland. rithms and Global Optimization KAEiOG 2003, Łagow, ! Burczynski, T., Ku!s, W., 2004a. Optimization of structures using distributed and parallel evolutionary algorithms. Proceedings of the fifth Conference Parallel Processing and Applied Mathematics, PPAM 2003, Lecture Notes in Computer Science, Vol. 3019. Springer, Berlin. ! Burczynski, T., Ku!s, W., 2004b. Distributed evolutionary algorithms ! in optimization of nonlinear solids. In: Burczynski, T., Osyczka, A. (Eds.), Evolutionary Methods in Mechanics. Kluwer, Dordrecht. ! Burczynski, T., Osyczka, A. (Eds.), 2004c. Evolutionary Methods in Mechanics. Kluwer, Dordrecht. ! Burczynski, T., Ku!s, W., D"ugosz, A., 2003a. Distributed evolutionary algorithms in optimization of thermoelastic structures. Proceedings of the 15th International Conference on Computational Mechanics, CMM, 2003, Gliwice Wis"a, CD, ISBN 83-914632-4-9, Poland. ! Burczynski, T., Ku!s, W., Orantek, P., 2003b. Distributed evolutionary algorithms in selected identification problems. Proceedings of the 15th International Conference on Computational Mechanics, CMM 2003, Gliwice Wis"a, CD, ISBN 83-914632-4-9, Poland. ! Burczynski, T., Ku!s, W., Orantek, P., D"ugosz, A., 2003c. Distributed evolutionary algorithms in structural optimization and defect identification. Proceedings of the Evolutionary Methods for Design, Optimization and Control with Applications to Industrial and Societal Problems EUROGEN 2003, CD, Barcelona. ! Cantu-Paz, E., 1998. A survey of parallel genetic algorithms. Calculateurs Paralleles, Reseaux et Systems Repartis, Vol. 10(2). Hermes, Paris, pp. 141–171. D"ugosz, A., 2004. Evolutionary computation in thermoelastic ! problems. In: Burczynski, T., Osyczka, A. (Eds.), Evolutionary Methods in Mechanics. Kluwer, Dordrecht. Dominguez, J., 1993. Boundary Elements in Dynamics. CMP, Southampton, Boston.
ARTICLE IN PRESS 344
! T. Burczynski et al. / Engineering Applications of Artificial Intelligence 17 (2004) 337–344
Kleiber, M. (Ed.), 1998. Handbook of Computational Solid Mechanics. Springer, Berlin. ! Ku!s, W., Burczynski, T., 2000. Evolutionary optimization of elastoplastic solids. In: Burczyski T., Cholewa W. (Eds.), Proceedings of the AI-MECH 2000 Symposium on Methods of Artificial Intelligence in Mechanics and Mechanical Engineering, Gliwice. Michalewicz, Z., 1996. Genetic Algorithms þ Data Structures ¼ evolutionary Algorithms: Springer, Berlin. MSC. Nastran Help, 2004. CD version. Orantek, P., 2004. Hybrid evolutionary algorithm in optimization ! of structures under dynamical loads. In: Burczynski, T., Osyczka,
A. (Eds.), Evolutionary Methods in Mechanics. Kluwer, Dordrecht. Papadrakakis, M., Lagaros, N.D., 2003. Soft computing methodologies for structural optimization. Applied Soft Computing 3, 283–300. Piegl, L., Tiller, W., 1997. The NURBS Book. Springer, Berlin. Rypl, D., 2002. T3D Triangulation of 3D Domains, User Guide. Tanese, R., 1989. Distributed genetic algorithms. In: Schaffer, J.D. (Ed.), Proceedings of the Third ICGA. San Mateo, USA, pp. 434–439. Zienkiewicz, O.C., Taylor, R.L., 2000. The Finite Element Method, Vol. 1–2. Butterworth, Oxford.