The Evolution of a Truss Structure program contains a truss solver as well as a genetic
algorithm optimizer. The truss solver uses a direct stiffness model to solve for the forces in
each element of the truss and displacements of each node in the truss. Based on the forces
and geometric and material properties, a safety factor for each element is also calculated.
The genetic algorithm optimizer generates a chromosomal representation of a “species” of
truss, and “breeds” individuals of the population by swapping alleles in a single-point-crossover
manner. Population size and mutation rate are set by the user. Individuals are evaluated based
on a “fitness” function, and individuals which have a higher fitness are more likely to be chosen
for mating, and thus more likely to pass on the traits which yield a higher fitness.