# Structural Damage Identification Using a Modified Directional Bat Algorithm
## 3 Modified Directional Bat Algorithm (MDBA)  
Standard BA is a swarm intelligence heuristic search algorithm proposed by [PERSON] [28], which is a random search algorithm that simulates bats in nature using sonar to detect prey and avoid obstacles. It is mainly composed of exploration and exploitation. Exploration is a rough search for undeveloped areas, while exploitation is a fine search for developed areas. Standard BA is a kind of algorithm close to the optimal solution. If the initial position distribution is too concentrated, it would easily lead to the algorithm falling into the local optimum. To overcome this deficiency, [PERSON] et al. [35] proposed the DBA, in which the directional echolocation and three other modifications were embedded into the BA to increase its exploitation and exploration capabilities. However, DBA still has the problems of a large population and too many iterations, and it is not well applied in structural damage identification under the condition of a small population and few iterations. Thus, a modified DBA (MDBA) is proposed here to solve the above limitation, in which the individual optimal renewal mechanism and elimination strategy are employed to enhance the search algorithm performance. Inspired by the position update mechanism of PSO and combined with the individual historical optimum position, the exploration formula of DBA has been improved in this study. Individual historical optimum position refers to one of the best positions of each particle in the iteration process. As shown in Figure 2, the current optimal solution is in a local optimal situation. Without combining the individual optimal solution, other bats will be close to the current optimal solution, resulting in the algorithm being unable to identify the optimal solution of the objective function. When the individual optimum is added, the other bats are subject to the traction of the global optimum bat position on the one hand, and the traction of their own optimum position on the other hand. By adjusting the parameters of the step size, the possibility of jumping out of the local optimum is increased. Moreover, if the bat is in the individual optimal position, the value of the individual optimal term is 0. Therefore, the exploration formula is combined with the individual optimal solution, and the expression formula is as follows:  
\[f_{i}=f_{\min}+(f_{\max}-f_{\min})rand \tag{9}\]  
\[\left\{ \begin{array}{ll}x_{i}^{t+1}=x_{i}^{t}+(x_{best}-x_{i}^{t})f_{1}+(x_{ k}^{t}-x_{i}^{t})f_{2}+(x_{i}^{*}-x_{i}^{t})f_{3}&f(F(x_{v}^{t})<F(x_{i}^{t}))\\ x_{i}^{t+1}=x_{i}^{t}+(x_{best}-x_{i}^{t})f_{1}+(x_{i}^{*}-x_{i}^{t})f_{3}&else \end{array} \right. \tag{10}\]  
where \(x_{i}^{t}\) is the current position of the \(i\)th bat (\(i=1,\,\ldots,\,m\)), \(m\) is the number of the bat population, \(x_{i}^{t+1}\) is the updated position of the \(i\)th bat, \(x_{k}^{t}\) is the randomly selected bat position (\(k\
eq i\)), \(x_{i}^{*}\) is the individual optimum solution for the \(i\)th bat in the search process, \(f_{i}\) is the frequency of the \(i\)th bat and \(F(\bullet)\) is the function value of substituting the bat into the objective function. \(Rand\) is a random number generated by a uniform distribution in the range of [0, 1]. To increase the diversity of the population, broaden the search range and avoid the possibility of falling into the local optimum, the elimination strategy is used in this paper. It is used to rank bats in a population according to their fitness during the iteration, and the lower-ranked bats are eliminated, and a corresponding number of new bats are added based on their current optimal location. The new bats randomly inherit a certain number of coordinates from the optimum bat, while the remaining coordinates are randomly generated within the search range. The elimination strategy can perturb the bat population and give the BA a chance to jump out of the local optimum.