# Generalized Optimality Criteria Method for
## 2 Generalized Optimality Criteria Method
### Review of Optimality Criteria Method
For that purpose, the following scale factor is defined for each element:  
\[D_{e}=-\frac{\frac{\partial c(\mathbf{x})}{\partial x_{e}}}{\lambda\frac{ \partial V(\mathbf{x})}{\partial x_{e}}} \tag{6}\]Since the optimality condition is satisfied when the objective sensitivity is equal and opposite of constraint sensitivity multiplied by the Lagrange multiplier [15], the first equation in the optimality condition is satisfied when \(D_{e}=1\). The idea of OCM is to change design variables based on the scale factor as  
\[x_{e}^{\text{new}}=x_{e}^{\text{old}}\sqrt{D_{e}},\ x_{e}^{\text{min}}\leq x_{e }^{\text{new}}\leq x_{e}^{\text{max}} \tag{7}\]  
The design would not be changed when \(D_{e}=1\) because the optimality condition is already satisfied. When \(D_{e}<1\), it means that increasing design \(x_{e}\) is less efficient in decreasing the compliance than increasing the volume. In this case, therefore, it is better to reduce \(x_{e}\). When \(D_{e}>1\), the opposite is true, and the design variable should increase. In addition, since it is not preferred to change a design significantly in one iteration, the maximum change in design \(\Delta x_{\text{max}}\) is also imposed. Figure 1 illustrates the possible ranges of design change. Starting from the current design \(x_{e}\), the first case is when \([x_{e}-\Delta x_{\text{max}},x_{e}+\Delta x_{\text{max}}]\subset[x_{\text{ min}},x_{\text{max}}]\). In this case, the design can be changed within the maximum change. The second case is when \(x_{e}-\Delta x_{\text{max}}<x_{\text{min}}\). In this case, the design can be changed in \([x_{\text{min}},x_{e}+\Delta x_{\text{max}}]\). When \(x_{e}+\Delta x_{\text{max}}>x_{\text{max}}\), the design can be changed in \([x_{e}-\Delta x_{\text{max}},x_{\text{max}}]\). In the outer loop, the Lagrange multiplier is determined to satisfy the volume fraction constraint. The Matlab implementation of the 99-line topology optimization code [13] used a bisection method to find the Lagrange multiplier. Starting from the lower and upper bounds [0, 100,000] of the Lagrange multiplier, the range is halved every iteration of the outer loop, and the Lagrange multiplier takes the value in the middle of the range. With the current Lagrange multiplier, if the constraint is positive, \(V(\mathbf{x})-fV_{0}>0\), then the upper half of the range is used in the next iteration; otherwise, the lower half is used. This bisection process is repeated until the range becomes less than a convergence tolerance. For the purpose of generalizing the OCM, three obstacles must be overcome. The first obstacle is the compliance objective and the volume fraction constraint. First, the sensitivity of volume in Equation (3) is constant and independent of design. In addition, the sensitivity of compliance in Equation (2) can be calculated once the structural equilibrium is solved for \(\{\mathbf{D}\}\). Therefore, this particular combination of the objective and constraint has the almost free computation of sensitivities. However, the procedure cannot be generalized when there is more than one constraint. The second obstacle is the assumption of sensitivities. In Equation (6), the OCM algorithm assumes that the objective derivative is negative and the constraint derivative is positive. This is true with the compliance objective and the volume fraction constraint. From Equation (2), the quadratic form \(\{\mathbf{d}_{e}\}^{\text{T}}[\mathbf{k}_{e}]\{\mathbf{d}_{e}\}\) of a positive semi-definite stiffness matrix is always non-negative. Therefore, the compliance sensitivity in Equation (2) is always negative or zero. On the other hand, the volume fraction sensitivity in Equation (3) is constant and positive. In general optimization problems, it is possible that the objective may have a positive sensitivity for some designs, while a negative sensitivity for others. In particular, when there exists a design-dependent load, such as gravity, the sensitivity of compliance can be negative for some elements.