An Improved Bat Algorithm for More Efficient and Faster Maximum Power Point Tracking for a Photovoltaic System Under Partial Shading Conditions

Solar modules under partial shading (PS) conditions will result in power and voltage characteristic curves (P-VCC) having multiple peaks. If the maximum power point cannot be obtained, the output power of the solar modules will be greatly reduced. Hence, there have been various maximum power point tracking (MPPT) control methods developed to address this problem. One alternative is to employ the meta-heuristic approach (MHA) to track the global maximum power point (GMPP). Recently, a new MHA called Bat Algorithm (BA) has performed well in the MPPT. Nevertheless, BA may fail to track the GMPP when there are some local maximum power points (LMPPs) close to the GMPP. Also, the tracking time needs to be further reduced to accommodate rapidly changing irradiance. Therefore, a combination of BA with the abandonment mechanism of Cuckoo Search (CS) is proposed to improve the tracking performance of the BA. Both simulation and experimental results show that the proposed method, as compared to BA, yields better accuracy and an improvement of convergence speed of about 35% for various P-VCCs can be achieved. Moreover, the MBA has also been tested against some of the state-of-the-art MPPT algorithms such as Particle Swarm Optimization and Grey Wolf Optimization (GWO), and the results showed the superiority of the proposed method.

between each PV module [11], [12]. However, this method will cause the overall P-V characteristic curve (P-VCC) to exhibit multiple peaks [7], [13]. Therefore, the aim of a maximum power point tracking (MPPT) controller is to extract the global maximum power point (GMPP) under various conditions (with or without PS) [14], [15]. One common approach is to track the GMPP by developing advanced control algorithm (ACA), classified into deterministic-based MPPT and artificial intelligence-based (AI) MPPT.
The common algorithms used in industrial applications, such as perturb and observe (P&O) [16]- [18], hill climbing (HC) [19], and incremental conductance (InC) [20], [21], fall into deterministic-based MPPT category. P&O has the advantage of easy implementation and fast tracking. However, it tends to oscillate around the maximum power point and cannot be ensured to obtain the GMPP under PS. If the perturbation size is not wisely chosen, the oscillation can easily occur. Many attempts have been made to reduce the oscillation around the maximum power point (MPP) [17], [22]. Changing the fixed step size into adaptive one is one way to improve the P&O as introduced in [16]- [18], [23]. For instance, [23] proposed an adaptive P&O based on the derivative of power with respect to voltage to have faster dynamics and improved stability compared to the traditional P&O method. Moreover, the trigonometry rule is combined with InC method to reduce the convergence time for achieving GMPP [24]. Nevertheless, these improved methods still cannot attain the GMPP of P-VCCs with multiple peaks.
AI-based MPPT is a promising approach to achieve GMPP for P-VCC with multiple peaks. AI-based MPPT can be categorized into fuzzy logic (FL) [25]- [27], artificial neural network (ANN) [28]- [30], and meta-heuristic approaches (MHAs) [31]- [33]. In [34], the FL method combined with InC is employed to determine the duty cycle based on the rule base and the input variables. Prior to constructing the FL, one needs to determine the linguistic terms, membership functions (MF), and rule base. The accuracy relies on the number of linguistic terms. The more linguistic terms used, the more accurate the output will be resulted. However, increasing the number of linguistic terms leads to computational burden. In addition, the parameters of MF and rule base require designers to have some prior knowledge on the P-VCCs to be tracked. Kota et al. presented an ANN to track the GMPP under PS. A remarkable tracking time is shown in this method. However, the accuracy of this method strongly depends on the training data. Furthermore, re-collecting data is also needed for other PS conditions.
The MHA is designed to solve an optimization problem which deeply adapts to each problem [31]- [33]. An MHA is very suitable to solve for the GMPP problem under PS conditions as the P-VCCs are generally not known in advance [35].
All MHAs share two common characteristics: 1. They are nature-inspired (based on some principles from biology, ethology, or physics), 2. They make use of stochastic components to escape from local optimal points.
Of the most popular MHA used for MPPT is particle swarm optimization (PSO), due to its easy implementation [36], [37]. However, PSO has the problem of having a long tracking time for large search spaces. In [38], the improved PSO is employed to obtain the GMPP by adding some parameters to determine the new duty cycle based on the power change. However, this mechanism requires to determine some constants based on the duty cycle and maximum power relationship. Researchers have started to seek other MHAs for MPPT. In [39], artificial bee colony (ABC) algorithm has been implemented to obtain the GMPP under PS, and its convergence performance is better than PSO. However, when the number of bees is low, ABC will be trapped in a local maximum power point (LMPP). Ant colony optimization (ACO) used in MPPT was developed by Jiang and Maskell [40]. The performance of ACO is similar to PSO when tested under uniform and shading pattern conditions. The improved differential evolution for achieving GMPP under PS has been proposed by Tey et al. [41]. This method provides fast convergence and simple implementation due to the fewer control parameters. However, there is no mechanism to remember the previous movements and locations that the particle have experienced throughout the program. Thus, it tends to be stuck in local maximum. Xin-She Yang and Suash Deb proposed the Cuckoo Search (CS) in 2009 [42], inspired by Cuckoo's brooding behaviors. The algorithm proved to be more effective compared to PSO [43]- [46]. Yet, its convergence rate is slow. A new MHA named Bat Algorithm (BA) proposed by Xin-She Yang is inspired by the echolocation mechanism of bats [47]. The combination of global exploration and local search mechanism allows particles to have less oscillations and good dynamic behavior before reaching the GMPP. The implementation of BA for MPPT to reach GMPP under PS has been reported in [48]- [50]. It is confirmed that BA shows superiority compared to PSO and P&O for MPPT performance [49], [50]. However, the drawback of BA is that under some circumstances, it can be easily trapped in a LMPP, which can reduce the output power of the PV system. Thus, the main contribution of this paper is to improve the performance of the original BA method by enhancing the tracking efficiency and tracking time for MPPT. The proposed modified bat algorithm (MBA) combines the abandonment mechanism from CS with BA. Both simulation and experimental results confirm that the proposed method is able to significantly improve the convergence time and accuracy compared to the original BA. The structure of this paper is as follows. The next section will briefly introduce the principles of BA. The MBA method will be presented in the third section. The simulation results and parameters selections will be elaborated in the fourth section. The fifth section presents the experimental results. Finally, the conclusion is provided in the sixth section.

II. OVERVIEW OF BAT ALGORITHM
Unlike other mammals, bats do not rely on vision. Instead, they use echolocation to detect the environment to avoid VOLUME 8, 2020 obstacles and catch prey. The operation of echolocation is that the bat first emits a pulse with the appropriate loudness and receives the feedback signals to detect the prey. When the prey gets closer, the bat will increase the pulse volumes and gradually reduce the loudness of the pulse. Hence, bats can detect target distance and even use echolocation to distinguish between obstacles and preys.
The BA proposed by Xin-She Yang in 2010 is inspired by the bat echolocation mechanism. The following rules are defined for the idealized bat algorithm and retain its biological characteristics: • All bats know the difference between obstacles and preys, via the mechanism of echolocation.
• The bats fly at position X i at speed V i , and they adjust the pulse emissivity r i in the range of [0, 1] according to the degree of proximity to the prey and automatically adjust the frequency of the pulse.
• As the number of iterations increases, the loudness emitted by the bat will gradually decrease from the initial loudness A 0 to minimum A min . From the above rules, pulse frequency of i th bat, f i is defined as where f min and f max refer to the minimum and maximum frequencies, respectively, and σ is a random number in the range between 0 and 1. The speed V i for the ith bat is expressed as (2).
where k is the iteration number, X best is the current global optimal value, and X k i is the position of i th bat in the k th iteration, and it is updated based on (3) and (4).
where r k i is the pulse emissivity of i th bat in the k th iteration, σ 1 is a random number between 0 and 1, β is a random number between −1 and 1, and A k is the average loudness of all the bats in the k th iteration. When r k i ≤ σ 1 , it means that the bat is entering global exploration. When r k i > σ 1 , it means bats entering the local search. The pulse emissivity and loudness are updated as the number of iteration increases. When the best solution is still better than the current solution and A k i is larger than random number σ 2 , the loudness decreases and the pulse emissivity increases. When the loudness and pulse emissivity gets updated, it shows that the bat is looking for prey, and getting closer to it. Therefore, the loudness and pulse emissivity of the i th bat in the k th iteration are defined in (5).
where α and γ are constants. The use of α in the BA is similar to the cooling factor of simulated annealing algorithm [51], [52]. The value ranges are defined as 0 < α < 1 and γ > 0, respectively. The trend of loudness and pulse emissivity with the increased number of iterations can be expressed as follows: According to (3) to (6), several observations can be made. In the early stage, bats will more easily enter global exploration. During this stage, bats will explore in the opposite direction to the current best solution, which is beneficial in terms of jumping out of the local optimal solution. In the later stage, bats will more likely enter the local search. At this time, they will start with the current global best solution, and the search range will gradually converge according to the loudness.
The convergence criterion as defined in (7) is checked to ensure that global maximum point (GMP) is reached: where N is the number of bats and ε is the tolerance value. When the distances between each bat and current best position are less than ε, the convergence condition is reached.
In an MPPT case, the voltage V is the bat position X and the power P is the fitness of bat f (X ). The flowchart of BA is shown in Fig. 1

III. THE PROPOSED MODIFIED BAT ALGORITHM
In this proposed method, BA is combined with the abandonment mechanism from CS in order to accelerate the tracking time. Here, a brief review of the CS algorithm is described to have a better understanding about the abandonment mechanism. CS is inspired from its special brooding method. Cuckoos put their eggs in other birds' nests to increase their hatching rates. However, the cuckoo's eggs can be found by the host bird and these eggs will be destroyed or abandoned. Three idealized characteristic rules for implementing CS are stated as follows: • Each cuckoo lays an egg and puts it in a randomly selected nest.
• Eggs with high quality will carry over to the next iteration.
• There are a fixed number of host nests in the ecosystem and the probability of alien eggs discovered by the host bird is P a ∈ [0, 1]. In case the host bird finds the alien eggs, the nest will be destroyed or abandoned. The host bird then builds a new nest in another place. Note that this can be approximated by replacing a fraction (P a ) of N nests by new solutions.
The abandonment mechanism proposed in CS allows the search to be limited for potentially good candidate solutions. This can speed up the convergence. To improve the convergence speed of the BA, we proposed to infuse the abandonment concept in the BA. The abandonment mechanism is executed immediately after all the particles of BA have been updated via (1) - (5). In the abandonment mechanism, first, the order of X i are sorted in the ascending order. Then a number of N r (N r = P a × N ) particles are abandoned. To replenish the same number of particles, we first calculate the distance between the global best position X best and the abandoned bat position X ai , X ai , which is defined in (8) The value of X ai will be compared with a tolerance value, ε 1 . If X ai is equal to or smaller than ε 1 , it implies that X ai is very close to X best . Hence, the replenishing particle, X i,new is set to X best . On the other hand, if X ai is larger than ε 1 , it implies that X ai is far away from X best . Hence, we proposed to set the replenishing particles to have the form of (9) S i is defined in (10).
where σ 3 is the random number in the range between 0 and 1 and N c is a cooling factor, whose formula is defined as (11).
The condition of X best > X ib .  To determine whether S i should be added to or subtracted from X best , the following criteria are evaluated. Assume that X ib represents the best solution of the current iteration. If X best > X ib , it means X ib is at the left side of X best . Hence, the replenishing particle, X i,new is set as (12) to explore the left side of X best , as shown in Fig. 2. Fig. 3 shows how the search space evolves in this situation. By eliminating X ai in Fig. 3(a), and placing the replenishing particle X i,new according to (12), all the particles are constrained at the left subspace, which can potentially speed up VOLUME 8, 2020  the convergence time. On the other hand, when X best ≤ X ib , it means X ib is at the right side of X best . Therefore, X i,new is set as (13) to explore the right side of X best , as shown in Fig. 4. Fig. 5 shows how the search space evolves in this situation. By eliminating X ai in Fig. 5(a) and placing the replenishing particle X i,new according to (13), all the particles are constrained at the right subspace.
The updated position X i,new is summarized in Table 1 and the flowchart of MBA is shown in Fig. 6.

IV. SIMULATION RESULTS
Firstly, the proposed method is evaluated through Matlab simulation. Three P-VCCs with different GMPPs are generated to validate the proposed method, and they are displayed in Fig. 7. The number of bats (or ''particles'') is chosen to be five. Since the converter only has one control parameter   BA has two parameters which are α and γ required to be selected. These parameters will affect the convergence time and accuracy. The selection of the parameter is prioritized based on the accuracy. Therefore, the parameters with higher accuracy will be selected to ensure the algorithm can track GMPP efficiently. According to the above rules, through the extensive simulations, the parameter values for α and γ are set to be 0.9 and 0.1, respectively. α is the cooling factor of loudness, which is defined in (5). When α is larger, it means that the loudness will decrease slowly, and vice versa. Several values of α from 0.5 to 0.9 within an interval step of 0.1 have been evaluated. The results are shown in Table 2. According to the accuracy performance, α = 0.9 is the best option.
γ adjusts the pulse emissivity of each bat, which determines the frequency of entering the local search. When γ increases, it means the probability of bats moving from global exploration to local search will increase. The results for different values of γ are shown in Table 3. Accordingly, γ = 0.1 is selected for the best performance.
In MBA, the constants, α and γ are set to be the same as BA. Nevertheless, there is a parameter in MBA, called abandonment number, N r needs to be set. N r defines how many bats will be abandoned and created. Several values of P a from 20% to 100% within an interval step of 20% have been evaluated. The results are shown in Table 4. According   to the accuracy performance, P a = 80% (N r = 4) is the best option. Table 5 lists the tracking accuracy and time for each P-VCCs. As indicated in the table, the average accuracy of the MBA is above 99.7% for all the P-VCCs, implying that MBA can successfully track the GMPP, regardless the shapes of P-VCCs. On the other hand, there are some cases that the BA fails to track the GMPP. For example, for curve 2, the tracking efficiency for BA is 97.82%. This can be seen from Fig. 8, showing the distribution histogram of the

V. EXPERIMENTAL VALIDATION
The schematic of the experimental validation is shown in Fig. 9. The DC-DC converter is an interleaved boost converter that can reduce the ripple currents and increase efficiency and reliability. The MPPT algorithms are implemented in a 32-bit digital signal processor (TMS320F28035) from Texas Instruments. The maximum input voltage is 215 V, and the load voltage is maintained at 450 V. The load is a resistive load and its voltage is regulated by a voltage source (Chroma programmable dc power supply 620120P-600-8). Fig. 10 shows the actual hardware, including DSP, DC-DC converter, loads, oscilloscope, power supply for DSP, programmable DC power supply, and standalone terrestrial solar array photovoltaic emulator (ETS600 × 8C-PVF).

A. STATIC CASES
The experimental curves, generated from the PV emulator, are the same as those simulated in Matlab. These results are obtained by running the experiments multiple times (more than 20 times). In addition, to compare with BA, the proposed  model is also evaluated against two other states-of-the-art MPPT algorithms, and they are PSO and Grey Wolf Optimization (GWO) algorithms. Figs. 11 to 13 show the typical tracking trajectories of the BA, MBA, PSO, and GWO. Note that since the number of the particles used is 5, generally, one iteration comprises of five voltage changes. To ensure that the response time of the PV emulator is faster than the controller response, the particle is updated every 100 ms. Hence, one iteration takes 500 ms. As shown in Fig.11, it takes 12 iterations for the BA to attain GMPP for curve 1, while it takes slightly more than seven iterations for the MBA to converge. On the other hand, it requires 12 and 13 iterations for GWO and PSO, respectively to attain the GMPP. Similarly, Figs. 12 and 13 show that the MBA can get to the GMPP much faster than the BA, PSO, and GWO for curves 2 and 3. Moreover, as Fig. 11-13 show, all the particles are initialized at 90%, 80%, 70%, 60%, and 50% of the open-circuit voltage.
Thus, in the first iteration, the voltage profiles are the same for all the methods. Nevertheless, the voltage trajectories are different from these algorithms after the first iteration due to different ways of searching for the GMPP. The MBA exhibits the least voltage variances among the other methods. This is because the MBA incorporates the abandonment mechanism of CS into the BA, allowing the search to be limited to the potentially good candidate solutions. For instance, in Fig. 11, one can see that after the fifth iteration, all the five particles are close to each other and only take another two iterations to converge to the GMPP. On the other hand, all the other three algorithms exhibit high voltage fluctuations. In particular, the GWO has the highest voltage variations. In fact, the highest voltage variations for all four methods are 38.76 V for MBA, 119.1 V for BA, 80.4 V for PSO, and 128.47 V for GWO. The reason why GWO exhibits highest voltage variations is that the GWO allows the particles to search in a wider search space for the first few iterations. Then, the GWO will explore a smaller region in much later iterations to track GMPP. From Figs. 11-13, we can see that BA generally perform better rather than PSO, confirming the findings in the literature. Nevertheless, BA has longer tracking time, and higher variations, as compared to the MBA.
The tracking efficiency and tracking time of all MPPT algorithms are summarized in Table 6. Generally, the proposed method yields better results compared to BA, PSO, and GWO, achieving an average accuracy of 99.85% with 0.35 standard deviation. On average, the tracking time for the proposed method is about 3.6 seconds, while the other algorithms cannot reach values under 5 seconds. Compared VOLUME 8, 2020 to the BA, an improvement of 1.9 seconds (34.5%) can be attained by using the proposed method. It is worth noting that, generally, there is a trade-off between tracking time and efficiency for an MPPT algorithm. That is, high tracking accuracy is usually achieved at the expense of longer tracking time. The proposed method, combined with the abandonment mechanism of cuckoo search, can improve both the tracking time and efficiency, demonstrating the superiority of the proposed method.
The experimental results generally are in agreement with the simulation results, showing the proposed MBA has a better performance compared to another algorithm. Some slight discrepancies between the simulation and experiment results are due to the following: 1. The converter is assumed to be ideal in the simulation whereas the actual converter has switching and conduction losses. 2. Due to the hardware constraints and thermal limitations, the number of experiment conducted is much smaller than the number of simulations. Finally, Table 7 lists the computational costs required by each MPPT algorithm during the first 10 seconds. Such a period is chosen, since all algorithm successfully converges at 10 seconds. It can be clearly seen that the proposed method, on average, requires the least computational costs compared to other algorithm.

B. DYNAMIC CASES
The actual environmental conditions are ever-changing, and the changes of irradiance and temperature will affect P-VCC. Continuous variations of P-VCCs will be generated in the PV emulator to test the dynamic tracking capability of the proposed MPPT algorithm. In this study, the starting power level is 453.38 W while the ending power level is 288.51 W in continuous dynamic tracking. The changing sequence of P-VCCs are shown in Fig. 14, and the shading patterns and the irradiance levels are changed every 11 seconds. The choice of 11 seconds is due to the tracking time of the BA in the worst case is about 5.5 seconds. Therefore, the changing time is set to 11 seconds, which is two times of 5.5 seconds. This is to ensure that there is enough time for each waveform to settle.
To detect the power variations caused by irradiance or temperature changes, (14) is defined.
where P pv,last is the power of the previous detection and P is set to 5% of the maximum power. When the current power P pv differs from the previous power P pv,last is 96386 VOLUME 8, 2020  larger than P, it means that power variations have occurred. Therefore, the algorithm will reinitialize and re-track the new GMPP. Note that P needs to be carefully selected such that it is able to distinguish the fluctuations of the output power caused by the noise of voltage or the irradiance variations. VOLUME 8, 2020   The efficiency of dynamic tracking η d is defined as follows: where T j is the period in which the GMP j is provided and T i is the period in which V pv,i and I pv,i are sampled. The results of dynamic experiments are shown in Figs. 15 and 16. The tracking efficiency for BA and MBA are 94.38% and 96.7%, respectively. Figs.15 and 16 show the dynamic tracking performance of BA and MBA. MBA can enhance the dynamic efficiency by nearly 2.5% due to the following reasons. The MBA exhibits much less power and voltage fluctuations, compared with the BA. Moreover, the MBA takes less time to settle to the GMPP whenever a power change is detected. This case study clearly demonstrates that the MBA can effectively track the GMPP with a much shorter convergence time and a smoother profile, leading to higher dynamic efficiency.

VI. CONCLUSION
This paper employs the abandonment mechanism from CS to improve the BA for MPPT of a PV system. By retaining the high-quality solution and abandoning poor solution, the abandonment mechanism added to BA can increase the probability of getting out of the LMPP and decrease the tracking time.
The experimental results show that the static tracking accuracies of the proposed method are above 99.80%. Moreover, MBA can enhance the dynamic tracking efficiency by 2.5% and decrease the tracking time by almost 35% compared to BA.