# Generalized Optimality Criteria Method for
## 2 Generalized Optimality Criteria Method  
### Review of Optimality Criteria Method  
In this section, the conventional OCM [1] is reviewed for the purpose of developing the GOCM in the following section. In the SIMP method, the topological density of each element, \(x_{e},e=1,\ldots,N_{e}\), is considered as a design variable. Then, the optimization problem can be stated as \[ \begin{array}{ll}\text{Minimize}&c(\mathbf{x})=\sum\limits_{e=1}^{N_{e}}{(x_{e} )^{p}\{\mathbf{d}_{e}\}^{\text{T}}[\mathbf{k}_{e}]\{\mathbf{d}_{e}\}}\\ \text{subject to}&\frac{V(\mathbf{x})}{V_{0}}=f\\ &[\mathbf{K}]\{\mathbf{D}\}=\{\mathbf{F}\}\\ &\mathbf{x}_{\min}\leq\mathbf{x}\leq\mathbf{x}_{\max}\end{array}  \tag{1}\]  
In Equation (1), \(\mathbf{x}=\left\{ \begin{array}{cccc}x_{1}&x_{2}&\cdots&x_{N_{e}}\\ \end{array} \right\}^{\text{T}}\) is the vector of design variables, \(c(\mathbf{x})\) is the compliance, \(p\) is the penalization power (typically \(p=3\)) in the SIMP method, \(V(\mathbf{x})=\sum_{e=1}^{N_{e}}{x_{e}v_{e}}\) is the material volume with \(v_{e}\) being the volume of the element, \(V_{0}\) is the design domain volume, and \(f\) is the volume fraction. \([\mathbf{k}_{e}]\) is the stiffness matrix of element \(e\) and nodal degrees of freedom (DOFs) \(\{\mathbf{d}_{e}\}\). The assembly of the element stiffness matrix yields the global stiffness matrix \([\mathbf{K}]\), and that of nodal DOFs yields the global vector of DOFs \(\{\mathbf{D}\}\)[18]. The topological densities have the upper and lower bounds, \(\mathbf{x}_{\min}\) and \(\mathbf{x}_{\max}\), respectively. Many topology optimization problems are defined in the rectangular grid of mesh, i.e., pixels in 2D and voxels in 3D. However, the optimization problem in Equation (1) can also be applied to irregular grids. In Equation (1), since the structural equilibrium \([\mathbf{K}]\{\mathbf{D}\}=\{\mathbf{F}\}\) is solved first for given design variables, it is automatically satisfied at each design iteration. Moreover, the side constraints, \(\mathbf{x}_{\min}\leq\mathbf{x}\leq\mathbf{x}_{\max}\), can be satisfied directly when design variables are determined. Therefore, the optimization problem has a single compliance objective function and a single constraint of the volume fraction. The particular optimization problem is attractive because the sensitivity comes almost free of computation. The sensitivities of the compliance and the volume fraction can respectively be calculated as  
\[\frac{\partial c}{\partial x_{e}}=-p(x_{e})^{p-1}\{\mathbf{d}_{e}\}^{\text{T} }[\mathbf{k}_{e}]\{\mathbf{d}_{e}\} \tag{2}\]  
\[\frac{\partial V}{\partial x_{e}}=v_{e} \tag{3}\]  
The sensitivity of the compliance is so-called self-adjoint, which means that the adjoint response is identical to the structural response. Therefore, no additional calculation is required for the adjoint response. The sensitivity of the volume fraction is nothing but the element volume itself. The OCM can be derived by converting the constrained optimization problem in Equation (1) into an unconstrained one by defining the following Lagrange function:  
\[L(\mathbf{x},\lambda)=c(\mathbf{x})+\lambda(V(\mathbf{x})-fV_{0}) \tag{4}\]  
The Karush-Kuhn-Tucker first-order optimality condition becomes  
\[\left\{ \begin{array}{ll}\frac{\partial L}{\partial\mathbf{x}}=\frac{ \partial c}{\partial\mathbf{x}}+\lambda\frac{\partial V(r)}{\partial\mathbf{x }}=0\\ \frac{\partial L}{\partial\lambda}=V(\mathbf{x})-fV_{0}=0\end{array} \right. \tag{5}\]  
The procedure of OCM in Bendsoee [1] is composed of two-level loops. In the inner loop, the design variable \(x_{e}\) is updated to satisfy the first condition in Equation (5) for a given Lagrange multiplier \(\lambda\). In the outer loop, the Lagrange multiplier is updated to satisfy the volume fraction constraint. More specifically, the OCM changes the design variable in such a way that the first equation in Equation (5) becomes zero.