Topology optimization (TO) is a mathematical method that optimizes material layout within a given design space, for a given set of loads, boundary conditions and constraints with the goal of maximizing the performance of the system. Topology optimization is different from shape optimization and sizing optimization in the sense that the design can attain any shape within the design space, instead of dealing with predefined configurations. The conventional topology optimization formulation uses a finite element method (FEM) to evaluate the design performance. The design is optimized using either gradient-based mathematical programming techniques such as the optimality criteria algorithm and the method of moving asymptotes or non gradient-based algorithms such as genetic algorithms. Topology optimization has a wide range of applications in aerospace, mechanical, bio-chemical and civil engineering. Currently, engineers mostly use topology optimization at the concept level of a design process. Due to the free forms that naturally occur, the result is often difficult to manufacture. For that reason the result emerging from topology optimization is often fine-tuned for manufacturability. Adding constraints to the formulation in order to increase the manufacturability is an active field of research. In some cases results from topology optimization can be directly manufactured using additive manufacturing; topology optimization is thus a key part of design for additive manufacturing. Problem statement A topology optimization problem can be written in the general form of an optimization problem as: The problem statement includes the following: An objective function . This function represents the quantity that is being minimized for best performance. The most common objective function is compliance, where minimizing compliance leads to maximizing the stiffness of a structure. The material distribution as a problem variable. This is described by the density of the material at each location . Material is either present, indicated by a 1, or absent, indicated by a 0. is a state field that satisfies a linear or nonlinear state equation depending on . The design space . This indicates the allowable volume within which the design can exist. Assembly and packaging requirements, human and tool accessibility are some of the factors that need to be considered in identifying this space . With the definition of the design space, regions or components in the model that cannot be modified during the course of the optimization are considered as non-design regions. constraints a characteristic that the solution must satisfy. Examples are the maximum amount of