Video:

Pictures:

Structure 1
Structure 2

Description of Video:

This is a preliminary run of a program that creates 2D statically determinant truss structures using genetic algorithms.

The program uses a population size of 100, starting with small triangles as the first generation. Rare mutations are then applied to the structure, involving adding nodes, deleting nodes, and moving nodes.

Almost all mutations will be harmful to the structure, such as mutations that cause the structure to become statically indeterminate, create members longer than the max length allowed (I set it to 2.5m), or cause members to break from stress (tensile, compressive, and buckling). These structures would be less likely to reproduce into the next generation. Sometimes, a helpful mutation will cause the truss to become less stressed, taller, or use fewer materials. These trusses are more likely to reproduce. Over time, the population will become more fit.

What you are seeing here is the best truss out of each generation. On the left is a colouring of the structure with green = tension and red = compression. To the right of that are three diagrams showing the amount of stress in each member, with blue being more. The three diagrams represent different winds (wind from the right, wind from the left, and no wind respectively). The wind pushes on only the highest node. Every node receives a downward force exerted from the weight of its members, but the top node also carries a large load.

The program takes some time to run. This one ran for 10-15min, so I have sped up the video (I sped up the end more than the beginning because it started to run slower as the structure became more complex). The program can be easily changed to allow for different environments, such as selecting for a long structure, causing a bridge to evolve.