Among the freely available toolboxes for MATLAB, GPLAB stands out as one of the most flexible and powerful
[8]. However, the implementation of the algorithms in this paper uses the integrated Global Optimization toolbox
and customizes the functions where needed.
A general principle scheme of the algorithm we used is presented in Fig. 1. The algorithm starts by randomly
generating a population of candidate solutions inside the design space (allowable parameters range). From this point
the population is iterated in a loop (each loop giving birth to a new generation of individuals), evolving towards
what is hopefully an optimal solution. Each individual in the population has a fitness value determined by the how
well conformed and economic its correspondent solution (truss) is. The determination of the fitness value is done by
calculating the total mass of the proposed solution and by determining with FEA how well it conforms to the
maximum stress and maximum allowable displacement.
The individuals in each new generation are obtained from the old generation by using the GA operators of
selection, crossover and mutation. These are described in more detail in section 2.3 below.