# An Advanced Crow Search Algorithm for Solving Global Optimization Problem
## 3 Proposed Method  
### Advanced CS Algorithm  
The conventional CS algorithm, which repeats the above process to perform optimization, performs exploration and exploitation according to the size of \(AP\), mainly using 0.1 for \(AP\). That is, the conventional CS algorithm mainly performs the exploitation rather than the exploration. Figure 3 is a diagram showing the exploitation and exploration that occurs in the process of optimizing the Sphere function for 1000 generations of the conventional CS algorithms with a \(N\) of 50. It can be seen that exploitation mainly occurs in all generations. Optimization algorithms that mainly use excitation in optimization performance are likely to fall into local minima [10], and the performance of the conventional CS algorithms is largely dependent on the initial population. In this paper, to address this problem, we improve the performance of the initial population using dynamic \(AP\) that varies dynamically with the number of generations, and the performance of exploitation and exploration using two proposed equations. Similar to the conventional CS algorithm, the ACS algorithm consists of a total of five steps. _Step 1._ Define the problem and set the parameters  
Like the conventional CS algorithm, the problem for performing optimization is defined in Step 1, and the parameters used in the ACS algorithm are set. The parameters added in the ACS algorithm are \(AP_{max}\), \(AP_{min}\), and \(FAR\) (Flight Awareness Ratio). Here, \(AP_{max}\) and \(AP_{min}\) are used for dynamic \(AP\). _Step 2._ Initialize the memory of crows and evaluate  
The size of the crew group used in the ACS algorithm is expressed as Equation (1) as in the conventional CS algorithm, and the initial position is remembered as Equation (2). The initial position of the remembered crow is evaluated by the objective function. _Step 3._ Generate and evaluate the new positions for crow  
Figure 3: Exploitation and exploration of the conventional CS algorithm. The ACS algorithm displays the biggest difference from the conventional CS algorithm in Step 3. First, The ACS algorithm uses dynamic \(AP\), which changes dynamically with the number of generations. dynamic \(AP\) uses Equation (9) for dynamic changes, and \(AP_{max}\) and \(AP_{min}\) have a value between 0 and 1. Figure 4 shows an \(AP\) that changes dynamically according to the number of generations when \(t_{max}\) is 2000. Using dynamic \(AP\), as shown in Figure 5, increases the probability of exploration at the beginning of the generation, which can increase the performance of the initial population. Compared to Figure 3, the number of explorations increases at lower numbers of generations. Thus, the larger the AP, the higher the probability of the initial population performing exploration, and the smaller the AP, the higher the probability of performing exploitation. In addition, a dynamic \(AP\) of an appropriate size is required for harmony between exploitation and exploration. \[AP_{t}=AP_{min}+\frac{AP_{max}-AP_{min}}{ln(t)+1} \tag{9}\]  
Second, unlike the conventional Equation (3) in which crow \(i\) follows randomly selected crow \(j\) (\(m_{j,i}\)), in the ACS algorithm, it follows the best crow \(j\) (\(gb_{j,i}\)) by \(FAR\). This can be expressed as Equation (10). Here, \(r_{ij,i}^{2}\), \(r_{ij,i}^{3}\) is a random number between 0 and 1, and \(FAR\) is an initial set value between 0 and 1. The change in this equation improves the exploitation performance compared to the conventional CS algorithm. If \(FAR\) approaches 0,  
Figure 4: _dynamic AP_ of ACS algorithm(\(AP_{max}=0.4\), \(AP_{min}=0.01\)). Figure 5: Exploitation and exploration of ACS algorithm(\(AP_{max}=1.0\), \(AP_{min}=0.1\)). it follows the best solution stored in the crow's memory. Conversely, when \(FAR\) approaches 1, it follows a randomly selected crow, just like the conventional CS algorithm.