You are on page 1of 17

G E N E T I C A L G O R I T H M S IN D I S C R E T E O P T I M I Z A T I O N

OF STEEL TRUSS ROOVS

By Vlasis K. Koumousis ~ and Panos G. Georgiou 2


Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

ABSTRACT: Genetic algorithms have their basis in Darwin's theory of survival of


the fittest. These algorithms have been used successfullyin genetics and recently
in a variety of optimization problems. In this paper, the mixed layout and sizing
optimization problem of a typical steel roof is solved using a genetic algorithm for
the layout part, and a logic program is used for the sizing optimization of the truss
roof. The method is applied to large-design-space problems, and near-optimum
solutions are found in reasonable computing time. The genetic algorithm is based
on a roulette-wheel reproduction scheme, a single point crossover, and a standard
mutation scheme. An elitist strategy is also used that passes the best designs of a
generation to the next generation. Numerical results are presented that show the
efficiencyof the method. Estimates of the various parameters of the algorithm are
determined, which render the method an efficient optimization method for discrete
structural design problems.

INTRODUCTION

Design problems in civil engineering are formulated by selecting a set of


variables that describe the behavior of the particular p r o b l e m and meet a
list of requirements imposed by codes of practice, usually based on a limit
state demand. Mathematically these design variables are discrete, contin-
uous or, as in most problems, are mixed with both discrete and continuous
variables. Mathematical p r o g r a m m i n g methods suit the continuous prob-
lems better. F o r discrete p r o b l e m s , searching for the optimal solution, turns
out to be a difficult task. The general methods for solving problems in
discrete optimization (Hu 1982) are; integer p r o g r a m m i n g , complete enu-
meration techniques, the backtracking m e t h o d , branch and b o u n d algo-
rithms and dynamic programming.
A n o t h e r category of m e t h o d s that belong to the class of stochastic or
random search algorithms is the genetic algorithms. Genetic algorithms are
based on the concepts of natural selection and natural genetics (Holland
1975; Goldberg 1989). T h e y rely on the principles of Darwinian theory of
survival of the fittest. A l t h o u g h these algorithms are randomized, genetic
algorithms are not a simple r a n d o m walk in the space of solutions. T h e y
efficiently incorporate information from previous stages to create new search
points in the design space, resulting in an i m p r o v e d performance. Genetic
algorithms use r a n d o m choice as a tool to guide an exploitative search
through a coding of the design space. They are related to simulated an-
nealing, another p o p u l a r search technique, which uses r a n d o m processes to
help guide its search for minimal energy states. The connections between
simulated annealing and genetic algorithms are explored by Davis (Genetic
1987).
JAssoc. Prof., Nat. Tech. Univ. of Athens, Inst. of Struct. Analysis & Aseismic
Res., Zografou Campus, GR.-157 73, Athens, Greece.
-'Civ. Engr. Doctoral Student, Nat. Tech. Univ. of Athens, Inst. of Struct. Analysis
& Aseismic Res., Zografou Campus, GR.-157 73, Athens, Greece.
Note. Discussion open until December 1, 1994. To extend the closing date one
month, a written request must be filed with the ASCE Manager of Journals. The
manuscript for this paper was submitted for review and possible publication on
February 17, 1993. This paper is part of the Journal of Computing in CivilEngineering,
Vol. 8, No. 3, July, t994. 9 ISSN 0887-3801/94/0003-0309/$2.00 + $.25 per
page. Paper No. 5639.

309

J. Comput. Civ. Eng., 1994, 8(3): 309-325


In this paper, a simple genetic algorithm is used to search for the optimal
solution for a mixed layout and sizing problem of a typical steel truss roof
of an industrial building or warehouse. A typical steel truss roof consists of
the cladding, the purlins, the main trusses and the braces. Usually, the
trusses are statically determinate structures that allow for stress free settle-
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

ments and temperature changes. The minimum weight design for a specific
roof layout results by seeking the minimum weight for the cladding, the
purlins, the trusses and the braces.
The layout variables of the problem are: the total number of trusses used
to cover the whole roof, the number of purlins (which affect the internal
meshing of the truss), the heights of the truss, and the type of internal
meshing (which is selected from a list of several commonly used statically
determinate trusses). By varying these variables, a design space that contains
all possible solutions is determined. For a specific point in the layout design
space, a minimum weight design can be determined that assigns specific
profiles for the members of the trusses and the purlins. This sizing opti-
mization problem is also a discrete optimization problem that is solved
effectively using a logic program written in Prolog language (Koumousis
and Georgiou 1991, 1993). Although the sizing optimization problem can
be solved also by using genetic algorithms (Goldberg 1989; Hajela 1990),
this may lead to very large chromosomes. Thus, in this analysis a mixed
strategy was selected that uses a genetic algorithm for the layout problem
and a logic program to solve for the optimal sizing problem, which keeps
the chromosome length reasonable.
Variation of the basic parameters of the genetic algorithm determines the
sensitivities of the convergence with respect to these parameters. Moreover,
the concept of introducing the best designs of the previous generation to
the next generation, i.e. by following an elitist strategy, is explored and is
shown to stabilize the whole process.

GENETIC ALGORITHMS
Genetic algorithms are search algorithms that are based on the concepts
of natural selection and natural genetics. As algorithms, they are different
from traditional optimization methods in the following aspects: (1) Genetic
algorithms work with a coding set of the variables and not with the variables
themselves; (2) they search from a population of points rather than by
improving a single point; (3) they use objective function information without
any gradient information; and (4) their transition scheme is probabilistic
whereas traditional methods use gradient information (Goldberg 1989).

Coding and Decoding


An essential characteristic of a genetic algorithm is the coding of the
variables that describe the problem. The most common coding method is
to transform the variables to a binary string of specific length. This string
represents the chromosome of the problem and the length of the chromo-
some represents the number of zeros and ones in the binary string.
For a specific problem, that depends on more than one variable, a mul-
tivariable coding is constructed by simply concatenating as many single
variable codings as the number of the variables of the problem. Each variable
may have its own length corresponding to the min, max values and a step
value specified for the particular application. By decoding the individuals
of the initial population, the solution for each specific instance is determined
310

J. Comput. Civ. Eng., 1994, 8(3): 309-325


and the value of the objective function that corresponds to this individual
is evaluated. This applies to all members of the population.

Reproduction
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

A simple genetic algorithm proceeds by first randomly generating a pop-


ulation of a specific size. A pseudorandom generator is used to generate
the initial population. From this population, the next generation is evolved
by performing three distinct operations: namely, reproduction, crossover
and mutation. Based on the statistics of this population the next generation
is reproduced following the weighted-roulette-wheel method, following a
bias law, which assigns probabilities to the members analogous to the sta-
tistics of the generation. This means that the weak designs will be assigned
small probabilities and the strong designs will be assigned high probabilities
of existence in the next generation. In this way, the next generation evolves
where the fittest have survived and increase their presence, while the weaker
designs die out, or disappear from the generation.

Crossover and Mutation


In the process of the reproduction of the new generation, the operations
of crossover and mutation are performed. With a specified probability of
crossover, two members of the population are selected randomly and ex-
change part of their chromosomal information, by exchanging the right part
of their string at a randomly selected position. The probability of crossover
determines whether crossover will be applied to the selected pair of parents
or not. This corresponds to a single point crossover scheme. Alternatively,
a multipoint crossover scheme can be used as for example (Booker 1987).
Finally, with a probability of mutation certain digits of the chromosome are
altered. If they are found to be zeros they are changed to ones, and if are
found to be ones they are changed to zeros. After crossover and mutation
the population takes its final form in the current generation. Again, by
decoding the strings and solving the sizing problem, new objective function
values are determined. These objective function values express the fitness
of the designs of this generation.
Simple statistics are deduced for this generation; and the process goes on
by performing reproduction, crossover and mutation. After several gener-
ations, the best member of the population turns out to represent a very
satisfactory solution of the problem. Theoretical evidence about the asymp-
totic convergence of the algorithm exists in the context of the methods of
local search, simulated annealing and Boltzmaun machines (Aarts and Korst
1989; Genetic 1987).

Basic Parameters of Genetic Algorithms


The basic parameters of a simple genetic algorithm are the population
size of the generation, the probability of crossover and the probability of
mutation. By varying these parameters, the convergence of the problem is
altered. Thus, to maintain the robustness of the algorithm, it is important
to assign appropriate values for these parameters. Usually, the population
size and the probability of mutation are related. With larger population size
the probability of mutation is smaller. For a wide range of problems, the
following values are good estimates for an initial run. Population size (Pop)
30-50 or more, probability of cross (Pc) 0.6 and probability of mutation
(I'm) less than 0.01. In general, mutation is important in the evolution of
the method, because through mutation new members enter the population
311

J. Comput. Civ. Eng., 1994, 8(3): 309-325


bringing new blood to the generation. In this way, the initial population,
which might have been very far from the satisfactory solution, can adapt
itself toward the optimum solution. On the other hand, mutation tends to
disorganize the convergence of the problem and this makes the selection of
this parameter, together with the population size, very crucial for the overall
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

performance of the genetic algorithm.


Another way of improving the performance of the algorithm is to pass
some of the best designs of the generation to the next generation. This in
effect corresponds to a different bias law of reproduction for the next gen-
eration, which assigns greater probabilities of existence to the best designs
of the population.

GENETIC ALGORITHMS IN STEEL ROOF OPTIMIZATION

StatemenoftProblem
A simple genetic algorithm is applied to the search for the optimal solution
for a mixed, layout, and sizing, problem of a typical steel truss roof, of an
industrial building or warehouse.
The dimensions of an orthogonal in plan industrial building or warehouse
are the main given data which are considered fixed. The height of the
building and the maximum overall height, which affects the magnitude of
wind forces, are also quantities that are specified by the user. The number
of trusses used for the entire roof (NT) is a free variable (Fig. 1). Another
important design variable is the number of spacings in the inclined upper
chord (rafter) of the truss which, along with the selection of the type of
purlins, characterize the design (Fig. 2). The heights of the truss (Fig. 3)

F ( N T ~

FIG. 1. Distance between Adjacent Trusses as Function of Number of Trusses


(NT)

!
FIG. 2. Distance of Adjacent Purlins as Function of Number of Purlins (NP)

SH

II
FIG. 3. Heights of Trapezoidal Truss

312

J. Comput. Civ. Eng., 1994, 8(3): 309-325


Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

FIG. 4. Types of Statically Determinate Trusses

are also free variables. These variables together with the fixed variables are
sufficient to determine the layout of the roof. This is composed from the
trusses, the purlins and the necessary bracings to maintain the integrity of
the whole roof. The selection of the type of cladding is also a free variable
selected by the user and imposes certain constraints regarding the spacings
of the purlins.
These are the overall design variables, which are treated as discrete design
variables. By changing these variables, different sets of descriptions are
defined that comprise the layout design space for this problem. The user
can impose certain restrictions to the free variables, or can bind certain
variables to specific values. This process restricts the layout design space
and affects the whole process of design. Moreover, it is common practice
to select statically determinate trusses to span these types of buildings to
allow for stress free settlements of supports and temperature changes.
There are many types of statically determinate trusses that can be used.
The shape of the truss may be triangular, trapezoidal or more complex (Fig.
4), while the type of internal meshing can vary from V-, N-type, and many
others. Thus, the general shape is determined first, followed by the con-
nectivity pattern which depends on the number of purlins on the rafter. This
corresponds to a mixed shape and layout of the truss.
Inside the generation procedure for the trusses and the purlins of the
roof, another part of the program specifies the appropriate bracings rec-
ommended by codes of practices. Moreover, during the design process an
option exists that alters the layout by reversing the diagonal members in a
way that favors tensile members [Fig. 4(b)].
Besides the above variables, a larger set of design variables is the cross
sectional areas for all the members that constitute the steel roof of the
industrial building or warehouse.
The sizing of the members of the truss, i.e. the selection of the particular
sections, is performed on the basis of the satisfaction of the requirements
of Eurocode No. 3 (1989) for steel structures. All members are grouped in
three or four main groups: the upper chord, the bottom chord, and one or
two groups of internal members. Usually, each chord is designed from the
same section (type and size). The internal members are also designed from
the same type of section, but the size of each member is designed individ-
ually. In addition, there exist certain rules that determine the suitability of
the combination between these groups. For example, both the upper and
bottom chords are usually designed from the same type of section but with
different properties. These associations are default in the system, but the
313

J. Comput. Civ. Eng., 1994, 8(3): 309-325


user can make his/her own choice and/or form his/her own groups of mem-
bers. These decisions affect the search space and consequently, the total
time required by the system to come up with the minimum weight design
for a specific layout. In the present form, the system does not perform the
detailed design of the connections. Only the weight of the connections is
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

included in an approximate way, by assigning a percent of the truss weight


determined by the designer, on the basis of his or her experience.
The sizing problem for a specific layout is solved by stating the optimi-
zation problem in the form of a sequence of demands on the design. These
demands express the constraints imposed on the stresses, the displacements
and various technological constraints, as for example the list of preferences
in combining different profiles. This sequence of demands on the design
are coded, in the form of predicates, in a Prolog program for the optimal
sizing of the steel roof. Details about this logic program are given in another
paper (Koumousis and Georgiou 1991, 1993). This formulation searches for
the solution based on a sequential backtracking algorithm, which constitutes
the general strategy for the sizing optimization problem.

Sequential Backtracking Algorithm


Backtracking can be considered as a searching technique of all possible
solutions in a systematic manner. In many situations, we have a list of n
design variables [xl, x2 . . . . . x,], that we want to satisfy a property Pn [xl,
x2 . . . . . x,]. In general, we assume that xi can take values from a set Xi.
The assumption is, that all choices in a set Xi. are linearly ordered, from
smaller to bigger values. Once the values of xl, x2 . . . . . xk 1, are fixed,
we select from the set Xk, the smallest value x~, which leads to a feasible
list which satisfies Pk[Xl, x2 . . . . . xk- 1, xk]. The subset of Xi that represents
feasible choices for xk, is denoted by Sk. Since Xk is ordered, all choices in
Sk are also ordered. Using these assumptions, the general backtracking
algorithm can be stated as follows (Hu 1982), where S~ is formed simulta-
neously by checking the feasibility of xx.
We start by examining Sk (k = 1, 2 . . . . . n) sequentially.
Step 1: If Sk is not empty, set xk to be the smallest value in Sk, which has
not been tried previously. If k < n, increase k by 1 and repeat the step. If
k = n, record the list as a feasible list. If we want all feasible solutions,
decrease k by 1 and repeat this step. Otherwise stop.
Step 2: If Sk is empty and k = 1, no more feasible lists exist, stop. If Sk
is empty and k > 1, decrease k by 1 and return to step 1.
When in a minimization process, following a backtrack algorithm, we can
associate a cost with a particular list that satisfies the following relationship:
cost of [Xl, x2 . . . . . xk_l] ~ cost of [Xl, x2 . . . . . xk] for all x~ (1)
then, in searching, we do not branch from a node whose cost is higher than
the minimum cost solution found so far. Of course, the bound is updated
if a better solution is found. For a maximization problem we do exactly the
opposite. We do not branch from a node whose value is less than the value
of the maximum value solution.
Usually, in a practical optimization problem we have to satisfy a con-
junction or disjunction of more than one properties. This can be accom-
plished using a sequential backtracking algorithm, which is based on the
structure of a Horn clause and has the following form:
A --) P1, P2 . . . . . P.; n > 0 (2)

314

J. Comput. Civ. Eng., 1994, 8(3): 309-325


The important property of Horn clauses is that they can be read both
declaratively, saying that A is true if P~ and P2 a n d . . , and P, is true, and
procedurally, saying that to solve problem A, one can solve subproblems
P1 and P2 a n d . . , and P~. To establish whether A is true, a Prolog program
(Bratko 1990; Clocksin and Mellish 1981; Sterling and Shapiro 1986) at-
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

tempts to prove that PI and P2 9 9 9 and Pn are true, starting from left to
right. It uses the internal unification routines of the language as a form of
a bidirectional pattern matching. It assigns values to the variables of the
rule P1 in order to prove that it is true. Subsequently, it moves to P:, leaving
a marker in between, to remember that up to that point the truth of clause
A has been established. This way, the program, by invoking the internal
unification routines, which sequentially search for the right values of the
variables, establishes the truth of P~ and P2 a n d . . . Pn- Thus, the truth of
A is established, binding in the meantime the feasible list of design variables.
All rules are of the form given in relation (2), where A is referred to as the
head of the rule and the conjunction of P1 and P2 and . . . Pn, as the body
of the rule. Every subrule Pi is a predicate or categorim that is either true
or false.
To restrict backtracking and thus, reduce unnecessary search, the pred-
icate "cut," or symbolically "!," is used in Prolog, which in effect deletes
the markers for backtracking up to that point. Thus, "cut" works as a barrier
that does not allow backtracking to previous subgoals. The predicate "fail"
of Prolog is one that makes the rule fail and thus causes backtracking.

Logical Solution to Sizing Problem


The truss members are designed following the requirements of Eurocode
No. 3 for the Design of Steel Structures (1989). The weight, the wind load
and the weight snow per unit area are taken from DIN 18800
Snow: g = 0.75 kN/m 2 (3a)
Wind load pressure: w~ = [1.2 sin(a) - 0.4]q (3b)

Wind load suction: w: = - 0 . 4 q (3c)


where q = nominal wind pressure at the specific height of the roof; and a
= angle of roof inclination.
The partial safety factors for the ultimate limit states and serviceability
limit states are the ones defined in Eurocode No. 3. The analysis of the
truss is performed for three different unit load cases that correspond to
weight and wind loads for the two different directions. These results are
combined according to the Eurocode No. 3 to determine the axial forces
that correspond to all particular loading cases [self weight (D), snow (S),
wind loads (W)].
1.35D + 1.5S (4a)
1.35D + 1.35S + 1.35W (4b)
The tensile members are designed in accordance with paragraph 5.4.3 of
the Eurocode No. 3. The compression members are designed following the
requirements of paragraph 5.4.4 and 5.5.1 of Eurocode No. 3 for buckling
resistance. The puffins are designed for bending resistance. They behave as
continuous beams of equal span. The moments and shearing forces for these
components of the roof are determined from closed form relations. The
puffins are designed following paragraph 5.4.5 for bending about one axis
315

J. Comput. Civ. Eng., 1994, 8(3): 309-325


or paragraph 5.4.7 for bending and shear. The relevant predicates written
in Prolog are presented in another paper (Koumousis and Georgiou 1991,
1993).
The sizing optimization of the roof truss is performed by applying the
described backtracking algorithm. Initially, the relational database that con-
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

tains the steel sections and their attributes is created. Another database
contains the predicates that assign the different member groups. The default
groups are four. For example, in the case of trapezoidal trusses, they are
the upper and lower chord, the vertical and diagonal internal members.
Moreover, a database exists with the associations of member groups and
lists of possible sections, that assures the constructability of the roof.
According to the codes, a roof must sustain different loading conditions.
Thus, based on the unit load member forces, the max-min axial forces that
correspond to the set of different loading cases are calculated for every
member.
The sizing optimization is performed for all the members of a group that
need to be designed. For every member a list of sections is tried. The tension
requirements of the codes are usually much simpler than the compression
requirements that also need to take buckling into account. The minimum
minimorum, i.e. the minimum of minimums, is deduced for every member
with respect to all different groups of acceptable members. The members
designed against compression are first designed for the same force in tension
so as to determine the required section in tension. The compression re-
quirements are tested only for sections that have greater area than that
required for tension. This results in substantial reduction in time and cor-
responds to a branch and bound algorithm, in which we also set a lower
bound to prune searching.
To complete the sizing of all members of the truss, only half of the
members need to be designed, due to the symmetry of the structure. Wind
is considered acting in either directions. Then the weight of the truss is
calculated and it is used in an iterative process. Several iterations, starting
with the current design are used to alter the members according to the actual
weight of the truss, which is increased by a certain percent, to allow for the
weight of connections. Usually, in two or three iterations the design is
stabilized.
The variation of the central processing unit (CPU) time for this sizing
optimization is presented in Table 1. The total time for the analysis and
design of a specific layout having 97 members is 6.26 sec, i.e. 2.64 sec for
the generation, analysis and design of the purlin. The analysis of the truss
is performed using a logic program for the analysis of statically determinate
trusses (Koumousis and Georgiou 1992). These results were obtained in a
386/33 MHz PC under DOS. The program was written in Turbo Prolog
(Turbo 1988). By comparing the results with nonlinear integer programming
algorithms (Bremicker et al. 1990), it can be seen that the overall perfor-

TABLE 1. CPU Time for Sizing Optimization of Steel Roof


Number of database
Designed members Total members sections Time (sec)
(1) (2) (3) (4)
25 49 314 1.8
49 97 314 3.46
102 201 314 7.9

316

J. Comput. Civ. Eng., 1994, 8(3): 309-325


mance is very satisfactory. In the case of smaller trusses, the time for a
complete design ranges between 30-50 designs per minute. For large trusses,
most of the members are designed in compression and this results in a 30-
50% increase in the design time.
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

Genetic Algorithm in Steel Roof Optimization


The following variable coding was selected to adjust the layout design
variables of the problem to the concepts of the genetic algorithm. The
dimensions of the orthogonal in-plan industrial building or warehouse, are
the main given data, which are considered fixed. The height of the building
and the maximum overall height are also input data that are specified by
the user. The number of trusses used for the entire roof is a free variable.
Another design variable is the number of spacings in the inclined upper
chord (rafter) of the truss. The side height and the total height of a trap-
ezoidal truss are also free design variables.
The user selects the range and the step for the layout design variables
and a program performs a binary coding for every variable. Then, the coded
strings are concatenated, and the chromosomal length is determined and it
is kept constant for the particular application. An inverse procedure per-
forms the decoding of the concatenated binary string in order to establish
a communication between the actual problem design variables and the con-
catenated binary string. For every decoded string, a sizing problem is solved
which returns the value of the objective function. For this application, this
is the total weight of the roof (cladding, trusses, purlins, and braces) or the
weight of only the trusses, the purlins and the braces. Genetic algorithms
search for the maximum of an objective function. Thus, to solve a min-
imization problem we use the following nonnegative objective function:
f(x) = Cma x - g(x) (5)

where Cmax = a constant greater than the maximum possible weight g(x),
for every binary string x
The form of the general concatenated string x is as follows:
x = 01101101001001110111110010 (6)
NT INPI TH I SH
where NT = total number of trusses; NP = number of purlins; TH = total
height; and SH = side height of a trapezoidal truss.
An important characteristic of the genetic algorithm is that the design
space must contain all the designs that range from the binary string
00000000000000000000000 to 11111111111111111111111
To demonstrate the evolution of the method, a reproduction, crossover
and mutation of a population is presented in Fig. 5. The population size is
20 designs. The chromosomal length is 23 digits, the crossover probability
is 0.6, and the mutation probability is 0.01. In the first column, the initial
random population is presented, in the form of binary strings. In the second
column, the total weight of the truss layout that corresponds to the decoded
string is listed. In the next column, the pairs of parents for which crossover
took place, at a randomly selected digit specified in the fourth column, are
shown. The crossover probability 0.6 determines whether crossover will be
applied to the selected pair or not. If the answer is positive, then a digit is
selected randomly and the crossover takes place. For every digit of the two
317

J. Comput. Civ. Eng., 1994, 8(3): 309-325


Generation 0 Generation 1
No. Chromosome fittness paren~ xsite Chromosome fittne,ss
1 00101001111001000000011 510.5 14,5 2 01001001011111011010010 433.6
2 11011000000101001011111 491.1 14,5 2 11100100101011001000000 383.8
3 11001011001010101101000 35~9 9,5 2 01001001011111011010010 433.6
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

4 00101011110001101111100 512.2 9,5 2 11111000100010011111000 468.2


5 11001001011111011010010 348.4 19,15 23 10100010110100100100110 331.3
6 00110001000101101101010 53r 19,15 23 01100100011000010111101 356.2
7 11010111101110011010111 396.5 9,7 11 01111000100110011010111 422.7
8 00011010010011100111100 533.3 9,7 11 11010111101010011111000 415.5
9 01111000100010011111000 426~ 11, U 23 10110010100110110010010 371.6
10 10110110011000101110001 376.0 11,11 23 10110010100110110010010 371.6
11 10110010100110110010010 371.6 5,3 4 11001011001010101101000 354.9
12 11010110100111011010001 40&6 5,3 4 11001001011111011010010 348.4
13 10100000000100110111100 443.6 19,17 23 10100010110100100100110 331.3
14 01100100101011001000000 394.5 19,17 23 11010111101110011010111 396.5
15 01100100011000010111101 356.2 17,6 11 01000010001101101101010 390.6
16 10111000010100110111001 396.3 17,6 11 00110001000100010000011 553.9
17 01000010001100010000011 413.0 5,5 2 11001001011111011010010 348.4
18 01110000110000110110110 371.5 5,5 2 11001001011111011010010 I 348.4
19 10100010110100100100110 331.3 18,16 15 01110000110000110111001 372.6
20 10111011111010001010101 333.0 18,16 15 10111000010100110110110 396.0

Generation 1: Statistics
Min Max Average Sumation Number of Number of
(kN) (kN) (kN) (kN) mutation Crossover
331.34 553.94 391.49 7829.98 0 7

FIG. 5. Evolution of Generation

offsprings, mutation is performed by flipping a bias coin with the probability


of mutation and some digits are altered. This process continues until the
new population of the specified size is formed. Thus, for example, the 11th
and 12th designs of the next population are the offsprings of 5 and 3 crossed
at the 4th digit of their chromosome. After mutation, decoding of the binary
strings is performed and, for every design that represents a particular roof
layout, the minimum weight is calculated. These values are listed in the last
column of Fig. 5. For these values, simple statistics determine the max, rain,
average, the sum, the total number of mutations and crossover actions that
were utilized to produce this generation. Based on these statistics, the prob-
abilities of occurrence of the designs are determined and the whole process
repeats itself until the maximum number of generations have been com-
pleted. The best design represents the optimal solution deduced by the
algorithm.

NUMERICAL RESULTS
To test the efficiency of the method and establish good estimates for the
parameters of the algorithm, several problems were solved. This was first
done by solving all the alternative configurations in the layout design space,
and then by applying the genetic algorithm for the same problem. For
example, a roof of plan dimensions 40 x 120 m 2 is selected. The total
number of alternative configurations for this example was 8,388,608 = 16
x 32 x 64 x 256, i.e. 16 values for the number of panels ranging from 3
to 18 with step 1; 32 values for the number of trusses from 9 to 40 with step
1; 64 values for the side height ranging between 0.6 to 2 m in equal steps
318

J. Comput. Civ. Eng., 1994, 8(3): 309-325


TABLE 2, Detailed Optimal Design of Trapezoidal Truss
Number
Length of Area Weight Total
Member (m) Section Type sections (cm 2) (kg/m) (kg)
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

(1) (2) (3) (4) (5) (6) (7) (8)


L1 40.45 channel 54/45 x 4.0 2 5.13 4.03 326.01
U1 40.00 channel 46/45 x 3.0 2 3.73 2.93 234.40
V1 1.50 channel 46/45 x 3.0 1 3_73 2.93 4.40
D1 2.50 angle 35 x 6 1 3.87 3.04 7.60
V2 t.80 channel 40/40 x 3.0 1 3.25 2.55 4.59
D2 2.69 angle 35 x 4 1 2.67 2.10 5.65
V3 2.10 channel 46/36 x 3.0 1 1.19 2.50 5.25
D3 2.90 angle 30 x 3 1 1.74 1.36 3.94
V4 2.40 channel 46/36 x 3.0 1 3.19 2.50 6.00
D4 3.12 angle 20 x 3 1 1.12 0.88 2.75
V5 2.70 angle 40 x 4 1 3.08 2.42 6.53
D5 3.36 channel 18/21 x 1.5 1 0.81 0.64 2.14
V6 3.00 angle 40 • 3 1 2.35 1.84 5.52
D6 3.61 channel 18/21 x 1.5 1 0.81 0.64 2.30
V7 3.30 channel 28/28 x 1.5 1 1.17 0.92 3.04
D7 3.86 channel 25/25 x 1.5 1 1.04 0.81 3.14
V8 3.60 channel 18/21 • 1.5 1 0.81 0.64 2.29
D8 4.12 angle 40 x 4 1 3.08 2.42 9.97
V9 3.90 channel 18/21 x 1.5 1 0.81 0.64 2.48
D9 4.38 channel 40/40 x 3.0 1 3.25 2.55 11.18
V10 4.20 channel 18/21 x 1.5 1 0.81 0.64 2.68
D10 4.65 channel 46/45 x 3.0 1 3.73 2.93 13.63
Vll 4.50 angle 30 x 3 1 1.74 1.36 6.12

1.5 m LI L2 L3 I.,4 I.,5 L6 L7 L8 L9 LIO

+ +
FIG. 6. Optimal Truss

a n d 256 v a l u e s f o r t h e t o t a l h e i g h t r a n g i n g f r o m 3 to 7 m in e q u a l steps.
T h e o p t i m a l s o l u t i o n for this p r o b l e m was f o u n d t o b e 1,030 k N . B y u s i n g
a p o p u l a t i o n size o f 40 m e m b e r s , a c r o s s o v e r p r o b a b i l i t y o f 0.6, a n d a
m u t a t i o n p r o b a b i l i t y o f 0.01, t h e s a m e v a l u e w a s f o u n d in 11 g e n e r a t i o n s
(440 c o n f i g u r a t i o n s ) . O t h e r p a r a m e t e r c h o i c e s g a v e as a s o l u t i o n , 9 8 % o f
t h e exact s o l u t i o n . S i m i l a r r e s u l t s w e r e o b t a i n e d f o r o t h e r cases. T h i s m e a n s
t h a t t h e p e r f o r m a n c e o f t h e a l g o r i t h m is v e r y g o o d for a n e n g i n e e r i n g ap-
p l i c a t i o n s u c h as t h e d e s i g n o f a civil e n g i n e e r i n g s t r u c t u r e . In T a b l e 2, a
d e t a i l e d d e s i g n o f t h e b e s t l a y o u t t h a t a p p e a r s in Fig. 6 is p r e s e n t e d .
In all a p p l i c a t i o n s , t h e w e i g h t o f t h e c l a d d i n g v a r i e s at m o s t 2 % ; i.e., it
practically r e m a i n s c o n s t a n t , w h i l e it r e p r e s e n t s a p p r o x i m a t e l y 6 5 % o f t h e

319

J. Comput. Civ. Eng., 1994, 8(3): 309-325


440

420 - - Cmax = 150% max

~ 400
- - Cmax= 130% max
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

Cmax= 110% max


,-~ 380
[$1D

360

E.
~ 340

320

300
0 10 20 30 40 50 60 70 80 90 1 O0

Number of generations

FIG. 7. Variation of Average Weight of Each Generation for Different Cmax Values

440

- - Pm =0.01
420
0.005
'400
0.001

380

~: 360
=.,

~.~ 340

320

300 I I ] I I [ I I I

10 20 30 40 50 60 70 80 90 1O0
Number of generations
FIG. 8. Variation of Average Weight of Each Generation for Different Probabilities
of Mutation

total weight of the roof. The omission of this weight in the objective function
improves the performance of the genetic algorithm considerably, because
it practically corresponds to a smaller value of Cmax.
Furthermore, the statistics of the generation are readily affected by the
constant Cma• which in turn affects the convergence of the algorithm. One
way to overcome this, is to update the constant after a specific number of
generations (Hajela 1990). Another way that was adopted in this study to
update the constant Cm,x at every generation by fixing its value to a certain
percent above the minimum detected weight i.e. (l.30Wmax). The effect of
updating for different percentages above the maximum weight is presented
in Fig. 7. The best performance was observed for a scheme updated 10-
30% above the maximum weight of the generation. These results and the
320

J. Comput. Civ. Eng., 1994, 8(3): 309-325


460

440 --Pop=30

,", 420 A oo: o


Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

400

380

360

340

320

300
10 20 30 40 50 60 70 80 90 100

Number ofgenerations
FIG. 9. Variation of MinimumWeightof Each Generation with Different Population
Size

335

OLP = 0
330
OLP = 4

OLP = 1 0
.~ 325

.. 320

315

310
0 10 20 30 40 50 60 70 80 90 1O0

Number of generations
FIG. 10. Variation of Minimum Weight of Each Generation with Different Values
of Overlapping

remaining of this study correspond to a roof of span S = 40 m, and length


L = 120 m.
The effect of the different probabilities of mutation on the convergence
of the process is presented in Fig. 8. It is observed that for high probabilities
of mutation the problem becomes quite unstable. The studied problem yields
a rather flat optimum, because for every layout the minimum weight is
deduced as an objective function and thus, the genetic algorithm selects
from already optimized designs. The best performance is observed for near
zero probability of mutation.
In Fig. 9, the effect of the population size on the convergence of the
whole process is presented. The curves correspond to the average of every
generation with population size of 10, 30, or 50, P~ = 0.6, and P m = 0.005.
321

J. Comput. Civ. Eng., 1994, 8(3): 309-325


700

650 - - maximum

,'--, 600 - - average


Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

minimum
~ " 550
=.
'~ 5oo

450
C
400

350

300 L I I

20 40 60 80 10o
Number of generations
FIG. 11. Variation of Min, Average, and Max Weight of Each Generation with Pc
= 0.6; P,,, = 0.005; Pop = 50, N o Overlapping

700

650 - - maximum

,'-, 600 - - average

550 minimum
.,g
"~ 500

450
o
400

350

300 I ] I L t--~--1--
10 20 30 40 50 60 70 80 90 100

Number ofgenerations
FIG. 12. Variation of Min, Average, and Max Weight of Each Generation with Pm
= 0.6, P+ = 0.005, Pop = 50, Four Members Overlapping

For this particular application the best performance was observed for Pop
= 10, which gave better optimum, while Pop = 50 was more stable.
To stabilize the overall response of the process, the best designs of the
previous generation are allowed to pass to the next generation, i.e. following
an elitist strategy. The other designs of the new generation are reproduced
on the basis of the statistics of the previous generation. In effect, this assigns
different weights for the determination of the probabilities that the designs
of the present population will exist in the next generation. The overall effect
of allowing this overlapping of the populations has a stabilizing effect on
the process, as it can be seen in Fig. 10.
In Fig. 11, the variation of the minimum, average and maximum weight
of every generation is presented with Pop = 50, I'm = 0.0001, Pc = 0.6,
322

J. Comput. Civ. Eng., 1994, 8(3): 309-325


325
Pop= 1 O0

Pop= 150
320
Pop= 2 0 0
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

Pop=250
9~ 31s
m
O
[" 310

305 I I I I i
10 20 30 40 50

Number of generations
FIG. 13. Variation of Minimum Weight of Each Generation with Different Popu-
lation Sizes

525
500
- - Pop= 100

- - Pop = 1 5 0

~450
475
Po00o
'~425
400

375
[,.
350

325

300 ~ 4 t
0 10 20 30 40 50
Number of generations
FIG. 14. Variation of Average Weight of Each Generation with Different Population
Sizes

and no overlapping. It is observed that the genetic algorithm sharply reduces


the weights and the rain, aver. and max weight converge to the same value.
In Fig. 12 the variation of the minimum, average and maximum weight
of every generation is presented with Pop = 50, Pm = 0.0001, Pc = 0.6,
and an overlapping of four members. The introduction of overlapping had
a stabilizing effect and converged to better value.
In Fig. 13 the variation of the minimum weight of every generation is
presented for each generation with different populations sizes, i.e. Pop =
100, 150, 200, and 250 designs. In all cases, P,,, = 0.01, Pc = 0.6, and
overlapping of only two designs is considered. The best performance was
observed for population size 100, which in 39 generations offered the min-
imum. The variation of the average weight for the above selection is pre-
323

J. Comput. Civ. Eng., 1994, 8(3): 309-325


440

- - M =.01,C = . 6 , 0 L P = O
420
- - M=O, C=.6, OLP=O
~ 400
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

M = O , C = . 6 , OLP=4

1~ 3 8 0

~: 360

[,~ 340

300 ~ i ~ i ~ ~
0 10 20 30 40 50 60 70 80 90 1 oo

Number of generations

FIG. 15. Variation of Average Weight of Each Generation for Various Values of
Parameters

sented in Fig. 14. Similar results were observed for bigger values of prob-
ability of mutation. Thus, for this problem moderate population sizes
performed better.
From the results presented, it can be observed that the estimation of the
basic parameters is a rather delicate problem for which no absolute rules
for good estimates exist. However, the generic algorithm can give satisfac-
tory solutions for a wide range of the parameters, as shown in Fig. 15, where
the average weight is plotted for different values of the probability of mu-
tation, probability of crossover and overlapping.

CONCLUSIONS

Discrete optimization problems, such as the optimal steel roof design,


usually form nonconvex design spaces and often disjoined design spaces.
For these cases, traditional optimization methods based on mathematical
programming are not effective. Moreover, there exist no general methods
to characterize the problem a priori as convex or nonconvex. Genetic al-
gorithms offer an alternative approach. They prove to be robust algorithms
for locating the area of global extremum to a degree satisfactory for design
purposes. In this study, of the design of steel truss roofs, the results were
quite satisfactory for a population size between 10 and 50, crossover ranging
between 0.6 and 0.8, and mutation less than 0.01.

APPENDIXI. REFERENCES
Aarts, E., and Korst, J. (1989). Simulated annealing and Boltzmann machines. John
Wiley & Sons Ltd., London, England, 33-52.
Booker, L. (1987). "Improving search in genetic algorithms." Genetic algorithms
and simulated annealing, L. Davis, ed., Morgan Kaufmann Publishers, Inc., Los
Altos, Calif., 61-73.
Bratko, I. (1990). Prolog--programming for artificial intelligence, 2nd ed., Addison-
Wesley Pubi. Co., Reading, Mass.
Bremicker, M., Papalambros, P. Y., and Loh, H. T. (1990). "Solution of mixed-
324

J. Comput. Civ. Eng., 1994, 8(3): 309-325


discrete structural optimization problems with a new sequential linearization al-
gorithm." Computers and Struct., 37(4), 451-461.
Clocksin, W. F., and Mellish, C. S. (1981). Programming in Prolog, 3rd Ed., Sprin-
ger-Verlag, New York, N.Y.
De Jong, K, A. (1975). "An analysis of the behavior of a class of genetic adaptive
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.

systems," doctoral dissertation, University of Michigan, Ann Arbor, Mich,


Eurocode No. 3. Design of steel structures. (1989). Commission of the European
Communities.
Genetic algorithms and simulated annealing. (1989). L. Davis, ed., Pitman, London,
England.
Goldberg, D. E. (1989). Genetic algorithms in search optimization and machine
learning. Addison-Wesley, Reading, Mass.
Hajela, P. (1989). "Genetic algorithms in automated structural synthesis." Rep.,
NATO Advanced Study Institute on Optimization and Decision Support Systems,
Edinburgh, Scotland.
Hajela, P. (1990). "'Genetic algorithms--an approach to the non convex optimization
problem." AIAA J., 28(7).
Holland, J. H. (1975). Adaptation in natural and artificial systems. University of
Michigan Press, Ann Arbor, Mich.
Hu, T. C. (1982). Combinatorial algorithms. Addison-Wesley Publ. Co., Reading,
Mass.
Koumousis, V. K., and Georgiou, P. G. (1993). "An expert system for steel roof
design." Struct. Engrg. Rev., 5(2), 169-181.
Koumousis, V. K., and Georgiou, P. G. (1992). "Statically determinate trusses
programmed in logic." J. Computing in Cir. Engrg., ASCE, 6(4), 435-455.
Koumousis, V. K., and Georgiou, P. G. (1991). "An expert system for the design
of industrial building steel roof trusses." 2nd Int. Conf. on the Applications of
Artificial Intelligence in Cir. and Struct. Engrg., Oxford, England.
Sterling, L., and Shapiro, E. (1986). The art of Prolog: advanced programming
techniques. MIT Press, Cambridge, Mass.
Turbo Prolog 2.0 users manual. (1988). Borland International Inc., Calif.

APPENDIX II. NOTATION

The following symbols are used in this paper:

Pop = population size;


P,,, = probability of mutation;
Pc = probability of crossover;
OLP = number of overlapping members;
NT = number of trusses in roof;
NP = number of purlins in rafter of truss;
SH = side height of trapezoidal truss; and
TH = total height of trapezoidal truss.

325

J. Comput. Civ. Eng., 1994, 8(3): 309-325

You might also like