Modification, Tuning and Testing of a GA for Structural Optimization Problems

Sameh Y. Mahfouz, Vassili V. Toropov and Roger K. Westbrook

Department of Civil and Environmental Engineering, University of Bradford,
Bradford, West Yorkshire, BD7 1DP, UK


E-mail: s.y.mahfouz@bradford.ac.uk, v.v.toropov@bradford.ac.uk and r.k.westbrook@bradford.ac.uk


1. Abstract
The paper has two aims. The first is to show how the choice of parameters in a GA can considerably affect its robustness and speed of convergence. Here, the well-known ten bar truss (sizing optimisation) is used to tune the parameters of a GA and to test different crossover operators. The test is carried out by 50 runs for each combination of GA parameters defined on a domain (a range and increment). The effect of three different crossover operators on the performance of the developed algorithm is also presented. The second aim is to prove the ability of the modified GA to treat discrete design optimisation, hence applications to design optimisation of 2D and 3D steel structures are considered. In order to consider realistic steelwork design problems, a GA has been linked to a system of structural design rules (British Standards BS 5950 and BS 6399), interacting with a structural analysis package ANSYS. A steelwork optimization problem is considered as a selection of the optimum set of practical cross sections from a catalogue (British Standard BS 4, BS 4848). Requirements of codes of practice and other designer’s considerations are reflected in the formulation of the optimization problem.

2. Introduction
In order to optimize structural steelwork, various optimization algorithms have been linked to the structural analysis software since early 1960s with varied degree of success. A study of this experience allows to formulate the following four main requirements to an optimization procedure. Firstly, the technique should be able to handle real life structural design problems. Secondly, the technique has to require a minimum amount of auxiliary information to guide the search. Thirdly, the technique shall attempt to reach the global optimum. Lastly, the technique should be able to handle discrete variables (e.g. selection of properties from a catalogue. A Genetic Algorithm (GA) has been chosen in the present study as the basis for the development of an efficient steelwork optimization algorithm because it satisfies the aforementioned essential requirements, and also for its robustness and its ability to obtain more than one good design. Various aspects of genetic algorithms are discussed in details by Davis (1991), and Michalewicz (1996) among many others. A GA does not need the design sensitivity information and it is easy to link it to a structural analysis software. A typical steelwork design optimization problem can be formulated to include limitations on stresses, displacements, frequencies of vibration, prevention of buckling and any other additional requirements to the structural behaviour stipulated by the codes of practice for structural steelwork (BS 5950).

As a typical GA is a relatively slow technique (as compared to many other optimization methods), an attempt was made to introduce some modifications to the basic procedure in order to improve its rate of convergence. Recently, several attempts have been made (see e.g., Arakawa and Hagiwara 1997, Adachi and Yoshida 1995 and Syswerda 1989) to improve the performance of a GA by modifying the crossover and mutation operators.

3. Basic idea of a standard GA
A GA is a computational model of natural selection and evolution; it possesses features that allow it to act as an optimization method. The basic mechanics of a GA is based on the randomised procedures of copying binary strings representing individual designs and swapping partial strings. A basic genetic algorithm consists of three main operators, namely, reproduction, crossover and mutation. In the reproduction process, the individual strings (designs) are copied according to their fitness (value of the objective function including a possible penalty for the violation of constraints). The reproduction operator can be implemented in the genetic algorithm in a number of ways, the most popular being simulation of a biased roulette wheel with slots of different width representing the proportion of the fitness of an individual string or, in other words, quality of a design. The crossover operator normally proceeds in two steps: firstly, two strings (parents) in the newly reproduced population are randomly selected and, secondly, each pair of parents undergo swapping parts of their strings at randomly selected positions thus producing two new strings (children). Lastly, in order to introduce new genetic patterns in the child strings, the mutation stage takes place with a low probability thus preventing the search from premature convergence to a non-optimal solution and improving non-local properties of the search.

Proposed modifications
The main features of the suggested modifications follow the basic assumption of a GA: the probability of getting fit children of two highly fit parents is higher than when one of the parents has a poor fitness. Accordingly, attempts have been made to accelerate obtaining population of a better average fitness thus reducing a chance of selection of poorly fit partner in the crossover operator. The first modification uses a considerably larger population size before the actual start of the genetic algorithm. This initial large population contains Npo = n Np randomly selected strings where Np is the size of all subsequent populations and n is a number of the order of ten. The fitness of all strings in this initial population is evaluated and Np best strings are selected to start the usual genetic operations. Obviously, in terms of computational effort this is equivalent to adding n iterations to the standard algorithm but, as the first regular population contains better strings, the modified algorithm tends to converge faster thus reducing the overall computational effort.

The second modification, after the same start as in the first modification, attempts to establish a common pattern in the best strings of the population and impose it on all the remaining strings except for the elite. There have been two different strategies used for the filling the remaining parts of strings in the rest of the population. According to the first strategy, it is done randomly, and the second strategy copies the rest of strings (not prescribed by the imposed pattern) from the strings in the previous population. After filling all the missing parts of the strings by either strategy and fitness evaluation for newly obtained strings, the population is subjected to crossover.

5. Implementation
An elitist strategy permits the algorithm to transfer the best members of a current population straight to the next population without changing them. Keeping the best part of the population is very important for speeding up the hill-climbing feature of genetic search where fitness of the best member of population is to be improved from iteration to iteration. The elite ratio becomes then a parameter of a genetic algorithm. Another parameter defines the survival strategy, i.e. specifies how the less fit members are removed from the population. According to the first strategy, all members of the population that have fitness values less than the average fitness of the whole population will be removed. The alternative is to specify a user-defined proportion of the population that is to be removed.

6. Test problem: Ten-bar truss
Problem definition
The testing has been carried out on a standard problem of a ten-bar truss shown in Figure 1. Stresses have been limited by 25 ksi in all members. The density of the material is 1.0 lb / in3, lower and upper bounds on the cross-sectional areas of all bars, considered as design variables, were taken as 0.1 in2 and 12.8 in2 respectively. The discretization of design variables was defined by increments of 0.2 in2 thus resulting in the overall string length of 60.




Figure 1. Ten-bar truss

The problem can therefore be formulated as:

Minimize F(x)
subject to   Gi(x) 1, i = 1,2,...,10
xl x xu
(1)

where Gi(x) describe limitations on member stresses. The fitness function (Mahfouz et al. 1998), combined with the simple "exact" penalty function, has been used.

Testing of GA parameters
The domain of each parameter is set as follows:
  1. The population size Np varies from 20 to 200 with increment 10.
  2. The elite percentage Ep varies from 0.0 % to 90 % with increment 10 %.
  3. The probability of crossover Pc varies from 10 % to 90 % (subjected to: Pc + Ep 100) with increment 10 %.
  4. The probability of mutation Pm takes a value from the domain [0.1, 0.25, 0.5, 0.75, 1, 2, 3, 4, 5 and 7.5] %.
The test has been carried out using 50 runs for each combination of the aforementioned parameters.

Testing of crossover operators
The same test problem has been used to study the effect of the use of various crossover operators on the performance of the genetic algorithm. Three different crossover operators have been tested. The first one is the simple one-point crossover operator (technique 1) in which a random position of the cut has been selected along the total string length. The second (technique 2) is similar to the first one but the position of the cut has been selected to be at the border between the sub-strings representing individual design variables. The third tested operator is a two-point crossover operator in which positions of two cuts have been randomly selected anywhere along the total string length.

Conclusions on testing of the GA
The following conclusion can be drawn from the testing:
  1. From Figure 2a, it can be deduced that as the value of Np increases, the average value of the best solutions over 50 runs (average weight) decreases. It can also be observed that solutions with a good performance of the developed algorithms are obtained when a value of Np varies between 60 and 100.
  2. As shown in Figure 2b, a value of Ep ranging between 20 % and 40 % gives better solutions achieved within a reasonable average number of function evaluations.
  3. The effect of the probability of crossover (Pc) is illustrated by Figure 2c. It can be observed that the average weight is not affected by changing Pc . For higher values of Pc between 80 % and 90 %, the number of function evaluations is slightly smaller than when using other values of Pc .
  4. It can be deduced from Figure 2d that the average weight obtained within a reasonable average number of function evaluations corresponding to the values of Pm between 1 % and 3 %.
  5. None of the tested crossover operators has a considerable effect on the average weight. This can be observed from Figures 3a. From Figure 3b, it can be deduced that a slightly smaller number of function evaluations is achieved when using Np higher than 120.

        
Population size (Np )
(a)

 Elite ratio (Ep %)
(b)

        
Probability of Crossover (Pc %)
(c)

 Probability of mutation (Pm %)
(d)



Figure 2. The effect of GA parameter

        
          Population size (Np )
          (a)
                       Population size (Np )
                      (b)
Figure 3. Comparison between the crossover operators

7. Steelwork design procedure to BS 5950
BS 5950 requires a designer to select appropriate standard sections of the members of a steel structures in order to obtain a design having a sufficient factor of safety. This is ccomplished by considering ultimate limit states and serviceability limit states.

In elastic design of rigid jointed multi-story structures, BS 5950 recommends that a linear analysis of the whole structure is carried out, and then the design criteria are checked. This can be summarized in the following steps.

Step 1. Preparation of data files including, loading cases structural geometry, etc.

Step 2. Classification of the structure whether it is sway or non-sway. This is achieved by applying a notional horizontal loads. A structure, analyzed as a bare frame (the effect of cladding is not present), is classified as non-sway if in every individual story the horizontal displacement, in each story height (H), due to the notional horizontal loads is less than or equal H/2000 (BS 5950).

Step 3. Evaluation of the effective lengths of columns and beams about the major (X) and minor (Y) local axes. The effective buckling length L of columns has been evaluated by using the charts from BS 5950. Other techniques have been discussed by Toropov et al. (1999). For a column, the effective length about Y axis equals the unrestrained length of the column. For a beam, the effective buckling length about X axis equals the unrestrained length of the compression flange on the underside of the beam (MacGinley 1997) and the effective length about Y axis equals the unrestrained length of the beam.

Step 4. Calculation of the slenderness ratios X and Y for each member i, and then the slenderness constraints G.

Step 5. Analysis of the structure under each loading case k to obtain the normal force, shearing forces and bending moments for each member.

Step 6. Check of the strength criteria for each member i under the loading case k as follows:
  1. determination the type of the section of the member (e.g. slender, semi-compact, compact or plastic) according to BS 5950,
  2. evaluation of the design strength of the member according to the type of the section,
  3. check of the strength constraints G depending on whether the member is in tension or compression. This stage contains p checks (p = 5 for 3D structures and p = 4 for 2D structures) for each member under each loading case. The strength constraints are local capacity, overall capacity, shear capacities in X and Y directions and the shear buckling capacity,
  4. for a sway structure, the notional horizontal loading case is considered, this is termed sway stability criterion.
Step 7. Checks of the horizontal (in X and Y directions for 3D structures and in X direction for 2D structures) and vertical nodal displacements that are known as serviceability criteria G This is performed by (i) computing the horizontal nodal displacements due to the unfactored LL and WL in order to satisfy the limits on the horizontal displacements, (ii) imposing the limits on the vertical nodal displacements (maximum value within a beam) due to the unfactored LL.

8. Formulation of the optimization problem
In the formulation of the design optimization problem, the objective function F(x) is the total weight of the structural members and the normalized constraints are imposed on the strength, sway stability and serviceability criteria as required by BS 5950. An additional practical consideration has been formulated by imposing constraints on the second moment of area of two columns in two adjacent story levels. Other practical considerations can be formulated by imposing constraints on the thickness of the flanges or height of the cross sections.

The general formulation of the design optimization problem can then be written as:

(2)

where Wi is the mass per unit length of the member under consideration taken from a catalogue, I and I are the second moments of area of the cross sections of two columns in two adjacent story levels about the major axis X, Ns and Nb are the number of stories and bays of each frame of the structure. The vector of design variables x is divided into S sub-vectors xs, the components of which take values from a corresponding catalogue Ds.

9. EXAMPLES
Five-bay five-story framework
The five-bay five-story framework shown in Figure 4 has been selected to demonstrate the procedure of steelwork design optimization using the modified genetic algorithm. The spacing between successive frames is six meters. It was assumed that the structures are completely prevented from the side sway out of plane by a vertical bracing system. The framework has been designed for use as an office block with projection rooms. Eight loading cases representing the most unfavorable combinations of the factored dead load (DL), imposed load (LL) and wind load (WL) were considered as required by BS 5950. The loading cases can be described as follows:




Figure 4. Five-bay five-story framework: linking of the design variables

  1. the beams are subjected to the vertical load Pv = 1.4DL + 1.6LL ,
  2. the vertical load Pv = 1.4DL + 1.6LL is applied on each floor level while left hand side of the framework is subjected to the notional horizontal loads,
  3. the beams of the first two bays (counting from the left) are exposed to the vertical load Pv = 1.4DL + 1.6LL while the other beams are subjected to the vertical load Pv = 1.4DL,
  4. the beams of the first three bays (counting from the left) are subjected to the vertical load Pv = 1.4DL + 1.6LL while the other beams are subjected to the vertical load Pv = 1.4DL,
  5. Pv = 1.4DL + 1.6LL and Pv = 1.4DL are distributed on staggered way. That means, the loads onto the top-left-story beams are Pv = 1.4DL + 1.6LL while the adjacent beams either in the same story level or the story beneath carry vertical load Pv = 1.4DL ,
  6. the beams are subjected to vertical load Pv = 1.2DL + 1.2LL and the left hand side of the framework is exposed to the factored wind load PH = 1.2WL ,
  7. the beams are subjected to the vertical load Pv = 1.0LL and the framework is subjected to the first factored wind loading case when the LHS face of the framework is the windward face, This loading case is considered to check horizontal displacements at nodes,
  8. the beams are subjected to the vertical load Pv = 1.0LL . This loading case is taken into account to check vertical displacements at nodes.
In the formulation of the optimization problem the objective function is the total weight of the steelwork and the constraints are imposed on design criteria to BS 5950.

Eight design variables representing the framework members have considered. The linking of the design variables is shown in Figure 4. According to the British standard BS 4, the cross-sectional properties can be chosen from two separate catalogues for the universal columns (UC) and the universal beams (UB). The catalogue of the available cross sections included 64 universal beams (UB) varying from 914 × 419 × 388 to 254 × 102 × 25 and 32 universal columns (UC) varying from 356 × 406 × 634 to 152 × 152 × 23. This results in a total string length of 42.

The first modification of a GA has been utilized with Npo = 1000 and fixed Np = 60 during successive generations, Ep = 30 %, Pc = 0.7 and Pm = 0.01.

Five runs of the design optimization process have been carried out using 5 different seed numbers to generate the initial population. The design variables corresponding to the best design are given in Table 1.



Table 1. Design details of five-bay five-story framework
  Design variable    Member type    Cross section  
1Column  356 × 368 × 153 UC  
2Column356 × 368 × 129 UC
3Column356 × 368 × 129 UC
4Column356 × 368 × 129 UC
5Column254 × 254 × 107 UC
6Column203 × 203 × 52 UC
7Beam406 × 140 × 39 UB
8Beam406 × 140 × 39 UB
Weight (kg)15321

During the optimization process, the convergence characteristics of the best solution has been examined as shown in Figure 5.




Figure 5. Two-bay by two-bay by two-story building

Two-bay by two-bay by two-story building
Design optimization of the two-bay by two-bay by two-story building shown in Figure 6a has been carried out. The building consists of three frames, transverse beams and bracing system. The spacing between the successive frames is 10.0 meters.

Because BS 5950 does not cater for the design of members subjected to torsional moments, it is assumed that one end of each transverse beam is free to rotate about its local axes X, Y and Z while the second end is free to rotate about X and Y axes. Similarly, the structural system of the bracing members is considered. The structural system is shown in Figures 6b-1d.

The building has been designed for use as an office block using nine loading cases representing the most unfavorable combinations of the factored DL, LL and WL as required by BS 5950. Because the structure is doubly-symmetric, two orthogonal wind cases have been taken into account. The loading cases can be described as follows:
  1. the floor beams are subjected to the vertical uniform load Pv = 1.4DL + 1.6LL ,
  2. the floor beams are subjected to the vertical uniform load Pv = 1.4DL + 1.6LL , and left hand side (LHS) nodes of each frame are subjected to the horizontal notional loads,
  3. the floor beams of the first bay (counting from the left) is subjected to the vertical uniform load Pv = 1.4DL while the rest of the beams are subjected to Pv = 1.4DL + 1.6LL ,
  4. the floor beams is subjected staggered arrangement of vertical uniform loads Pv = 1.4DL + 1.6LL and Pv = 1.4DL,
  5. the floor beams are subjected to the vertical uniform load Pv = 1.2DL + 1.2LL and the building is subjected to the first factored wind loading case when the LHS face of the building is the windward face,
  6. the floor beams are subjected to the vertical uniform load Pv = 1.2DL + 1.2LL and the building is subjected to the second factored wind loading case when the front face of the building is the windward face,
  7. the floor beams are subjected to the vertical uniform load Pv = 1.0LL ,
  8. the floor beams are subjected to the vertical uniform load Pv = 1.0LL and the building is subjected to the first unfactored wind loading case when the LHS face of the building is the windward face,
  9. the floor beams are subjected to the vertical uniform load Pv = 1.0LL and the building is subjected to the second unfactored wind loading case when the front face of the building is the windward face.
Eight design variables representing the structural members have considered. The linking of the design variables is shown in Figures 6b-6d. Following BS 4, the catalogue of the available cross sections included 64 universal beams (UB) varying from 914 × 419 × 388 to 254 × 102 × 25 and 32 universal columns (UC) varying from 356 × 406 × 634 to 152 × 152 × 23. The catalogue of circular hollow sections (CHS) included, following BS 4848, 64 sections varying from 76.1 × 5.0 to 457.0 × 40.0. This results in a total string length of 44.

The first modification of a GA has been used with Npo = 1000 and fixed Np = 60 during the successive generations, Ep = 30 %, Pc = 0.7 and Pm = 0.01.









Figure 6. Two-bay by two-bay by two-story building

Five runs have been carried out using 5 different seed numbers to generate the initial population. The design variables corresponding to the best design are given in Table 2. The search history is displayed in Figure 7.


  Design variable    Member type    Cross section  
1Column  203 × 203 × 52 UC  
2Column305 × 305 × 97 UC
3Column356 × 368 × 129 UC
4Column356 × 368 × 153 UC
5Beam686 × 254 × 125 UB
6Beam838 × 292 × 176 UB
7Beam762 × 267 × 173 UB
8Bracing168.3 × 6.3 CHS
Weight (kg)62023.89

Table 2. Design details of two-bay by two-bay by two-story building




Figure 7. Two-bay by two-bay by two-story building: search history

10. Discussion of results
From Tables 1 and 2, it can be observed that the same sections are obtained for different members of the structure even though these members are linked to different design variables. This indicates that it can be beneficial to include the grouping of structural members as an additional criterion in the formulation of the design optimization problem.

11. References
Adachi, N. and Yoshida, Y. (1995), “Accelerating genetic algorithms: protected chromosomes and parallel processing”, 1st IEE/IEEE International Conference on GA in Engineering Systems, 76- 81.

ANSYS. 5.2. 1995: ANSYS, Inc., Houston, USA.

Arakawa, M. and Hagiwara, I. (1997), “Development of revised adaptive real range genetic algorithms” Proc. of 2nd World Congress of Structural and Multidisciplinary Optimization 1, In: Gutkowski, W.; Morz, Z. (ed.), Wydawnictwo Ekoinzynieria, 15-20, Lublin, Poland.

British Standards Institution. (1991), “British Standard. Specification for circular hollow sections” BS 4848: Part 2.

British Standards Institution, (1990), “British Standard. Structural use of steelwork in building. Part 1. Code of practice for design in simple and continuous construction: Hot rolled sections” BS 5950: Part 1.

British Standards Institution, (1993), “British Standard. Specification for hot-rolled sections” BS 4: Part 1.

British Standards Institution, (1995), “British Standard. Loading for Building Part 2. Code of practice for wind loads”, BS 6399: Part 2

British Standards Institution, (1996), “British Standard. Loading for Building Part 1. Code of practice for dead and imposed loads”, BS 6399: Part 1.

Davis, L. (1991), “Handbook of Genetic Algorithms”, Van Nostrand Reinhold, New York

MacGinley, T.J. (1997), “Steel Structures Practical Design Studies” E & FN SPON, London.

Mahfouz, S.Y., Toropov, V.V. and Westbrook, R.K. (1998), “Improvements in the performance of a genetic algorithm: Application to steelwork optimum design”, Proc. of 7th AIAA /USAF/NASA/ISSMO Symposium on Multidisciplinary Analysis and Optimization, 2037-2045.

Michalewicz, Z. (1996), “Genetic Algorithm + Data Structures = Evolution Programs”, 3rd ed., Springer-Verlag, New York

Syswerda, G. (1989), “Uniform crossover in genetic algorithms”, Proc. of 3rd Int. Conf. on Genetic Algorithms, 2-9, Morgan Kaufman Publisher, Inc., CA.

Toropov, V.V., Mahfouz, S.Y. and Westbrook, R.K. (1999), “Discrete Design Optimization of 3- Dimensional Steel Structures using a Genetic Algorithm”, 3rd World Congress of Structural and Multidisciplinary Optimization, Buffalo, NY, USA, May 17-21, 1999.