Evolving Truss Structures Using Genetic Algorithms

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
13,998
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on May 25, 2009

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.

  • likes, 2 dislikes

Link to this comment:

Share to:

Uploader Comments (ZongyiYang)

  • Durr hurr, the vestigal structure wasn't completely useless since it still provides some support, therefore it wasn't vestigal, durr hurr

    ^

    |

    |

    My impression of a certain type of weak criticism.

  • @tifforo1 You are probably correct, lol. Looking it over, vestigial was not a good word choice. I wanted to point out that the genetic algorithm did not find the most efficient solution, just one that works. It got stuck with a non-optimal solution near the base there, the most optimal solution should be just a bunch of triangles. However, like that laryngeal nerve in giraffes, it had to make do with what it has. It would take an incredibly rare mutation to optimize that bit.

  • Hi. Did you create this program for a master´s degree?

    What is your background: civil engineering?

    Thanks.

  • @jpp7233 I made this program in between 1st and 2nd year of Engineering Science. I am currently in 3rd year Engsci in the Electrical and Computer option. I had a Civ102 course in year 1 so I had some background knowledge of trusses.

  • do you have anything more that is even close to this? im going into engineering and this is one of the most beautiful things i have ever seen!

  • @WhatIsGod The program was initially made for bridges, but 4 bridges didn't fit in a video so I changed it to select for height. I don't have a vid for it, but maybe next summer break I'll find the time to dig up this code from my archives and make a new vid

Top Comments

  • what song used in soundtrack?

see all

All Comments (28)

Sign In or Sign Up now to post a comment!
  • you have some great stuff here

  • very interesting video thanks

  • really informative and interesting

  • you have some great stuff here

  • really informative and interesting

  • Might be interesting to see what kind of structure would evolve if you make the direction of gravity continuously change, by a few degrees on each generation

  • Good work!

  • Notice this important thing about genetic algorithms. They do not always optimize for the constraints. They seem to, but unless you test every possibility, or at least know special information of what you test, there could be a better solution that you missed. Remember, it's like finding a point in a large multidimensional graph, once you start towards one 'solution', its like a black hole. Now, I think that if you mix dozens of different solutions together in a complex one, you can find better

  • it looked like they were dancing, kinda.

Loading...

Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more