# A Novel Real-Time PV Error Handling Exploiting Evolutionary-Based Optimization
## 4 Results
### Genetic Algorithm Performance Test Compared with Other Optimization Algorithms  
There are a multitude of numerical optimization algorithms in the literature that perform in various ways [42]. Their performance varies depending on their formulation (e.g., convergence velocity, optimum perception, constraint handling). There are three main categories of optimization algorithms: evolutionary algorithms, gradient-based algorithms, and non-gradient-based algorithms [43]. During the design process of a problem, the appropriate algorithm must be selected to formulate a plausible solution. The meticulous choice of the optimization algorithm is critical for the robustness of every problem-solving process. As a result, the created genetic algorithm (i.e., evolutionary) is compared to two other algorithms belonging to the other categories and one belonging to the same category.  
The first one is a gradient-based algorithm, sequential least squares programming (SLSQP) [44]. SLSQP exploits the Han-Powell quasi-Newton method with an update of the B-matrix [44]. It is a commonly used algorithm that handles problem constraints with efficacy. The other one is a non-gradient-based algorithm, COBYLA [45]. COBYLA does not account for bounds and is a non-derivative optimizer [45]. Therefore, the created GA will be examined both with a gradient and with a non-gradient algorithm using the boundary constraints of the PV configuration. As far as the evolutionary algorithm is concerned, in 2020, [PERSON] proposed the Rao algorithms (i.e., Rao-1, Rao-2, Rao-3), which are metaphor-free optimization methods using best/worst solutions and random interactions for quick convergence [46]. They require only two parameters--population size and maximum evaluations--streamlining the tuning process by omitting complex parameters from previous metaphor-based approaches. All the algorithms are tested for their performance compared to real PV values and the same input parameters (i.e., irradiance, temperature). Moreover, two ways of handling constraints are compared: the one used by GA exploiting the Lambert function, and the other used by SLSQP, COBYLA, and Rao (1, 2, 3), which uses the domain of (4).  
The comparison results in Tables 9-11 reveal that the GA, SLSQP, and COBYLA algorithms yield nearly identical results across different temperatures and output parameters. This uniformity underscores the accuracy of the constraint handling, particularly the use of the Lambert function in the GA. Despite the algorithms' similar performance, the GA stands out as a preferable choice due to its configurability. The GA offers more flexibility in selecting various objective functions and constraints, providing adaptability to solve a unique problem. This versatility in configuration is a significant advantage, allowing the GA to address a wide range of optimization scenarios effectively. As for the time required for each algorithm to achieve convergence, the results indicate that the GA consistently demonstrates a slightly more efficient convergence across varying temperatures (0 \({}^{\circ}\)C, 25 \({}^{\circ}\)C, and 50 \({}^{\circ}\)C) compared to the SLSQP, Cobyla, and Rao-1, Rao-2, and Rao-3 algorithms. The advantage of the GA in convergence time suggests its robust performance in optimizing the given parameters, highlighting its potential as an effective optimization method for the specified conditions.  
Furthermore, the GA's ease of application becomes evident in comparison to model predictive control techniques [47]. The GA's straightforward implementation and ability to handle diverse problem formulations make it a practical and accessible choice for optimization tasks in this context. In contrast to the Rao algorithms, the GA consistently demonstrates slightly better performance across all tested conditions. This superiority, combined with the GA's configurability and ease of use, positions it as the method of choice for optimizing the given system.