A New MPPT Algorithm for Photovoltaic Power Generation under Uniform and Partial Shading Conditions

: During its operation, a photovoltaic system may encounter many practical issues such as receiving uniform or non-uniform irradiance caused mainly by partial shading. Under uniform irradiance a photovoltaic panel has a single maximum power point. Conversely under non-uniform irradiance, a photovoltaic panel has several local maximum power points and a single global maximum power point. To maximize energy production, a maximum power point tracker algorithm is commonly implemented to achieve the maximum power operating point of the photovoltaic panel. However, the performance of the algorithm will depend on operating conditions such as variation in irradiance. Presently, most of existing maximum power point tracker algorithms work only in a single condition: either uniform or non-uniform irradiance. This paper proposes a new maximum power point tracker algorithm for photovoltaic power generation that is designed to work under uniform and partial shading irradiance conditions. Additionally, the proposed maximum power point tracker algorithm aims to provide: (1) a simple math algorithm to reduce computational load, (2) fast tracking by evaluating progress for every single executed duty cycle, (3) without random steps to prevent jumping duty cycle, and (4) smooth variable steps to increase accuracy. The performances of the proposed algorithm are evaluated by three conditions of uniform and partial shading irradiance where a targeted maximum power point is located: (1) far from, (2) near, and (3) laid between initial positions of particles. The simulation shows that the proposed algorithm successfully tracks the maximum power point by resulting in similar power values in those three conditions. The proposed algorithm could handle the partial shading condition by avoiding the local maxima power point and ﬁnding the global maxima power point. Comparisons of the proposed algorithm and other well-known algorithms such as differential evolution, ﬁreﬂy, particle swarm optimization, and grey wolf optimization are provided to show the superiority of the proposed algorithm. The results show the proposed algorithm has better performance by providing faster tracking, faster settling time, higher accuracy, minimum oscillation and jumping duty cycle, and higher energy harvesting.


Introduction
In the last decades, photovoltaic (PV) power generation has been attracting many researchers' interests to investigate them in comparison with other renewable energy sources. PV offers benefits such as free fuel (sunlight), low operation and maintenance costs, noise free nature and simple construction. However, the main drawback of PV is its high initial cost, especially in the first construction. Therefore, to shorten the breakeven cost period, many researchers have investigated how to maximize the energy produced by PV such as using maximum power point tracker (MPPT). A typical MPPT structure for PV The conventional MPPT algorithms under uniform irradiance that have been well studied are perturb and observe (P&O) [1] and incremental conductance (InC) [2] algorithms. P&O and InC algorithms are popular due to their ease of implementation. However, the P&O and InC have some issues such as continuous power oscillation at convergence and fail to track maximum power point (MPP) under rapid change of irradiance. To address these issues, variable step size-based algorithm which automatically adjusts perturbation steps was proposed. The basic principle of variable step is to adapt the perturbation amplitude according to the MPP position; the closer the operating point to MPP, the smaller step is used [3,4]. In [5], the variable step size is determined by fuzzy logic which results in many choices of step sizes. However, the fuzzy logic implementation requires complex algorithm and execution process. Adaptive variable step is implemented by checking any decreasing power during perturbation which means that the MPP is passed, then the step size is reduced by a constant value during iteration [6]. Another variable step size algorithm were proposed by detecting the area near MPP using dP/dV value [6] and using a scaling factor [7]. However, the scaling factor provides inconsistencies in the tracking speed to achieve the MPP under various irradiance level.
Model-based MPPT has been proposed to increase the tracking speed. In [8], a parameter-estimation-based MPPT was proposed. Solar irradiance and temperature are directly calculated by the algorithm to estimate the MPP. Another improvement on the MPPT algorithm was proposed with the fast-modeling approach based on the Lambert PV circuit model for partially shaded PV systems [9]. By using this approach, the MPP is determined by the numerical method based on the developed model. A novel MPPT algorithm was also proposed based on the PV module with the single diode model [10]. In this algorithm, a gradient-based updating law is utilized to find the optimum voltage value of MPP. Furthermore, a new model based MPPT (MBMPPT) was proposed to identify the MPP of each PV panel based on its characteristics [11]. Even though a fast-tracking feature is performed by the model based MPPT, this method requires high computational iterations to achieve the optimum solution.
Non-uniform irradiance and characteristic can occur on a PV panel. These phenomena generate local maxima power point (LMPP) and global maxima power point (GMPP) in the PV power characteristics. Non-uniform irradiance may be caused by dirty surface on PV panel or temporary shading due to cloud [12]. These conditions will reduce energy production in PV power plant [13,14]. The forecasting of energy production has been studied under these conditions [15]. Several forecasting methods are proposed to investigate the problems such as, repairing big data and neural networks [16,17]. Furthermore, the non-uniform characteristic can be caused by the non-similarity characteristics between PV panels in string connection or parallel connection [18]. Unfortunately, the MPPT methods mentioned above could not deal with these conditions. To overcome these problems, the artificial intelligence based MPPT was investigated to explore the most effective solution for GMPP without prior knowledge of the system's model or utilize analytical method. artificial neural networks (ANN) [19][20][21][22] and fuzzy logic controllers (FLC) [23][24][25][26] have been explored by many researchers. Additionally, the hybrid AI based method was also proposed. In FLC for example, fuzzy rules are decided based on the knowledge of PV characteristics and its relationship to weather conditions. However, its performance depends on the determination of membership function and rules. Therefore, the performance depends on extensive training, which usually takes a long time and consumes significant computational power and large memory size.
In recent years, metaheuristic algorithms have been considered for MPPT. Metahueristic algorithms were originally designed to solve complex functions such as more than three dimensions equation, multi optimum values, etc. Metahueristic algorithms work effectively by using exploration and exploitation modes. Exploration mode is entering the new searching space while exploitation mode is searching within previous searching space [27]. To test a new metaheuristic algorithm performance, several complex equations are used such as Rastrigin, Ackley, etc. Metaheuristic bio-inspired algorithms have emerged for their ability in finding GMPP. Metaheuristic maximum power point tracker (MMPPT) methods such as ant colony optimization (ACO) [28][29][30], cuckoo search (CS) [31][32][33], firefly algorithm (FF) [34][35][36][37], whale optimization (WO) [38,39], differential evolution (DE) [40][41][42], grey wolf optimization (GWO) [43,44] and particle swarm optimization (PSO) [45][46][47][48] have been proposed. Some recent MPPT algorithms of PV system were proposed to specifically solve the partial shading problem. These bio-inspired algorithms can detect the GMPP by involving combination of possible solutions or using random variables. These algorithms apply several particles for each iteration to find possible solution. Evaluation will be taken after all particles deployed. High number of particles may increase accuracy or tracking speed. But at the same time may produce lower energy tracking. Moreover, unwanted power fluctuation is generated due to the random variables of combination and selection of the solution [40]. Similarly, unwanted fluctuation in the output power is caused by random walk (for example, Levy flight). Furthermore, power oscillation occurs in convergence due to the random variables in the above bio-inspired algorithms. To solve these problems, the method employs a threshold to lock to the best solution in convergence. However, the locking mechanism will lead to lower accuracy. Furthermore, random walk for particles in initialization may cause prolonged unstable starting period which may further cause premature convergences, thereby missing the GMPP [46][47][48]. The premature convergence occurs when the GMPP is not surrounded by initialization particles. Random walk or random variables helps to reach GMPP but at the same time it generates power oscillation. Note that, metaheuristic algorithms are designed originally to solve complex numerical optimization of three dimensions equation or higher dimension. In contrast, PV characteristic is only single dimension equation. Furthermore, its characteristics of random calculation to PV power generation has risk to power oscillation. To avoid this problem, the random number is removed in [49] from the voltage calculation equation of the conventional CS algorithm. Simple math is used to determine GMPP in this algorithm. To surround the GMPP, particles move from left to right side of GMPP or vice versa. However, this movement yields power oscillation due to the jump of duty cycle. In addition, it is important to guarantee the MPPT works in any condition, uniform or non-uniform. Some existing works have considered these issues, such as involving metaheuristic algorithm: Adaptive cuckoo search optimization algorithm [50], butterfly optimization algorithm [51], Jaya and DE [52], and multi-producer group-search-optimization [53]. The other algorithms are proposed by using complex algorithm such as: multiloops to detect MPP during uniform and partial shading [54], ANFIS-based [55], and novel spline-MPPT technique [56].
This paper proposes a MPPT algorithm for working under uniform and partial shading. The summary of issues in the existing MPPT algorithms and the key contributions of the proposed algorithm (PA) is shown in Table 1. Similar issues are put in the same category.

PV Cell Modeling
A PV cell can be modeled as single diode model or double diode model [57]. The single diode model of PV cell is the most popular due to its simplicity. A single diode ideal and practical model is shown by red and blue dotted line respectively in Figure 2. I PV and V are the current and voltage of cell terminal, respectively. I PV is resulted by I x , I D , and I Rp represented in Equation (1) I x is DC current source model for electrical current produced by solar irradiance. I D and I Rp is internal diode current and shunt resistance current, respectively. I D is represented in Equation (2). I o is the dark saturation current of the PV cell. q is the electronic charge (q = 1. A is the ideality factor of each PV cell, also called emission coefficient. It is around 2 for crystalline silicon and is less than 2 for amorphous silicon. k is the Boltzmann's constant (k = 1.3806505 × 10 −23 ). T 0 and S 0 are temperature and irradiance standard test conditions, respectively. I o is represented in Equation (3). I so is Diode saturation current. T is the ambient temperature. E g is the bandgap energy of each PV cell, in eV. It is around 1.12 for crystalline silicon, and around 1.75 for amorphous silicon. V D is represented in Equation (4). The series R s and shunt resistors R P represent an internal resistance and leakage current respectively. I x is represented by Equation (5). I sc is short circuit current at PV cell terminal. S is the actual irradiance of PV panel. C t is temperature coefficient. I Rp is represented by Equation (6). The total voltage of PV array connected in series is represented by Equation (7). The total current of PV array connected in parallel is represented by Equation (8). N s , N p , V s and I p are number of PV cells, voltage and current in series array and in parallel array, respectively. Table 2 shows the detail electrical characteristics of PV panel used in this study extracted from ICA Solar Polycrystalline ICA100P. Series string connection of three panels is used to test the MPPT algorithms. Figure 3 shows the string panel characteristics of power-voltage (P-V) and current-voltage (I-V) curves demonstrating the effects of various uniform solar irradiance. Higher solar irradiance will significantly increase PV panel current and MPP, but it has small effect to open circuit voltage:

Partial Shading and Its Effects
PV array with uniform irradiance have only one MPP at the knee of the curve I-V. PS occurs when PV array receive non uniform or different irradiance [58]. The number of maxima on each power-voltage curve is equal to the number of PV panel arrays. Figure 4 shows the PV characteristics used to test the algorithm in this paper. PV panel arrays consist of three PV panels which indicate by PV1, PV2 and PV3. Black dots and blue diamonds show LMPP and GMPP, respectively. The number of maxima is three points, according to number of PV panel arrays. Under uniform irradiance, PV panel arrays generate a single MPP as shown in red line in Figure 4. Contrary to partial shading, PV panel arrays generate LMPP and GMPP, as shown in blue, yellow, and green lines in Figure 4.

Buck Converter
Buck converter provides the interface between the PV array and the load. By regulating buck converter's duty cycle, load impedance can be varied as viewed from the PV array side. This in turn enables the buck converter to push PV operating point at GMPP impedance. The buck converter circuit can be formulated by Equations (9)-(13): where V i and V o are the input and output voltages, D is the duty cycle, t on is PWM signal duration to turn on buck converter switch, T s is switching period, L min is the minimum inductance needed for continuous current operation, R is load resistance. L f and C f are the filter inductor and capacitor, respectively. f is the switching frequency, ∆V o is the load ripple voltage, and ∆i L is the inductor ripple current [59]. Duty cycle 0% means open circuit and duty cycle 100% means short circuit to PV array. Table 3 lists the specifications of the buck converter used in the study. Components value are chosen from list of standard values charts to simulate real experimental system.  Figure 5 illustrates the MPP tracking concept according to proposed algorithm. The main idea of proposed algorithm works based on particles position. Each particle corresponds to operating point of duty cycle D n i and PV power P n i . To simplify the the illustration, minimum number of three particles are shown. It shows position of MPP P m marked by blue diamond, duty cycle at MPP D m , three particles of P 1 i green dots, P 2 i red dots and P 3 i yellow dots, and their duty cycle of D 1 i , D 2 i and D 3 i respectively. D 3 i is the highest duty cycle, D 1 i is the lowest, and D 2 i is between D 1 i and D 3 i . During the movement of particles, D 1 i , D 2 i and D 3 i cannot cross one another. They will be kept in the sequence wherein D 1 i is the smallest and D 3 i is the highest duty cycle. P 2 i is directed to the highest power point. Once P 2 i reaches the highest point, P 1 i and P 3 i will approach P 2 i . The relationship of those three particles can be classified into four conditions as shown in Figure 5a-d. Imitating to metaheuristic algorithm principle operation of exploration and exploration mode, Figure 5a,b are exploration mode, while Figure 5c,d are exploitation mode. Figure 5a illustrates case 1, where P 1 i is the highest value. If P 1 i is the highest, P 1 i will be shifted to new position by reducing duty cycle D 1 i . P 2 i will move to previous position of P 1 i . P 3 i will move to previous position of P 2 i . This procedure is repeated until P 2 i > P 1 i . Figure 5a illustrates case 2, where P 3 i is the highest value. If P 3 i is the highest, P 3 i will be shifted to new positions by increasing duty cycle D 3 i . P 2 i will move to previous position of P 3 i . P 1 i will move to previous position of P 2 i . This procedure is repeated until P 2 i > P 3 i . Figure 5c,d illustrate case 3, where P 2 i is the highest value: P 2 i > P 3 i and P 2 i > P 1 i . There are two possibilities of case 3: P 2 i is at the left side or right side of P m as shown by Figure 5c. P 1 i and P 3 i will approach P 2 i . Under certain conditions, P 3 i can be higher than P 2 i . If this condition occurs, the case will change from case 3 to case 2. Another possibility is P 2 at the right side of P m as shown by Figure 5d. P 1 i and P 3 i will approach P 2 i . Under certain conditions, P 1 i can be higher than P 2 i . If this condition is occurred, the case will change from case 3 to case 1. The detailed implementation of the proposed algorithm is shown in Figure 6 and can be described as follows.

Proposed Algorithm
Step 1: Set the initial duty cycles of D 1 0 , D 2 0 and D 3 0 . Choose D 1 0 as the lowest, D 2 0 as the middle and D 3 0 as the highest. Measure the PV voltage and current, and then calculate the obtained PV power respectively as P 1 0 , P 2 0 and P 3 0 . These three particles are memorized, and then they will be identified.
Step 2: Check relationship between P 1 i , P 2 i and P 3 i . If P 2 i > P 1 i and P 2 i > P 3 i is false then enter the exploration mode, which falls to Case 1 or Case 2.
If P 2 i > P 1 i and P 2 i > P 3 i is true then enter the exploitation mode, which falls to Case 3.
Step 3: Duty cycle calculation. Case 1 is identified by condition of P 1 i > P 3 i . If case 1 is true, then update the duty cycle by the following equations: Constant k is chosen a value between 0 and 1. Copying data is implemented in case 1 for D 2 i+1 , D 3 i+1 , P 2 i+1 and P 3 i+1 . Copying data follows Equation (14). Case 2 is identified by condition of P 3 i > P 1 i . If case 2 is true, then update the duty cycle by the following equations: Copying data is implemented in case 2 for D 1 i+1 , D 2 i+1 , P 1 i+1 and P 2 i+1 . Copying data follows Equation (15). Case 3 is identified by condition of P 2 i > P 1 i and P 2 i > P 3 i . P 2 i can be laid on the left side or the right side of P m . P 1 i and P 3 i approach P 2 i by regulating D 1 i+1 and D 3 i+1 . Duty cycle of D 1 i+1 and D 3 i+1 for case 3 is determined by the following equations: In case 1 and case 2, power measurements for P 1 i+1 and P 3 i+1 are taken, respectively. In case 3, power measurements for P 1 i+1 and P 3 i+1 are taken alternately according to Equation (16a) or Equation (16b).
In this proposed algorithm, simple math is used to perform exploration and exploration mode. A data copying technique is proposed to increase tracking speed during exploration mode. This technique is implemented to avoid same search space which may waste number of iterations and helps to fast tracking. Fast tracking is implemented by evaluating progress for every single executed particle/duty cycle. It can be seen from Figure 6, for each iteration only once measurement of power is needed. This is contrary to metaheuristic algorithm in which every iteration is evaluated after implementation of all particles. Furthermore, the proposed algorithm has smooth variable steps. At the beginning of iteration, a large step is produced by the algorithm considering the far distance between particles position. By the time, the step becomes smaller, the particle distance is getting closer. At near convergence, particles will be at very close position. The value of duty cycle is close to each other, including the power. Consequently, without involving random calculation, steps are kept very small and the results show less power fluctuation. Additionally, small steps will help increase accuracy in reaching MPP at the exact value. Conversely, if random calculation is used, the calculation can be independent from particle distance. Hence, steps can be large compared to the particle distance which produce jumping duty cycle and high-power fluctuation.

Simulations and Results
Algorithm is implemented using PSIM, a simulation solution for all power electronics applications. Figure 7 presents the PSIM simulator circuit for the overall system. An overall system specification is shown in Table 3. The PV string consisting of three PV panels are used to simulate single MPP or multi MPP. Several MPPT algorithms including the proposed algorithm are tested under several test conditions. The test conditions are: The energy tracking accuracy is calculated by comparing E A MPP and E T MPP : where t is the duration of energy harvesting process.

Uniform Irradiance Test
PV array is operated at STC which results in a total P m = 300 W and V m = 53.16 V. Duty cycle at MPP D m is 34%. Initial particles are chosen in the three areas of Test 1, 2 and 3 as shown in Figure 8. Tests 1 and 2 are to verify the performance of exploration mode of algorithm. In test 1 and 2, initial particles are not surrounding MPP. Each algorithm is tested to shift its operating point using exploration mode to approach MPP. Test 3 is to verify the performance of exploitation mode. In exploitation mode test, tracking speed and accuracy are observed.  Figure 9d shows, without random walk PA, there is no power oscillation after tracks MPP at t = 0.8 s. PSO can track the MPP at t = 0.45 s by the help of large random walk. Conversely, large random in PSO algorithm may cause unwanted duty cycle. It shows in Figure 9b-

Test 2: Initial Particles at Right Side MPP
In test 2, initial positions of particles are at near left side of MPP. The duty cycle is set around 10% to 30%. Exploration mode is tested to reach close to the targeted MPP. As shown in Figure 10a, initial position of particles are indicated by red dot. The initial operating points are around 70 V and 150 W. Figure 10b shows duty cycle movement during iterations. PA and PSO can track MPP. PA tracks MPP at t = 0.6 s and settling time t = 0.8 s, PSO at t = 1.1 s and t = 1.7 s, respectively. Although PSO tracks the MPP, unwanted duty cycle and power oscillations occur as shown in Figure 10b. DE and GWO approach the MPP but take longer time than PA and PSO. FF loses direction to MPP. In this test, PA shows its best exploration performance compared to other algorithms. The maximum power achieved by PA and PSO is the highest by reaching 300 W as compared to 285 W, 257 W, and 84 W achieved by GWO, DE, and FF. PA and PSO has 100% accuracy followed by GWO 95%, DE 85.67%, and FF has the least accuracy of 28%. Energy harvesting by PA is the highest per 2 s at 549 Ws, followed by PSO 521, GWO 476, DE 469 and FF 212 Ws.

Test 3: Initial Particles at Surrounding MPP
In test 3, targeted MPP is laid between the lowest and the highest initial duty cycles. Exploitation mode is tested in this test. The duty cycle is set around 20% to 40%. Figure 11a shows initial particles positions of the highest and lowest initial duty cycles, MPP is between them. The initial operating points are between 43-65 V and 155-250 W. PA algorithm tracks MPP at t = 0.6 s and it is the fastest tracking. Other algorithms track MPP at different time, PSO at t = 1 s, and FF at t = 1.2 s. DE and GWO approach MPP until the final time of simulation. PSO algorithm continues random walk, which produces unwanted power oscillations near convergence. The settling time of PA is reached at t = 1.1 s and PSO at t = 1.9 s. DE, FF and GWO exceed 2 s. GWO and FF algorithms show the random walk which produces jump away duty cycle and sudden power oscillations. It is recorded that GWO at t = 0.6 and t = 1 s and FF at t = 0.56 and t = 0.81 s produces unwanted random duty cycle and high-power oscillations, which shown in Figure 11b,d respectively. It can be seen in zoomed window of Figure 11b-d that PA shows fast tracking without producing unwanted oscillation. DE slowly approaches MPP and produces less power oscillation. Each algorithm shows different accuracy results of tracking P m . The maximum power achieved by PA and PSO is the highest. PA and PSO reach 300 W as compared to 299, 298 and 296 W achieved by FF, GWO, and DE. Energy harvesting at 2 s by PA is the highest with 573 Ws, followed by PSO 572, GWO 571, DE 571 and FF 567 Ws. At the end of simulation, PA algorithm shows the highest accuracy, energy harvesting and the fastest convergence.

Partial Shading
In PS test, all algorithms are tested mainly to find GMPP. The complete data tests are shown in Table 4. Each test has three MPPs which consist of two LMPP and one GMPP. GMPP position is designated at right, middle and left according to Test 4, 5 and 6 respectively. Table 4 shows the GMPP position by power, voltage and duty cycle. Initial particles are located around D start range.

Test 4: GMPP at Right Side
In test 4, GMPP location is between initial particles as shown in Figure 12a. Initial duty cycles are found between 10% and 25%. These duty cycles are equal to operating points of around 55-74 V and 56-161 W. PA algorithm tracks GMPP at t = 0.

Test 5: GMPP Is Near Initial Particles Location
In test 5, exploration mode of the algorithm is tested. GMPP is outside of initial particles' range. The initial operating points are around 42-74 V and 56-127 W. As shown in Figure 13a

Test 6: GMPP Is Far from Initial Positions of Particles
In test 6, GMPP is outside of initial particles' range. The initial operating points are around 23-46 V and 31-34 W which are shown in Figure 14a. In this test initial particles have similar power value. Note that, MPPT algorithm is based on highest power detection, and so in this situation the algorithm may get confused. PSO and DE are trapped around initial duty cycles. Figure 14b shows that PSO and DE duty cycle are almost constant at 26% and 28% respectively. FF is trapped around duty cycle of 18%. PA and GWO track GMPP successfully. PA track fastest at t = 0.    Table 5 shows comparison of testing results 1-6. Each algorithm is tested 10 times for each test 1-6. The results shown in the table is the average value for 2 s. The best performance is indicated by bold fonts. Test 1 shows tracking time between PA and PSO is very close. On the contrary, PA can reach settling time fast but PSO cannot reach convergence at the final time of simulation. PSO employs high random walk to reach MPP, but it also causes leaving and returning to MPP. Metaheuristic algorithm tracking time and settling time are influenced by random walk. If random walk is high, it may help to speed up tracking time but settling time can be longer, and vice versa. Random walk may not help to reach convergence rapidly, especially under condition of initial particles far from MPP/GMPP. Moreover, random walk may produce unwanted duty cycle which may lead to power oscillation. In Test 2, MPP location is close to initial particles. PSO can track the MPP location. However random walk produces random duty cycle which leads to power oscillation. Thereby, PSO harvests lower energy than PA. Additionally PA tracks faster than PSO. In Test 3, exploitation mode is tested. All algorithms can track MPP, but their tracking accuracy results are different. GWO is the fastest tracking time. Additionally, it shows that PA has good exploitation performance. PA algorithm encircles MPP position using particle P1 and P3, and surrounds MPP all the time of iterations. PA algorithm has the lowest settling time, PA algorithm harvests the highest energy compared to other algorithms. In Test 4, GMPP location is laid between initial particles. Exploitation mode is tested. FF, PSO, GWO and PA can track the GMPP. PSO, GWO and PA track GMPP at power tracking accuracy at around 99%. PA shows the highest energy tracking accuracy, which indicates minimum power oscillation. In Test 5, initial particles are close to the MPP location. Although both PA and GWO can track the GMPP, PA is faster than GWO. Test results confirm fast tracking of PA that energy harvesting by PA is higher than GWO. In Test 6, initial particles have similar power value. It may confuse metaheuristic algorithm which works based on attractiveness of the highest power point. GWO successfully tracks MPP, but its tracking and settling time are reached slowly. Energy harvesting by PA is higher than GWO, confirming that PA performs fast tracking and reaches settling time with minimum oscillation.

Performance Evaluation
It can be concluded that, without involving random calculation, PA has advantages of avoiding unwanted duty cycle which may lead to power oscillations. Exploration and exploitation mode can be done by simple math without random calculation. The ability of exploration helps with the fast tracking. Also, the ability of exploitation mode helps to achieve high accuracy. Automatically variable step size can be done by exploration and exploitation modes. Additionally, high energy harvesting is the combination of high performance of exploration, exploitation, and minimum power oscillation. In terms of overall performance, PA shows superiority among the tested algorithms.

Conclusions
In this paper, a new MPPT algorithm is proposed. The performance of proposed algorithm is compared to four existing MPPT algorithms. Six test conditions are used to evaluate the performance of each algorithm. The results show that the proposed algorithm can successfully work under uniform and partial shading conditions. For all tests, the proposed algorithm performs the fastest tracking time and settling time, and the highest power tracking accuracy. Furthermore, the energy tracking accuracy of the proposed algorithm is the highest compared to other tested algorithms. The proposed algorithm overall shows superior performance compared to the DE, FF, PSO and GWO algorithms.