## 2 Proposed Adaptive Finite Step Length Algorithm
### Adaptive Finite Step Length Algorithm  
To make the algorithm robust and efficient, this paper introduces a step length parameter into the sensitivity factor. As shown in Figure 2, the sensitivity factor is defined as  
\[\mathbf{\alpha}^{k}=\frac{\mathbf{U}_{a}^{k}}{\left\|\mathbf{U}_{a}^{k}\right\|} \tag{6}\]  
where \(\mathbf{U}_{a}^{k}\) is the auxiliary point along with the negative gradient direction at point \(\mathbf{U}^{k}\), which can be calculated by  
\[\mathbf{U}_{a}^{k}=\mathbf{U}^{k}-\lambda\
abla G\big{(}\mathbf{U}^{k}\big{)} \tag{7}\]where \(\lambda>0\) is the step length. The new point \(\mathbf{U}^{k+1}\), which is the intersection point of line \(L\) and limit state surface, can be obtained by \(\mathbf{U}^{k+1}=\beta^{k+1}\mathbf{\alpha}^{k}\). In practical engineering, the LSFs of structures are generally too complex to solve directly the reliability index \(\beta^{k+1}\) by \(G\big{(}\beta^{k+1}\mathbf{\alpha}^{k}\big{)}=0\). On this basis, the first-order Taylor expansion of the LSFs is used, and \(G\big{(}\beta^{k+1}\mathbf{\alpha}^{k}\big{)}=0\) is approximated as  
\[G\big{(}\mathbf{U}^{k}\big{)}+\
abla^{\mathrm{T}}G\big{(}\mathbf{U}^{k}\big{)}\Big{(} \beta^{k+1}\mathbf{\alpha}^{k}-\mathbf{U}^{k}\Big{)}\approx 0 \tag{8}\]  
The reliability index is accordingly computed as  
\[\beta^{k+1}\approx\frac{\
abla^{\mathrm{T}}G\big{(}\mathbf{U}^{k}\big{)}\mathbf{U}^{k }-G\big{(}\mathbf{U}^{k}\big{)}}{\
abla^{\mathrm{T}}G\big{(}\mathbf{U}^{k}\big{)}\mathbf{ \alpha}^{k}} \tag{9}\]  
Figure 1: Illustration of the periodic oscillation of the Hasofer–Lind and Rakwitz–Fiessler (HL-RF) algorithm. Figure 2: Iterative process of the sensitivity factor with step length. Consequently, the iterative formulation can be summarized as  
\[\mathbf{u}^{k+1}=\frac{\
abla^{\mathrm{T}}G\big{(}\mathbf{u}^{k}\big{)}\mathbf{u}^{k}-G\big{(} \mathbf{u}^{k}\big{)}}{\
abla^{\mathrm{T}}G\big{(}\mathbf{u}^{k}\big{)}\alpha^{k}}\mathbf{ \alpha}^{k} \tag{10}\]  
where,  
\[\mathbf{\alpha}^{k}=\frac{\mathbf{u}^{k}-\lambda\
abla G\big{(}\mathbf{u}^{k}\big{)}}{ \left\|\mathbf{u}^{k}-\lambda\
abla G\big{(}\mathbf{u}^{k}\big{)}\right\|} \tag{11}\]  
Noted that if \(\lambda\rightarrow\infty\), Equation (11) becomes  
\[\lim_{\lambda\rightarrow\infty}\mathbf{\alpha}^{k}=\lim_{\lambda^{k}\to \infty}\frac{\mathbf{u}^{k}/\lambda-\
abla G\big{(}\mathbf{u}^{k}\big{)}}{\left\|\mathbf{u }^{k}/\lambda-\
abla G\big{(}\mathbf{u}^{k}\big{)}\right\|}=-\frac{\
abla G\big{(} \mathbf{u}^{k}\big{)}}{\left\|\
abla G\big{(}\mathbf{u}^{k}\big{)}\right\|} \tag{12}\]  
Equation (12) indicates that the HL-RF algorithm is a special case of the above iterative formulation with infinite step length. Therefore, it is named as FSL algorithm [29]. Compared with the HL-RF algorithm, the same simple FSL algorithm is better in robustness. It does not need the extra computational effort to calculate the step length. However, the step length is hard to determine properly for various nonlinear LSFs. For example, if the LSF is highly nonlinear, a large step length may make the algorithm fail to converge; otherwise, the convergence rate may be slow. To address these issues, an adaptive optimization method is proposed for FSL algorithm based on the sufficient descent condition with the Armijo line search in this paper. According to the sufficient descent condition [33], the adjustment of step length is expressed as  
\[\lambda^{k+1}=\left\{ \begin{array}{c}\lambda^{k}\\ c\lambda^{k}\end{array}\begin{array}{c}\left\|\mathbf{u}^{k+1}-\mathbf{U}^{k}\right\| \\ \left\|\mathbf{u}^{k+1}-\mathbf{U}^{k}\right\|\end{array} \right\|< \begin{array}{c} \left\|\mathbf{u}^{k}-\mathbf{U}^{k-1}\right\|\\ \left\|\mathbf{u}^{k}-\mathbf{U}^{k-1}\right\|\end{array}  \tag{13}\]  
where \(c\) is the adjusting coefficient, and a recommended value for \(c\) in this paper is between 0.5-0.6. In Equation (13), if \(\left\|\mathbf{u}^{k+1}-\mathbf{U}^{k}\right\|\geq\left\|\mathbf{u}^{k}-\mathbf{U}^{k-1} \right\|\), the step length is set as \(\lambda^{k+1}=c\lambda^{k}\).