Get Complete Project Material File(s) Now! »

## Advantages and drawbacks of GAs

Very often, in many diﬀerent fields, GAs have proved to be more eﬀective and robust than classical deterministic and/or gradient-based methods in the search of solutions for a given optimisation problem. To understand the reasons behind this fact, we have to analyse the main diﬀerences between classical methods and GAs:

• GAs employ a coding of the optimisation variables of the considered problem, in-stead of directly using them.

• GAs work on a population of points instead of a single point. For this reason GAs are well-suited when dealing with non-convex and/or non-smooth optimisation problems: the distribution of a population of points over the whole design space prevents the algorithm to converge towards a local minimum.

• GAs are “zero-order” methods, i.e. they only need of the evaluation of the ob-jective function without any auxiliary information (e.g the calculation of the first derivatives of the function). This circumstance avoids the problem of the numer-ical calculation of the function derivatives and allows to deal with diﬀerent types of variables (integer, discrete, scattered and so on) as well as a more wide class of functions (discontinuous, non-smooth, non-diﬀerentiable and so on).

• GAs uses probabilistic transition rules instead of deterministic ones. However, GAs are not completely blind in searching the solutions within the definition domain: they simultaneously explore several points belonging to diﬀerent regions of the de-sign space and, making simple evaluations of the objective function on such points, they are able to exploit these informations in order to drive the search of optimal solutions on some convenient sub-domains of the design space wherein the global optimum/optima is/are located.

Along with the previous advantages, as it happens in each numerical technique, GAs have the following drawbacks:

• repeated objective (and also fitness) function evaluation for complex problems is of-ten the most prohibitive and limiting segment of GAs. Finding the optimal solution to complex high dimensional, multi-modal problems often requires very expensive fitness function evaluations. In real world problems such as structural optimisation problems, one single function evaluation may require from several hours to several days for a complete simulation. Typical optimisation methods cannot deal with such types of problem. In this case, it may be necessary to forgo an exact evalua-tion and use an approximated objective function that is computationally eﬃcient. It is apparent that amalgamation of approximate models may be one of the most promising approaches to convincingly use GA to solve complex real life problems.

• GAs cannot eﬀectively deal with problems wherein the only fitness measure is a sin-gle right/wrong measure (like decision problems), since there is no way to converge to the solution (no hill to climb). In such cases, a random search may find a solution as quickly as a GA.

• GAs require an adequate setting of the parameters which control the correct be-haviour of the algorithm itself, namely the crossover and mutation probabilities, the size of the population, the choice of the selection operator and so on.

In the next Section we describe the main features of the GA BIANCA, originally presented in [1, 2], and particularly we introduce the new features and the new genetic operators conceived and developed in the framework of this thesis in order to deal with a special class of optimisation problems: the design problems of modular systems.

**BIANCA: a genetic algorithm for engineering op-timisation**

As suggested by its name, the genetic code BIANCA (Biologically Inspired ANalysis of Composite Assemblages), was originally developed by Vincenti et al. in order to deal with design problems of composite laminated structures [1, 2]. BIANCA was based on the structure of the standard GA, see Fig. 1.4, and had some original features concerning the representation of the genotype for composite laminates and also a new strategy in the treatment of inequality constraints [1, 2]. The authors performed a large campaign of numerical tests using BIANCA which proved that this code is very eﬀective and robust when dealing with design problems of composite laminates. Nevertheless, new laminates design problems led the authors to make some modifications to the GA BIANCA that renovate its structure in order to improve its performance and robustness [1]. This first version of BIANCA (which is written in FORTRAN language) was based on a single population evolving along the generations and subject to the action of the genetic operators of crossover, mutation and elitism. Selection was based on the roulette-wheel method and the stop criterion was formulated as a maximum number of generations. In this form, the GA allowed the authors to treat unconstrained optimisation problems. Later on, due to the introduction of additional design criteria in the study of laminates elastic symmetries, the authors developed an original technique for handling constraints based on the combination between classical penalisation methods and the exploitation of the information retained within the population. Originally this strategy, whose authors called Automatic Dynamic Penalisation (ADP) technique [1], was conceived in order to handle both inequality and equality constraints as an equivalent single inequality con straint. A detailed description of the architecture of BIANCA in its first version can be found in [1, 2]. In engineering optimisation problems, the objects of the optimisation process can be often considered as modular systems. This is the case, for example, of composite laminated structures, which are an assembly of anisotropic layers: each ply can be considered as a module, and the whole structure is described in terms of number of constitutive modules as well as the properties (orientation angles, thickness and material) of each module. Other examples of modular structures are stiﬀened panels, often used in structural systems (e.g. in aeronautical applications): these structures are composed of plates stiﬀened by a set of longitudinal beams (stiﬀeners). Again, the global structure is characterised by the number of constitutive stiﬀeners along with the geometrical and material properties of each stiﬀener and the plate.

The optimisation of modular systems is the main topic of the present thesis. Neverthe-less, as described below, when dealing with such problems some diﬃculties arise. In order to overcome these issues we searched for a solution inspired by a more rigorous and (at the same time) deeper interpretation of the Darwinism and of the Natural Selection. To this purpose, we took advantage of the intrinsic capabilities of “algorithmic adaptation” of GAs: basically, a richer and well-structured encoding of the genetic information repre-sents the necessary preamble for building an improved GA able to deal with optimisation problems concerning modular systems.

The optimisation of engineering modular systems/structures is a diﬃcult task because it implies the optimisation of each constitutive module composing the system, as well as the optimisation of the number of constitutive modules. More precisely, all modules share a “common structure” in terms of the “constitutive parameters” characterising each module, such as geometrical dimensions, material properties and so on. However, and this is very important, the constitutive parameters of modules can assume diﬀerent values for each module composing the system. Moreover, the number of constitutive modules is an integer value, i.e. a discrete variable, and the design space of such optimisation problems is therefore populated by points representing engineering systems/structures made of diﬀerent numbers of modules. As a consequence, the number of constitutive parameters (variables of the optimisation problem) can be diﬀerent for distinct points, thus the associated mathematical optimisation problem is defined over a design space of vectors of variable dimension.

**Representation of individuals and species within BIANCA**

In GAs, a crucial phase consists in the encoding step which translates the design variables from the phenotypic space to the genotypic one resulting, for example, in a binary, real or hexadecimal chromosome. The length of the chromosome, i.e. the number of genes, represents in the genotype space the amount of the information, restrained in the indi-vidual’s genotype, coding a particular quantity in the corresponding phenotype space. In standard GAs, for individuals having a single-chromosome genotype, the chromosome length Lchrom can be expressed as: ∑ nvar xiU B − xiLB chrom i=1 ( Δxi ) L = ⌈ ln /ln d EB ⌉ , (1.35).

where nvar is the number of decision variables, xi and Δxi are the ith decision (or design) variable and its resolution level, respectively, whilst dEB is the dimensionality of the encoding base. xiLB and xiU B are the lower and upper bounds for the ith decision variable.

Traditionally in GAs the chromosome length is fixed a-priori by the total number of variables along with their resolutions and cannot change during the whole genetic process. As described in other existing works on this subject (see for example [29, 30]) the traditional approach has, substantially, two drawbacks:

• the best achievable fitness is inherently limited by the chromosome length and hence by the total number of variables. Therefore, the genetic asymptote, which is typical of the genetic process, is a direct consequence of the constraints of the problem as well as the number of design variables and their level of resolution.

• we do not know a priori how many decision variables are required, and consequently how long the chromosome should be, for a given problem, in order to obtain a real global optimum.

In these last years, diﬀerent research studies have been developed in the field of im-proved GAs which take into account for the variable chromosome length. Among them, Kim and Weck [30] developed a GA that can change the chromosome length using a ”pro-gressive refinement” technique. They assumed that significant fitness improvements can be obtained by gradually increasing the chromosome length. They achieved the increase in the chromosome length mainly in two way: either by increasing the resolution level of the existing design variables or by adding new design variables during the process. In every case these operations were realised by a particular mutation operator acting on the chromosome structure: the concept consists in seeding the design space of finer resolu-tion with mutated best designs from the domain of coarser resolution. They applied their strategy to two structural topology optimisation problems: a short cantilever and a bridge problems. Despite Kim and Weck developed an eﬀective GA technique in their context, they did not develop genetic operators which perform the classical reproduction phase, i.e. crossover and mutation operations, among individuals having diﬀerent chromosome lengths. The variation of the number of variables is obtained through a mutation process which is linked to the concept “from coarse to fine” that is doubtless very eﬀective when dealing with topology optimisation problems, but could appear not very eﬀective for other types of problems.

Ryoo and Hajela [29] developed a GA for topology optimisation that also handles variable chromosome lengths. This GA allows only crossover between chromosomes of diﬀerent lengths. Even though they implemented an inter-species crossover operator, they did not obtain an eﬀective evolution of the species along the generations. In other words, the number of chromosomes with diﬀerent length remains the same from the beginning until the end of the process, i.e. from the initial population until the final one.

Park et al. [53] developed an improved GA able to cross chromosomes with diﬀerent lengths. Within their GA the individual is characterised by a single chromosome: at each generation the change in the length of the chromosome was realised by means of a special mutation operator acting directly on the number of genes composing the chromosome. Their strategy was applied to the weight minimization of laminated plates manufactured by the Resin Transfer Moulding (RTM) process, considering the technological require-ments as constraints of the optimisation problem.

In the following subsections, we show the new structure of the individuals in BIANCA, which can also take into account for individuals belonging to diﬀerent species.

**The new structure of the individual’s genotype**

Unlike what is done in the most part of GAs presented in literature, that have a mono-chromosome algebraic structure, in BIANCA the information is organized in a genome composed of chromosomes which in turn are made of genes and, finally, each gene is a binary representation of a design variable. As an example, when the object of the optimisation problem is a modular system, each constitutive module is represented by a chromosome, while each gene (composing a chromosome) codes a design variable related to the specific module.

In agreement with the paradigms of natural sciences, individuals characterised by dif-ferent number of chromosomes belong to diﬀerent species. BIANCA has been conceived for crossing also diﬀerent species, and it is able to make in parallel (and without distinction) the optimisation of the species and individuals. In particular, the typical reproduction operators of crossover and mutation have been specially conceived for crossing species and individuals during the same iterations. Such operators are detailed in Sec. 1.5.

Considering what said above, from a practical point of view in BIANCA an individual is represented by an array of dimensions nchrom × ngene. The number of rows, nchrom, is the number of chromosomes, while the number of columns, ngene, is the number of genes. Basically, each design variable is coded in the form of a gene, and its meaning is linked both to the position and to the value of the gene within the chromosome. In principle, there are no limits on the number of genes and chromosomes for an individual. A number Nind of individuals compose a population, and in BIANCA it is possible to work, at the same time, with several populations whose number, Npop, can be defined by the user.

In order to include the number of chromosomes (i.e. of modules, and hence of design variables) among the design variables, and then to allow the reproduction among indi-viduals belonging to diﬀerent species, some modifications of the individual genotype were necessary. The genotype of each individual in BIANCA is represented by a binary array, shown in Fig. 1.5. In this picture, the quantity (gij )k represents the jth gene of the ith chromosome of the kth individual. Letter e stands for empty location, i.e. there is no gene in this location while nk is the kth individual chromosomes number. Each individual can have a diﬀerent number of chromosomes, i.e. it can belong to a diﬀerent species.

**Encoding/decoding of the optimisation variables**

In BIANCA, the representation of the definition range of each design variable is realised using the pointers, which represent integer quantities. It exists a one-to-one relationship between variables and pointers. This relationship is immediate in the case of discrete or grouped variables, in fact if the domain of definition have a finite dimension N , it is possible to enumerate all admissible values vi, (i = 1, …, N ) and build a link between each value vi and the corresponding index i, i.e. the pointer of that value. When the design space is unbounded, we need to restrict it, defining lower and upper bounds to the space of admissible values for vi, i.e. vmin and vmax, respectively. In the case of continuous variables, the first step is the discretisation of the definition domain by choosing a given precision p, and then it is possible to apply the same representation (i.e. through pointers) as for the case of discrete and grouped variables, see Fig.1.7.

In BIANCA pointers constitute the phenotype that is the physical expression of the individual’s genotype, more precisely the single pointer is coded by a gene, and all the genetic operators are directly applied on the genes representing the variables. Therefore, we have two encoding/decoding steps: firstly, a encoding/decoding step is necessary to translate the binary value of the gene into the corresponding value of the pointer, and vice-versa, then the second step take place to translate the value of the pointer into the corresponding value of the design variable. More details can be found in [1, 2].

### Evolution of individuals and species in BIANCA: new operators of crossover and mutation

In this Section, we present the new genetic operators introduced in BIANCA, for crossover and mutation on species. Some of these operators are inspired by the work of Park et al [53] and could be considered as a generalisation of those presented in [53]. These operators have, however, some original features because we intended to preserve, in this new version of the algorithm, a deep genetic recombination strategy, which proved to be eﬀective in the previous version of the code. In standard GAs, the classical reproduction phase takes place by means of crossover and mutation operators, which act on the genotype of the individuals.

In particular, in BIANCA crossover and mutation operate on a pair of homologous genes, with a given probability, pcross and pmut respectively, whose values are fixed by the user. Crossover and mutation are performed by means of Boolean operators, based on the computer-embedded binary representation of numbers. In this way, any decod-ing/encoding process, from binary to integer representation and vice-versa, is no longer needed and the genetic operations of crossover and mutation are much faster. The reader is addressed to [1] for more details on these aspects. As previously said, with the introduction of the concept of reproduction between dif-ferent species, new genetic operators are required in executing the reproduction phase. We remind that the number of design variables determines the number of chromosomes, i.e. the biological species. So, if the number of variables has to be included among the optimisation variables, and has to evolve during generations, a reproduction among the species has to be performed. In particular, the classical reproduction phase has been changed introducing new genetic operators called Chromosome Shift operator, Chromo-some Reorder, Chromosome Number Mutation and Chromosome Addition-Deletion.

#### The new crossover phase and the role of Chromosomes Shift and Reorder Operators

To explain the way whereby the reproduction phase takes place one can consider the following case. There are two parents, P 1 and P 2, with 3 and 5 chromosomes respectively, see Fig. 1.8 (a). In this example the maximum number of chromosomes is assumed equal to 6, while the minimum number can be chosen arbitrarily between 1 and 6: therefore in Fig. 1.8 (a), parent P 1 shows 3 empty locations, while parent P 2 only one. Moreover, there are two diﬀerent variables for each individual, i.e. each chromosome has two diﬀerent genes α and β. Before realizing the crossover on these two individuals, it can be noticed that there are diﬀerent ways to pass the information restrained in the parents’ genotype to the next generation, i.e. to their children. Here, at the next generation, two new individuals will be produced from this couple, one with 3 chromosomes and another one with 5 chromosomes. To improve the eﬃciency of the GA in terms of exploration and exploitation of the informations on the design space, the concept of shift factor is introduced. The shift factor (which is an integer number) is randomly sorted, with a given probability pshif t, in the range [0, |nP 1 − nP 2|], where |nP 1 − n P 2| is the absolute value of the diﬀerence of the parents’ chromosomes number. Using the shift factor, various combinations of crossover are possible and the shift operator acts on the individual with the smaller number of chromosomes. In the example mentioned before, the minimum shift factor is 0 and the maximum is 2. For example, if the sorted value of the shift factor is 1, all the genes of P 1, which has the smaller number of chromosomes, are shifted by a quantity equal to 1 up-to-down as shown in Fig. 1.8 (b).

After the shift operation, the crossover phase takes place. The crossover operator acts separately and independently on every single gene. The position of crossover is randomly chosen for each gene of both individuals. Naturally this operator involves all the chromosomes of the parent with the smaller number of them, i.e. in the case shown in Fig. 1.8 (c) all the genes of P 1, while only the homologous genes of P 2 undergo the action of crossover operator. At this point two new individuals are created, C1 and C2 that have 3 and 5 chromosomes respectively, see Fig. 1.8 (d). It can be noticed that the 1st and 5th chromosome of P 2 have not undergone the crossover phase, so according to the notation of Fig. 1.8 (c) and (d) it is possible to write the following equalities, (α1)P 2 = (α1)C2,(α5)P 2 = (α5)C2 and (β1)P 2 = (β1)C2, (β5)P 2 = (β5)C2.

Before the mutation phase a readjustment of the chromosomes position is required. The chromosome reorder operator achieves this phase by a translation of all chromosomes down-to-up in the structure of the individual with the smaller number of them, see Fig. 1.8 (e).

**Table of contents :**

**1 On the use of genetic algorithms in engineering applications **

1.1 Introduction

1.1.1 Literature overview

1.1.2 Genetic Algorithms (GAs): a brief description

1.1.3 The standard GA

1.1.4 The schemata within GAs

1.2 Genetic Algorithms: mathematical foundations

1.2.1 Effect of the selection operator on schemata

1.2.2 Effect of the crossover operator on schemata

1.2.3 Effect of the mutation operator on schemata

1.2.4 The theorem of schemata and the Implicit Parallelism

1.2.5 Advantages and drawbacks of GAs

1.3 The genetic code BIANCA

1.3.1 The Non-Linear Programming Problem (NLPP)

1.3.2 The architecture of BIANCA

1.4 Representation of individuals and species within BIANCA

1.4.1 The new structure of the individual’s genotype

1.4.2 Encoding/decoding of the optimisation variables

1.5 Evolution of individuals and species in BIANCA

1.5.1 The new crossover phase

1.5.2 The new mutation phase

1.6 Handling constraints in BIANCA

1.6.1 Literature overview on constraints-handling techniques

1.6.2 The Automatic Dynamic Penalisation (ADP) strategy

1.7 Some benchmark problems to test the ADP strategy

1.7.1 The welded beam problem

1.7.2 The pressure vessel problem

1.7.3 The tension-compression spring problem

1.7.4 Discussion of results

1.8 The interface of BIANCA with external software

1.9 The Graphical User Interface (GUI) of BIANCA

**2 Identification of constitutive properties of piezoelectric structures **

2.1 Introduction

2.1.1 Literature overview

2.2 Constitutive law for piezoelectric materials

2.2.1 Piezoelectric materials

2.2.2 General constitutive equations

2.3 Identification of electromechanical properties

2.3.1 Problem description

2.3.2 Mathematical statement of the problem and solving strategy

2.3.3 Finite element model of the active plate

2.4 Numerical results

2.4.1 Phase I: closed-circuit conditions

2.4.2 Phase II: open circuit conditions

2.4.3 Effect of the noise on the identified properties

2.5 Concluding remarks

**3 Optimal design of elastic properties of laminates **

3.1 Introduction

3.2 Polar representation of the plane anisotropy

3.2.1 Polar representation of second-order tensors

3.2.2 Polar representation of fourth-order tensors

3.2.3 Thermodynamic existence conditions

3.3 The polar formalism for the mechanics of laminates

3.3.1 The Classical Laminated Plate Theory (CLPT)

3.3.2 Polar expression of the laminate tensors

3.3.3 Existence and geometric bounds on laminate polar parameters

3.4 Design of elastic properties of laminates

3.4.1 Mathematical statement of the problem and numerical strategy

3.5 Studied cases

3.5.1 Sample problems

3.5.2 Numerical results

3.6 Concluding remarks

**4 Optimal design of composite modular systems **

4.1 Introduction

4.2 Description of the problem: application to the design of an aircraft wing .

4.3 The two-level optimisation strategy

4.4 Mathematical formulation of the first-level problem

4.4.1 Geometrical design variables

4.4.2 Mechanical design variables

4.4.3 Mathematical statement of the problem

4.5 Mathematical formulation of the second-level problem

4.6 Finite element model of the structure

4.7 Studied cases and results

4.7.1 Case 1: identical stiffeners

4.7.2 Case 2: non-identical stiffeners

4.7.3 Case 3: non-identical stiffeners, symmetric distribution

4.7.4 Verification of the optimal stacking sequences

4.7.5 Some remarks on the type of laminate stacking sequence

4.8 Concluding remarks

**5 Optimal design of hybrid elastomer/composite laminates **

5.1 Introduction

5.2 Description of the problem

5.2.1 Geometry and materials

5.2.2 Loading conditions

5.2.3 Finite element model of the hybrid plate

5.3 Mathematical formulation of the problem

5.3.1 Mathematical statement of the problem and solving strategy .

5.4 Studied cases and results

5.4.1 Case 1: fixed number of plies

5.4.2 Case 2: variable number of plies, symmetric stack

5.4.3 Case 3: variable number of plies, non-symmetric stack

5.4.4 Discussion of results

5.5 Concluding remarks

**6 Optimal design of hybrid elastomer/composite modular systems **

6.1 Introduction

6.2 Design of hybrid elastomer/composite structures

6.2.1 Description of the problem

6.2.2 The two-level optimisation strategy

6.3 Mathematical formulation of the first-level problem

6.3.1 Geometrical design variables

6.3.2 Mechanical design variables

6.3.3 Mathematical statement of the problem

6.4 Mathematical formulation of the second-level problem

6.5 Finite element model of the hybrid structure

6.6 Studied cases and results

6.6.1 Case 1: clamped quasi-homogeneous orthotropic plate

6.6.2 Case 2: simply supported quasi-homogeneous orthotropic plate

6.6.3 Case 3: general case

6.6.4 Discussion of results

6.7 Concluding remarks

**Bibliography **