V OPTIMIZATION PROBLEM FORMULATION AND SOLUTION TECHNIQUES 5.1 Introduction There are many cases in practical applications where the variables of optimization are not continuous. Some or all of the variables must be selected from a list of integer or discrete values. For example, structural members may have to be designed using sections available in standard sizes; member–cross–sectional dimensions may have to be selected from the commercially available ones. Therefore, considerable interest was shown for discrete variable engineering optimization problems since the late 1960s and early 1970s. However, at that time even optimization methods for simpler continuous nonlinear programming (NLP) problems were still in the process of development. In the 1970s and 80s, a major effort was put into development and evaluation of such algorithms. Although research in this area continues to develop better methods, especially for large scale problems, several reliable algorithms are now available for NLP problems, including sequential quadratic programming (SQP) and augmented Lagrangian methods. In recent years, the focus has shifted back to Optimization Problem Formulation and Solution Techniques 129 applications to practical problems that naturally use discrete or mixed discrete continuous variables in their formulation. Among the methods for discrete variable nonlinear optimization problems, the following techniques have been most commonly discussed: branch and bounds (BBM), zero–one variable techniques, rounding–off techniques. Penalty function approach, sequential linear programming (SLP) and random search techniques have also been applied to discrete optimization problems. The purpose of this chapter is to define the basic formulation of the design optimization problem, and survey the most relevant techniques to structural design optimization. The basic simple genetic algorithm is also described in detail. 5.2 Minimum weight via optimization techniques It is not just in civil engineering that the search for minimum weight is the main goal, quantity of material is an important factor in most design fields. Everyone naturally tries to achieve as much as possible using as little as possible. The ability of engineers to produce better designs has been severely limited by the techniques available for design optimization. Typically, much of the development effort has focused on simulation programs to evaluate design parameters. Now the question arises why minimum weight design for steel frameworks built for domestic and residential activities. This question will be answered in the next section. 5.3 Why minimum weight design for steel structures? 5.3.1 Client brief Clients specify their requirements through a brief. It is essential for effective design to understand the intentions of the client: the brief is the way in which the client expresses and communicates these intentions. As far as the designer is concerned, the factors Optimization Problem Formulation and Solution Techniques 130 which are most important are intended use, budget cost limits, time to completion and quality. Once these are understood, a realistic basis for producing the design will be established. 5.3.2 Cost considerations The time taken to realise a steel building from concept to completion is generally less than that for a reinforced concrete alternative (Owens et al.,1992). This reduces time– related building costs, enables the building to be used earlier and produces an earlier return on the capital invested. To gain full benefit from the manufacturer and particularly the advantages of speed of construction, accuracy and lightness, the cladding and finishes of the building must have similar attributes. In addition, because a steel framework is made up of prefabricated components produced in a factory, repetition of dimensions, shapes and details will streamline the manufacturing process and are major factors in economic design. The cost of steel frameworks is governed to a great extent by the degree of simplicity and repetition embodied in the framework components and connections. Typical cost breakdown is investigated by many authors, e.g. Owens et al. (1992). This can be summarised in three major stages as follows: 1. Fabrication: this includes piling foundation, steel framework, brickwork, external and internal cladding, sunscreens, etc. This stage may cost about 52% of the total cost. 2. Finishes: this involves ceilings and floors, etc. This stage is calculated as 20% of the total cost of the building. 3. Services: this entails electric facilities, lifts plumbing and sprinklers, etc. It is estimated as 28 % of the total cost. Optimization Problem Formulation and Solution Techniques 131 The designer of a steel framework should aim to achieve minimum overall cost. This is a balance between the capital cost of the framework and the improved revenue from early occupation of the building through fast design, fabrication and erection. For a domestic and residential building, the cost of welding and connections becomes the same for different designs presupposing the method of design. Now the question arises what the structural designer could do to provide the client with an economic design presupposing the intend use of the building as a domestic and residential activities. Assuming the location of the building is fixed, the cost of foundation piling can be determined depending of the structural system and the bearing capacity of the soil. In addition, the cost of finishes and services depends on the intended use of the building and this can be easily determined. From this discussion, it becomes clear that for a domestic and residential construction, the minimum weight of construction becomes a major task for a structural designer. From this point of view, many researches, among them Grierson and Pak (1993), Adeli and Kumar (1995), Huang and Arora (1997), Jenkins (1997), Saka (1998) and Camp et al. (1998), have investigated methods seeking minimum weight design and considering different constraints. The formulation of the optimization will be addressed and the concept of genetic algorithms in structural optimization will be discussed. 5.4 Optimization problem formulation The constrained optimization problem, which is more practical optimization problem, has been formulated in terms of some parameters and restrictions. The parameters chosen to describe the design of a structure are known as design variables while the Optimization Problem Formulation and Solution Techniques 132 restrictions are known as constraint conditions. Mathematicians formulated the optimization problem in a standard mathematical function formula F(x) as described in the following sections. 5.4.1 Design variables Implicitly, the notion of optimizing a structure presupposed some flexibility to change the design elements. The potential in changing expressed in terms of ranges of permissible changes of certain design variables denoted by a vector x = {x1 , x2 ,…, xn}. The design variables in the structural optimization problem might be the cross–sectional area, the node position, the second moment of inertia, etc. In other words, they are the parameters that control the geometry of the optimized structure. The design variable can take either continuous or discrete variables. A continuous variable is one that takes any value in the range of the variation in its region. A discrete variable is one that takes only isolated values, typically from a list of permissible values or a catalogue. Therefore, these design variables can be expressed as x = ( x1T , x T2 , x Tj ,Λ x TJ ) , j = 1, 2, Λ J xi , j ∈ D j and Dj = (d j, 1 ,d (5.1) j, 2 ,..., d j, λ ). The vector of design variables x is divided into J sub–vectors x J . The components of these sub–vectors xi , j take values from a corresponding catalogue D , i j indicates the number of design variables in each sub–vector and λ is the number of sections in each catalogue. Optimization Problem Formulation and Solution Techniques 133 In structural steelwork design problem, the material design variables and sectional properties from catalogue are often discrete. In the present study, the standard sections of universal beams, universal columns and circular hollow sections suggested by the BS 4 and BS 4848 are used. Although the discrete variable problem appears to be easier to solve than the continuous one (since fewer possible solutions exist), in general, it is more difficult to solve except in some trivial cases. This is due to the fact that the discrete design space is disjoint and non–convex (Arora et al., 1994). 5.4.2 Objective function The notation of optimization also implies that there are some merit function or functions that can be improved and can also be used as a measure of effectiveness of the design. The objective function, merit function, and cost function are names of the function F(x) being optimized and this function measures the effectiveness of the design. This function might be a formulation of a single objective f1(x) or multiple objectives as follows: F(x) = {f1(x), f2(x),…, fp(x)}. (5.2) Optimization with more than one objective is generally referred to as multicriteria optimization. For structural optimization problems, weight, displacements, stresses, buckling loads, vibration frequency and cost or any combination of these can be used as objective function. The multicriteria function has different ways commonly used for reducing the number of functions to one. The first way is simply to generate a composite objective function that replaces all the objectives. The second way, most common in the formulation of design optimization problems, is to select the most important objective Optimization Problem Formulation and Solution Techniques 134 function, for instance the total weight of the structure, and to consider this function to be the goal of the optimization task. Then, imposed limits, like stresses in each member, nodal displacements and critical buckling load, etc, are prescribed. The third way is Pareto optimization in which a range of potential products designs is created to meet conflecting objectives, thus allowing the requirements to be refined in the light of further information (see Brandt, 1992). 5.4.3 Constraints The limits, which take values for the design variables, are known as side constraints. The side constraints are divided into two types. The first type, commonly used in the design problem, is an inequality constraint: Gs ( x) ≤ 1 , s =1, 2, Λ , s s ~ Gs ( x) (5.3) ~ where G s ( x ) and G s ( x ) are the calculated and limited values of constraints and s s is the number of inequality constraint functions. In the design optimization problem, not all constraints are functions of one term but they are functions of several terms. This can be expressed by G s,1 ( x ) G s, 2 ( x ) G s, ss ( x ) + ~ + ... + ~ ≤1 ~ G s,1 ( x ) G s, 2 ( x ) G s, ss ( x ) (5.4) where ss is the number of terms in the constraint function. 5.4.4 Standard formulation From the above sections, the final formulation of the optimization problem can be mathematically represented by Optimization Problem Formulation and Solution Techniques Minimize 135 F(x) G ( x) subjected to: ~ s ≤ 1 , s =1, 2, Λ , s s Gs ( x) x = ( x1T , x T2 , x Tj , Λ x TJ ) , j = 1, 2, Λ J (5.5) xi , j ∈ D j and Dj = (d j, 1 ,d j, 2 ,...d j, λ ). The feasible solution of a nonlinear problem can be graphically represented. For example, a nonlinear function F(x) of two design variables x1 and x2 with three nonlinear constraints G1(x), G2(x),and G3(x) can depicted as shown in Figure 5.1. G1(x) x1 G2(x) F(x) G3(x) x2 Figure 5.1. Feasible region in nonlinear problem 5.5 Features of a design optimization problem It is important to highlight some of the features of the discrete nonlinear problem (5.5). First, any of the inequality constraints may not be active at the optimum point because the constraint surface may not pass through any of the discrete points, i.e. in numerical calculations only a point closest to the constraint boundary may be found. Second, there is no simple criterion such as Kuhn-Tucker condition to terminate the iterative search Optimization Problem Formulation and Solution Techniques 136 process. Thus, local optimality of the solution point can not be assured unless an exhaustive search is performed. Third, the size of discreteness and nature of the discrete values may govern the behaviour of some of the numerical algorithms as well as the final solution of the problem. Fourth, the design problem is highly non–linear problem due to the nature of design variables and the relationships between the constraint functions and design variables. Fifth, constraints have different formulation for different members of the structure. For example, a structure has beams, columns, and a bracing system. The constraints that control the design of beams are different from those of bracing systems or columns. Moreover, the set of catalogue sections for beams are different from those of bracing systems or columns. Sixth, the computational effort needed to reach satisfactory results increases with the complexity of the treated design problem. Therefore, it is important to review optimization techniques that deal with discrete design variables. This is summarised in the following section. 5.6 Review of discrete optimization techniques A review of the methods for discrete variable optimization was recently presented by Bremicker et al. (1990), Vanderplaats and Thanedar (1991) and Arora et al. (1994). Several algorithms for discrete optimization problems were developed, among them branch and bound method, penalty function approach, rounding–off, cutting plane, simulated annealing, genetic algorithms, neural networks, and Lagrangian relaxation methods. It is observed that some of the methods for discrete variable optimization use the structure of the problem to speed up the search for the discrete solution. This class of methods is not suitable for implementation into a general purpose application (Arora et al., 1994). The branch and bound method, simulated annealing, and genetic algorithm Optimization Problem Formulation and Solution Techniques 137 are the most used methods. Herein, the literature review will be focused on these methods in the following sections. 5.6.1 Branch and bound method The branch and bound method BBM is perhaps the most widely known–method for mixed–discrete optimization problems. The method was originally developed for LP, however it is quite general and can be applied to nonlinear discrete and mixed variable problems. It is basically an enumeration method where one first obtains a minimum point for the problem assuming all variables to be continuous. Then, each variable is assigned a discrete value in sequence and the problem is solved again in the remaining variables. The process of assigning discrete values to variables need not start from a continuous optimum point although this approach may reduce the number of times the problem needs to be re–solved to obtain a feasible discrete point and subsequently the optimum solution. It can be seen that the number of times the problem needs to be re– solved increases exponentially with the number of variables. Several procedures have been devised to reduce this number. The first use of the branch and bound method is attributed to Land and Doig (1960) for linear problem. Other attempts, to use BBM to solve integer LP problems related to the plastic design of frames, made by Reinschmidt (1971). BBM was combined with exterior penalty functions and SQP methods to treat the mixed–discrete NLP problem. John et al. (1988) combine BBM with sequential linearization for discrete optimal design of trusses. Hajela and Shih (1990) used BBM to solve multi–objective optimization problems with discrete and integer variables. Salajegheh and Vanderplaats (1993) used BBM for optimizing trusses with discrete sizing and shape variables. Large storage space was needed and an exponential growth Optimization Problem Formulation and Solution Techniques 138 in computational effort limits the applicability of BBM to solve higher dimensional problems. The usual BBM approach is to systematically search continuous solutions where the discrete variables are forced to take discrete values from the specified set. The logical structure for the set of solutions is that of a tree for each variable. Initially an optimum point is obtained by treating all design variables as continuous. If this solution is discrete, then the process is terminated. If one of the desired variables is not discrete, then its value lies between two discrete values: d j , λ < xi , j < d j , λ+1 . Now two sub–problems are defined, one with the constraint x i , other with x i , j (5.6) j ≤ d j , λ and the ≤ d j , λ+1 . This process called branching. It basically eliminates some portion of the continuous feasible region, which is not feasible for the discrete problem. It does not, however, eliminate any of the discrete feasible solutions. The two sub– problems are solved again, and the optimum solutions are stored as nodes of the tree containing optimum values of the variables, the objective function and the appropriate bounds on the variables. This process of branching and solving continuous problems is continued until a feasible solution is obtained. The cost function corresponding to this solution becomes an upper bound on the optimum solution. From this point, all the nodes of the tree that have cost function values higher than the established upper bound are eliminated from further consideration. Such nodes, known as fathomed nodes, when their lowest point is reached and no further branching is necessary from them. This process is known as bounding. The process of branching and bounding is repeated from each of the unfathomed nodes. From each node, at most two new nodes may originate. A better upper bound for the optimum objective function is established when a feasible Optimization Problem Formulation and Solution Techniques 139 discrete solution is obtained with a value of objective function less than the current upper bound. The nodes may be fathomed in any of the following three ways: (1) a feasible discrete solution to the continuous solution with the cost function value higher than the current upper bound, (2) an infeasible continuous problem and (3) the optimal value of the objective function for the continuous problem higher than the upper bound. The search is terminated when all the nodes have fathomed. This method has been used successfully, however, for problems with a large number of discrete design variables, the number of sub–problem nodes becomes large making the method inefficient (Arora et al., 1994). This drawback is oppressive for nonlinear optimization problems. Further detailed strategies and enhancements developed can be found for the BB in Mesquita and Kamat (1987), Ringertz (1988), Sandgren (1990) and Haftka and Gurdal (1993). 5.6.2 Simulated annealing Simulated annealing (SA) is one of the techniques, which do not require derivatives of the problem functions because it does not use any gradient or Hessian information. The idea of SA originated in statistical mechanics by Metropolis et al. (1953). The approach is suited to solving combinatorial optimization problems, such as discrete–integer programming problems. The use of simulated annealing for structural optimization is a quite recent occurrence. Elperin (1988) applied the SA to design a ten–bar truss where member cross–sectional area were to be selected from a set of discrete values. Kincaid and Padula (1990) used SA for minimizing the distortion and internal forces in a truss structure. Balling (1991) obtained the optimum design of three–dimensional steel structures using SA. One year later, the same framework was studied using the filtered Optimization Problem Formulation and Solution Techniques 140 simulated annealing algorithm by May and Balling (1992). Recently, Leite and Topping (1996) proposed a parallel simulated annealing model for structural optimization. 5.6.3 Genetic algorithms 5.6.3.1 Background The famous naturalist Charles Darwin defined natural selection or survival of the fittest in his book (Darwin, 1929) as the preservation of favourable individual differences and variations, and the destruction of those that are injurious. In nature, individuals have to adapt to their environment in order to survive in a process called evolution, in which those features that make an individual more suitable to compete are preserved when it reproduces, and those features that make it weaker are eliminated. Such features are controlled by units called genes, which form sets known as chromosomes. Over subsequent generations not only the fittest individuals survive, but also their genes which are transmitted to their descendants during the sexual recombination process, which is called crossover. In the late 60s, John H. Holland became interested in the application of natural selection to machine learning. He developed a technique known as reproductive plans that allowed computer programs to mimic the process of evolution. This technique became popular after the publication of his book (1975). He renamed this technique using the term genetic algorithm (GA). The main goals of the research of Holland and his students were • to abstract and rigorously explain the adaptive processes of natural systems. • to design artificial systems software that retained the important mechanisms of natural systems. Optimization Problem Formulation and Solution Techniques 141 Basically, the central thrust of the research on genetic algorithms (GAs) has been due to its robustness and the balance between efficiency and efficacy necessary for survival in many different environments. GAs are search algorithms, which are based on the mechanics of natural selection and survival of the fittest, and unlike many mathematical programming algorithms they do not require the evaluation of gradients of the objective function and constraints. Koza (1992) provides the following definition of a GA: The genetic algorithm is a highly parallel mathematical algorithm that transforms a set (population of individual mathematical objectives typically fixed–length character strings patterned after chromosome strings), each with an associated fitness value, into a new population (i.e., the next generation) using operations patterned after the Darwinian principle of reproduction and survival of the fittest and after naturally occurring genetic operations (notably sexual recombination). The GA–based techniques accept discrete and/or continuous design variables and therefore are very versatile. GAs are different from most optimization techniques in many ways: • GAs work on a coding of the design variables–binary bit string representation is one of such coding, rather than the design variables themselves. This characteristic allows the genetic algorithms to be extended to a design space consisting of a mix of continuous, discrete and integer variables, • GAs proceed from several points in the design space to another set of design points. Consequently, GA techniques have a better chance of locating the global minima as opposed to these schemes that proceed from one point to another, Optimization Problem Formulation and Solution Techniques • 142 GAs work on the function evaluations alone and do not require any of the function derivatives. Although derivative based techniques contribute to faster convergence toward the optimum, the derivative also directs the search process towards a local optimum, and • GAs use probabilistic transition rules, which is an important advantage in guiding a highly exploitative search. To this extent, GAs should not be considered as a variant of the random walk approach. The general features of the theory of the GA are widely accepted and applied, which result in good solutions for different types of problems in different disciplines. The following is a description of the features of natural evolution as observed by Holland (1975). 1. Evolution is a process that operates on chromosomes rather than on the living beings they encode. 2. Natural selection is the link between chromosomes and the performance of their decoded structures. Processes of natural selection cause those chromosomes that encode a successful structure to reproduce more often than those do not. 3. The process of reproduction is the point at which evolution takes place. Mutations may cause the chromosomes of biological children to be different from those of their biological parents and recombination processes may create quite different chromosomes in the children by combining material from the chromosomes of two parents. 4. Biological evolution has no memory. Whatever it knows about producing individuals who will function well in their environment is contained in the gene pool, the set of chromosomes carried by the current individuals, and in the structure of the chromosome decoders. Optimization Problem Formulation and Solution Techniques 5.6.3.2 143 Survival of the fittest GAs are implicit enumeration procedures. A set of randomly created design alternatives or individuals representing a population in a given generation are allowed to reproduce and cross among themselves, with bias allocated to the most fit individuals. A combination of the most desirable characteristics of mating members of the population results in progenies that are more fit than their parents. Therefore, if a measure which indicates the fitness of a generation is also the desired goal of a design process, successive generations produce better values of the objective function. 5.6.3.3 Encoding the design variables The technique for encoding solutions may vary from problem to problem and from genetic algorithm to genetic algorithm. In Holland’s work (Holland, 1975), encoding is carried out using bit strings, 0 and 1. A major task is the encoding of different design sets into chromosomes so that the GA can use them. In structural design optimization, section properties of one member form a design variable. The member section is then represented by a bit string. Each bit–string is then merged to form chromosomes, which represent a design set. In the present study, the possible cross–sections of each design variable are presented in binary strings. The bit– string is associated with a position in the table and its corresponding sectional properties. To make things clearer, assume a single–bay single–storey framework shown in Figure 5.2. This frame has two design variables x1 and x2, which represent the columns and the beam girder respectively. The variable x1 takes a position out of 32 UCs from BS 4 while x2 takes a position out of 64 UBs. Optimization Problem Formulation and Solution Techniques 144 x2 x1 x1 Figure 5.2. Single–bay single–storey framework The bit–string of each design variable implies a position in the corresponding table and thus the properties of this section can be selected. The cross section, selected from the catalogue, can be represented in the binary code according to the number of the available cross sections. The string length of each design variable λnv should be evaluated by λ nv = 2n . (5.7) For instance, there are 64 types of UBs, so the number of bits required to distinguish the range is 6. A part of the encoded variables for UBs are listed in Table 5.1. Similar encodings for the utilised UCs and CHS can be drawn. Hence, for the given framework shown Figure 5.2, the chromosomes given in Figure 5.3 represent an individual in the population. This can be read as a design in which the design variable x1 takes the position of number 8 in the table of UCs while x2 takes the position of number 6 in the table of UBs. 0 0 1 x1 1 1 0 0 0 1 0 1 x2 Figure 5.3. Chromosomes of a design set using binary representation Optimization Problem Formulation and Solution Techniques 145 Table 5.1. Part of the encoded variables for UBs Catalogue position Encode variable Cross section Area (cm2) 1 000000 914 × 419 × 388 UB 494 719000 45400 2 000001 914 × 419 × 343 UB 437 625000 39200 3 000010 914 × 305 × 289 UB 369 505000 15600 4 000011 914 × 305 × 253 UB 323 437000 13300 5 000100 914 × 305 × 224 UB 285 376000 11200 6 000101 914 × 305 × 201 UB 256 326000 9430 7 000110 838 × 292 × 226 UB 289 340000 11400 8 000111 838 × 292 × 194 UB 247 279000 9070 9 001000 838 × 292 × 176 UB 224 246000 7790 10 001001 762 × 267 × 197 UB 251 240000 8170 11 001010 762 × 267 × 173 UB 220 205000 6850 12 001011 762 × 267 × 147 UB 188 169000 5470 13 001100 686 × 254 × 170 UB 217 170000 6620 14 001101 686 × 254 × 152 UB 194 150000 5780 The rest of cross sectional properties from the catalogue Second moment of area (cm4) about about major axis minor axis Different ways of encoding the variables were implemented. For example, Goldberg (1990) presented a theory of convergence for real–coded (floating–point) GAs, and also real numbers and other alphabets have been proposed by Wright (1991). The term “floating” may seem misleading since the position of the implied decimal point is at a fixed position, and the term fixed point representation seems to be more appropriate. However, the reason is that the variable, representing a parameter to be optimized, may have a point at any position along the string. This means that even when the point is fixed for each gene, it is not necessarily fixed along the chromosomes. Therefore, some variables could have a precision of 32 decimal places, while others are integers. As Eshelman and Schaffer (1993) point out, many researchers in the GA Optimization Problem Formulation and Solution Techniques 146 community agreed to use real coded GAs for numerical optimization despite the fact that there are theoretical arguments that seem to show that small alphabets should be more effective than large alphabets. Muhlenbein and Schilierkamp–Voosen (1993) also used real numbers directly for continuous function optimization. 5.6.3.4 Why bit string encoding? Over other encodings, bit strings have several advantages that can be summarised as follows: 1. They are simple to create and manipulate. 2. They are theoretically tractable, in that their simplicity makes it easy to prove theorems. 3. Performance theorems have been proved for bit string chromosomes that demonstrate the power of natural selection on bit string encodings. 4. Just about anything can be encoded in bit strings, so one–point crossover and mutation operators can be applied to a wide range of problems. 5.6.3.5 The anatomy of a simple GA In a simple GA, one starts with a randomly created set of designs. From this set, new and better designs are reproduced using the fittest members of the set. The entire process is similar to a natural population of biological creatures, where successive generations are conceived, born and raised until they are ready to reproduce. A simple GA is composed of three operations. These are reproduction, crossover and mutation. Reproduction is an operation where an old string is copied into the new population according to the string fitness. Here, fitness is defined according to the objective function value. More fit strings, i.e. those with smaller objective function values, receive Optimization Problem Formulation and Solution Techniques 147 higher numbers of offsprings. The reproduction operator may be implemented in algorithmic form in a number of ways. Perhaps the easiest way is to create a biased roulette wheel (see DeJong, 1975) where each current string in the population has a roulette wheel slot sized in proportion to its fitness. Consequently, each time we require offspring, a simple spin of the weighted wheel yields the reproduction candidate. In this way, more highly fit strings have a higher number of offspring based on the probability of selection Pisel in the succeeding generation as given by Pisel = Fi Np j =1 (5.8) Fj where Fi is the value of the objective function of the individual i–th and N p is the number of individuals in the population and is known as population size. Once a string has been selected for reproduction, an exact replica of the string is made. This string is then entered into a mating pool, a tentative new population, for further genetic operator action. Other selection schemes can be used, among them stochastic remainder selection suggested by Brindle (1981), stochastic universal selection proposed by Baker (1987). Ranking selection is presented by Baker (1985) in which the population is sorted from best to worst, and each individual is copied as many times as possible. According to a non–increasing assignment function, and then proportionate selection is performed according to that assignment. Goldberg and Deb (1991) implemented tournament selection in which the population is shuffled and then is divided into groups of ng elements from which the best individual, i.e. the fittest, will be chosen. The number of parents N, which are selected can be evaluated by Optimization Problem Formulation and Solution Techniques N= NP ng . 148 (5.9) After being selected, crossover takes place. Crossover corresponds to allowing selected members of the population to exchange characteristics of the design among themselves (Arora et al., 1994). Simple crossover may proceed in two steps. First, members of the newly reproduced strings in the mating pool are mated at random. Second, each pair of strings undergoes crossover. Several ways of performing crossover are used in the literature, the most simple one termed one–point crossover Goldberg (1989). This can be illustrated as follows: an integer position b along the string as indicated in Figure 5.4a is selected uniformly at random between 1 and the string length less one [1, λnv − 1 ]. Two new strings termed children are created by swapping all characters between positions b+1 and λnv of the parents inclusively. Figure 5.4b shows a similar way of presenting the crossover. This is termed two–point crossover. In order to find an effective search, Eshelman et al. (1989) and Syswerda (1989) use different types of crossover such as segment crossover, uniform crossover, shuffle crossover. Multi–point traditional crossover is also presented by DeJong (1975) as natural extension of two–point crossover. He treats the chromosome in the multi–point crossover as a ring, which the crossover points cut into segments. Mutation is the third step in simple GA, and this step safeguards the process from a complete premature loss of valuable genetic material during reproduction and crossover. In terms of binary string, this step corresponds to selecting a few members of the population, determining at random a location on the strings, and switching the 0 or 1 at that location. To illustrate mutation in an example, assume two crossed–over children as given in Figure 5.5. The 2nd bit was randomly selected over the child 1 Optimization Problem Formulation and Solution Techniques 149 while it is the 6th bit over the child 2. Then, the procedure is to change the 1 to a 0 and vice versa as shown in Figure 5.5. Cross–point Cross–point Parent 1 0 0 0 1 0 1 1 1 1 0 1 0 1 1 1 0 Parent 2 Child 1 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 Child 2 (a) Single–point crossover Cross–points Cross–points Parent 1 0 0 0 1 0 1 1 1 1 0 1 0 1 1 1 0 Parent 2 Child 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 0 Child 2 (b) Two–point crossover Figure 5.4. Most used crossover operators in the binary strings 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 Crossed–over child 1 Crossed–over child 2 1 1 1 1 0 1 1 1 0 0 0 0 1 0 1 0 Mutated child 1 Mutated child 2 Figure 5.5. Assembling the mutation stage Optimization Problem Formulation and Solution Techniques 150 It is observed that the mutation is a random walk through the string space. When used sparingly with reproduction and crossover, it is an insurance policy against premature loss of important notions (Golgberg, 1989). Consequently, it plays a secondary role in GAs. The foregoing three steps are repeated for successive generations of the population until no further improvement in the fitness is attainable. The member in this generation with the highest level of fitness is the optimum design. Figure 5.6 illustrates the flowchart for a simple GA linked to a structural design problem. At the beginning, all the necessary data – GA parameters and structural geometry – will be read and the process of the GA will start for the first generation. The initial population will be generated randomly. Then, the objective function regarded as the weight of the structure as well as the constraint functions, which are reflected on the design criteria requested by BS 5950, are computed. At this stage, the average, maximum and the fittest design are obtained. Convergence criteria described later are also checked. The GA process is terminated if the convergence is achieved. Otherwise, the GA process resumes. By creating the mating pool and applying the GA operators, the next population is created. The GA process will proceed until either the convergence is achieved or the maximum number of generations is reached. Optimization Problem Formulation and Solution Techniques 151 Start Input data files: GA parameters, structural geometry, etc Generation 1: Randomly generate the initial population Design set i Decode binary values to integer values Select the cross sectional properties from the proper catalogue for each design variable Analyse the framework, compute the weight of the structure, and investigate the constraint violation (see Figure 2.15) New generation No Design set =Np? New design Yes Evaluate the objective and penalised functions for each design set Convergence occurred? Yes Stop No Store the best individuals, and impose them into the next generation and carry out the crossover and mutation Figure 5.6. Flowchart for genetic algorithm linked to structural design problem Optimization Problem Formulation and Solution Techniques 5.6.3.6 152 Constraints management GAs have traditionally been applied to unconstrained problems as they have no built–in method to handle constraints. Constraints can be classified as two types: explicit and implicit. Explicit constraints are those that can be checked without a system simulation. Cost is often one example of an explicit constraint. Implicit constraints require a system simulation i.e. analysis and design checks. For example, cross sections have design criteria as requested by the code of practice, therefore, a system simulation must be run before this information can be ascertained. Several approaches have been used to handle constraints including: 1. using specialised operators that maintain feasibility, 2. allowing only feasible solutions in the population and 3. applying a penalty to those solutions that violate one or more constraints. Specialised operators work only for explicit constraints, and are useful for those problems such as the travelling salesman problem. The second and third approach can be used with explicit or implicit constraints, or a combination of both. The second approach, eliminating those designs from the population that violate one or more constraints, can be very ineffective for large problems that have few viable solutions compared with the number of infeasible ones. The most prevalent technique for coping with constraint violations is to penalise a population member for one or more violations. The main difficulty in applying penalty functions is that they are generally problem dependent. Different techniques of employing penalty functions are used in the literature among them Moe (1973), Fletcher (1975), Haftka and Starnes (1976), Shin et al. (1990), Hajela and Yoo (1995), Huang and Arora (1997), and Camp et al. (1998). Generally, the problems attempted using GAs are all of the constrained optimization type, and Optimization Problem Formulation and Solution Techniques 153 consequently the optimization problem must be converted into unconstrained problems This can be dealt with using a penalty–based transformation method (Hajela and Yoo, 1995), resulting in the following problem: − Minimize F ( x , r ) = F ( x ) + P(r ,G ( x ) , H ( x )) (5.10) − where F is the modified objective function that also contains the penalty term P , which brings the constraint functions into the problem and r is called a penalty multiplier. The way in which the penalty parameters and the constraint functions are combined and the rules for updating the penalty parameters specify the particular method. In the present work, the design optimization problem has been attacked differently because careful consideration must be given to the selection of the penalty function, and in the present context, the "exact" penalty function is used. This results in the following definition of the fitness function combined with the simple "exact" penalty function: Maximize F ( x ) = C - F ( x ) , all constraints satisfied 0, any of constraints violated (5.11) where C is a constant evaluated at each generation. The technique used for penalty function is described in Chapter 6. 5.6.3.7 Convergence criteria and termination conditions Convergence criteria have to be evolved to decide when to terminate the process of optimization. In the present study, three criteria are used and if any of them are satisfied, then the process will terminate. These criteria are: Optimization Problem Formulation and Solution Techniques • 154 If the fittest design has not changed for 30 successive generations, or if the difference between the fittest design F cu of the current generation and that of 30 generations before is very small value C cu . This could be expressed in the form F cu − F cu −30 F • cu ≤ C cu . (5.12) As we proceed with more generation the population gets filled by more fit individuals, with perhaps a very small deviation from the fitness of the best individuals. Consequently, the average fitness comes very close to the fitness of the best design. This could result in another convergence criterion such that the percentage difference between the average fitness F av of the current population and the current fitness of the best design F cu reaches a very small value C av . This can be expressed by F cu − F av F • cu ≤ C av . (5.13) The simplest one is when a total allocated number of generations ( gen max = 200 ) are reached.