Truss Topology Optimization
University of Colorado
Spring 2018
The formulation of optimization problems can be a difficult process. Convex programming plugins like CVX help to formulate the matrixes needed to solve the problem. To understand what is happening under the hood of CVX, I solved a truss topology optimization problem without using it.
To set boundaries for this truss system to be formed in I created a grid of 11x20 nodes. In these 220 nodes there is a possible 24.090 possible trusses. These trusses needed to support a downward force with three possible support locations subject to a cost function of my choosing. I tried two different cost functions. One to solely restricts the number of trusses given yield strength and area. The other cost function also penalizes long trusses. The resulting topology is radically different.
Without using a convex programmer like CVX, I had to create the code to form a 220 x ~48,000 matrix. By creating the matrices by hand for a smaller 2 x 4 node version of this problem, I was able to develop a code that scaled the problem to the full 11 x 20 problem. Solving this optimization problem gave me confidence that I could use these methods to solve a verity of other problems. (See Handwritten Number Recognition and Sudoku Solver)