An Enhanced Cuckoo Search Algorithm Fitting for Photovoltaic Systems’ Global Maximum Power Point Tracking under Partial Shading Conditions

: The output power against voltage curve of the photovoltaic system changes its characteristics under partial shading conditions because of using bypass diodes. These bypass diodes are connected across the PV modules inside the string to avoid hotspot formation in the shaded PV modules. Therefore, the output curve has multiple power peaks with only one Global Max Power Point. The classical Maximum Power Point Tracking algorithms may fail to track that Global Max Power. Several soft computing algorithms have been proposed to improve tracking efﬁciency with different optimization principles. In this paper, an Improved Cuckoo Search Algorithm has been proposed to increase the tracking speed with minimum output power oscillation. The proposed algorithm avoids spreading the initial particles among the whole curve to predict shading pattern, but it reduces the exploration area after each iteration to compensate for the algorithm’s randomness. The proposed algorithm was compared with other methods by simulation using MATLAB/Simulink program and with practical experiments under the same operating conditions. The comparison showed that the proposed algorithm overcomes the other methods’ drawbacks and concurrently minimizes the convergence time, power oscillation, and system power losses.


Introduction
The expanding demand for energy and depletion of fossil fuel resources has lately raised several interests to meet the energy requirements. Solar energy is one of the most important renewable sources of energy that attract scientists' efforts. The Photo-voltaic (PV) cell has widely used in converting solar energy into electrical energy. However, it requires a high cost for installation; it still has a long life, availability, and minor maintenance [1].
The performance of the PV systems depends on the intensity of solar irradiance and the surrounding temperature. The optimum conditions for the operation of the PV system in terms of solar irradiation and temperature arearound 1000 W/m 2 and 25 • C, respectively [2].
The output characteristics of the PV modules can be represented by the relation between the PV module's output power and its corresponding voltage. The PV system has one operating point on its power-against-voltage (P-V) curve [3].
The maximum power point tracking (MPPT) systems consist of a DC-DC converter, a software program, and a Digital Signal Processing (DSP) unit [4]. The qualification of the MPPT controllers depends on the speed at which the PV operating point intersectsthe P-V curve's MPP with the lowest fluctuations and highest efficiency. During the controlling To illustrate that new contribution, the Materials and Methods has been introduced in Section 2, and the Results and Discussion has been presented in Section 3. Finally, the conclusions are recorded in Section 4.

Modeling of Solar PV Module
Modeling of the solar PV module helps to envision its performance and predict its features under different climatic conditions.

Under Uniform Irradiance (UI)
In the case of UI, two PV modules are connected in series to form string-1, and each receives the same solar irradiance. The string's PV modules are forward biased, and the same current passes through it. The bypass diodes connected in parallel with these modules are reverse biased and are virtually an open circuit, as shown in Figure 2 [29][30][31]. The PV string current-against-voltage (I-V) curve ranges from the short circuit current to zero current at the open circuit condition. The maximum output voltage is available at the open circuit condition. In addition, the maximum output current appears at the short circuit condition. The PV string's max power point is located somewhere among Under Partially Shaded Conditions (PSC), which occur when the PV string is exposed to nearby constructions, moving clouds, and adjacent trees, each PV module inside the string receives different solar irradiations and temperatures at the same time [12]. The shaded PV cells inside the module consume a certain amount of power leads to form a hotspot that causes damage for the shady locations [13]. The parallel connection of the PV module with an opposite polarity bypass diode is considered an excellent solution to the hotspot problem. On the other hand, the bypass diode affects the P-V curve characteristics by forming many power peaks [14]. These power peaks include one Global Max Power Peak (GMPP) and many other Local Power Peaks (LPPs), as shown in Figure 1b [15]. The conventional MPPT controllers may be deceived and tracked the first LMPP encountered and treated as the MPP without observing the existence of the GMPP [16].Various partial shading mitigation techniques have been introduced and classified into two significant categories named hardware-mitigation techniques and software-mitigation techniques [17].
The hardware-mitigation techniques include the use of bypass and blocking diodes [18], modification of the PV modules interconnections [19], and novel DC-DC converters [20,21]. However, they have some disadvantages, such as large size, the complexity of the interconnections, and relatively longer time for testing in laboratories.
The software mitigation techniques include stand-alone soft computing techniques or a half-breed with a conventional one. Different types of Artificial Intelligent (AI) techniques have been used [22], such as Artificial Neural Network (ANN), that require the employment of additional sensors to follow the change in climate conditions [23], Fuzzy Logic Control (FLC) that has a high complexity degree of fuzzy rules and requires previous knowledge about the system [24], and Genetic Algorithm (GA) that has a pretty high time waste for calculations which reduces the convergence speed [25]. Moreover, different types of metaheuristic algorithms have been employed for MPPT applications. Some of these algorithms are the Flower Pollination Algorithm (FPA) [26], AntColony Optimization (ACO) [27], Particle Swarm Optimization (PSO) [28], and Artificial Bee Colony (ABC). Despite these methods' efficiency, they are challenging to implement, especially in tuning the governing equations parameters [29].
In extension to the above methods, the Cuckoo Search Algorithm (CSA) has more regular convergence, records of higher efficiency, and requires lesser tuning parameters. Despite these properties, random steps can increase the total tracking time. This paper introduced an Improved Cuckoo Search Algorithm (ICSA) for PV string MPPT under PSC, which successfully overcame the disadvantages raised by the methods of the previous discussion. This presented controller can track the GMPP under PSC without tuning parameters. It depends upon avoiding part of the exploration area after each iteration until the GMPP is captured and tracked. As a result, the GMPP is successfully tracked with minimum time spend, minimum oscillation at the transient state, and is more stable at steady state comparedwith the other methods.
To illustrate that new contribution, the Materials and Methods has been introduced in Section 2, and the Results and Discussion has been presented in Section 3. Finally, the conclusions are recorded in Section 4.

Modeling of Solar PV Module
Modeling of the solar PV module helps to envision its performance and predict its features under different climatic conditions.

Under Uniform Irradiance (UI)
In the case of UI, two PV modules are connected in series to form string-1, and each receives the same solar irradiance. The string's PV modules are forward biased, and the same current passes through it. The bypass diodes connected in parallel with these modules are reverse biased and are virtually an open circuit, as shown in Figure 2 [29][30][31].
To illustrate that new contribution, the Materials and Methods has been introduced in Section 2, and the Results and Discussion has been presented in Section 3. Finally, the conclusions are recorded in Section 4.

Modeling of Solar PV Module
Modeling of the solar PV module helps to envision its performance and predict its features under different climatic conditions.

Under Uniform Irradiance (UI)
In the case of UI, two PV modules are connected in series to form string-1, and each receives the same solar irradiance. The string's PV modules are forward biased, and the same current passes through it. The bypass diodes connected in parallel with these modules are reverse biased and are virtually an open circuit, as shown in Figure 2 [29][30][31]. The PV string current-against-voltage (I-V) curve ranges from the short circuit current to zero current at the open circuit condition. The maximum output voltage is available at the open circuit condition. In addition, the maximum output current appears at the short circuit condition. The PV string's max power point is located somewhere among these two conditions, as clarified by the P-V characteristics curve in Figure 1a   The PV string current-against-voltage (I-V) curve ranges from the short circuit current to zero current at the open circuit condition. The maximum output voltage is available at the open circuit condition. In addition, the maximum output current appears at the short circuit condition. The PV string's max power point is located somewhere among these two conditions, as clarified by the P-V characteristics curve in Figure 1a [32].
The PV cell has a simulated equivalent circuit that consists of a current source, diode, series resistance, and shunt resistance, as shown in Figure 3a. During darkness, the PV cell works as a diode without producing any voltage or current. If this diode connected to an external voltage supply, it generates a current that is called the diode current (I D ) [33].

The Main Idea of the CSA
The CSA is a great optimization algorithm inspired by nature and proposed by Yang and Deb in 2009 [36]. Latterly, it has been used with success in optimizing many applications and has achieved high performance. The cuckoo birds' reproductive strategy is the basic idea that was used to construct that algorithm. To elaborate, the female cuckoo bird smartly looks for a random and fitting nest to host its eggs after it lays it. This process represents the algorithm's searching for the optimal solution in the exploration area. There are some probabilities that the host bird may discover the strange eggs. In this case, it will either destroy them or abandon the nest and search for another one. This process represents the algorithm's finding weak solutions and requires searching again for better solutions. The hatching and release of the production to life are the criteria for the success of the whole process. This process represents the algorithm's finding the optimum solutions [37].

The CSA as a Candidate for MPPT Controller
The designers used the le'vy flight distribution equation to update the range of cuckoo's random walking steps and stochastic shift direction during their search operation. This searching and optimization strategy can be used in solving several engineering problems, such as optimal reactive power scheduling [38], distribution network reconfiguration for power loss minimization and voltage profile improvement [39], capacitor allocations in radial distribution networks [40], and structural design optimization of vehicle components [41].
It can be also deal with the labyrinth of numerous power peaks in the PV systems'outputs which portrayed in Figure 1b. It also helps in avoiding the slowly methods depend on scanning the P-V curve to reach and track the GMPP, as well as the possibility of processing the deception process in terms of tracking the LMPP.
Moreover, it performed quickly with minimum power oscillations. By that, the classical CSA has been successfully used in the PV systems' MPPT controller, and the results havebeen discussed in References [28,42].
There are three bases that designers relied on to build the classical CSA algorithm. The first base is every time each one of the cuckoo birds lays one egg in a randomly chosen nest. This base is applied by the MPPT-algorithm generation of a specific number of duty cycles and sent one-by-one to the boost converter.
In the second base, the most suited nest with high-quality eggs will develop into mature birds for the next generation. This base is applied by the MPPTalgorithm's choosing for the current best duty cycle and uses it in the next iteration.  Applying Kirchhoff's Current Law for the PV cell equivalent circuit, then, the mathematical equation of the PV cell output current can be represented by [33].
In addition, where I sc is the solar cell short circuit current at reference irradiance and temperature, K i is the short circuit current temperature coefficient, T is the absolute temperature of the PV cell, T r is the reference temperature (298 Kelvin), and λ is the solar irradiance in (W/m 2 ) [33]. Additionally, where I s is the diode saturation current, q is the electron charge = (1.602 × 10 −19 J/V), N s is the number of series PV cells in the module, N p is the number of parallel PV cells in the module, A is the diode ideality factor, and K is the Boltzmann constant = (1.381 × 10 −23 J/K) [34]. Moreover and where I rs is the cell reverse saturation current, E g is the bandgap energy = (1.1 eV), and V oc is the open-circuit voltage of the PV cell [34]. In addition, where R sh is the internal shunt resistance of the PV cell, and R s is the internal series resistance of the PV cell.

Under Partial Shading Conditions (PSC)
In the case of PSC, two PV modules are connected in series to form string-2 as shown in Figure 2. One of them has a fully solar irradiance, and the other one is shaded. The shaded PV module's short circuit current fails rapidly to zero and acts as a reverse-biased diode. The current of the non-shaded PV module causes a voltage drop across the shaded PV module. This voltage drop has a negative value and forms a hotspot on the shady location. The hotspot not only reduces the PV module efficiency but also shortens its lifetime. However, the parallel connection of the opposite polarity bypass diode prevents the shaded PV module from damage. It becomes a forward-biased diode, which allows the excess current of the non-shaded module to pass through it. This bypass operation changes the P-V's characteristics curve by forming many power peaks on it, as shown in Figure 1b [35]. Figure 3b shows the equivalent circuit of the PV string under PSC.  [36]. Latterly, it has been used with success in optimizing many applications and has achieved high performance. The cuckoo birds' reproductive strategy is the basic idea that was used to construct that algorithm. To elaborate, the female cuckoo bird smartly looks for a random and fitting nest to host its eggs after it lays it. This process represents the algorithm's searching for the optimal solution in the exploration area. There are some probabilities that the host bird may discover the strange eggs. In this case, it will either destroy them or abandon the nest and search for another one. This process represents the algorithm's finding weak solutions and requires searching again for better solutions. The hatching and release of the production to life are the criteria for the success of the whole process. This process represents the algorithm's finding the optimum solutions [37].

The CSA as a Candidate for MPPT Controller
The designers used the le'vy flight distribution equation to update the range of cuckoo's random walking steps and stochastic shift direction during their search operation. This searching and optimization strategy can be used in solving several engineering problems, such as optimal reactive power scheduling [38], distribution network reconfiguration for power loss minimization and voltage profile improvement [39], capacitor allocations in radial distribution networks [40], and structural design optimization of vehicle components [41].
It can be also deal with the labyrinth of numerous power peaks in the PV systems' outputs which portrayed in Figure 1b. It also helps in avoiding the slowly methods depend on scanning the P-V curve to reach and track the GMPP, as well as the possibility of processing the deception process in terms of tracking the LMPP.
Moreover, it performed quickly with minimum power oscillations. By that, the classical CSA has been successfully used in the PV systems' MPPT controller, and the results havebeen discussed in References [28,42].
There are three bases that designers relied on to build the classical CSA algorithm. The first base is every time each one of the cuckoo birds lays one egg in a randomly chosen nest. This base is applied by the MPPT-algorithm generation of a specific number of duty cycles and sent one-by-one to the boost converter.
In the second base, the most suited nest with high-quality eggs will develop into mature birds for the next generation. This base is applied by the MPPTalgorithm's choosing for the current best duty cycle and uses it in the next iteration.
In the third base, the number of possible nests is specified, and the number of discovered nests maintains a probability P ∈ [0, 1]. In the MPPTalgorithm, each iteration has a specific number of samples. After the evaluation process, the duty cycle corresponding to the worst power value may be rejected (destroyed) with a probability of P ∈ [0, 1]. Indemnity to that, a new duty cycle sample will be generated and evaluated to replace the rejected one. The algorithm continues to estimate until all samples reach the GMPP [37].
The steps obeyed by the CSA to track the GMPP can be normalized as follows: Step-1: The CSA initialized (n) random samples of duty cycles and fed them one by one to the DC-DC converter.
Step-2: The PV system's output current and voltage are measured for each duty cycle sample, and the power values are calculated and stored.
Step-3: The algorithm specifies the duty cycles (Ds) corresponding to the max power value and the min power value as the current best duty cycle sample D best and the worst duty cycle sample D worst , respectively, for the current iteration.
Step-4: The algorithm tested whether the condition [If (rand < P)] is true. If it is satisfied, the algorithm begins to replace the worst duty cycle sample with a newly generated one. Then, for the newly developed duty cycle, the PV output power is calculated, and the current best duty cycle value is updated.
Step-5: The algorithm startedto use the following le'vy flight equation to generate new (n − 1) duty cycle samples and fed them one-by-one to the DC-DC converter. where The le'vy flight distribution equation can be simplified as where k is the le'vy multiplying coefficient, β = 1.5, while v and u are fined from the normal distribution curve and can be expressed as: The variables σ u and σ v can be calculated from: where Γ is the integral gamma function [37].
Step-6: The algorithm calculates and stores the output power values for each new sample again. If all samples reach the GMPP, the algorithm stops its iteration and sends the global best duty cycle to the DC-DC converter. If not, the algorithm starts the next iteration by returning to step number three.

The Proposed Improved Cuckoo Search Algorithm (ICSA) Performance
The essential predicament in using the conventional CSA for the MPPT controller can be traced back to the size of the search steps resulting from utilizing the le'vy flight distribution equation.
During the exploration phase, the search steps contain clusters of long jumps punctuated by several short steps, as shown in Figure 4 [43].
This leads to two effective problems that are easily noticeable. First, the long jump (significant change in the duty cycle value) may lead to losing the right path towards the GMPP. It is still followed by short steps (shallow change in the duty cycle value), which lead to a verylow corresponded change in the PV module operating voltage.
Second, these steps shape may lead to research for the solution in the vicinity of a previously explored area. Thus, more iterations are required to reach the GMPP, and, during that, a bad power oscillation will transfer to the load.  This leads to two effective problems that are easily noticeable. First, the long jump (significant change in the duty cycle value) may lead to losing the right path towards the GMPP. It is still followed by short steps (shallow change in the duty cycle value), which lead to a verylow corresponded change in the PV module operating voltage.
Second, these steps shape may lead to research for the solution in the vicinity of a previously explored area. Thus, more iterations are required to reach the GMPP, and, during that, a bad power oscillation will transfer to the load.
Despite these, both problems can be solved by thoroughly observing the trends in several different P-V curves under uniform irradiance or partial shading conditions. From that, the proposed algorithm was designed to provide the CSA with three cumulative ideas to improve its performance in trapping and tracking the GMPP.
These ideas can be sequenced as follows:reducing the exploration area by updating its boundaries after each iteration, and replacing the worst nest (worst duty cycle sample) with another to search within the promoted site. Finally, the algorithm redirects the duty cycle samples created outside the new boundaries into the more advanced search area.
Unfortunately, there is some discrepancy in the literature on CSA. In later publications on CSA, the descriptions of the algorithm are not entirely consistent with the initial as noted by Reference [28], and discrepancies between the description and implementationsometimes exist even within the same reference, as in the case of Reference [44], The CSA described and used in this work is based on the MATLAB code similar to Reference [45]; the same version of the CSA can also be found in Reference [45].
The objective function for the CSA-based MPPT aims to maximize the PV output power by varying the duty cycle valuesthat feed one-by-one to the interface converter in the range of [0, 1]. The objective function, decision variable, and constraint can be formulated in Equations (12)- (14), respectively.
The objective function: The decision variable: The constraint: The proposed CSA suffices with using a population size of n = 5 (five samples of duty cycles). The values of the duty cycles limits are set to be from 0 to 1. These limits contain the real values at which the converter's switch can be triggered.
The number of generations is differentfrom one case to other, according to the deformation of the P-V curve. So, the proposed improved CSA stops its generation when all Despite these, both problems can be solved by thoroughly observing the trends in several different P-V curves under uniform irradiance or partial shading conditions. From that, the proposed algorithm was designed to provide the CSA with three cumulative ideas to improve its performance in trapping and tracking the GMPP.
These ideas can be sequenced as follows:reducing the exploration area by updating its boundaries after each iteration, and replacing the worst nest (worst duty cycle sample) with another to search within the promoted site. Finally, the algorithm redirects the duty cycle samples created outside the new boundaries into the more advanced search area.
Unfortunately, there is some discrepancy in the literature on CSA. In later publications on CSA, the descriptions of the algorithm are not entirely consistent with the initial as noted by Reference [28], and discrepancies between the description and implementationsometimes exist even within the same reference, as in the case of Reference [44], The CSA described and used in this work is based on the MATLAB code similar to Reference [45]; the same version of the CSA can also be found in Reference [45].
The objective function for the CSA-based MPPT aims to maximize the PV output power by varying the duty cycle valuesthat feed one-by-one to the interface converter in the range of [0, 1]. The objective function, decision variable, and constraint can be formulated in Equations (12)-(14), respectively.
The objective function: The decision variable: The constraint: The proposed CSA suffices with using a population size of n = 5 (five samples of duty cycles). The values of the duty cycles limits are set to be from 0 to 1. These limits contain the real values at which the converter's switch can be triggered.
The number of generations is differentfrom one case to other, according to the deformation of the P-V curve. So, the proposed improved CSA stops its generation when all populations (duty cycles) reach the same values (the optimum solutions), according to Equation (15). After each iteration, the proposed algorithm modified the exploration area boundaries by adding the inferred conditions listed in Tables 1-3 to the CSA performance. These conditions commutatively succeed after beginning with evenly spreading duty cycle samples (D 1 to cover the entire P-V curve in the first iteration, as shown in Figure 5a. Table 1. The first condition that checked by the ICSA to update the exploration area.

"Check If Condition" in Each Iteration New Boundaries of the Exploration Area Illustrated Design From To
The right side from the reference power value Energies 2021, 14, x FOR PEER REVIEW 9 of 22 The right side from the reference power value The left side from the reference power value In the second condition, the reference power value is neither the highest nor the lowest power values in that iteration. In this case, the proposed algorithm promotes the area between the reference power value and the highest power value for the next search operation, as described in Table 2. The right side from the reference power value The left side from the reference power value The left side from the reference power value Energies 2021, 14, x FOR PEER REVIEW 9 of 22 The right side from the reference power value The left side from the reference power value In the second condition, the reference power value is neither the highest nor the lowest power values in that iteration. In this case, the proposed algorithm promotes the area between the reference power value and the highest power value for the next search operation, as described in Table 2. The right side from the reference power value The left side from the reference power value Table 2. The second condition that checked by the ICSA to update the exploration area.

"Check If Condition" in Each Iteration New Boundaries of the Exploration Area Illustrated Design From To
The right side from the reference power value Energies 2021, 14, x FOR PEER REVIEW 9 of 22 The right side from the reference power value The left side from the reference power value In the second condition, the reference power value is neither the highest nor the low est power values in that iteration. In this case, the proposed algorithm promotes the area between the reference power value and the highest power value for the next search oper ation, as described in Table 2.

New Boundaries of the Exploration Area
Illustrated Design

from To
The right side from the reference power value The left side from the reference power value Energies 2021, 14, x FOR PEER REVIEW 9 of 22 The right side from the reference power value The left side from the reference power value In the second condition, the reference power value is neither the highest nor the lowest power values in that iteration. In this case, the proposed algorithm promotes the area between the reference power value and the highest power value for the next search operation, as described in Table 2.  The left side from the reference power value The right side from the reference power value The left side from the reference power value In the second condition, the reference power value is neither the highest nor the low est power values in that iteration. In this case, the proposed algorithm promotes the area between the reference power value and the highest power value for the next search oper ation, as described in Table 2.  The left side from the reference power value Energies 2021, 14, x FOR PEER REVIEW 10 of 22 In the third condition, the value of the reference power is the lowest. The proposed algorithm repeats the search inside the allsearch area, as described in Table 3.

"Check If Condition" in Each Iteration New Boundaries of the Exploration Area Illustrated Design From To
The right side from the reference power value In the third condition, the value of the reference power is the lowest. The proposed algorithm repeats the search inside the allsearch area, as described in Table 3.

New Boundaries of the Exploration Area
Illustrated Design

from To
The right side from the reference power value The left side from the reference power value

Replace the Worst Nest (Worst Duty Cycle Sample) with the Better One
During the procedure of the proposed method, the algorithm stores the highest two power values and their corresponding duty cycles ( )and ( ). These value can be used to complete the algorithm performance and prevent the dismissal of the ex ploration area that contains the optimum solution. After each iteration, the algorithm re places the worst solution (discovered nest) with another duty cycle value, mediating th distance between the two highest power values, and calculated by Equation (17), as shown in Figure 6.  (7). If any duty cycle sam ple is generated outside the boundaries of the new exploration area, the algorithm re places that sample with another one that mediates the values of the fitnessduty cycle ( ) and ( ) by using Equation (17), as shown in Figure 6.

‫ﺡ‬
The left side from the reference power value In the third condition, the value of the reference power is the lowest. The proposed algorithm repeats the search inside the allsearch area, as described in Table 3.

New Boundaries of the Exploration Area
Illustrated Design

from To
The right side from the reference power value The left side from the reference power value

Replace the Worst Nest (Worst Duty Cycle Sample) with the Better One
During the procedure of the proposed method, the algorithm stores the highest two power values and their corresponding duty cycles ( )and ( ). These value can be used to complete the algorithm performance and prevent the dismissal of the ex ploration area that contains the optimum solution. After each iteration, the algorithm re places the worst solution (discovered nest) with another duty cycle value, mediating th distance between the two highest power values, and calculated by Equation (17), as shown in Figure 6.  (7). If any duty cycle sam ple is generated outside the boundaries of the new exploration area, the algorithm re places that sample with another one that mediates the values of the fitnessduty cycle ( ) and ( ) by using Equation (17), as shown in Figure 6.
‫ﺡ‬ populations (duty cycles) reach the same values (the optimum solutions), according to Equation (15).

Reduce the ExplorationArea after each Iteration
After each iteration, the proposed algorithm modified the exploration area boundaries by adding the inferred conditions listed in Tables 1-3 to the CSA performance. These conditions commutatively succeed after beginning with evenly spreading duty cycle samples ( = 0.1, D = 0.3, = 0.5, = 0.7, = 0.9)to cover the entire P-V curve in the first iteration, as shown in Figure 5a. Then, iteratively, the duty cycles ( ) ,voltages ( ) , and powers ( ) values are stored in a 3 × 3 matrix, in descending order, according to the iteration's operating voltage values. The matrix rows are marked by the characters (A, B, C, D, and E), as shown in Figure 5b.
The upper and lower subscript for the duty cycle ( ) indicates the number of iteration and the sample number, respectively. Now, the arranged voltage values achieve: The operating voltage ( ) stored in the matrix's row "C" is the middle voltage value located on the P-V curve. Its corresponding power value ( ) is considered the reference power value for the present iteration, as shown in Figure 5. The reference power value divides the exploration area into two asymmetric regions. The boundaries of each region are decreased towards the optimum solution after each iteration. These decreasedoperations can be achieved by checking the relationship between the reference power value and the other iteration's power values. This relationship can be classified into three main conditions.
In the first condition, where the reference power value is the highest, the probability of finding GMPP around the reference power region is higher than that of the surrounding region around the lesser other powers' values.
From that, the proposed algorithm neglects the area in which the GMPP is unlikely to be found and sets the voltage (D ) or (D ) to be the new exploration area limit, as described in Table 1. Then, iteratively, the duty cycles (D t i ), voltages (V t i ), and powers (P t i ) values are stored in a 3 × 3 matrix, in descending order, according to the iteration's operating voltage values. The matrix rows are marked by the characters (A, B, C, D, and E), as shown in Figure 5b.
The upper and lower subscript for the duty cycle (D t i ) indicates the number of iteration and the sample number, respectively. Now, the arranged voltage values achieve: The operating voltage v C (D t i ) stored in the matrix's row "C" is the middle voltage value located on the P-V curve. Its corresponding power value p C (D t i ) is considered the reference power value for the present iteration, as shown in Figure 5.
The reference power value divides the exploration area into two asymmetric regions. The boundaries of each region are decreased towards the optimum solution after each iteration. These decreasedoperations can be achieved by checking the relationship between the reference power value and the other iteration's power values. This relationship can be classified into three main conditions.
In the first condition, where the reference power value is the highest, the probability of finding GMPP around the reference power region is higher than that of the surrounding region around the lesser other powers' values.
From that, the proposed algorithm neglects the area in which the GMPP is unlikely to be found and sets the voltage v B (D t i ) or v D (D t i ) to be the new exploration area limit, as described in Table 1.
In the second condition, the reference power value is neither the highest nor the lowest power values in that iteration. In this case, the proposed algorithm promotes the area between the reference power value and the highest power value for the next search operation, as described in Table 2.
In the third condition, the value of the reference power is the lowest. The proposed algorithm repeats the search inside the allsearch area, as described in Table 3.

Replace the Worst Nest (Worst Duty Cycle Sample) with the Better One
During the procedure of the proposed method, the algorithm stores the highest two power values and their corresponding duty cycles D(P max1 ) and D(P max2 ). These values can be used to complete the algorithm performance and prevent the dismissal of the exploration area that contains the optimum solution. After each iteration, the algorithm replaces the worst solution (discovered nest) with another duty cycle value, mediating the distance between the two highest power values, and calculated by Equation (17), as shown in Figure 6.
PEER REVIEW 11 o

Redirect the Samples Created outside the New Exploration Area's Boundaries
Iteratively, the duty cycles D(P max1 ) and D(P max2 ) are updated, and the ICSA begins to generate new samples of duty cycles by using Equation (7). If any duty cycle sample is generated outside the boundaries of the new exploration area, the algorithm replaces that sample with another one that mediates the values of the fitnessduty cycles D(P max1 ) and D(P max2 ) by using Equation (17), as shown in Figure 6.
The flowchart of the proposed technique can be simplified, as in Figure 7.

The Simulation Results
In this section, the proposed ICSA is implemented using MATLAB/Simulink software. This simulation software has been used to compare the transient and the steady-state performance between both the ICSA and classical one.
The PV string simulation pattern is consisting of a number of PV modules. Each one has a shunt connection with a bypass diode. The multitude of the peaks and their positions on the P-V curve can be controlled using different irradiance values at the same surrounding temperature. The PV module and the boost converter parameters are listed in Table 4. The simulation was studied and performed under uniform irradiance and PSC. In this case, pattern-1 is a PV string consisting of two PV modules, and each received the same irradiance level equals to 1000 W/m 2 . So, the string's P-V curve has one power peak of 260 W. The duty cycles' operating points for the first four iterations are shown in Figure 8a, and its data are listed in Table 5. Table 5 also identifies the true conditions recommended by the ICSA, through which it outlines the exploration area boundaries for the next iteration. In the third iteration, the MPP is located outside the new exploration boundaries. However, the proposed algorithm usually returns searched inside the region between the two highest power values has been reached before, as discussed in the previous section. Consequently, in the fourth iteration, the MPP returns inside the new boundaries of the exploration area.        Table 5. The rearranged and saved data for pattern-1. True condition

The First Iteration Matrix The Second Iteration Matrix The Third Iteration Matrix The Fourth Iteration Matrix
The duty cycles convergence towards the MPP for each CSA and the ICSA are shown in Figure 8b,c, respectively. It can be observed that the performance of the ICSA leads to track the MPP of 260 W in about 0.5 s, while the classical CSA takes 0.8 s, with bad fluctuations.

Under PSC Case In the First Case
Pattern-2 is a PV string consisting of three PV modules, and each received different irradiance levels equals to 1000 W/m 2 , 1000 W/m 2 , and 400 W/m 2 . So, the P-V curve of the PV string has two power peaks equals 254 W, and 177 W. The duty cycles' operating points for the first four iterations are displayed in Figure 9a, and its data are arranged in Table 6. Table 6 also identifies the true conditions approved by the ICSA, through which it outlines the exploration area boundaries for the next iteration. The duty cycle convergence towards the GMPP for each CSA and the ICSA are shown in Figure 9b,c, respectively. It can be observed that the performance of the ICSA leads to track the GMPP of 254 W in about 0.5 s, while the classical CSA takes 0.87 s, with disagreeable oscillations.

In the Second Case
Pattern-3 is a PV string consisting of four PV modules, and each received different irradiance levels equals to 1000 W m , ⁄ 1000 W m , ⁄ 500 W m , ⁄ and200 W m . ⁄ So, the P-  Table 6. The rearranged and saved data for pattern-2. True condition 4 4 In the Second Case Pattern-3 is a PV string consisting of four PV modules, and each received different irradiance levels equals to 1000 W/m 2 , 1000 W/m 2 , 500 W/m 2 , and 200 W/m 2 . So, the P-V curve of the PV string has three power peaks equals 247 W, 217 W, and 119 W. The duty cycles' operating points for the first four iterations are exhibited in Figure 10a, and its data are scheduled in Table 7. Table 7 also identifies the true conditions commended by the ICSA, through which it outlines the exploration area boundaries for the next iteration. The duty cycle convergence towards the GMPP for each CSA and the ICSA are shown in Figure 10b,c, respectively. It can be observed that the performance of the ICSA leads to track the GMPP of 247 W in about 0.4 s, while the classical CSA takes 0.8 s, with disturbing fluctuations.       Figure 11a, and its data are entered in Table 8. Table 8 also identifies the true conditions sanctioned by the   True condition

The First Iteration Matrix The Second Iteration Matrix The Third Iteration Matrix The Fourth Iteration Matrix
to v E D 4 5 In the Third Case Pattern-4 is a PV string consisting of four PV modules, and each received different irradiance levels equals 1000 W/m 2 , 700 W/m 2 , 500 W/m 2 , and 300 W/m 2 . So, the P-V curve of the PV string has four power peaks equals 111 W, 186 W, 210 W, and 178 W. The duty cycles' operating points for the first four iterations are presented in Figure 11a, and its data are entered in Table 8. Table 8 also identifies the true conditions sanctioned by the ICSA, through which it outlines the exploration area boundaries for the next iteration. The duty cycle convergence towards the GMPP for each CSA and the ICSA are shown in Figure 11b,

The Experimental Results
The effectiveness of the proposed ICSA is verified by an empirical test in the laboratory, as shown in Figure 12a. The experimental setup has three main parts. The first part is the PV emulator circuit, which consists of two variable DC power supplies and several power resistances. The second part is the interface device is represented by a boost converter that has the inductor of "3 mH, 7 A", capacitor of "2 × 2200 µF, 50 V", fast recovery diode of "100 V, 10 A", and power MOSFET of "100 V, 25 A". The final part is the control-  True condition

The Experimental Results
The effectiveness of the proposed ICSA is verified by an empirical test in the laboratory, as shown in Figure 12a. The experimental setup has three main parts. The first part is the PV emulator circuit, which consists of two variable DC power supplies and several power resistances. The second part is the interface device is represented by a boost converter that has the inductor of "3 mH, 7 A", capacitor of "2 × 2200 µF, 50 V", fast recovery diode of "100 V, 10 A", and power MOSFET of "100 V, 25 A". The final part is the controllerconsists of a current sensor, voltage sensor, gate drive, and a "TMS320F28335"microcontroller with 32-bits, 150 MHz. The experimental output is joined to a battery load of "2 × 12 V, 7 Ah".

Uniform Irradiance Condition
The suggested ICSA was appraised and compared with the performance of the classical CSA and the P&O method under uniform irradiance conditions. This case can be Energies 2021, 14, 7210 16 of 21 simulated by setting the two DC power supplies to 15 V and using two power resistances equals 3.3 Ω. Hence, the output nonlinear P-V curve has a single peak at 64 W. The experiment outputs for voltage, current, and power values are measured and portrayed by using an oscilloscope, as shown in Figure 13. lerconsists of a current sensor, voltage sensor, gate drive, and a "TMS320F28335"microcontroller with 32-bits, 150 MHz. The experimental output is joined to a battery load of "2 × 12 V, 7 Ah".

Uniform Irradiance Condition
The suggested ICSA was appraised and compared with the performance of the classical CSA and the P&O method under uniform irradiance conditions. This case can be simulated by setting the two DC power supplies to 15 V and using two power resistances equals 3.3 Ω. Hence, the output nonlinear P-V curve has a single peak at 64 W. The experiment outputs for voltage, current, and power values are measured and portrayed by using an oscilloscope, as shown in Figure 13.
It was clearly seen that the P&O method reached the MPP at 64.5 W in about 0.5 s, but it has a high oscillation in both the transient and the steady-state conditions, as shown in Figure 13a,b, respectively. The classical CSA took a long time of 1.2 s to converged and reach the MPP, as shown in Figure 13c. Then, it catches and tracks the MPP of 59.9 W at the steady-state conditions, as demonstrated in Figure 13d. On the other hand, the ICSA takes less than 0.5 s to get the MPP, as shown in Figure 13e. After that, it transfers about 63.8 W to the load with high power stability in steady-state conditions, as shown in Figure  13f. From this test, the results indicate that the proposed ICSA has a quicker performance speed with higher stability than the other two methods.

PSC
In this case study, the two DC power supplies are set to 20 V and use two power resistance equals 2 Ω and 8.5 Ω, as shown in Figure 12b. The simulated PV output has two MPPs of 45 W and 37 W. The same previous algorithms are re-evaluated to determine the most efficient under partially shaded conditions.
If the P&O explorer does not fall into the LMPP and catches the GMPP, the step size remains very influential on the shape of the output transmitted to the load. In adjusting the step size by 0.0001, the search will be prolonged and reach the power of 42.6 W, as shown in Figure 14a. In contrast, if the step size is set to 0.1, the algorithm reaches a power value of 45.3 W but with an annoying vibration around the GMPP, as shown in Figure  14b.
The classical CSA converged to the GMPP in about 0.68 s and transferred 44.1 W to the load at steady-state conditions, as shown in Figure 14c,d, respectively. On the other hand, the ICSA reached the GMPP at about 0.08 s with high stability output power of 45.4 W, as shown in Figure 14e,f, respectively. It was clearly seen that the P&O method reached the MPP at 64.5 W in about 0.5 s, but it has a high oscillation in both the transient and the steady-state conditions, as shown in Figure 13a,b, respectively. The classical CSA took a long time of 1.2 s to converged and reach the MPP, as shown in Figure 13c. Then, it catches and tracks the MPP of 59.9 W at the steady-state conditions, as demonstrated in Figure 13d. On the other hand, the ICSA takes less than 0.5 s to get the MPP, as shown in Figure 13e. After that, it transfers about 63.8 W to the load with high power stability in steady-state conditions, as shown in Figure 13f. From this test, the results indicate that the proposed ICSA has a quicker performance speed with higher stability than the other two methods.

PSC
In this case study, the two DC power supplies are set to 20 V and use two power resistance equals 2 Ω and 8.5 Ω, as shown in Figure 12b. The simulated PV output has two MPPs of 45 W and 37 W. The same previous algorithms are re-evaluated to determine the most efficient under partially shaded conditions.
If the P&O explorer does not fall into the LMPP and catches the GMPP, the step size remains very influential on the shape of the output transmitted to the load. In adjusting the step size by 0.0001, the search will be prolonged and reach the power of 42.6 W, as shown in Figure 14a. In contrast, if the step size is set to 0.1, the algorithm reaches a power value of 45.3 W but with an annoying vibration around the GMPP, as shown in Figure 14b.
The classical CSA converged to the GMPP in about 0.68 s and transferred 44.1 W to the load at steady-state conditions, as shown in Figure 14c,d, respectively. On the other hand, the ICSA reached the GMPP at about 0.08 s with high stability output power of 45.4 W, as shown in Figure 14e,f, respectively.
From this test, the results indicate that the proposed ICSA has a shorter time to track the GMPP with higher stability than the other two methods. Energies 2021, 14, x FOR PEER REVIEW 18 of 22 From this test, the results indicate that the proposed ICSA has a shorter time to track the GMPP with higher stability than the other two methods.

Conclusions
Theproposed technique presented in this article adds an effective mechanism to the classical Cuckoo Search Algorithm performance to improve the PV systems' Global Max Power Point Tracking. This mechanism updates the boundaries of the exploration area after each iteration by promotingthe exploration area containing the high-quality solutions and excludingthe exploration area containing the poor solutions. The simulation results showed the performance of the proposed technique in the first four iterations, as well as the waveform trajectory towards the GMPP, for several different models. On the other hand, an experimental setup compared the performance of the proposed technique with both the classical CSA and the P&O method. The results indicate that the proposed technique has a minimum tracking time with high output power stability at the steady-state condition, especially at the partial shading conditions.
The proposed CSA offers a better response than the classical one for both the settling time and output oscillations. These achievements are mainly due to the novel proposed scan period sectionalizing. The fear from misconvergence in the investigated optimization problem is of less importance in this case. The core of the proposed technique relies on the fact that reducing the exploration area is based on maximizing the overall PV string power, continuously taking into consideration the dynamic array voltage variation and avoiding less probability search areas, hence avoiding the misconvergence. It is better to declare that this benefit is application specific and needs better knowledge of the investigated problem practical dynamics. Hence, the authors cannot guarantee its applicability for different applications unless deeply investigated.