How To Use SGA

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

PROGRAMA DE PS-GRADUAO EM ENGENHARIA CIVIL - PPGEC

CENTRO TECNOLGICO
UNIVERSIDADE FEDERAL DE SANTA CATARINA

TUTORIAL
How to use the SGA code
This tutorial is a step by step explanation about how to use the SGA code. The sections and equations
cited below refer to the paper that presented the SGA:

M.S. Gonalves, R.H. Lopez, L.F.F. Miguel, Search group algorithm: A new metaheuristic method
for the optimization of truss structures, Computers & Structures, 153:165-184, 2015.
0.1016/j.compstruc.2015.03.003
STEP 01
Define the problem to be solved in the file fobjs.m. In this file, the user must provide:
1) the objective function to be solved (fobj)
2) the number of design variables of the problem (dim)
3) the upper and lower bounds of the design domain (ub and lb, respectively): these must be column
vectors
STEP 02
Define the SGA parameters in the file Example.m. In this file, the user must provide the values of:
1) alfamin: minimum value that alpha may assume in Eq.(6): see section 3.4
2) alfa0: initial value of alpha: Eq.(6)
3) itmax: maximum number of iterations (it_max)
4) itglobal: percentage of itmax dedicated to global phase selection scheme: see section 3.5
5) npop: population size: npop of Eq.(4)
6) ng: percentage of npop that forms the search group (0.1 = 10%)
7) npertub: number of mutated individuals of the search group: see Eq.(5) in section 3.3
8) v: number of individuals that each search group member generates at each iteration. The first entry of
this column vector is the number of individuals that the best search group member generates, the second
entry is the number of individuals that the second best search group member generates, and so on. It
MUST follow three rules (see section 3.4):
- rule 1: number of elements of v must be equal to ng*npop
- rule 2: the sum of the terms of v must be equal to npop minus the size of the search group, i.e.
sum(v)=(1-ng)*npop
- rule 3: it must be a column vector
STEP 03
Run the file Example.m and the results will be stored in the variables:
1) xopt: minimum found
2) fopt: objective function value at the minimum

Caixa Postal 476 - CEP 88010-970 - Florianpolis / SC - Fone (048) 3721.5175


e.mail : [email protected] home page: http://www.ecv.ufsc.br ; http://ppgec.posgrad.ufsc.br/

PROGRAMA DE PS-GRADUAO EM ENGENHARIA CIVIL - PPGEC


CENTRO TECNOLGICO
UNIVERSIDADE FEDERAL DE SANTA CATARINA

IMPORTANT TIPS:
1) The percentage value of the population that forms the search group (ng) must be set in such a manner
that it generates an integer value, i.e. the multiplication of npop by ng must be an integer value.
2) In this version of the code, the following parameters are automatically assigned:
- parameter that controls how far a new mutated individual is generated t (see Eq.(5) in section 3.4): in
the current version of the SGA code, it is defined as the count variable of the for loop between lines 68
and 71.
- parameter for the reduction of the value of alpha at each iteration b (see Eq.(7) of section 3.4): in the
current version of the SGA code, it is set as the maximum value between the two values defined in the
line 27. Alpha is then updated between lines 76 and 81(global phase) and 91 (local phase) of the code;
3) For constrained optimization problem, the user must introduce the constraints at the objective function
calculation. For instance, handling them with a penalization approach, e.g. as described in Eq.(2) of the
article Gonalves et al. (2015). In such an equation, the parameter h was set equal to 5x109 (this very
high value of h makes the algorithm discard unfeasible designs). We have tested some other strategies
for constraint handling in SGA, but so far, the one that provided the best results was penalization with a
extremely high value of h (which is a good think, you do not have to calibrate this parameter!).
Any question, doubts or bugs found, just email us:
Matheus Silva Gonalves: [email protected]
Dr. Rafael Holdorf Lopez: [email protected]
Dr. Leandro Fleck Fadel Miguel: [email protected]

Caixa Postal 476 - CEP 88010-970 - Florianpolis / SC - Fone (048) 3721.5175


e.mail : [email protected] home page: http://www.ecv.ufsc.br ; http://ppgec.posgrad.ufsc.br/

You might also like