Genetic Algorithm – Optimal Trusses

Author: Joshua Summary: genetic algorithm with user interface that searches for optimal truss Abstract: Genetic Algorithms (GA's) are a type of optimization method for finding the best combination of variables for a given problem. GA's mimic evolution by mating genes (sets of variables) and introducing random mutations. This project is an exploration of using GA's for the optimization of a truss structure and methods for visualizing the changing the algorithm real-time. Repository: https://github.com/jlopezbi/trussGA

I created a user interface and real-time display of the genetic algorithm.

Display: Blue nodes are fixed, red node is loaded with a force in the negative z direction of 10lb.  Cyan nodes are mutated.  Green edges are in compression, Magenta edges are in tension.  Line width shows magnitude of strain (how much the edge would stretch given its made of Aluminum sheet metal) relative to the maximum compression or tension.

User Interface: User can set various parameters of the G.A. More detail is provided below.  There is also a real-time updating graph of the minimum cost per generation.

  1. population size
  2. percentage of parents/number of parents,
  3. mutation rate – percentage of total data (all mutable nodes) to be mutated
  4. idle generations – number of generations to keep searching even if the difference between the best individuals is very small
  5. max iteration – maximum number of iterations
  6. uWeight – relative importance of finding a stiff structure (u -> displacement)
  7. mWeight – relative importance of finding a light structure (m -> mass)

 

Leave a Reply