## 2 Topology Optimization under Single- and Multiple-Loading Conditions
### Multiple-Loading Conditions  
In the context of multiple-loading conditions, choosing the objective function becomes a non-trivial task in terms of compliance minimization. This complexity arises because there exists a set of compliances under each loading condition that must be considered. Hence, it is common to use formulations of either a multi-objective problem or a single-objective problem, where the objective function represents an appropriate norm [36] of all compliances. Consider TO under \(n_{L}\) loading conditions. When using a multi-objective optimization approach, by providing suitable guidelines for arranging and manipulating the set of objectives, it is possible to express the problem as an \"unclear\" vector argument corresponding to its minimization, as follows:  
\[\underset{\mathbf{x}}{\text{min}}f(\mathbf{x})=\left\{c_{1}(\mathbf{x})\quad c _{2}(\mathbf{x})\quad\cdots\quad c_{n_{L}}(\mathbf{x})\right\},\] (5a) subject to \[\frac{V(\mathbf{x})}{V_{0}}=f, \tag{5b}\] \[\mathbf{K}(\mathbf{x})\mathbf{u}_{j}(\mathbf{x})=\mathbf{p}_{j},j=1,2,\ldots,n_{L}\] (5c) \[g(\mathbf{x})\leq\mathbf{0}\mathbf{B},\] (5d) \[0<x_{min}\leq x_{i}\leq 1,\;i=1,2,\ldots,n, \tag{5e}\]  
where \(\mathbf{x}=\left\{x_{1}\quad x_{2}\quad\cdots\quad x_{n}\right\}^{T}\) is the vector of design variables; \(n\) is the number of design variables; \(x_{min}\) is a positive small lower bound of the design variables; \(\mathbf{K}\) is the stiffness matrix; \(\mathbf{p}_{j}\) is the load vector of the \(j\)th load case; \(\mathbf{u}_{j}\) is the displacement vector when only the \(j\)-th load case is applied; \(c_{j}(\mathbf{x})=\mathbf{p}_{j}^{T}\mathbf{u}_{j}(\mathbf{x})\) is the compliance under the \(j\)-th loading condition; \(V\) is the material volume; \(V_{0}\) is the volume of the design domain; \(f\) is a given ratio limiting the amount of material to be used; and \(n_{L}\) is the number of loading conditions. When addressing MOPs, it is uncommon for all objective functions to be simultaneously optimized. Moreover, due to the inherent conflicting nature of certain objectives, achieving a unique optimum is generally challenging [61]. In vector problems, the optimal solution lies within a set of Pareto-optimal designs (Pareto front). However, identifying the ideal solution within this set often requires additional information, such as weighting or a basis for making informed judgments [35]. This process can be intricate, which is why it is frequently preferred to interpret multi-objective problems as single-objective ones. Consequently, the function \(\mathbf{f}(\mathbf{x})\) is chosen to be an appropriate norm [36], with the WS method being the most widely used, which involves computing the weighted average as follows:  
\[f(\mathbf{x})=\sum_{j=1}^{n_{L}}w_{j}c_{j}, \tag{6}\]where \(w_{j}\) is the weight factor of the \(j\)-th loading condition, satisfying \(\sum_{j=1}^{n_{L}}w_{j}=1\) and \(w_{j}>0\). Several strategies have been proposed to allocate weight factors for solving TO problems under multiple-loading conditions [35]. The simplest and most common strategy is to use the same weight factors for all the loading conditions. In this case, the objective function is typically the sum of all compliances under each loading condition [29], as follows:  
\[f(\mathbf{x})=\sum_{j=1}^{n_{L}}c_{j}. \tag{7}\]  
This WS method with the same weight factor for all loading conditions is later referred to as the traditional equally weighted sum (TEWS) method in this article. In general, the TEWS method can solve various problems and provide relatively good solutions while its implementation is simple and cost-effective. This method was used in a recent article providing a free MATLAB code for educational purposes by [PERSON] in 2022 [62]. Nevertheless, assigning the same weights to different loading conditions implies that the role of the loading conditions is always the same by default.