A Hybrid Maximum Power Point Tracking Approach for Photovoltaic Systems under Partial Shading Conditions Using a Modified Genetic Algorithm and the Firefly Algorithm

This paper proposes a modified maximum power point tracking (MPPT) algorithm for photovoltaic systems under rapidly changing partial shading conditions (PSCs). The proposed algorithm integrates a genetic algorithm (GA) and the firefly algorithm (FA) and further improves its calculation process via a differential evolution (DE) algorithm. The conventional GA is not advisable for MPPT because of its complicated calculations and low accuracy under PSCs. In this study, we simplified the GA calculations with the integration of the DE mutation process and FA attractive process. Results from both the simulation and evaluation verify that the proposed algorithm provides rapid response time and high accuracy due to the simplified processing. For instance, evaluation results demonstrate that when compared to the conventional GA, the execution time and tracking accuracy of the proposed algorithm can be, respectively, improved around 69.4% and 4.16%. In addition, in comparison to FA, the tracking speed and tracking accuracy of the proposed algorithm can be improved around 42.9% and 1.85%, respectively. Consequently, the major improvement of the proposed method when evaluated against the conventional GA and FA is tracking speed. Moreover, this research provides a framework to integrate multiple nature-inspired algorithms for MPPT. Furthermore, the proposed method is adaptable to different types of solar panels and different system formats with specifically designed equations, the advantages of which are rapid tracking speed with high accuracy under PSCs.


Introduction
The output power of photovoltaic (PV) systems is generally nonlinear, particularly when influenced by rapidly changing environmental conditions.Additionally, the power-voltage characteristic (P-V curve) of a PV system exhibits a unique maximum power point (MPP), which is affected by solar irradiance and ambient temperature.To ensure the maximum power is harvested, various MPP tracking (MPPT) algorithms have been designed to operate a PV system at the MPP.However, when partial shading conditions (PSCs) occur, PV modules receive different amounts of solar irradiance due to shadows.Under PSCs, the P-V curve exhibits multiple local maximum power points (LMPPs), thereby causing difficulties for conventional MPPT methods in identifying the global maximum power point (GMPP) from the LMPPs [1][2][3].
Numerous nature-inspired algorithms have been designed for MPPT under PSCs [4][5][6].Evolutionary algorithms such as particle swarm optimization (PSO) methods have effectively addressed the problem of reaching GMPP [7,8].In addition, the firefly algorithm (FA) [9,10], cuckoo search (CS) [11], flower pollination algorithm (FPA) [12], and intelligent monkey king evolution (IMKE) [13] have good potential to handle the MPPT optimization problem.Among the various evolutionary techniques, the genetic algorithm (GA) can solve nonlinear stochastic problems and accurately extract the GMPP [14,15].However, the performance of the GA is determined mainly by the random coefficient [3].In addition, the conventional GA is not suitable for MPPT due to its complicated calculation, which reduces the convergence speed and lowers the accuracy under PSCs [2,16].As a result, modified GA methods have been proposed to accelerate the processing speed based on (1) Reduced population size [14] (2) Simplified mutation processes [17] (3) Simplified calculation of crossover and attractive processes [15] However, the accuracy of these methods tends to decline with decreasing processing time.In order to improve the accuracy of the MPPT algorithms, in this paper, we propose integrating a modified GA with the FA and further improve the calculation process by the differential evolution (DE) algorithm.More specifically, the proposed algorithm employs the FA attractive process and DE mutation process and simplifies the calculation of GA and FA to decrease iterations.To our knowledge, this is the first study that evaluates the fusion of the GA and FA for MPPT [5,6].In addition, the proposed algorithm can overcome the high execution time and low convergence speed issues of the conventional GA.The advantages of the proposed algorithm are rapid response time with high accuracy under PSCs.

Methodology
The processes of the GA, FA, and DE algorithms are demonstrated in Figure 1.The GA is an optimization method for extracting solutions based on "survival of the fittest" evolutionary law, the primary processes of which are crossover, 2 International Journal of Photoenergy mutation, and selection.In addition, fitness of individuals is calculated for the selection mechanism.The FA is based on the behavior and flashing of fireflies, where the attractiveness is proportional to the brightness of a firefly.With the FA, fireflies converge into an optimal solution by the attractiveness [4,9,10].With respect to the DE algorithm, although its architecture is similar to the GA, they differ in their mutation processes [16].
As demonstrated in Figure 2, the process of the proposed algorithm is based on the conventional GA.The differences between the proposed method and the GA are the mutation and attractive processes.Firstly, the individuals are initialized by open circuit voltage (V OC ), after which the initial fitness of each individual is calculated.In this process, the individuals are positioned in four voltage points of the P-V curve, as shown below: where V ini is the voltage of the initial individuals.The corresponding output power of the positions is taken as the fitness.
The fitness of the individual that has the maximum power output is set to 1 for normalization, while fitness of the other individuals is calculated by where F i and P i are the fitness and output power of individual number i, respectively.In addition, P i max is the maximum power output of the individuals.The main steps in an iteration include (1) mutation process, (2) attractive process.(3) crossover and reproduction of new individuals, (4) fitness calculation, (5) next-generation selection, and (6) convergence judgment.Iterations are repeated until convergence conditions are satisfied; that is, the GMPP is found.
In the mutation process in this study, the random procedure of the conventional GA algorithm is modified to avoid fitness decay or individuals with higher fitness from being discarded after the mutation process.The operating voltage of each individual is adjusted to move to a higher power point using the following equation:     where V M is the voltage adjustment, S is the slope of the individual on the P-V curve, F is the fitness, and M and B are variables used for fine-tuning.The optimized values of M and B are set as 0 01 V OC and 0 07 V OC , respectively, as determined from trial and error experiments.For the sake of simplicity, the slope S of individual i is derived from where V i and I i are the operating voltage and current of individual i, V i ′ = V i − 0 1V, and I i is the current when operated at voltage V i ′ .The relationship between slope S, fitness F, and voltage adjustment V M is shown in Figure 3, where individuals with a low slope and low fitness lead to a greater voltage adjustment; in this manner, the convergence speed can be improved.
In the attractive process, each individual is attracted by others and move their position (operating voltage) according to attractiveness.The attractiveness between two individuals is calculated by  where V A is the position/voltage movement, α is a random coefficient, β is the attractiveness at zero distance (D = 0), γ is a variable for fine-tuning, and D is the distance between two individuals.To improve the convergence speed, the randomization parameter α is modified to vary within 0 1 V OC , while the parameter β is set as 0 5 V OC in this study.To refine the other parameters, the voltage movement V A , distance between two individuals D, and parameter γ in the attractive process are further analyzed.Figure 4 demonstrates that the position movement V A is inversely proportional to γ and D. However, the distance between two individuals might be affected by other processes.As a result, the optimized value of γ is set as 1 × 10 −4 , as determined by trial and error experiments for better convergence speed.

International Journal of Photoenergy
During the crossover process, new individuals are generated, the parents of which are selected randomly.The voltage of the offspring is calculated by where V O represents the offspring individual, and V RA and V RB are the operating voltages of the parents.The total population number should be kept the same before and after the crossover and selection processes.For example, if the population number is set as four, two individuals will be generated after the crossover process.As a result, in the selection process, four out of six individuals must be selected for the following procedure.The fitness of each individual is calculated for selection using (2).
In the convergence judgment process, successful convergence is judged by the following equations: where F i is the fitness of individual number i calculated by (2), N P represents the population number, and F i max denotes the fitness of the individual which has the maximum power output.In addition, V max and V min represent the maximum and minimum voltages of the individuals, respectively.If the fitness summation of the individuals is larger than 98.75% of the maximum fitness multiplied by N P , and the distribution range of the individuals' voltages is less than 5% V OC , convergence is judged as satisfied.Then, the individual with the highest fitness is considered as the MPP.These two criteria were determined by experimental experience in this research.In this study, the major convergence judgement is based on (7), which uses fitness summation as the criterion.On the other hand, ( 8) is used as an auxiliary filter to ensure the distribution range of the individuals' voltage remains within one interval.The experimental PV array was composed of four series-connected modules; consequently, the maximum interval number of the array's P-V curve under PSC was 4, which corresponds to 25% V OC for each interval.Based on the simulations, setting 1/5 of each interval (25%× 1/5 = 5%) as the filter's criterion could obtain acceptable results.

Simulation
The proposed algorithm was first simulated by MATLAB R2016a software, the system blocks for which are shown in Figure 5.The input irradiance patterns and the PV array for evaluation were carried out using the Simulink toolbox.
The PV array was composed of four series-connected modules (module numbers 1-4).Parameters of the experimental modules are shown in Table 1.As illustrated in Figure 6, the irradiance for which could be individually programmed for each module to generate partial shading condition (PSC) patterns.The setup of the 10 different PSC patterns (numbers 1-10) is shown in Table 2.The P-V curves of the 10 PSC patterns and their corresponding GMPPs (numbers 1-10) are depicted in Figure 7.The purpose of the 10 irradiance setups is to simulate patterns that have 1-4 LMPPs with their respective GMPP located at different intervals.
The MPPT algorithms implementation was carried out using MATLAB M-file programming.The process flow of the GA, FA, and proposed algorithm, illustrated in Figures 1 and 2, could be implemented by MATLAB code.Pseudocode 1 demonstrates the MATLAB pseudocode of the proposed algorithm and denotes the explanations of the program after the double slashes.The PSC patterns are fed to the MPPT programs.Figure 8  6 International Journal of Photoenergy 9 was used for evaluation.It was observed that the MPP was found by the proposed algorithm after 4 iterations.
It is important to determine the number of data points (population) for the searching processes because the data amount impacts the response time and accuracy of a searching algorithm.Although using less data points reduces the response time, the accuracy decreases.Conversely, using more data points improves the searching accuracy, but the measurement and calculation time increases.As a result, in order to decide the optimal population number for locating the MPPT using the proposed method, we first simulated the tracking performance of the conventional GA, FA, and 7 International Journal of Photoenergy the proposed algorithm under uniform irradiance (pattern number 1) with different population numbers.Evaluations were conducted under the same conditions for the three algorithms, and all experiments were performed with uniformly distributed initial positions of the individuals.In addition, the convergence judgement criteria, according to ( 7) and (8), were the same for all algorithms.The simulation was executed 100 times.The difference between the power of the estimated MPP and the power of the actual MPP is considered an error, which can be calculated by where ERR is the error, while P MPP and P MPP true are the estimated MPP power and the actual MPP power, respectively.In addition, the number of iterations and execution time required for each algorithm to reach convergence were counted for tracking speed comparison.All simulations were conducted using a computer with a standard Intel i7-4790K CPU and Windows 7 operating system.Tables 3-5 list the simulation results of the tracking performance under uniform irradiance using GA, FA, and the proposed algorithm, respectively.The population number was evaluated from 3 to 6 for these three algorithms.From  3, it can be observed that the GA takes the shortest execution time using 4 data points.On the other hand, Table 4 shows that the most data points (6 fireflies) used by FA lead to the shortest execution time.However, as shown in Table 5, with the proposed method, more data points increase the iterations, and so more time is needed for searching.In addition, the accuracy generally improved by increasing the population number for all three algorithms.In order to further investigate the tracking performance of the proposed method with different population numbers under PSCs, irradiance pattern number 9 was used for evaluation.Table 6 lists the averaged iterations, execution time, and corresponding tracking error with different population numbers.It can be found that with 4 data points, the proposed algorithm has the best execution time and tracking accuracy.Consequently, considering the shorter execution time and reasonable tracking accuracy, the population number of 4 was chosen for further evaluation experiments.All 10 irradiance patterns were used for further experiments under different PSCs with the proposed algorithm.In addition, the conventional GA and FA were employed for comparison.The parameter settings for each method are presented in Table 7.All experiments were conducted under the same conditions for the three algorithms, with uniformly distributed initial positions and the same convergence judgement criteria.The simulations were executed 100 times for iterations, execution time, and error calculation.
The simulation results of the tracking speed and accuracy using the GA, FA, and proposed algorithm are shown in Table 8.From the results, the maximum tracking errors of the GA and FA occurred with pattern numbers 4 and 7 and were caused by being trapped at the LMPPs.The trapping at LMPPs phenomenon of the GA might be the result of its random mutation process, while the trapping phenomenon of the FA might be due to its random attractive process.In the proposed algorithm, these two random processes are modified; therefore, the tracking accuracy is improved.
Table 9 summarizes and compares the averaged iterations, execution time, and errors of the 10 simulation patterns.The differences between the averaged iterations   9 International Journal of Photoenergy required for the 10 simulation patterns using the proposed algorithm and GA/FA were around 6.85 and 5.36, respectively.Furthermore, the averaged reduction of the execution time using the proposed algorithm was around 0.078 (s) compared with the GA and 0.075 (s) compared with the FA.In other words, the averaged time reduction using the proposed method was around 68.4% of the GA and 67.6% of the FA.Moreover, the averaged tracking error of the proposed algorithm was reduced around 6.98% compared with GA and 6.31% compared with FA.

Evaluation Results
To further verify the MPP tracking speed and tracking accuracy of the proposed method, a hardware evaluation system was installed, as illustrated in Figure 9.An I-V curve simulator (Chroma, 62020H) was utilized to program different PSC patterns as the PV source.A DC-DC buck converter controlled by a pulse width modulation (PWM) signal was used as the interface to feed the output power of the PV source to a programmable electronic load (Keysight, N3300A).The specifications of the buck converter are listed in Table 10.The MPPT algorithms for evaluation were coded and executed using a programmable system-on-chip controller (Cypress, PSoC4), which has an ARM Cortex-M0 core running at 48 MHz.The input/output voltage and current (V i , I i , V o , and I o ) of the buck converter were measured by the PSoC's onboard programmable analog-to-digital (A/D) converters.All evaluation experiments were conducted and controlled by a PC software programmed in LabVIEW (National Instruments).Figure 10 presents a photograph of the evaluation system.
The slew rate of the adopted converter was approximately 0.112 V/ms.In addition, the maximum voltage adjustment needed for the three experimental algorithms to move the operating points was around 11.6 V (across one interval).As a result, the maximum transition time needed to reach steady state was approximately 96 ms.Consequently, a 200 ms delay time was set to ensure a stable output for each voltage adjustment.Figure 11 illustrates the execution procedure of one iteration for the experimental algorithms.At the beginning of an iteration, the algorithms calculate the operating voltages of the individuals.Then, the duty cycle of the PWM signal is adjusted sequentially for each individual so  10 International Journal of Photoenergy that the PV array operates at the designated voltage.Since different conversion rates and time constants of the converter will significantly influence the total MPPT time, we summarized the net calculation times of the algorithms as the execution times for comparison.Settings of the PV array and the irradiance patterns for evaluation were the same as the simulation.The simulation results of pattern numbers 6, 7, 8, and 10 were similar to the other 6 patterns.For simplification, these 4 patterns were eliminated and the other 6 representative patterns, shown in Table 11, were conducted for evaluation experiments.
Table 12 shows and compares the three evaluation results (iterations required, execution time, and tracking error) of the three methods (GA, FA, and the proposed method).From the results, the maximum tracking errors of the GA and FA occurred with pattern number 4 and were found to become trapped at the LMPPs, which also occurred in the simulations.In the proposed algorithm, the random processes are modified; therefore, the tracking accuracy is improved.Table 13 summarizes and compares the averaged iterations, execution time, and tracking errors from the 6 evaluation patterns.The differences between the averaged iterations required for the 6 simulation patterns using the proposed algorithm and GA/FA were around 10.16 and 6.99, respectively.Furthermore, the averaged reduction of the execution time using the proposed algorithm was around 0.202 (s) compared with the GA and 0.067 (s) compared with the FA.In other words, the averaged time reduction using the proposed method was around 69.4% of the GA and 42.9% of the FA.In addition, the average tracking error of the proposed algorithm was reduced around 4.16% compared with the GA and 1.85% compared with the FA.

Discussion and Conclusion
Although the conventional GA can accurately extract the GMPP under PSCs, implementation is challenging due to its complicated calculation.Though the calculation could be simplified, accuracy tends to decline with decreasing processing time.In addition, simplified calculation processes might cause search results to become trapped at LMPPs.In order to solve this issue, this work proposes a fusion algorithm that integrates three nature-inspired algorithms for MPPT.The proposed algorithm simplifies the calculation of the GA with the integration of the mutation process of DE and modifies the attractive process of FA.The simulation and evaluation results demonstrate that the proposed algorithm offers rapid tracking speed and high accuracy despite PSCs due to the simplified processing.In addition, the long execution time and low convergence speed issues of the conventional GA can be improved using the proposed processes.Table 14 presents a qualitative comparison of the proposed method with the GA, FA, and other algorithms.The 11 International Journal of Photoenergy performance evaluation of the MPPT techniques are qualitatively weighed using (1) tracking speed, (2) tracking accuracy, (3) trapping at LMPPs, (4) steady-state oscillation, (5) complexity, and (6) execution time.In addition, the parameters are gauged qualitatively as "high," "moderate," and "low."As can be seen, the tracking speed and tracking accuracy of the proposed method are found to be superior to the conventional GA and FA.Furthermore, the proposed method reduces the complexity and accelerates the execution time.Consequently, the proposed method could be considered one of the most promising substitutes for existing methods.Moreover, this research provides a framework to integrate multiple nature-inspired algorithms for MPPT.
However, the proposed approach has not been optimized and future studies could investigate the feasibility of process optimization and fusing other algorithms using this framework.In addition, in order to enable the proposed method to accommodate different types of solar panels, the calculation equations and parameter settings were specifically designed to be related to V OC .Furthermore, in this work, the experimental PV array was composed of four seriesconnected modules; consequently, the maximum interval number of the array's P-V curve under PSC was 4, and so the optimal population number was also 4. Accordingly, this model could be used and expanded to different 4-group PV arrays.However, for different system formats, for example, if 8 or more PV groups are connected as an array, the population number, parameters V ini , M, B, β, and γ, as well as the convergence criteria of ( 7) and (8), should be refined for better performance.Future studies could explore the optimal number of parameters for different system formats.

Figure 3 :
Figure 3: Relationship between the voltage adjustment V M , fitness F, and slope S in the mutation process.

Figure 4 :
Figure 4: Relationship between the voltage movement V A , distance between two individuals D, and parameter γ in the attractive process.

Irradiance Module number 1 4 Figure 6 :
Figure 6: The block diagram of the experimental PV array.

Figure 7 :
Figure 7: P-V curves of the 10 PSC patterns in the simulation.

Figure 10 :
Figure 10: Photograph of the evaluation system.

Figure 11 :
Figure 11: Execution procedure of one iteration and delay time setting for each voltage adjustment.

Table 1 :
Parameters of the experimental modules.
demonstrates the iteration process of the proposed algorithm, for which pattern number Generate initial population Initial fitness F ini of initial individuals V ini is determined by Eq. (2).

Table 3 :
Simulation results of GA with different population numbers under uniform irradiance.

Table 4 :
Simulation results of FA with different population numbers under uniform irradiance.

Table 5 :
Simulation results of the proposed algorithm with different population numbers under uniform irradiance.

Table 6 :
Simulation results of the proposed algorithm with different population numbers under PSCs.

Table 7 :
Parameter settings of the GA, FA, and the proposed method.

Table 8 :
Simulation results of the tracking speed and tracking accuracy.

Table 9 :
Tracking speed and tracking accuracy comparison of the GA, FA, and proposed method.

Table 10 :
Specifications of the buck converter.

Table 12 :
Evaluation results of the tracking speed and tracking accuracy.

Table 13 :
Comparison of evaluation results for the GA, FA, and the proposed method.