# Adaptive Probabilistic Optimization Approach for Vibration-Based Structural Health Monitoring
## 2 Probabilistic Optimization Algorithm
\begin{array}{ll}\text{Minimize}:&\mathbf{P}_{\beta}=\mathbf{P}\Big{(}\beta^{lb}\leq \beta\leq\beta^{ub}\Big{)}\\ \text{Subject to}&\begin{array}{c}\beta^{ub}-\beta^{lb}\geq 0\\ \beta^{ub}-\beta^{lb}\leq\eta_{\beta}\end{array}\\ \end{array}  \tag{4}\]  
Similarly, the optimization problem for the crack size can be expressed as:  
\[ \begin{array}{ll}\text{Minimize}:&\mathbf{P}_{\alpha}=\mathbf{P}\Big{(}\alpha^{lb }\leq\alpha\leq\alpha^{ub}\Big{)}\\ \text{Subject to}&\begin{array}{c}\alpha^{ub}-\alpha^{lb}\geq 0\\ \alpha^{ub}-\alpha^{lb}\leq\eta_{\alpha}\end{array}\\ \end{array}  \tag{5}\]  
Eventually, these data are further processed to identify the status of a structure in order to determine whether it is undamaged or damaged by using the probabilities of crack location ratio and crack size ratio. The probability of the damage existence is calculated as:  
\[\mathbf{P}_{d}=(1-\eta_{d})\mathbf{P}(\alpha>0)+\eta_{d}\Big{[}1-\Big{(}\beta^{ub}- \beta^{lb}\Big{)}\Big{]}\mathbf{P}_{\beta} \tag{6}\]  
In Equation (6), \(\eta_{d}\) is the weighting factor with a range of (0, 1) that is set by the user. The probability of the optimal crack location and its corresponding range contributes \(\eta_{d}\) to the probability of damage existence, whereas the probability of crack size ratio contributes \((1-\eta_{d})\) to the probability of damage existence. As can be noted from Equation (6), when the range of crack location ratio \(\Big{(}\beta^{ub}-\beta^{lb}\Big{)}\) is too broad or close to unity, it renders the contribution of crack location to the probability of damage existence to zero. The measured FRF, \(H_{m}(\omega)\), which is used to test the proposed algorithm was generated by adding random noise to the calculated FRF, \(H_{c}(\omega)\), as:  
\[H_{m}^{i}=H_{c}^{i}\Big{(}1+\varepsilon\zeta^{i}\Big{)} \tag{7}\]  
In Equation (7), \(\varepsilon\) is the relative magnitude of error, and \(\zeta\) is the uniformly distributed pseudorandom vector within the range of (0,1) [28]. This random noise represents different sources of error such as the immediate working environment, instrument resolution, and lack of exact modeling and absolute agreement between the actual structure and simulations. While the noise model used in this study may be simplistic, it allows an investigation of various levels of noise to simulate the worst-case scenario by varying the magnitude of error. Adaptive Multi-Stage AlgorithmA multi-stage algorithm has been developed for damage detection. The algorithm is summarized in the following steps:  
1. Import the measured FRF, \(H_{m}(\omega)\) and set user inputs: \(\delta_{lb},\ \delta_{ub},\ \eta_{\beta},\ \eta_{\alpha},\ \eta_{d},\ \eta_{q}\)
2. De-noise using discrete wavelet transform. 3. Stage q: Define design variables and their respective constraints. 4. Provide an initial guess for each design variable, \(Y_{0}\). 5. Set the segment size to \(N_{j}\), and the weighting factor to \(w_{j}\). 6. Use sequential quadratic programming (SQP) algorithm to minimize the difference between FRFs for \(k\)th segment. 7. Store the optimal solutions for each design variable in \(Y\) vector. 8. Set the size of the next segment to \(N_{j+1}\), and repeat steps 3 through 7 until all data are processed. 9. Use SQP again to calculate the maximum probability of crack location and crack size, while minimizing the uncertainty range using the data collected in step 7. 10. Save the computed crack size and crack location ranges and their respective probabilities. 11. Calculate the probability of damage existence, \(\mathbf{P}_{d}\), using the available data of crack size and crack location from step 10. 12. Stage q + 1: Update lower and upper bounds as well as the initial guesses in step 4 according to the results from step 10. 13. If the probability of damage existence is below a threshold, \(\left(\mathbf{P}_{d}\right)_{q}-\left(\mathbf{P}_{d}\right)_{q-1}<\eta_{q}\) where \(\eta_{q}\) is user input, move to step 15. 14. Repeat steps 4 through 13. 15.