## Appendix A Meta-Heuristic Optimization Algorithms  
### Genetic Algorithms  
Genetic Algorithms are one of the most well-known EAs inspired from [PERSON]'s theory of evolution by [PERSON] in 1975 [50] and subsequently extended and explored in depth by [51] and [PERSON] [52]. The key inspiration features of GAs were inspired based on the evolutionary concepts of natural selection and genetic operators, referred to as crossover and mutation operators. GA does not demand any gradient information and is more likely to converge to the search area for optimum global solutions. The population of GA is initialized by a number of candidate solutions. The iterative procedure of GAs is prolonged through the application of the difference vector based on GAs reproduction operators, in order, including mutation and crossover operators followed by the selection mechanism. Then, each solution within each loop in the evolutionary computational process is evaluated using a pre-determined objective criterion presented to fit to the optimization problem under consideration. In such a context, an objective value is allocated to each individual of the GAs to determine the solution quality of the individuals at each iteration loop of the evolutionary process. In general terms, the problem under study is usually represented by a number of individuals (i.e., chromosomes) that are commensurate with the nature of the problem. Each chromosome acts for a candidate potential solution. The fitness function in GA is always used to judge the quality of the solution of each chromosome in the population. Chromosomes undergo mutation and crossover operators throughout the evolutionary process, eventually leading to the following generation. The crossover operation integrates picked pairs of chromosomes to evolve the following generation that comes up with a new solution. Mutation is always used to prohibit coming down into local solutions. GA can be adapted to a wide range of problems and domains. Hence, it is widely known for its ability to solve complex optimization problems. GA has few mathematical requirements, and these implement an important characteristic of GA when used to address optimization issues. The main steps of GAs can be briefly outlined by a pseudo-code as illustrated in Algorithm 1. ```
1:\(N\leftarrow\) Population size. 2:\(L\leftarrow\) Number of iterations. 3:\(l\leftarrow\) Current iteration. 4:\(P_{c}\leftarrow\) Crossover rate. 5:\(P_{m}\leftarrow\) Mutation rate. 6: Initialize the population of GA with a size of \(N\). 7: Evaluate the fitness function of each chromosome using Equation (31) given below. 8:while\(l\leq L\)do
9: Selectation: Select Parents from the current population. 10: Crossover: Perform crossover operation for offsprings with a probability of \(P_{c}\). 11:if\((rand(0.0,1.0)<P_{m})\)then Mutation: Mutate the generated offsprings from the population. end
12: Evaluation: Evaluate every chromosome using the fitness function. 13: Updating: Update the population by removing certain limit of lease fit solutions. end
14: Results: Return the global best solution. ```  
**Algorithm 1**Pseudo-code of GAs. In the proposed work, the evolutionary GA process comprises a number of basic steps to reach the optimal movement and orientation of a quadcopter as given below:* **Representation**: This step uses a proper chromosome representation so that it can optimize the gain of the PID controller. In this case, the candidate solutions (i.e., individuals) are stored in a three-dimensional parameter vector. * **Initialization**: This step defines a set of chromosomes in the population and creates random values of genes for those chromosomes. * **Evaluation**: In this step, the fitness function value is recomputed for each chromosome generated in the initialization phase. * **Selection**: In this step, the roulette wheel selection mechanism is used to select the suitable chromosomes from the population for mating and the creation of the off-springs produced.