Professional Documents
Culture Documents
INTRODUCTION
309
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).
Reproduction
Downloaded from ascelibrary.org by Universidad Nacional De Ingenieria on 10/19/18. Copyright ASCE. For personal use only; all rights reserved.
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. 2. Distance of Adjacent Purlins as Function of Number of Purlins (NP)
SH
II
FIG. 3. Heights of Trapezoidal Truss
312
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
314
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.
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-
316
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
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
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
+ +
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
~ 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.
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
440 --Pop=30
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
650 - - maximum
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
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
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
- - 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
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
325