A 101-line MATLAB code for topology optimization using binary variables and integer programming - Picelli, Renato; Sivapuram, Raghavendra; Xie, Yi Min (Structural and multidisciplinary optimization, 2021)
This paper presents a MATLAB code with the implementation of the Topology Optimization of Binary Structures (TOBS) method first published by Sivapuram and Picelli (Finite Elem Anal Des 139: pp. 49–61, 2018 ). The TOBS is a gradient-based topology optimization method that employs binary design variables and formal mathematical programming. Besides its educational purposes, the 101-line code is provided to show that topology optimization with integer linear programming can be efficiently carried out, contrary to the previous reports in the literature. Compliance minimization subject to a volume constraint is first solved to highlight the main features of the TOBS method. The optimization parameters are discussed. Then, volume minimization subject to a compliance constraint is solved to illustrate that the method can efficiently deal with different types of constraints. Finally, simultaneous volume and displacement constraints are investigated in order to expose the capabilities of the optimizer and to serve as a tutorial of multiple constraints. The 101-line MATLAB code and some simple enhancements are elucidated, keeping only the integer programming solver unmodified so that it can be tested and extended to other numerical examples of interest.