# Truss Structure Optimization with Subset Simulation and Augmented Lagrangian Multiplier Method
## 3 The Augmented Lagrangian Subset Simulation Optimization
### Initialization and Updating  
The solution \(\mathbf{x}^{*}\) cannot be obtained from a single unconstrained optimization since the correct Lagrange multipliers and penalty parameter are unknown and problem-dependent. Initial guesses for \(\lambda^{0}\) and \(\sigma^{0}\) are required, and these are updated in the subsequent iterations. The initial values of the Lagrange multipliers are set to zero, as suggested by previous studies [25; 26; 50]. At the \(k\)th iteration, the update scheme of the Lagrange multipliers is given by  
\[\lambda_{i}^{k+1}=\lambda_{i}^{k}+2\sigma_{i}^{k}\theta_{i}(\mathbf{x}) \tag{8}\]  
where \(\theta_{i}(\mathbf{x})\) are calculated from the solution \(\mathbf{x}=\mathbf{x}^{*k}\) to the sub-problem in Equation (6) with the given Lagrange multipliers \(\lambda^{k}\) and penalty parameters \(\sigma^{k}\). This updating scheme is based on the first optimality condition of the \(k\)th sub-problem [25; 26], i.e.,  
\[\left[\frac{\partial W(\mathbf{x})}{\partial\mathbf{x}}+\sum_{i=1}^{n_{c}+n_{ i}}\lambda_{i}^{k}\frac{\partial\theta_{i}(\mathbf{x})}{\partial\mathbf{x}}+ \sum_{i=1}^{n_{c}+n_{i}}2\theta_{i}^{k}\frac{\partial\theta_{i}(\mathbf{x})}{ \partial\mathbf{x}}\right]_{\mathbf{x}=\mathbf{x}^{*k}}\approx 0. \tag{9}\]  
The penalty parameters are arbitrarily initialized with 1, i.e., \(\sigma^{0}=\{1,\ldots,1\}^{T}\). [PERSON] and [PERSON] [26] have proposed a heuristic updating scheme for the penalty parameters. In their scheme, the penalty parameter of the \(i\)th constraint will be doubled when the constraint violation increases, reduced by half when the constraint violation decreases, or left unchanged when the constraint violation lies within the same order of the previous iteration. This updating scheme is applicable to both equality constraints and inequality constraints. For the determination of constraint violation, user-defined tolerances of acceptable constraint violation for equality constraints and inequality constraints are required to be specified before starting to solve the problem. It is noted that this updating scheme often leads to different values of a penalty parameter for a constraint in different iterations. Based on the authors' experience, the variation in the penalty parameters may cause instability in the convergence of the Lagrange multipliers and increase the computational efforts. In this study,  
Figure 1: Flowchart of the proposed method. we prefer to use a modified updating scheme that excludes the reduction part for penalty parameters. The updating scheme is  
\[\sigma_{i}^{k+1}=\left\{ \begin{array}{ll}2\sigma_{i}^{k}&if\;\widetilde{g}_{i} \Big{(}\mathbf{x}^{\ast k}\Big{)}>\widetilde{g}_{i}\Big{(}\mathbf{x}^{\ast k-1} \Big{)}\wedge\widetilde{g}_{i}\Big{(}\mathbf{x}^{\ast k}\Big{)}>\varepsilon\\ \sigma_{i}^{k}&otherwise\\ 1&if\;\widetilde{g}_{i}\Big{(}\mathbf{x}^{\ast k}\Big{)}<\varepsilon\end{array} \right. \tag{10}\]  
where \(\widetilde{g}_{i}\Big{(}\mathbf{x}^{\ast k}\Big{)}\) is the unified constraint violation measure. For equality constraints, \(\widetilde{g}_{i}\Big{(}\mathbf{x}^{\ast k}\Big{)}=\Big{|}h_{i}\Big{(} \mathbf{x}^{\ast k}\Big{)}\Big{|}\), and for inequality constraints \(\widetilde{g}_{i}\Big{(}\mathbf{x}^{\ast k}\Big{)}=g_{i}\Big{(}\mathbf{x}^{ \ast k}\Big{)}\). Instead of changing the value of a penalty parameter in each iteration, they are increased only if the search process remains far from the optimum region. In the updating scheme, the penalty parameter remains equal to 1 when the solution \(\mathbf{x}^{\ast k}\) of the current sub-problem is feasible. It should be pointed out that one can specify different tolerances for equality and inequality constraints if necessary. In order to assign an effective change to the Lagrange multipliers, a lower limit is imposed to all penalty parameters [25; 26]:  
\[r_{i}\geq\frac{1}{2}\sqrt{\frac{|\lambda_{i}|}{\varepsilon}}. \tag{11}\]  
This special updating rule is extremely effective for early iterations, where the penalty parameters may be too small to provide a sufficient change.