A Structural Optimization Tutorial

#artificialintelligence 

Structural optimization is a useful and interesting tool. Unfortunately, it can be hard to get started on the topic because existing tutorials assume the reader has substantial domain knowledge. They obscure the fact that structural optimization is really quite simple, elegant, and easy to implement. With that in mind, let's write our own structural optimization code, from scratch, in 180 lines. The goal of structural optimization is to place material in a design space so that it rests on some fixed points or "normals" and resists a set of applied forces or loads as efficiently as possible. To see how we might set this up, let's start with a beam design problem from Andreassen et al (2010): The large gray rectangle here represents the design space.