## 3 The Proposed Distributed Bi-Behaviors Crow Search Algorithm
### The Distributed Bi-Behaviours Crow Search algorithm (DB-CSA)  
The Distributed Bi-behaviours Crow Search Algorithm (DB-CSA) is based on a Beta distribution profiles inspired from the Beta distributed PSO [78] developed for solving the Inverse Kinematics problem and considered to enhance the exploitation and exploration of solutions in the search space. The DB-CSA algorithm is developed to solve both static Many-Objective Optimization Problems (MaOPs) and Dynamic Multi-Objective Optimization Problems (DMOPs). Considering the state-of-the-art methods, the main motivation of the proposed DB-CSA is as follows:  
* For MaOPs, the original meta-heuristics, such as the CSA algorithm [9] suffer from a robust mechanism to optimize a problem with a high number of objectives (more than three), which are optimized at the same time.
* For DMOPs, most of the existing approaches cannot manage the dynamic change in decision variables and objective values in the POS and the POF, respectively.  
To overcome both limits, two optimization processes are separately proposed to solve static MaOPs and DMOPs. The detailed description of the proposed DB-CSA algorithms are as follows:  
* The first variant (DB-CSA) has the same optimization process as the standard CSA algorithm [9] where the main difference is provided in the convergence and the diversity enhancement during the optimization process. A modified rules are considered in the first CSA algorithm to update the position of each crow. The first version of the proposed DB-CSA algorithm is developed to solve static MaOPs. The general flowchart is shown in Figure 1, and in the pseudo-code is given in Algorithm 2. More details are presented in Section 3.2.1.  
* The second variant (DB-CSA-II) is proposed based on the first DB-CSA algorithm. The main difference is that this investigates the dynamic optimization mechanism to efficiently detect and react to the change when solving DMOPs with a time-varying Pareto Optimal Set (POS) and dynamic Pareto Optimal Front (POF). The general flowchart of the second version is shown in Figure 2 and the pseudo-code is presented by Algorithm 3. More details are presented in Section 3.2.2.  
```
Begin  Randomly initialize the position (X) of the flock of N crows with d-dimensional search space;  Initialize the memory (\(Mem\)) of each crow;  Initialize the archive (A) to store the non-dominated solutions;  Evaluate the position of the crows;  while iteration \(<Max_{Iterations}\) do  for \(i=1\) to \(i\leq\) N do  Evaluate the fitness function of the crow \(i\): \(Fit(X_{i}(t))\)  Choose the followed crow (\(i\)) randomly;  Determine the average crow \(i\): Mean ( \(Fit(X_{i}(t))\) )  if \(Fit(X_{i}(t))\geqslant\) Mean (\(Fit(X_{i}(t))\) )then  Update the crow position using Equation (8) on Beta-1 exploitation profile;  else  Update the crow position using Equation (8) on Beta-2 exploration profile;  end if  Update the memory using Equation (4);  end For  Apply the mutation operators using Equations (9) and (10);  Update the archive (A) of non-dominated solutions;  end while  Return the archive (A) of the non-dominated solutions;  End
```  
**Algorithm 2** The pseudo-code of the proposed Distributed Bi-behaviours Crow Search Algorithm (DB-CSA)