A Modified Firefly Algorithm with Rapid Response Maximum Power Point Tracking for Photovoltaic Systems under Partial Shading Conditions

A rapid response optimization technique for photovoltaic maximum power point tracking (MPPT) under partial shading conditions (PSCs) is proposed in this study. To improve the solar MPPT tracking speed for rapidly-changing environmental conditions and to prevent the conventional firefly algorithm (FA) from becoming trapped at the local peaks and oscillations during the search process, a novel fusion algorithm, named the modified firefly algorithm (MFA), is proposed. The MFA integrates and modifies the processes of two algorithms, namely the firefly algorithm with neighborhood attraction (NaFA) and simplified firefly algorithm (SFA). A modified attraction process for the NaFA is used in the first iteration to avoid trapping at local maximum power points (LMPPs). In addition, in order to improve the convergence speed, the attractiveness factor of the attraction process is designed to be related to the power and position difference of the fireflies. Furthermore, the number of fireflies is designed to decrease in proportion with the iterations in the modified SFA process. Results from both the simulations and evaluations verify that the proposed algorithm offers rapid response with high accuracy and efficiency when encountering PSCs. In addition, the MFA can avoid becoming trapped at LMPPs and ease the oscillations during the search process. Consequently, the proposed method could be considered to be one of the most promising substitutes for existing approaches. In addition, the proposed method is adaptable to different types of solar panels and different system formats with specifically designed parameters.


Introduction
The power-voltage characteristics (P-V curve) of a photovoltaic (PV) system are nonlinear and influenced by both the solar irradiance and ambient temperature, which exhibit different maximum power points (MPPs).In order to optimize the utilization of PV systems, conventional maximum power-point tracking (MPPT) algorithms, such as perturb and observe (P&O), Incremental Conductance (IC), and Hill Climbing (HC), are frequently utilized [1][2][3].However, when PV modules become fractionally shaded and receive varying amounts of solar irradiance due to clouds, trees, tall buildings, and/or other neighboring objects, partial shading conditions (PSCs) occur and cause the P-V curves of the PV modules to exhibit multiple local maximum power points (LMPPs) [4,5].Another cause of PSCs is randomness in the PV modules themselves, such as the occurrence of cracks in the PV panels [6].Under PSCs, conventional MPPT methods can easily fail to identify the global maximum power point (GMPP) among the numerous LMPPs and then become trapped at a local peak, which might significantly reduce the output power of the PV modules.Moreover, environmental Energies 2018, 11, 2284 2 of 33 conditions often change rapidly; therefore, improving the tracking speed of MPPT algorithms under PSCs has received much attention in recent years [7].
Nature-inspired algorithms have drawn increasing attention from researchers for MPPT application under PSCs, as they properly deal with non-linear and stochastic optimization problems and offer excellent performance without involving complex mathematical calculations, resulting in computational simplicity and quick response [6,8].Various nature-inspired algorithms, such as the particle swarm optimization (PSO) [9], the flower pollination algorithm (FPA) [10,11], and the firefly algorithm (FA) [12,13] have been verified to handle the MPPT optimization problem well under PSCs.Among those techniques, PSO has the advantages of simple structure, straightforward experimental implementation, and high accuracy.However, the convergence speed of this method is slow due to the complex computation processes [10,13,14].Although the tracking accuracy of the FPA is high, the stability of its convergence speed is low due to the Levy distribution of the cross-pollination process.
The FA is an effective optimization technique based on the light-intensity behavior of fireflies, and it has been confirmed to accurately track the GMPP under PSCs.The major advantages of adopting the FA for solar MPPT are its high accuracy, simple computational processes, fast convergence and lower PV-power turbulence [6,13].Nevertheless, too many attractions during the conventional FA search process may cause the fireflies to become trapped in the LMPPs or result in oscillations [15].In addition, the tracking speed of the FA could be further improved for solar MPPT applications, especially under rapidly-changing environmental conditions.The simplified firefly algorithm (SFA), which is a modification of the FA, has been proposed in order to improve the tracking speed by simplifying the convergence process [16]; nevertheless, this comes at the cost of decreased tracking accuracy and even more frequent trapping at LMPPs [6].In response, the firefly algorithm with the neighborhood attraction (NaFA) algorithm was proposed to mitigate the over-attraction problem of the FA [15].When compared with the SFA, the NaFA can efficiently improve the tracking accuracy, but it has slower convergence speed.
In order to improve both the tracking speed and accuracy of the FA, a modified firefly algorithm (MFA) that integrates the processes of the NaFA and SFA is proposed in this study.A modified attraction process for the NaFA is used in the first iteration to avoid trapping at LMPPs.In this study, the attractiveness factor of the attraction process is specifically designed to be related to the power and location difference of the fireflies, which can improve its processing speed.For the second and following iterations, a modified SFA with convergence-speed-improved processes is implemented.The number of fireflies is designed to decrease in proportion with the iterations, which improves the convergence speed.To our knowledge, this is the first study that evaluates the fusion of the NaFA and SFA for photovoltaic MPPT [6,17].The advantages of the proposed algorithm are rapid response time with high accuracy and efficiency for PV systems under PSCs.

Solar Cell Circuit Model
Figure 1 shows the equivalent circuit of a PV cell, where I PV is the current that is generated by the incident light (G); I d is the forward bias current of the diode; and, R P and R S are the intrinsic shunt resistance and internal series resistance of the cell, respectively.The relationship between the current (I) and voltage (V) of the solar cell can be expressed as where I 0 is the diode reverse saturation current, q is the electron charge, K is Boltzmann constant, T (in Kelvin) is the temperature of the p-n junction, n is the diode ideality constant, and V + IR s is the cross-voltage of the diode.
The five parameters (I PV , I 0 , R S , R P , and n) of the circuit model can be extracted from the datasheet-based information under three conditions (open circuit, short circuit, and maximum power point) [18].As such, respectively substituting the parameters of the open circuit (V = V OC , I = 0), short circuit (V = 0, I = I SC ), and maximum power point (V = V mp , I = I mp ) conditions into Equation (1) yields: where V OC is the open circuit voltage, I SC is the short circuit current, and V mp and I mp are voltage and current at the maximum power point, respectively.Typically, the shunt resistance R P in practical devices is sufficiently large and it could be neglected.In addition, the value of R S could also be obtained from the datasheet.Moreover, by exploiting Equations ( 2)-( 4), other unknown parameters of the circuit model can be extracted.
Energies 2018, 11, x 3 of 33 The five parameters (IPV, I0, RS, RP, and n) of the circuit model can be extracted from the datasheet-based information under three conditions (open circuit, short circuit, and maximum power point) [18].As such, respectively substituting the parameters of the open circuit (V = VOC, I = 0), short circuit (V = 0, I = ISC), and maximum power point (V = Vmp, I = Imp) conditions into Equation (1) yields: where VOC is the open circuit voltage, ISC is the short circuit current, and Vmp and Imp are voltage and current at the maximum power point, respectively.Typically, the shunt resistance RP in practical devices is sufficiently large and it could be neglected.In addition, the value of RS could also be obtained from the datasheet.Moreover, by exploiting Equations ( 2)-( 4), other unknown parameters of the circuit model can be extracted.

Irradiance and Temperature Effects
The equations and parameters of the circuit model that is mentioned in the previous section are based on the standard test condition (STC), which consists of a cell temperature of 25 °C under 1000 W/m 2 solar irradiance with AM 1.5 spectral distribution.When considering the effect of temperature and irradiance changes, the light-generated current IPV, which depends linearly on the solar irradiance and is influenced by the temperature, should be corrected by where IPV,STC is the light-generated current at STC, KI is the temperature coefficient of the current, G is the irradiance level on the cell surface, GSTC is 1000 W/m 2 , ∆ =  −  , and Tcell and TSTC are the actual temperature of the solar cell and 25 °C, respectively.In addition, the diode reverse saturation current I0 is strongly dependent on the temperature, and it can be modeled as [19] where ISC,STC and VOC,STC are the short circuit current and open circuit voltage at STC, respectively, while KI and KV individually represent the temperature coefficients of the current and voltage.
To calculate the actual temperature of the solar cell Tcell, the normal operating cell temperature (NOCT) parameter that is provided by datasheet is usually adopted.NOCT is defined as the temperature reached by the open circuit cells in a module with an irradiance level of 800 W/m 2 , ambient temperature of 20 °C, and wind speed of 1 m/s.Accordingly, Tcell could be calculated from NOCT by

Irradiance and Temperature Effects
The equations and parameters of the circuit model that is mentioned in the previous section are based on the standard test condition (STC), which consists of a cell temperature of 25 • C under 1000 W/m 2 solar irradiance with AM 1.5 spectral distribution.When considering the effect of temperature and irradiance changes, the light-generated current I PV , which depends linearly on the solar irradiance and is influenced by the temperature, should be corrected by where I PV,STC is the light-generated current at STC, K I is the temperature coefficient of the current, G is the irradiance level on the cell surface, G STC is 1000 W/m 2 , ∆T = T cell − T STC , and T cell and T STC are the actual temperature of the solar cell and 25 • C, respectively.In addition, the diode reverse saturation current I 0 is strongly dependent on the temperature, and it can be modeled as [19] where I SC,STC and V OC,STC are the short circuit current and open circuit voltage at STC, respectively, while K I and K V individually represent the temperature coefficients of the current and voltage.
To calculate the actual temperature of the solar cell T cell , the normal operating cell temperature (NOCT) parameter that is provided by datasheet is usually adopted.NOCT is defined as the temperature reached by the open circuit cells in a module with an irradiance level of 800 W/m   C, and wind speed of 1 m/s.Accordingly, T cell could be calculated from NOCT by where T a is ambient temperature in Celsius, and G is the irradiance level on the cell surface.

Effects of PSCs and Bypass Diodes
To obtain the desired output voltage, solar cells are usually connected in series and/or parallel to form a PV module.As a result, Equation (1) can be modified to represent the relationship between the current and voltage of a PV module, and is modeled as where N S and N P are the number of cells connected in series and parallel, respectively.Similarly, practical PV arrays are composed of several connected PV modules.Usually, blocking and bypass diodes are used to protect PV modules from current reverse flow and hot-spot issues, respectively.However, the P-V curves of the PV arrays under PSCs with bypass diodes might exhibit multiple LMPPs, which increases the complexity of the system's MPPT [6].
In order to more comprehensively model the I-V relationship of a series-connected PV array with bypass and blocking diodes, a PV string composed of m modules is illustrated in Figure 2.Each module of the string is protected by a bypass diode; in addition, one blocking diode is connected at the end of the string.Here, the voltage of the PV string V str could be calculated by summing the individual module voltage V mod,i and the voltage drop of the blocking diode V bk .In addition, the calculation of V mod,i depends on the string operating current I str and the short circuit current I SC,i (approximately equal to the photocurrent of the module) of each module i.When I str is equal to or smaller than I SC,i , the positive module voltage V mod,i could be calculated while using the Lambert W function [20]; in contrast, when I str is larger than I SC,i , the bypass diode conducts, and V mod,i is clipped to a small negative voltage equal to the forward bias voltage of the bypass diode.As such, the module operates at its short circuit current I SC,i , and therefore the bypass diode carries the difference of the string current I str and I SC,i .Consequently, the relationship between the PV string voltage V str and current I str could be modeled by where W{x} denotes the Lambert W function, which is the inverse of the equation W•e W = x, a = nKT/q, n bp and n bk , respectively, represent the ideality constants of the bypass and blocking diodes, and I 0,bp and I 0,bk correspond to the reverse saturation current of the bypass and blocking diodes.
A photovoltaic (PV) string with m modules connected in series and protected by the bypass and blocking diodes.
Under PSCs, ISC,i in Equation (10), which is approximately equal to the photocurrent and directly proportional to the irradiance of its corresponding module, might be different for all the modules of a PV string.This could cause steps in the I-V curves and multiple LMPPs in the P-V curves.Figure 3 illustrates a PV array, which comprises four PV modules in series with blocking and bypass diodes, under both uniform irradiance (Pattern A) and PSCs (Pattern B).As demonstrated in Figure 4, with four series-connected modules each under a different irradiance level, both the interval number and LMPP number of the array's I-V and P-V curves are 4.As such, the resulting P-V curve will become more complex, resulting in numerous peaks in one array with long strings.Under such conditions, conventional MPPT methods can easily fail to identify the GMPP among the LMPPs and become trapped at a local peak, which might significantly reduce the output power of the PV modules.In addition, the irradiance level will likely change rapidly, thereby causing variations in the curve pattern and the location of the GMPP.Accordingly, to extract the maximum power output of the system under PSCs, the adopted MPPT algorithm should be able to quickly and accurately identify the GMPP among the LMPPs.Under PSCs, I SC,i in Equation (10), which is approximately equal to the photocurrent and directly proportional to the irradiance of its corresponding module, might be different for all the modules of a PV string.This could cause steps in the I-V curves and multiple LMPPs in the P-V curves.Figure 3 illustrates a PV array, which comprises four PV modules in series with blocking and bypass diodes, under both uniform irradiance (Pattern A) and PSCs (Pattern B).As demonstrated in Figure 4, with four series-connected modules each under a different irradiance level, both the interval number and LMPP number of the array's I-V and P-V curves are 4.As such, the resulting P-V curve will become more complex, resulting in numerous peaks in one array with long strings.Under such conditions, conventional MPPT methods can easily fail to identify the GMPP among the LMPPs and become trapped at a local peak, which might significantly reduce the output power of the PV modules.In addition, the irradiance level will likely change rapidly, thereby causing variations in the curve pattern and the location of the GMPP.Accordingly, to extract the maximum power output of the system under PSCs, the adopted MPPT algorithm should be able to quickly and accurately identify the GMPP among the LMPPs.(a) I-V curves   (a) I-V curves

FA for MPPT under PSCs
The FA has been verified as an effective optimization technique that is based on swarm intelligence.The search pattern of the FA is determined by the attractions among fireflies, whereby a dim firefly moves toward a brighter firefly.To implement the FA for solar MPPT application, the locations of the fireflies are usually defined as different operating points along the P-V curve of a PV array.Specifically, the brightness of each firefly is taken as the generated power of the PV array, and so it corresponds to the position of the particular firefly.Consequently, several operating points of the PV array are initially distributed along the P-V curve and are then adjusted based on the FA algorithm, which measures the voltage and current, and then calculates the output power of the operating points to identify the MPPs.It has been confirmed that the FA implemented for a PV system's MPPT under PSCs can accurately track the GMPP with simple computational processes, fast convergence, and lower turbulence in PV power [6,13].
Nevertheless, improvements to the tracking speed of the FA can be made for solar MPPT applications, especially under rapidly-changing environmental conditions.The SFA algorithm, which is modified from the FA, was proposed to improve the tracking speed [21].However, as aforementioned, the simplification of the convergence process has the tradeoff of decreased tracking accuracy and more frequent trapping in LMPPs.Figure 5 illustrates the adjustment of the operating points in the P-V curve of a PV array under PSCs with the SFA.It can be seen that when the positions of the four initial fireflies (A to D) are adjusted to new positions (A′ to D′) after the first iteration, firefly D might be attracted by the three other fireflies and leave the actual GMPP interval and move to the local-peak interval.In this manner, too many attractions may cause the fireflies to become trapped at the LMPPs or produce oscillations during the search process.In response, the NaFA was proposed to overcome these problems, in which each firefly is attracted by other brighter fireflies selected from a predefined neighborhood rather than those from the entire population [16].To illustrate this concept, Figure 6 shows that firefly D is only attracted by neighbor C, thereby preventing over-movement.Compared with the SFA, the NaFA can indeed improve the tracking accuracy, but with slower convergence speed.From trial and error experiments, we found that one iteration of the NaFA is sufficient to prevent LMPP trapping in most cases.Consequently, to simultaneously exploit the advantages of the NaFA's high accuracy and the SFA's fast convergence, this work proposes a fusion algorithm that integrates the NaFA and SFA for MPPT.

FA for MPPT under PSCs
The FA has been verified as an effective optimization technique that is based on swarm intelligence.The search pattern of the FA is determined by the attractions among fireflies, whereby a dim firefly moves toward a brighter firefly.To implement the FA for solar MPPT application, the locations of the fireflies are usually defined as different operating points along the P-V curve of a PV array.Specifically, the brightness of each firefly is taken as the generated power of the PV array, and so it corresponds to the position of the particular firefly.Consequently, several operating points of the PV array are initially distributed along the P-V curve and are then adjusted based on the FA algorithm, which measures the voltage and current, and then calculates the output power of the operating points to identify the MPPs.It has been confirmed that the FA implemented for a PV system's MPPT under PSCs can accurately track the GMPP with simple computational processes, fast convergence, and lower turbulence in PV power [6,13].
Nevertheless, improvements to the tracking speed of the FA can be made for solar MPPT applications, especially under rapidly-changing environmental conditions.The SFA algorithm, which is modified from the FA, was proposed to improve the tracking speed [21].However, as aforementioned, the simplification of the convergence process has the tradeoff of decreased tracking accuracy and more frequent trapping in LMPPs.Figure 5 illustrates the adjustment of the operating points in the P-V curve of a PV array under PSCs with the SFA.It can be seen that when the positions of the four initial fireflies (A to D) are adjusted to new positions (A to D ) after the first iteration, firefly D might be attracted by the three other fireflies and leave the actual GMPP interval and move to the local-peak interval.In this manner, too many attractions may cause the fireflies to become trapped at the LMPPs or produce oscillations during the search process.In response, the NaFA was proposed to overcome these problems, in which each firefly is attracted by other brighter fireflies selected from a predefined neighborhood rather than those from the entire population [16].To illustrate this concept, Figure 6 shows that firefly D is only attracted by neighbor C, thereby preventing over-movement.Compared with the SFA, the NaFA can indeed improve the tracking accuracy, but with slower convergence speed.From trial and error experiments, we found that one iteration of the NaFA is sufficient to prevent LMPP trapping in most cases.Consequently, to simultaneously exploit the advantages of the NaFA's high accuracy and the SFA's fast convergence, this work proposes a fusion algorithm that integrates the NaFA and SFA for MPPT.

Processes of the Proposed Algorithm
In this study, the proposed modified firefly algorithm (MFA) integrates the NaFA and SFA algorithms for solar MPPT under PSCs.A boost power converter is used as the interface to feed the output power of a PV array to a load.The operating points of the PV array's P-V curve are controlled by adjusting the pulse-width-modulation (PWM) signal of the power converter.Accordingly, the positions of the fireflies are defined as the on/off duty cycle of the PWM signals in this study.As with the FA, the brightness of each firefly is taken as the generated power of the PV array, and so it corresponds to the position of the particular firefly.The processing flow of the proposed MFA algorithm is presented in Figure 7.As seen, the MFA is composed of two major processes, namely the modified NaFA and SFA.In the modified NaFA process, the fireflies are

Processes of the Proposed Algorithm
In this study, the proposed modified firefly algorithm (MFA) integrates the NaFA and SFA algorithms for solar MPPT under PSCs.A boost power converter is used as the interface to feed the output power of a PV array to a load.The operating points of the PV array's P-V curve are controlled by adjusting the pulse-width-modulation (PWM) signal of the power converter.Accordingly, the positions of the fireflies are defined as the on/off duty cycle of the PWM signals in this study.As with the FA, the brightness of each firefly is taken as the generated power of the PV array, and so it corresponds to the position of the particular firefly.The processing flow of the proposed MFA algorithm is presented in Figure 7.As seen, the MFA is composed of two major processes, namely the modified NaFA and SFA.In the modified NaFA process, the fireflies are

Processes of the Proposed Algorithm
In this study, the proposed modified firefly algorithm (MFA) integrates the NaFA and SFA algorithms for solar MPPT under PSCs.A boost power converter is used as the interface to feed the output power of a PV array to a load.The operating points of the PV array's P-V curve are controlled by adjusting the pulse-width-modulation (PWM) signal of the power converter.Accordingly, the positions of the fireflies are defined as the on/off duty cycle of the PWM signals in this study.As with the FA, the brightness of each firefly is taken as the generated power of the PV array, and so it corresponds to the position of the particular firefly.The processing flow of the proposed MFA algorithm is presented in Figure 7.As seen, the MFA is composed of two major processes, namely the modified NaFA and  The corresponding voltage and current of each firefly at its different position are then measured for power calculation.In addition, the distance Dij is calculated by where Di and Dj are the positions of fireflies i and j.In a NaFA, fireflies are attracted only by brighter neighborhoods, which could reduce the phenomenon of oscillations, which easily leads to trapping at LMPPs with the conventional FA.The movement of a firefly i, which is attracted by a brighter firefly j, is given by where Di t and Di t+1 are the current and next positions of firefly i, respectively, βNaFA is the degree of attractiveness, Dij is the distance between fireflies i and j, α represents a random coefficient that decreases with iterations by a reduction constant θ, and ε denotes a random number.Here, βNaFA•Dij is the step size of the movement, which is directly proportional to βNaFA and Dij.As a result, with the same degree of attractiveness, a larger distance between two fireflies will lead to a larger movement step size and faster convergence speed.The degree of attractiveness βNaFA is derived by [12]  =  exp −  (14) where β0 denotes the initial attractiveness and γ is the light absorption coefficient.It is observed that a shorter distance Dij leads to higher attractiveness βNaFA; and contrastively, a larger distance leads to The corresponding voltage and current of each firefly at its different position are then measured for power calculation.In addition, the distance D ij is calculated by where D i and D j are the positions of fireflies i and j.In a NaFA, fireflies are attracted only by brighter neighborhoods, which could reduce the phenomenon of oscillations, which easily leads to trapping at LMPPs with the conventional FA.The movement of a firefly i, which is attracted by a brighter firefly j, is given by where D i t and D i t+1 are the current and next positions of firefly i, respectively, β NaFA is the degree of attractiveness, D ij is the distance between fireflies i and j, α represents a random coefficient that decreases with iterations by a reduction constant θ, and ε denotes a random number.Here, β NaFA •D ij is the step size of the movement, which is directly proportional to β NaFA and D ij .As a result, with the same degree of attractiveness, a larger distance between two fireflies will lead to a larger movement step size and faster convergence speed.The degree of attractiveness β NaFA is derived by [12] β NaFA = β 0 exp −γ D ij 2 (14) where β 0 denotes the initial attractiveness and γ is the light absorption coefficient.It is observed that a shorter distance D ij leads to higher attractiveness β NaFA ; and contrastively, a larger distance leads to lower attractiveness.Figure 8 shows the relationship between the step size (duty cycle of the converter), distance D ij , and initial attractiveness β 0 .
Energies 2018, 11, x 10 of 33 lower attractiveness.Figure 8 shows the relationship between the step size (duty cycle of the converter), distance Dij, and initial attractiveness β0.The initial attractiveness β0 of the conventional NaFA is set as a constant, which means that the brightness of fireflies does not change during the entire moving process.Be that as it may, the output power (brightness) of fireflies at different positions in the P-V curve might be different.Accordingly, the initial attractiveness in the NaFA should be adapted to solar application.In this study, β0 is set as a dynamic parameter affected by the power difference ratio PDRij.The PDRij of a firefly i and a brighter firefly j is defined and calculated by where Pi and Pj are the output power of fireflies i and j, respectively.Since Pj is larger than Pi, PDRij will range between 0 and 1.In this manner, a larger PDRij means a larger power difference ratio between two fireflies, which should lead to larger initial attractiveness β0.The relationship between PDRij and β0 is designed to be transferred by a hyperbolic tangent sigmoid transfer function.Furthermore, setting the range of β0 could be used for adjusting tracking accuracy and speed optimization [16].As a result, two parameters are used for β0 to range from a to b.Consequently, the calculation of β0 could be expressed by where β0,sig is a parameter transferred from PDRij by the hyperbolic tangent sigmoid transfer function.
Since, in this study, the fireflies are initially positioned in four duty cycle points and uniformly distributed from 0.05 to 0.90, the initial distance Dij between each pair of fireflies is 0.283.From trial and error experiments of different step sizes, the optimized range setting of β0 is from 0.4 to 0.9. Figure 9 shows the relationship between step size, distance Dij, and power difference ratio PDRij of The initial attractiveness β 0 of the conventional NaFA is set as a constant, which means that the brightness of fireflies does not change during the entire moving process.Be that as it may, the output power (brightness) of fireflies at different positions in the P-V curve might be different.Accordingly, the initial attractiveness in the NaFA should be adapted to solar application.In this study, β 0 is set as a dynamic parameter affected by the power difference ratio PDR ij .The PDR ij of a firefly i and a brighter firefly j is defined and calculated by where P i and P j are the output power of fireflies i and j, respectively.Since P j is larger than P i , PDR ij will range between 0 and 1.In this manner, a larger PDR ij means a larger power difference ratio between two fireflies, which should lead to larger initial attractiveness β 0 .The relationship between PDR ij and β 0 is designed to be transferred by a hyperbolic tangent sigmoid transfer function.Furthermore, setting the range of β 0 could be used for adjusting tracking accuracy and speed optimization [16].As a result, two parameters are used for β 0 to range from a to b.Consequently, the calculation of β 0 could be expressed by where β 0,sig is a parameter transferred from PDR ij by the hyperbolic tangent sigmoid transfer function.Since, in this study, the fireflies are initially positioned in four duty cycle points and uniformly distributed from 0.05 to 0.90, the initial distance D ij between each pair of fireflies is 0.283.From trial and error experiments of different step sizes, the optimized range setting of β 0 is from 0.4 to 0.9. Figure 9 shows the relationship between step size, distance D ij , and power difference ratio PDR ij of the proposed NaFA process.As illustrated in Figure 7, the next position D i t+1 of a firefly i is then calculated.
Since D i t+1 is affected by all other brighter fireflies, it is sequentially calculated using Equation (13) with each brighter firefly j.The corresponding output power of the firefly at its new position is then measured.After that, a total of eight fireflies from the initial and second generations are sorted.Of the eight fireflies, the three with the largest output power are selected for the next SFA process.
Energies 2018, 11, x 11 of 33 position is then measured.After that, a total of eight fireflies from the initial and second generations are sorted.Of the eight fireflies, the three with the largest output power are selected for the next SFA process.The modified SFA process is executed after the NaFA process.In order to accelerate the convergence speed of the conventional FA, the degree of attractiveness βSFA of the conventional SFA is regularly increased by 0.25 after each iteration [16].With this setting, a lower βSFA in the initial iterations might improve the accuracy of searching for LMPPs; meanwhile, a higher βSFA in the following iterations will accelerate the searching speed.In addition, in the SFA, parameters α, ε, and γ are omitted for simplification.Consequently, the simplified calculation of the movement of a firefly i attracted by a brighter firefly j is given by where Di t and Di t+1 are the current and next positions of firefly i, respectively, and Dij is the distance between fireflies i and j.As a result, the step size of movement βSFA•Dij and the searching speed will be directly proportional to βSFA and Dij, as illustrated in Figure 10.In this study, the movement calculation of the modified SFA is the same as that in the conventional SFA; however, the number of fireflies is reduced from three in first iteration to two in the following iterations.During each iteration, the output power of each firefly is measured for the selection process until the convergence judgment is satisfied.The modified SFA process is executed after the NaFA process.In order to accelerate the convergence speed of the conventional FA, the degree of attractiveness β SFA of the conventional SFA is regularly increased by 0.25 after each iteration [16].With this setting, a lower β SFA in the initial iterations might improve the accuracy of searching for LMPPs; meanwhile, a higher β SFA in the following iterations will accelerate the searching speed.In addition, in the SFA, parameters α, ε, and γ are omitted for simplification.Consequently, the simplified calculation of the movement of a firefly i attracted by a brighter firefly j is given by where D i t and D i t+1 are the current and next positions of firefly i, respectively, and D ij is the distance between fireflies i and j.As a result, the step size of movement β SFA •D ij and the searching speed will be directly proportional to β SFA and D ij , as illustrated in Figure 10.In this study, the movement calculation of the modified SFA is the same as that in the conventional SFA; however, the number of fireflies is reduced from three in first iteration to two in the following iterations.During each iteration, the output power of each firefly is measured for the selection process until the convergence judgment is satisfied.

Simulation Setup
The proposed algorithm was first simulated with the Simulink toolbox of MATLAB R2016a software, the system blocks for which are shown in Figure 11.The PV array was composed of four series-connected modules (Modules #1-#4), with their parameters being given in Table 1.The temperature of the modules (T1-T4) was controlled at 25 °C.The irradiation setups (G1-G4) for each module could be individually programmed to generate different PSCs.Table 2 lists the 10 different PSCs (Patterns #1-#10), the purpose of which was to simulate patterns that have 1-4 LMPPs, with their respective GMPP located at different intervals.Figure 12

Simulation Setup
The proposed algorithm was first simulated with the Simulink toolbox of MATLAB R2016a software, the system blocks for which are shown in Figure 11.The PV array was composed of four series-connected modules (Modules #1-#4), with their parameters being given in Table 1.The temperature of the modules (T1-T4) was controlled at 25 • C. The irradiation setups (G1-G4) for each module could be individually programmed to generate different PSCs.Table 2 lists the 10 different PSCs (Patterns #1-#10), the purpose of which was to simulate patterns that have 1-4 LMPPs, with their respective GMPP located at different intervals.Figure 12

Simulation Setup
The proposed algorithm was first simulated with the Simulink toolbox of MATLAB R2016a software, the system blocks for which are shown in Figure 11.The PV array was composed of four series-connected modules (Modules #1-#4), with their parameters being given in Table 1.The temperature of the modules (T1-T4) was controlled at 25 °C.The irradiation setups (G1-G4) for each module could be individually programmed to generate different PSCs.Table 2 lists the 10 different PSCs (Patterns #1-#10), the purpose of which was to simulate patterns that have 1-4 LMPPs, with their respective GMPP located at different intervals.Figure 12 illustrates the P-V curves of the PV array under the 10 different patterns and their corresponding GMPPs (#1-#10).Five different MPPT algorithms, FPA, FA, NaFA, SFA, and the proposed MFA were implemented in the MPPT block to compare and evaluate tracking accuracy and speed.The operating voltage and current of the PV array were measured as input data of the MPPT algorithms.A DC-DC boost converter controlled by a PWM signal was used as the interface to feed the output power of the PV array to a 24 V battery load.The duty cycle (D) of the PWM signal is adjusted by the MPPT algorithms to change the operating point of the PV array.All of the simulations were conducted using a computer with a standard Intel i7 Processor and 16 GB RAM.Simulations were conducted under the same conditions for the five MPPT algorithms and all of the experiments were performed with the same initial position of the operating points, as indicated in Section 2.5.The convergence judgment criteria, according to Equations ( 19) and (20), were the same for all the algorithms.Simulations were conducted under the same conditions for the five MPPT algorithms and all of the experiments were performed with the same initial position of the operating points, as indicated in Section 2.5.The convergence judgment criteria, according to Equations ( 19) and ( 20), were the same for all the algorithms.P i_min /P j_max ≥ 98.75% Energies 2018, 11, 2284 14 of 33 where P i_min and P j_max are the minimum and maximum output power of the operating points, while D i_min and D j_max are their respective positions that are represented as the duty cycle.Both criteria must be satisfied to be judged as converged.As soon as both criteria are satisfied, convergence is confirmed and the operating point with P j_max is considered as the estimated MPP of the algorithm.The difference between the power of the estimated MPP (P MPP_est ) and the power of the actual MPP (P MPP_true ) is considered as the error (ERR), which is expressed as The MPPT performance is assessed in terms of the percentage of energy generated from the PV array during the simulation period, which is calculated by [19] where η mppt is the tracking efficiency of the MPPT algorithm, and E mppt is the energy extracted by the algorithm, which is calculated by the integral of the module output power P mppt over time; meanwhile, E MPP_true and P MPP_true denote the energy and power of the actual MPP, respectively.The simulation was iterated 100 times, with the averaged ERR and η mppt of each algorithm, corresponding to tracking accuracy and efficiency, being used for comparison.In addition, the number of measured operating points during the tracking process was counted as the sampling times.The total sampling times and execution time needed before convergence for each algorithm were averaged for tracking speed comparison.Table 3 lists the parameter settings of the five MPPT algorithms for evaluation.The settings of the four conventional algorithms are based on the literature.Since the experimental PV array was composed of four series-connected modules, the maximum interval number of the array's P-V curve under PSCs was four.In order to select the proper initial population number for the experiments, a preliminary evaluation was conducted.The initial population number was evaluated from three to six for all algorithms.
Tables 4-8 list the averaged iterations, sampling times, and errors under the 10 irradiation patterns using the five different algorithms.It was observed that sampling time is proportional to population number for all algorithms, while number of iterations and errors exhibit different trends for different algorithms.Considering the fewer sampling times and reasonable tracking accuracy for most algorithms, a population number of 4 was chosen for further evaluation experiments.Table 3. Parameter settings of the flower pollination algorithm (FPA), firefly algorithm (FA), NaFA, SFA, and the proposed MFA.

Simulation Results
Table 9 summarizes the simulation results of the sampling times, execution times, errors and efficiencies of the five MPPT algorithms under the 10 PSC patterns.It is observed that the SFA and MFA require fewer sampling times and shorter execution times than the other algorithms under most patterns.However, the error of the SFA was usually larger than the other algorithms under Patterns #3-#7, and #10.In addition, the proposed MFA has the highest tracking efficiency under Patterns #3, #4, #6, and #10, thereby verifying that it can provide faster tracking speed with good accuracy and efficiency.On the other hand, due to the step size of the FPA being associated with Levy flight, the SD of its sampling times, execution time, and error are larger than the other algorithms.In addition, the sampling times and execution time of the NaFA reach maximum values under Patterns #4, #7, and #8, which is due to it failing to satisfy the convergence criteria during the simulation period.Figures 13 and 14 illustrate the variations in the output power and corresponding duty cycle during the simulated tracking processes of the five algorithms under PSC Pattern #4 and Pattern #10, respectively.The t and P that are marked in the figures represent execution time of the algorithm and power of its estimated MPP, respectively.It is observed in Figure 13 that under Pattern #4, which exhibits three LMPPs, the MFA has the shortest execution time and good power output.Although the FPA and FA have larger power output, the execution time is longer.On the other hand, it is observed that the NaFA could not satisfy the convergence criteria by the end of this period.Figure 14 illustrates that under Pattern #10, which exhibits four LMPPs, the FPA and MFA have the shortest execution times and largest output power during the process.Comparatively, the FA and NaFA have longer execution times, while the FA and SFA have lower power output, respectively.
Energies 2018, 11, x 17 of 33 algorithm and power of its estimated MPP, respectively.It is observed in Figure 13 that under Pattern #4, which exhibits three LMPPs, the MFA has the shortest execution time and good power output.Although the FPA and FA have larger power output, the execution time is longer.On the other hand, it is observed that the NaFA could not satisfy the convergence criteria by the end of this period.Figure 14 illustrates that under Pattern #10, which exhibits four LMPPs, the FPA and MFA have the shortest execution times and largest output power during the process.Comparatively, the FA and NaFA have longer execution times, while the FA and SFA have lower power output, respectively.
(a) FPA (b) FA    Table 10 summarizes the simulation results.Here, sampling times, execution times, tracking errors and efficiencies for the five algorithms under the PSC 10 patterns are averaged and compared.Under the simulation conditions, the MFA has the fewest sampling times, smallest error and highest efficiency.When compared with the other algorithms, the averaged sampling times of the MFA could be reduced around 0.84 (6.00%) to 39.85 (75.17%) during the tracking process.In addition, although the averaged execution time of the MFA is longer than the SFA by approximately 3.25 ms, it is around 6.37, 3.25, and 21.54 ms shorter when compared with the FPA, FA, and NaFA, respectively.Furthermore, when compared with the FPA, FA, NaFA, and SFA, the averaged error of the MFA is around 1.05%, 1.48%, 1.94%, and 4.04% lower, respectively, under the simulation conditions.In addition, when compared with the FPA, FA, NaFA, and SFA, the averaged efficiency of the MFA is around 1.75%, 2.42%, 3.87%, and 3.03% higher, respectively.Table 10 summarizes the simulation results.Here, sampling times, execution times, tracking errors and efficiencies for the five algorithms under the PSC 10 patterns are averaged and compared.Under the simulation conditions, the MFA has the fewest sampling times, smallest error and highest efficiency.When compared with the other algorithms, the averaged sampling times of the MFA could be reduced around 0.84 (6.00%) to 39.85 (75.17%) during the tracking process.In addition, although the averaged execution time of the MFA is longer than the SFA by approximately 3.25 ms, it is around 6.37, 3.25, and 21.54 ms shorter when compared with the FPA, FA, and NaFA, respectively.Furthermore, when compared with the FPA, FA, NaFA, and SFA, the averaged error of the MFA is around 1.05%, 1.48%, 1.94%, and 4.04% lower, respectively, under the simulation conditions.In addition, when compared with the FPA, FA, NaFA, and SFA, the averaged efficiency of the MFA is around 1.75%, 2.42%, 3.87%, and 3.03% higher, respectively.To evaluate the temperature effect, the simulation was again conducted at NOCT.Specifications of the PV array, irradiation patterns, parameters setting of the algorithms, and convergence criteria were all the same as those described in the Simulation setup section.In addition, performance of the proposed MFA algorithm was tested at five different cell temperatures (25 • C, 35 • C, 45 • C, 55 • C, and 65 • C).Table 11 summarizes the simulation results of the five algorithms at NOCT (45 • C), in which sampling times, execution times, tracking errors, and efficiencies for the five algorithms under the 10 PSC patterns are averaged and compared.When compared with Table 10, it can be observed that the averaged sampling times, execution time and error of the NaFA are lower at 45 • C, which might be due to V OC decreasing with temperature.For the other four algorithms, the averaged sampling times and execution time are roughly the same at 25 • C and 45 • C.However, the averaged error increased and averaged efficiency decreased for all five algorithms at higher temperature.Table 12 lists the performance comparison of the proposed MFA at five different temperatures.As shown, it appears that the averaged sampling times and execution time are unaffected by cell temperature.However, it is observed that, when compared with 25 • C, the averaged error of the proposed MFA, respectively, increased around 1.04%, 1.84%, 1.18%, and 1.07% as the temperature increased from 35 to 65 • C. Similarly, when compared with 25 • C, the averaged efficiency of the MFA, respectively, decreased around 0.76%, 1.85%, 1.7%, and 2.3 % as the temperature increased from 35 to 65 • C.

Evaluation System Setup
To further verify the MPP tracking speed and tracking accuracy of the proposed MFA, a hardware evaluation system was installed, the structure and signal flow of which is illustrated in Figure 15.An I-V curve simulator (Chroma, 62020H) was utilized to simulate the PV array output under different PSCs.Specifications of the PV array and the 10 irradiation patterns were the same as described in the Simulation setup section.A DC-DC boost converter controlled by a PWM signal was used as the interface to feed the output power of the PV array to a programmable electronic load (Keysight, Energies 2018, 11, 2284 22 of 33 N3300A) that is set at constant voltage mode.The specifications of the boost converter are listed in Table 13.The five MPPT algorithms, namely the FPA, FA, NaFA, SFA, and the proposed MFA, were coded and executed using a programmable system-on-chip controller (Cypress, PSoC), which has an ARM Cortex-M0 core running at 48 MHz.The operating point of the PV array's I-V curve was controlled by adjusting the duty cycle of the PWM signal.Meanwhile, the input voltage V i and current I i of the boost converter were measured with the measurement circuit, the PSoC's onboard programmable amplifier circuit and the analog-to-digital (A/D) converters.All of the evaluation experiments were conducted and controlled by a PC software programmed in LabVIEW (National Instruments).Figure 16 presents a photograph of the evaluation system.
Energies 2018, 11, x 22 of 33 Figure 15.An I-V curve simulator (Chroma, 62020H) was utilized to simulate the PV array output under different PSCs.Specifications of the PV array and the 10 irradiation patterns were the same as described in the Simulation setup section.A DC-DC boost converter controlled by a PWM signal was used as the interface to feed the output power of the PV array to a programmable electronic load (Keysight, N3300A) that is set at constant voltage mode.The specifications of the boost converter are listed in Table 13.The five MPPT algorithms, namely the FPA, FA, NaFA, SFA, and the proposed MFA, were coded and executed using a programmable system-on-chip controller (Cypress, PSoC), which has an ARM Cortex-M0 core running at 48 MHz.The operating point of the PV array's I-V curve was controlled by adjusting the duty cycle of the PWM signal.Meanwhile, the input voltage Vi and current Ii of the boost converter were measured with the measurement circuit, the PSoC's onboard programmable amplifier circuit and the analog-to-digital (A/D) converters.All of the evaluation experiments were conducted and controlled by a PC software programmed in LabVIEW (National Instruments).Figure 16 presents a photograph of the evaluation system.Since the ISC of the simulated PV array is around 1.43 A, the maximum transition time needed for the converter and load to reach stead state was approximately 105 ms.Consequently, a 200 ms delay time was set to ensure a stable output for each operating point adjustment.Figure 17 illustrates the voltage and current variations of the PV array being controlled by the proposed MFA.At the onset of each iteration, the calculations of the algorithm were processed; then, four operating points were sequentially executed with the 200 ms delay time for each transition to reach its steady state for measurement.

Evaluation Results
Evaluation experiments were conducted 100 times under the same simulation conditions.Table 14 summarizes the evaluation results of the execution times, estimated MPPs, errors, and efficiencies of the five MPPT algorithms under the 10 PSCs.The voltage, current, and power of each MPPT algorithm's estimated MPP were averaged and compared.Estimated MPPs with abnormal Since the I SC of the simulated PV array is around 1.43 A, the maximum transition time needed for the converter and load to reach stead state was approximately 105 ms.Consequently, a 200 ms delay time was set to ensure a stable output for each operating point adjustment.Figure 17 illustrates the voltage and current variations of the PV array being controlled by the proposed MFA.At the onset of each iteration, the calculations of the algorithm were processed; then, four operating points were sequentially executed with the 200 ms delay time for each transition to reach its steady state for measurement.Since the ISC of the simulated PV array is around 1.43 A, the maximum transition time needed for the converter and load to reach stead state was approximately 105 ms.Consequently, a 200 ms delay time was set to ensure a stable output for each operating point adjustment.Figure 17 illustrates the voltage and current variations of the PV array being controlled by the proposed MFA.At the onset of each iteration, the calculations of the algorithm were processed; then, four operating points were sequentially executed with the 200 ms delay time for each transition to reach its steady state for measurement.

Evaluation Results
Evaluation experiments were conducted 100 times under the same simulation conditions.Table 14 summarizes the evaluation results of the execution times, estimated MPPs, errors, and efficiencies of the five MPPT algorithms under the 10 PSCs.The voltage, current, and power of each MPPT algorithm's estimated MPP were averaged and compared.Estimated MPPs with abnormal

Evaluation Results
Evaluation experiments were conducted 100 times under the same simulation conditions.Table 14 summarizes the evaluation results of the execution times, estimated MPPs, errors, and efficiencies of the five MPPT algorithms under the 10 PSCs.The voltage, current, and power of each MPPT algorithm's estimated MPP were averaged and compared.Estimated MPPs with abnormal operating voltage and lower power might indicate that the MPPT was trapped at one of the LMPPs.For instance, the FPA became trapped under Patterns #5 and #8; the FA became trapped under Pattern #8; and, the SFA became trapped under Pattern #9.Comparatively, the NaFA and MFA did not become trapped at any of the LMPPs.In addition, time is defined as the total execution time needed for the tracking processes to reach convergence.Furthermore, error and efficiency are defined as previously stated in the Simulation setup section.It is observed that the MFA was the only algorithm with an average error smaller than 4% under all the patterns.In addition, under Patterns #1, #3, #6, #8, and #10, the NaFA and MFA had smaller errors than the other algorithms.However, the execution times of the NaFA were larger than the other algorithms under all patterns.Moreover, the execution times of the NaFA under Patterns #4, #5, #7, and #8 were exceedingly long, which might be due to it not being able to satisfy the convergence criteria by the end of the evaluation period.Furthermore, under Patterns #1, #3, #4, #6, #8, and #10, the MFA had the highest efficiency among the tested algorithms.In contrast, the efficiency of the NaFA was the lowest of the tested algorithms under Patterns #4, #7, and #10.Accordingly, the proposed MFA holds strong potential, as it offered rapid response time with high accuracy and efficiency under all evaluation conditions.Figures 18-20 illustrate the variations in the power, current, and voltage during one evaluation tracking process of the five algorithms under Patterns #7, #9, and #10, respectively.The three chosen patterns all exhibit four intervals and four LMPPs in the P-V curve, the difference being that the location of their GMPPs are in the leftmost, middle, and rightmost intervals, respectively.The t and P marked in the figures represent the execution time of the algorithm and power of its estimated MPP, respectively.It is observed that when the location of the GMPP is in the leftmost interval and close to I SC , as with Pattern #7, the execution times of the FPA, SFA, and MFA are shorter than those of the other two algorithms.In addition, under this condition, the estimated MPP power of the FPA, FA, and MFA are larger than those of the others two.When the location of the GMPP is in the middle 2 intervals of the P-V curve, as with Pattern #9, the FA and MFA have shorter execution times and larger power output.Moreover, when the location of the GMPP is in the rightmost interval and close to V OC , as with Pattern #10, the execution times of the FA, SFA, and MFA are shorter, while the FPA, NaFA, and MFA have larger output power.Evaluations of the other patterns, which have two or three LMPPs exhibit similar results.Consequently, the proposed MFA can provide both shorter execution time and larger output power when the location of the GMPP moves.
Figure 21 illustrates the variations in efficiency during one evaluation tracking process of the five algorithms under Patterns #7, #9, and #10, respectively.It can be seen that the efficiencies of all five algorithms exhibit large damping and deviation during the initial iterations.Nevertheless, the efficiency curves of the proposed MFA quickly become stable, especially after the convergence judgment criteria are satisfied.In addition, although all five algorithms have relatively lower efficiencies under Pattern #7, the proposed MFA has the best efficiency under Patterns #7 and #10.Furthermore, the FA and MFA have the highest efficiencies under Pattern #9.Figures 18-20 illustrate the variations in the power, current, and voltage during one evaluation tracking process of the five algorithms under Patterns #7, #9, and #10, respectively.The three chosen patterns all exhibit four intervals and four LMPPs in the P-V curve, the difference being that the location of their GMPPs are in the leftmost, middle, and rightmost intervals, respectively.The t and P marked in the figures represent the execution time of the algorithm and power of its estimated MPP, respectively.It is observed that when the location of the GMPP is in the leftmost interval and close to ISC, as with Pattern #7, the execution times of the FPA, SFA, and MFA are shorter than those of the other two algorithms.In addition, under this condition, the estimated MPP power of the FPA, FA, and MFA are larger than those of the others two.When the location of the GMPP is in the middle 2 intervals of the P-V curve, as with Pattern #9, the FA and MFA have shorter execution times and larger power output.Moreover, when the location of the GMPP is in the rightmost interval and close to VOC, as with Pattern #10, the execution times of the FA, SFA, and MFA are shorter, while the FPA, NaFA, and MFA have larger output power.Evaluations of the other patterns, which have two or three LMPPs exhibit similar results.Consequently, the proposed MFA can provide both shorter execution time and larger output power when the location of the GMPP moves.

Pattern
Figure 21 illustrates the variations in efficiency during one evaluation tracking process of the five algorithms under Patterns #7, #9, and #10, respectively.It can be seen that the efficiencies of all five algorithms exhibit large damping and deviation during the initial iterations.Nevertheless, the efficiency curves of the proposed MFA quickly become stable, especially after the convergence judgment criteria are satisfied.In addition, although all five algorithms have relatively lower efficiencies under Pattern #7, the proposed MFA has the best efficiency under Patterns #7 and #10.Furthermore, the FA and MFA have the highest efficiencies under Pattern #9.Table 15 summarizes the evaluation results of the five algorithms under the 10 PSC patterns.Here, the execution times, tracking errors and efficiencies are averaged and compared.Under the evaluation conditions, the MFA has the lowest error and highest efficiency.When compared with the FPA, FA, NaFA, and SFA, the averaged error of the MFA can be, respectively, improved around 2.29%, 2.45%, 3.90%, and 4.70%; in addition, the averaged efficiency of the MFA was higher by around 5.91%, 1.98%, 7.93%, and 2.89%, respectively.Although the averaged execution time of the MFA is longer than that of the SFA by around 0.36 s (9.8%), it is shorter by approximately 1.43 s Table 15 summarizes the evaluation results of the five algorithms under the 10 PSC patterns.Here, the execution times, tracking errors and efficiencies are averaged and compared.Under the evaluation conditions, the MFA has the lowest error and highest efficiency.When compared with the FPA, FA, NaFA, and SFA, the averaged error of the MFA can be, respectively, improved around 2.29%, 2.45%, 3.90%, and 4.70%; in addition, the averaged efficiency of the MFA was higher by around 5.91%, 1.98%, 7.93%, and 2.89%, respectively.Although the averaged execution time of the MFA is longer than that of the SFA by around 0.36 s (9.8%), it is shorter by approximately 1.43 s (26.09%), 1.28 s (24.02%), and 14.42 s (78.07%) when compared with the FPA, FA, and NaFA, respectively.

Discussion and Conclusions
Although the conventional FA can accurately extract the GMPP under PSCs, the tracking speed can be further improved.In addition, despite the convergence process being simplified, accuracy tended to decline with decreasing processing time.Furthermore, simplified calculation processes might cause the search results to become trapped at LMPPs.In response, this work proposed a fusion algorithm that integrates the NaFA and SFA for MPPT.A modified attraction process for the NaFA was used in the first iteration to avoid trapping at LMPPs.The attractiveness factor of the attraction process was specifically designed to relate to the power and location difference of the fireflies, which improved its processing speed.For the second and following iterations, a modified SFA with convergence-speed-improved processes was implemented.The number of fireflies was designed to decrease in proportion with the iterations, which improved the convergence speed.To our knowledge, this is the first study that evaluated the fusion of the NaFA and SFA for photovoltaic MPPT.
Although integrating the NaFA and SFA leads to an execution time that is slightly longer than the original SFA, the simulation and evaluation results demonstrate that the proposed algorithm offers shorter execution times, smaller error and higher efficiency when encountering PSCs.In addition, it can avoid becoming trapped at LMPPs and ease oscillations during the search process.For instance, the evaluation results demonstrate that, when compared to the FPA, FA, NaFA, and SFA algorithms, the tracking error of the proposed algorithm can be, respectively, improved around 2.29%, 2.45%, 3.90%, and 4.70%; in addition, the averaged efficiency of the MFA was higher by around 5.91%, 1.98%, 7.93%, and 2.89%, respectively.In addition, although the averaged execution time of the MFA is longer than the SFA by 9.8%, it is 26.09%, 24.02%, and 78.07%faster when compared with the FPA, FA, and NaFA, respectively.
Table 16 presents a qualitative comparison of the proposed method with other algorithms, namely the P&O, ABC, Cuckoo, FPA, FA, NaFA, and SFA.The 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; (6) execution time; and, (7) efficiency.In addition, the parameters are gauged qualitatively as 'fast/high', 'moderate', and 'slow/low'.As can be seen, although the fusion process slightly increases the complexity of the proposed method, it offers rapid tracking speed with high accuracy and efficiency.In addition, the proposed method is adaptable to different types of solar panels and different system formats with specifically designed parameters.
Since the experimental PV array was composed of four series-connected modules, the maximum number of LMPPs for the array's P-V curve under PSCs was four.From the simulation results of this study, the optimized population number of the evaluated algorithms was the same as the number of LMPPs.Future studies could investigate the relationship between the module number of the array and the population number of the proposed algorithm, and further expand the prototype to larger scale arrays.Furthermore, the control range of the PWM's duty cycle is around 0.1 to 0.85; as such, future studies could also further improve this range by optimizing the performance of the converter.

Figure 2 .
Figure 2. A photovoltaic (PV) string with m modules connected in series and protected by the bypass and blocking diodes.

Figure 3 .
Figure 3. Operation of a PV array under (a) uniform irradiance and (b) partial shading conditions (PSCs).

Figure 3 .
Figure 3. Operation of a PV array under (a) uniform irradiance and (b) partial shading conditions (PSCs).

Figure 3 .
Figure 3. Operation of a PV array under (a) uniform irradiance and (b) partial shading conditions (PSCs).

Figure 4 .
Figure 4. (a) I-V and (b) power-voltage (P-V) curves of the PV array under uniform irradiance and PSCs.

Figure 5 .
Figure 5. Adjustment of operating points along the P-V curve of a PV array under PSCs with the simplified firefly algorithm (SFA).

Figure 6 .
Figure 6.Adjustment of operating points along the P-V curve of a PV array under PSCs with the firefly algorithm with neighborhood attraction (NaFA).

Figure 5 .
Figure 5. Adjustment of operating points along the P-V curve of a PV array under PSCs with the simplified firefly algorithm (SFA).

Figure 5 .
Figure 5. Adjustment of operating points along the P-V curve of a PV array under PSCs with the simplified firefly algorithm (SFA).

Figure 6 .
Figure 6.Adjustment of operating points along the P-V curve of a PV array under PSCs with the firefly algorithm with neighborhood attraction (NaFA).

Figure 6 .
Figure 6.Adjustment of operating points along the P-V curve of a PV array under PSCs with the firefly algorithm with neighborhood attraction (NaFA).

Figure 7 .
Figure 7. Processing flow of the modified firefly algorithm (MFA).

Figure 7 .
Figure 7. Processing flow of the modified firefly algorithm (MFA).

Figure 8 .
Figure 8. Relationship between the movement step size, distance Dij, and initial attractiveness β0 in the attraction process.

Figure 8 .
Figure 8. Relationship between the movement step size, distance D ij , and initial attractiveness β 0 in the attraction process.

Figure 9 .
Figure 9. Relationship between step size, distance Dij and power difference ratio PDRij of the proposed NaFA process.

Figure 9 .
Figure 9. Relationship between step size, distance D ij and power difference ratio PDR ij of the proposed NaFA process.

Figure 10 .
Figure 10.Relationship between the step sizes, degree of attractiveness βSFA and distance Dij in the SFA process.
illustrates the P-V curves of the PV array under the 10 different patterns and their corresponding GMPPs (#1-#10).Five different MPPT algorithms, FPA, FA, NaFA, SFA, and the proposed MFA were implemented in the MPPT block to compare and evaluate tracking accuracy and speed.The operating voltage and current of the PV array were measured as input data of the MPPT algorithms.A DC-DC boost converter controlled by a PWM signal was used as the interface to feed the output power of the PV array to a 24 V battery load.The duty cycle (D) of the PWM signal is adjusted by the MPPT algorithms to change the operating point of the PV array.All of the simulations were conducted using a computer with a standard Intel i7 Processor and 16 GB RAM.

Figure 10 .
Figure 10.Relationship between the step sizes, degree of attractiveness β SFA and distance D ij in the SFA process.

33 Figure 10 .
Figure 10.Relationship between the step sizes, degree of attractiveness βSFA and distance Dij in the SFA process.

Figure 11 .
Figure 11.System blocks for simulation.Figure 11.System blocks for simulation.

Figure 11 .
Figure 11.System blocks for simulation.Figure 11.System blocks for simulation.

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

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

Figure 13 .
Figure 13.Power and duty cycle variations during one simulated tracking process for the five algorithms under PSC Pattern #4.Figure 13.Power and duty cycle variations during one simulated tracking process for the five algorithms under PSC Pattern #4.

Figure 13 .
Figure 13.Power and duty cycle variations during one simulated tracking process for the five algorithms under PSC Pattern #4.Figure 13.Power and duty cycle variations during one simulated tracking process for the five algorithms under PSC Pattern #4.

Figure 14 .
Figure 14.Power and duty cycle variations during one simulated tracking process for the five algorithms under PSC Pattern #10.

Figure 16 .
Figure 16.Photograph of the evaluation system.

Figure 17 .
Figure 17.Operating point adjustment and delay time setting of the proposed MFA.

Figure 16 .
Figure 16.Photograph of the evaluation system.

Figure 16 .
Figure 16.Photograph of the evaluation system.

Figure 17 .
Figure 17.Operating point adjustment and delay time setting of the proposed MFA.

Figure 17 .
Figure 17.Operating point adjustment and delay time setting of the proposed MFA.

Figure 19 .
Figure 19.Power, current, and voltage variations during one evaluation tracking process of the five algorithms under Pattern #9.Figure 19.Power, current, and voltage variations during one evaluation tracking process of the five algorithms under Pattern #9.

Figure 21 .
Figure 21.Efficiency variations during one evaluation tracking process of the five algorithms under Patterns #7, #9, and #10.

Table 1 .
Parameters of the experimental modules.

Table 1 .
Parameters of the experimental modules.

Table 4 .
Simulation results of the FPA with different population numbers under the 10 patterns.

Table 5 .
Simulation results of the FA with different population numbers under the 10 patterns.

Table 6 .
Simulation results of the NaFA with different population numbers under the 10 patterns.

Table 7 .
Simulation results of the SFA with different population numbers under the 10 patterns.

Table 8 .
Simulation results of the MFA with different population numbers under the 10 patterns.

Table 9 .
Simulation results of the tracking speed, accuracy and efficiency.

Table 10 .
Comparison of the simulation results of the five algorithms at 25 • C.

Table 11 .
Simulation results comparison of the five algorithms at 45 • C.

Table 12 .
Performance of the proposed MFA at different temperature.

Table 13 .
Specifications of the boost converter.

Table 13 .
Specifications of the boost converter.

Table 14 .
Evaluation results of the tracking speed, accuracy and efficiency.

Table 15 .
Comparison of the evaluation results of the five algorithms.