Assistant, Ph.D. Student eng. Thechnical Univerity of Cluj-Napoca, Str. Constantin Daicoviciu, nr. 15, 400020 Cluj-Napoca, Romania, email: Radu.Hulea@mecon.utcluj.ro Assistant, Ph.D. Student eng. Thechnical Univerity of Cluj-Napoca, Str. Constantin Daicoviciu, nr. 15, 400020 Cluj-Napoca, Romania, email: zoicasradu@gmail.com
131
1.
INTRODUCTION
A great deal of attention has been paid out to genetic algorithms due to their potential becoming a new method of optimization. Among the advantages using this type of methods one can enumerate: simple manner of approaching the problem, the flexibility and the precise response to changing circumstances [1]. The optimization algorithm described is composed using MATLAB and it is based on Haupts code and on the one predefined in MATLAB, slightly modified to be able to work with both discrete (profiles, cross sections) and continuum (nodes, pre-tensioning forces) variables. For PGA I implemented a function which changes the number of individuals created by crossover and mutation functions according to the obtained solutions. The optimization function is an iterative process which contains nine steps for SGA, respectively ten steps for PGA. 1. Determination of the number of parents necessary to create a new generation 2. Elite selection 3. Scaling the fitness value 4. Parent selection 5. Creation of the individuals through cross-over 6. Creation of the individuals through mutation 7. Creating a new generation 8. Fitness value calculation for each individual 9. Finalizing condition check 10. Changing the PGA parameters
2.
The structural optimization algorithm is written in MATLAB code based on evolutionary theories (genetic algorithms). The objective function (1) is represented by the weight of the structure, and the imposed restrictions are deflections (2) and tensions (3). The operator which creates the initial population and which is also used for mutation, was elaborated by the author to generate real and integer numbers, and the rest of the operators: 132
GNP 2012
scaling, selection and cross-over are from MATLAB library [2]. A decoding function and a parameter (mutation ratio, number of individuals created using cross-over function) changing function was written.
fo
Where:
elemente nr . n 1
ln An
(1)
elem
(2)
u, v , w
Where:
elem
u, v , w adm
- axial tension in element
(3)
elem
elem
Ni Ai
M y,i Wy ,i
M z ,i Wz ,i
[u,v,w]elem - joint displacement - admisible streeses adm [u,v,w]adm - joint admisible displacement
2.1.
FITNESS FUNCTION
The fitness value of an individual from a genetic algorithm process is provided by (4) which contain the objective function. The fitness function has three stages; the first one is decoding the individual in order to input the data into the structural analysis program; the second one is where the objective (structure weight) function is being calculated and the penalty coefficient is being evaluated according to imposed restrictions.
ff
f o (1 p2 )
ff - fitness function fo - objective function p - penalty coefficient
(4)
Where:
2.2.
INITIAL POPULATION
The initial population creating function has two primary steps. In the first stage natural values will be generated for the variables which represent element cross sections (profiles), following the generation of real number for the nodal coordinates and pretensioning forces. After finalizing this process begins the evaluation of the individuals from the created population, and after this step the process continues with the iterative stage. 133
2.3.
MUTATION
The mutation process consists in randomly electing several genes of an individual and replacing them with a number that respects the interval imposed by the user. This function contains the mutation parameter which represents the maximum number of variables that can be changed. In AGA process this parameter modifies according to obtained solutions.
2.4.
ENCODING FUNCTION
The program uses two types of encoding of the variables based on what they represent in the structure. The first type represents discrete values from the natural numbers, i.e. elements from a database (cross-sections). The second type is defined on a continuous domain (real numbers) and is representing the nodal coordinates. When variables are defined, the type each variable is also determined. The algorithm organizes these variables in vectorial elements which represent individuals which are grouped in generations.
2.5.
This function evaluates the convergence of the optimization problem, and if for n consecutive generations the global optimum is unchanged then the number of individuals created by the mutation function increases in order to investigate new areas. Once found the new global minimum the parameters will tend linearly towards the initial values for investigating the area in question. Parameters progressively change their values between minimum and maximum. The genetic scaling, selection and cross-over operators are the ones predefined in MATLAB library which are: operator rank scaling, stochastic uniform selection and two point crossover.
2.6.
Structural optimization problems are limited to certain restrictions, which can be represented by tensions and deflections. The elaborated program calculates the bar tensions and the nodal displacements based on finite element method. The analysis program of planar and spatial frames is preforme with Ansys, using the Beam 188 and Ling 8 elements [3,4].
3.
3.1.
NUMERICAL RESULTS
PROBLEM 1A: PLANE FRAME
Objectiv function: Weight Structure Problems variables 1A: element section
134
GNP 2012
The plane structure is composed of truss elements (13 to 20 LINK8) and frame elements (1-12 BEAM188). In terms of geometric the structure is configured according to figure 2. It was taken into consideration a single loading case in wich the nodes 7 8 9 10 ware loaded with 150 kN on -Z direction. The restrictions of the problem are: admisible displacement of nodes 30 cm, maximum stress is 3000daN/cm2. The material used is steel with elasticity module 210GPa.
p1
nr . elemente 1
nr . elemente 1
Ni Ai
M y ,i Wy ,i
(5)
Figure 2. Frame Structure Table 1. Variable limits LB UB LB UB A1 1 76 A11 1 76 A2 1 76 A12 1 76 A3 1 76 A13 1 76 A4 1 76 A14 1 76 A5 1 76 A15 1 76 A6 1 76 A16 1 76 A7 1 76 A17 1 76 A8 1 76 A18 1 76 A9 1 76 A19 1 76 A10 1 76 A20 1 76
Table 2. Optimization program setup Nr. Generation Nr. Individs Crossover parameter Mutation rate Scaling function Selection function Crossover function 150 55 0.70 0.04 Proportional scaling Stochastic uniform selection Scattered crossover Table 3. Optimal Solution Generation number Fitness value [kg] Time [s] SGA 102 1561 14454 135
3.2.
LB UB LB UB
A1 1 76 A11 1 76
A2 1 76 A12 1 76
A8 1 76 A18 1 76
A9 1 76 A19 1 76
A10 1 76 A20 1 76
Table 5. Optimization program setup Nr. Generation Nr. Individs Crossover parameter Mutation rate Scaling function Selection function Crossover function 150 50 0.75 0.04 Proportional scaling Stochastic uniform selection Scattered crossover
Table 6. Optimal Solution Generation number Fitness value [kg] Time [s] SGA 150 1399 19639
GNP 2012
Table 7. Solution obtained for 1A, 1B Variabile nod 2 - z nod 3- z nod 4 -z nod 5 -z A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A19 A19 A20 Weight [kg] Results P1a (element section) (SGA) 0 0 0 0 52 47 49 37 66 51 55 59 27 34 36 21 43 45 42 34 43 2 14 32 712.32 Results P1b (element section + nodes coordonates) (PGA) 0 0 2.12 3.88 47 60 59 43 60 65 53 53 20 31 28 40 45 34 26 41 5 36 17 26 683.68
3.3.
Spatial structure with truss elements (LINK8(14-30)) and frame elements (BEAM188(1-13)) composed of 15 nodes according to figure 3. The material used is steel with elasticity module 210 GPa. Admisible nodal displacement is 8 cm, maximum tension is 3000daN/cm2.
p1
nr . elemente 1
nr . elemente 1
Ni Ai
M y ,i Wy ,i
M z ,i ) Wz ,i
(6)
Table 9. Optimal Solution Generation number Fitness value [kg] Time [s] SGA 79 1023.9 8055
Table 10. Detailed optimal solution Variables A1 A2 A3 A4 A5 A6 A7 A8 A9 Weight [kg] Result P3(element section) 3 6 12 31 31 10 27 33 68 1023.9
4.
CONCLUSIONS
Mostly SGA method generated lower results than the PGA, but for most of the processes performed with SGA number of generations used was lower than those made with the PGA.
LITERATURE
[1] [2] [3] [4] S. N. Sivanandam, S. N. Deepa: " Introduction to Genetic Algorithms", Springer-Verlag, Berlin, 2008 "Global Optimization Toolbox 3 Users Guide Matlab ", The MathWorks, Inc., 2010 E. Madenci, I. Guven: "The finite element method and applications in engineering using ANSYS", Springer Science-nBusiness Media, Arizona, 2006 T. Stolarski, Y. Nakasone, S. Yoshimoto: "Engineering analysis with ansys software", Elsevier Butterworth-Heinemann, Oxford, 2006
138