Introduction

Todays, energy and electricity are definitely of the main needs of human being’s daily life. As the demand grows, the price of electricity can be influenced directly by the increased prices of fossil fuels like oil and coal. On the other hand, the increased levels of fossil fuel contaminants encouraged the environmentalists to find better alternatives and reduce the consumption amount of fossil fuels. There are various alternatives for fossil fuels including wind, hydro-power and solar energies; each of which has their own benefits and deficiencies. Among the different energy sources, the electrical power generated by solar sources is one of the propitious energy sources that is easily accessible everywhere. Considering its benefits like easy accessibility, low pollution and low cost of maintenance, the solar energy will play a key role as a renewable energy source in the near future [1,2,3,4,5].

High manufacturing cost and low efficiency originating from non-linear characteristics of I-V curves are considered as main problems in the realm of photovoltaic system applications. The output power of a single solar cell has a direct relationship with solar radiation intensity and a reverse relationship with temperature, both of which change over the time. Hence, in order to overcome the changes, it is essential to apply MPP tracking methods [6]. Many approaches have been presented for MPPT applications in the last decade. Some of which include perturbation and observation [7], incremental conductance [8, 9], short circuit current [10] extremum seeking control [11], fuzzy logic control [12] and ripple correlation control methods [13].

Although the implementation of these methods seems easy, none of them are able to determine the exact location of the MPP. Also, in large photovoltaic systems, several PV modules are connected in series, parallel or series-parallel modes in order to obtain the desired voltage and current values However, the shades of trees or other objects such as moving clouds usually interfere with the uniform irradiance and most of the time a partial shading condition may occur. In such circumstances, the P-V curve of a solar system may experience several peaks and the aforementioned classical methods cannot detect the MPP because they are not able to discriminate the global MPP among the local MPPs [14, 15]. However, when PSC occurs, the characteristic curve having several peaks becomes more complex [16], so choosing a proper control method is necessary to achieve the global MPP. Meta-heuristic algorithms have also been applied to solve the difficulties of the global MPPT [17,18,19,20,21,22,23,24,25,26]. These algorithms include genetic algorithm, firefly algorithm, artificial bee colony, gray wolf optimization, ant-colony optimization, firefly algorithm and particle swarm optimization. Compared to other methods utilized in PSCs, the mentioned methods have multiple merits for MPPT. Some of these benefits include: 1) noneed to physically identification of the shadow patterns, 2) search for the global MPP and 3) having a simple structure. Recently, in some papers improved methods such as modified perturbation and observation have been implemented to track the MPP. They can track the global MPP. These methods are different from accuracy, speed and complexity points of view. Even if these methods can track the MPP well, their speed is low [14]. In [27], the authors used dividing rectangles algorithm for the MPPT under PSC.The P-V characteristic curve of the PV module in this method completely corresponds to Lipschitz function. That is why this method can be employed to find the maximum value. In [28], an adaptive Neuro-fuzzy inference system-based MPP tracker for PV module is proposed, where the tracking MPP is in uniform irradiance conditions and cannot track the global MPP in PSC. In [29], a MPPT for PV system using adaptive neuro-fuzzy inference system was proposed. In order to train ANFIS, incremental conductance method based on uniform irradiance approach was used. A combined method was used in [30] for MPPT application. In the first step, by means of the ACO algorithm it reaches near the MPP and then tracks the MPP by using the P&O method. In [31], the author has used ABC algorithm for MPPT. A boost converter was utilized to match the output load and the PV system. The proposed method was compared with the enhanced P&O and PSO methods and the results show that it has a higher speed. The PSO algorithm was mixed by DE algorithm to improve its exploration ability [32]. In the established combined PSO-DE algorithm, for half of the iterations, the PSO algorithm takes responsibility and for the other half, it is DE algorithm’s turn to operate. In other words, the PSO operates for one iteration and then for the next iteration the DE algorithm takes responsibility. This is continued until the termination condition is satisfied. The obtained results from the simulations in the paper prove the superiority of the hybrid PSO-DE method over incremental conductance, fuzzy logic controller, and PSO methods in terms of efficiency, tracking speed, simplicity, and oscillations around the MPP. In [33] the authors used a combinational method for MPPT under PSCs. First, this method approaches to the local MPP by using P&O method and then particle swarm optimization algorithm starts from that point to find the global MPP. Although the authors made an effort to increase the tracking speed, still there is no significant improvement in the tracking speed. In [34], the authors place the P&O method within the structure of the genetic algorithm, which will reduce the population size in the algorithm. Hence, by reducing the number of iterations, the MPP tracking speed is increased. In [35] to find the location of the MPP range on the voltage axis, first, a broad range was assessed. After that, a complete exploration around the maximum point found in the preceding step, is performed to find the location of the global MPP. Although the method is capable of tracking the MPP under PSC, its speed is low because of overviewing all the P-V curves in the first stage. Ref. [36], made an effort to locate the MPP under PSC through the application of both the gray wolf algorithm and the P&O method; at first, through applying gray wolf algorithm, the range of global MPP is identified. Next, MPP tracking starts by employing the P&O method. Due to employing the P&O method in the second step, speed of this method is acceptable. Nonetheless, since this method works on the basis of perturbation in the voltage or current waveforms, the fluctuations around the maximum power point are very high which lead to power loss. Firefly algorithm is employed in different engineering applications due to its suitable responses in different optimization problems. Firefly algorithm is a meta-heuristic algorithm based on swarm intelligence, and it is suitable for the problems with a lot of local optimums. FA was used in [21] for maximum power point tracking (MPPT) in partial shading condition. At the same paper, this method was compared with PSO and P&O methods. It has been shown that FA has a higher speed and accuracy in identifying the global maximum power point compared to PSO and P&O methods. In [37], to reduce the convergence time and increase the tracking speed of the maximum power point, the firefly algorithm is modified in such a way that by using the average coordinates of all fireflies as the representative point, the considered firefly moves only towards their average coordinates instead of moving toward each of the brighter fireflies. In this method, the tracking speed has increased by reduction in the movement number of fireflies. However, the probability that the system could not identify the global optimum is increased because the variety of fireflies’ movements has decreased. In this paper, modified firefly algorithm is used for maximum power point tracking under partial shading condition. In the conventional firefly algorithm, all coefficients (α, β0, γ) are the speed and probability of finding the global maximum power point. In this paper, linear relationships are considered for coefficients α and β0 in order to give higher exploration ability for the system at the first steps of running the algorithm, and gradually the solution will converge to the global point.

The rest of the paper is arranged as follows. Sections “Characteristic of Solar Cells” and “Temperature and Radiation Effects on Solar Cells” discuss the solar cell characteristics and the effects of temperature and solar radiation on the MPP. Section “Characteristics of PV Module under PSC” deals with the PV module characteristics under PSC. In Section “Perturbation and Observation Method”, P&O method is briefly described. PSO and FA methods are presented in Sections “A Review of the PSO Algorithm” and “An Overview of Firefly Algorithm”, respectively. In Section “Modified Firefly Algorithm”, Modified firefly algorithm is described. In Section “Application of MFA to MPPT”, application of MFA in MPPT is illustrated. The simulation results are presented in Section “Simulation Results”, and finally, Section “Conclusions” summarized the conclusions.

Characteristic of Solar Cells

Voltages produced by a cell are about half the nominal light intensity and short circuit current can be changed ranging from milliamps to several amps. The maximum generation capacity of a cell can be obtained by multiplying open circuit voltage to short circuit current, so this way the cell’s nominal generation capacity can be determined. In general, the generated power of a cell will change from a few milli-watts up to several watts.

$$ \text{I} = \mathrm{I}_{\text{pv}}-\mathrm{I}_{0}[\exp (\frac{\mathrm{V-}\mathrm{R}_{\mathrm{s}}\mathrm{I}}{\mathrm{V}_{\mathrm{t}}\mathrm{a}})- 1] - \frac{\mathrm{V+}\mathrm{R}_{\mathrm{s}}\mathrm{I}}{\mathrm{R}_{\mathrm{P}}} $$
(1)

IPV is the produced current of photovoltaic and I0 is the reverse saturation current. \(\mathrm {V}_{\mathrm {t}}=\frac {\mathrm {N}_{\mathrm {s}}\text {KT}}{\mathrm {q}}\) is thermal voltage of the photovoltaic array where they are connected in series with Ns cells, q is the electron charge (q = 1.6e− 19c) and T is cell’s temperature in Kelvin. K is Boltzmann factor (K = 1.3805e− 23 \(\frac {\mathrm {j}}{\mathrm {k}})\) and “a” is diode’s ideal constant (Fig. 1).

Fig. 1
figure 1

Electrical model of solar PV module

Temperature and Radiation Effects on Solar Cells

Table 1 shows the specifications of a KC200GT photovoltaic module in standard conditions. Using the algorithm presented in [38] the parameters of this module are extracted. Figure 2a shows the P-V curve for a constant temperature of 25 °C and radiations of 400W/m2 600W/m2, 800W/m2 and 1000W/m2. Based on Fig. 2 by reducing solar radiation intensity, the PV module’s short circuit current is greatly reduced and this will reduce the PV module’s generation capacity. The maximum power is specified in the figure. In Fig. 2b, the P-V curve is plotted for a constant radiation of 1000W/m2 in temperature of 25 °C, 35 °C 45 °C and 55 °C. As temperature rises, the PV module’s open circuit voltage drops which reduces the output power. Thus, the PV module’s output power is reduced when the temperature increases. Therefore, solar radiation and temperature are two important factors affecting output power of solar panels. Output power of solar cells depends on different environmental conditions, as well as changes in solar radiation.

Table 1 Characteristics of a KC200GT module in standard conditions
Fig. 2
figure 2

P-V curve of a given solar module in a Different radiations b Different temperatures

Characteristics of PV Module under PSC

In large scales, multiple PV modules are connected in series and parallel combinations to produce the desired voltages and currents. Moving clouds, shade of trees, buildings and other objects beside solar modules cause inequality in incoming radiation to the modules and this may lead to partial shading phenomena. When partial shading condition occurs, the output power of some modules will decrease dramatically and result in unbalanced conditions in the whole system. Due to intrinsic characteristics of photovoltaic cells, shadows can dramatically decrease the module’s output current. To avoid this phenomenon and its destructive effects like creating hotspots, bypass diodes are utilized [39]. In these circumstances when partial shading happens, the photovoltaic system’s power on the voltage curve characteristics will experience several peaks. Figure 3 illustrates a more practical configuration of a PV array, which consists of four series connected KC200GT PV modules for a variable irradiance. In Fig. 4, the P-V and P-I curves related to the photovoltaic system for variable and uniform irradiances are given.

Fig. 3
figure 3

Configuration of the photovoltaic system under PSC

Fig. 4
figure 4

a P–V curve, b I-V curve under PSC and uniform irradiance

Perturbation and Observation Method

P&O method is a conventional method that has been used in many papers [7, 40]. Based on the criteria for tracking, if applying a perturbation to the operating voltage of a PV system (by changing the duty cycle), causes the generated power of a PV system to be increased, it means that the operating point moves toward the MPP Therefore, in the next step, the productive perturbation is formed in the same direction. This operation will continue until the MPP is reached, but if the obtained power of the photovoltaic system is reduced, it means that it is moving away from the MPP and as a result, direction of the produced perturbation must be reversed [41]. Although this method is very simple but its efficiency highly depends on the convergence speed. The difficulty of P&O method is because of its high fluctuation around the MPP due to inability in precise tracking of the MPP. Hence, the output always experiences fluctuations and this leads to the loss of energy [42]. Performance of the P&O method degrades with the changes in environmental conditions, i.e., during cloudy days, and the reason behind it is that this method is unable to track the GMPP under PSC.

A Review of the PSO Algorithm

Particle swarm optimization method is an evolutionary calculation approach based on collective wisdom [43]. In this method, according to their position and speed, each particle is completely specified. Behavior of each particle is affected by that of the surrounding (neighboring) particles. To search the entire solution space each particle in the group goes after a particle with the best performance. First, particles are disturbed indiscriminately or uniformly in the solution space. In each iteration the particles make use of two final values to update their positions and speeds. The first one is the optimal solution the particle finds and is called the best personal. The second final value is the optimal solution found by the whole group together, called the best global. When optimal solutions are found, the particles update their accelerations and positions according to the given equations below.

$$ \mathrm{V}_{\mathrm{i}}^{\mathrm{k + 1}} = \mathrm{W}{\mathrm{ V}}_{\mathrm{i}}^{\mathrm{k}} + \mathrm{C}_{1}{\text{rand}}_{1}^{\mathrm{k}} ({\text{pbest}}_{\mathrm{i}}^{\mathrm{k}}- \mathrm{x}_{\mathrm{i}}^{\mathrm{k}}) + \mathrm{C}_{\mathrm{2 }}{\text{rand}}_{2}^{\mathrm{k}} ({\text{gbest}}_{\mathrm{i}}^{\mathrm{k}}-\mathrm{x}_{\mathrm{i}}^{\mathrm{k}}) $$
(2)
$$ \mathrm{x}_{\mathrm{i}}^{\mathrm{k + 1}}\mathrm{=}\mathrm{x}_{\mathrm{i}}^{\mathrm{k}}\mathrm{ +}\mathrm{v}_{\mathrm{i}}^{\mathrm{k + 1}} $$
(3)

where \(\mathrm {v}_{\mathrm {i}}^{\mathrm {k}}\) is acceleration of the particle ‘i’ after ‘k’ times of iterations, W is the weight, C1 and C2 are the acceleration constants for moving toward each individual or global best experiences, respectively rand1 and rand2 are random numbers between 0 and 1.

An Overview of Firefly Algorithm

Firefly algorithm is based on a meta-heuristic swarm intelligence algorithm for limited optimization tasks, that was introduced by Yang [44]. This algorithm is an inspiration of the behavior of firefly glow and applies a population-based iterative procedure by numerous factors as fireflies. These factors can check the cost function more effectively compared with the distributed random search.

In this algorithm, three main assumptions are made: 1) All fireflies are unisex; in other words, all fireflies are attracted to each other regardless of their sex. 2) The attractiveness of any firefly has a direct relationship with the light intensity of that firefly. 3) Luminosity of each firefly is determined or affected by its related objective function. Since the allure of a firefly is directly proportional to the light intensity seen by the nearby worms, the parameter β as the attractiveness can be defined as follows:

$$ \beta = \mathrm{\beta}_{0}\mathrm{e}^{\mathrm{-\gamma} \mathrm{r}^{2}} $$
(4)

β0 is attractiveness at r = 0 . The distance between fireflies i and j located at xi and xj coordinates is calculated as:

$$ \mathrm{r}_{\text{ij}} =||{\mathrm{ x}}_{\mathrm{i}}-\mathrm{x}_{\mathrm{j}}||= \sqrt{\sum\nolimits_{\mathrm{k = 1}}^{\mathrm{d}} {\mathrm{(}{\mathrm{ x}}_{\mathrm{i,k}}\mathrm{- } {\mathrm{ x}}_{\mathrm{j,k}}\mathrm{ )}}}^{2} $$
(5)

where xi,k is kth component of xi related to firefly i. The movement of firefly ‘i’ towards a more attractive firefly ‘j’ is defined as below:

$$ \mathrm{x}_{\mathrm{i}}^{\mathrm{t + 1}} \mathrm{= } \mathrm{x}_{\mathrm{i}}^{\mathrm{t}} \mathrm{+} \mathrm{\beta}_{0}\mathrm{e}^{\mathrm{-\gamma} \mathrm{r}^{2}}(\mathrm{x}_{\mathrm{j}}-{\mathrm{ x}}_{\mathrm{i}}) \mathrm{+}{\mathrm{ \alpha \varepsilon}}_{\mathrm{i}} $$
(6)

Where the second expression is related to the attraction, the third expression (αεi) is the randomizer parameter, α is thecoefficient of randomizer parameter and εi is a random vector consisting of numbers obtained from a Gaussian or uniform distribution.

Modified Firefly Algorithm

In the conventional firefly algorithm, all coefficients of algorithm (αβ0, γ) are maintained fixed in each iteration. As described in the previous section, α is a parameter of randomizer vector. Large amounts of α increases the search space of each firefly but decreases the convergence speed, while small values perform more accurate explorations around the firefly. However, if the value of α is small, the probability of trapping in the local optimums is high. Thus, in the modified firefly algorithm, the value of α is reduced and updated in each iteration using Eq. 7.

$$ \mathrm{\alpha = } \mathrm{\alpha}_{\max}\mathrm{+}\left( \mathrm{\alpha}_{\min}\mathrm{-}\mathrm{\alpha}_{\max} \right)\mathrm{\times} \frac{Iter}{MaxIt} $$
(7)

As can be seen in Eq. 7, the value of α at the first iteration is large, while it is reduced in the next iterations which results in an accelerated convergence for the solution, and the probability of trapping is reduced in the local optimum. Reducing β0 at each iteration increases the convergence speed as well. The value of β0 at each iteration is updated according to Eq. 8.

$$ \mathrm{\beta}_{0}\mathrm{= } \mathrm{\beta}_{{0}_{max}}+\left( \mathrm{\beta}_{{0}_{min}}-\mathrm{\beta}_{{0}_{max}} \right)\times \frac{Iter}{MaxIt} $$
(8)

In Eqs. 7 and 8, Iter presents iteration number and MaxIt specifies maximum number of iterations.

Application of MFA to MPPT

In this section application of MFA in tracking the MPP under PSC is explained. Figure 5 shows a block diagram of the MPPT scheme based on the MFA method. The intended system has four PV modules connected in series. Also, a DC-DC boost converter is used as an interface between the load and the PV system. The following gives the steps of tracking the MPP based on the modified firefly algorithm.

  1. Step.1:

    Specifying the constants of MFA, i.e., \(\mathrm {\beta }_{{0}_{\min }}\mathrm {\beta }_{{0}_{\max }}\mathrm {, } \mathrm {\alpha }_{\min }\mathrm {, } \mathrm {\alpha }_{\max }\mathrm {,\gamma } \) and N is the size of the population. In this algorithm, the positions of fireflies are taking into account as the duty cycles of the DC-DC converter. The produced power of the photovoltaic system is considered as the brightness of firefly corresponding to the position of each firefly.

  2. Step2:

    Initializing the fireflies. Here, fireflies are placed randomly between dmin and dmax in the allowed problem solution space. dmin and dmax represent min and max duty cycles of the DC-DC converter respectively. In this paper dmin and dmax are set equal to 0.1 and 0.9, respectively and position of each firefly gives the duty cycle of the DC-DC converter. It should be noted that if the number of fireflies is high enough, then the computing time will increase. Similarly, if the number of fireflies is low then there is a high probability of getting trapped in the local maxima. Therefore, in this paper, the number of fireflies is set equal to 4.

  3. Step3:

    lighting evaluation. In this step, DC-DC converters matching with the positions of fireflies operate in back-to-back mode. For each duty cycle, the output powers of the photovoltaic systems are taken into account as the brightness of light intensity of the related firefly. All positions of the population undertake this step.

  4. Step.4:

    Updating β0, α and fireflies’ positions. β0 and α are updated based on (3) and (4), then fireflies’ positions are updated based on (6). A firefly having the maximum brightness moves around the neighborhood of its previous position within a random range.

  5. Step.5:

    The number of occurrences is considered as the termination criterion; if the algorithm reaches a specified number, then it stops and the system works based on the optimized duty cycle.

  6. Step.6:

    Because of changes in solar radiation and temperature, the output powers of photovoltaic systems change. In this case, the firefly algorithm runs again automatically to track the new optimized operating point.

Fig. 5
figure 5

Block diagram of the tracking scheme based on PSO and FA methods

Simulation Results

To analyze the MPP tracking based on MFA, FA and PSO methods, a comprehensive comparison is performed with the help of one of the conventional methods, i.e. P&O method. An extensive study is carried out on MATLAB/Simulink software under different PSC patterns. Module PV, KC200GT is used to simulate solar panels. PV system shown in Fig. 6 has four PV modules connected in series and also is equipped with an additive DC-DC converter. Based on the operating system scenario shown in Fig. 6 for MFA, PSO and FA method, the voltage and current of the PV system for MPPT block are sampled. Then, the output power of PV system is calculated after a given certain time and then new duty cycle enters the circuit. This process is repeated several times and finally, the duty cycle is obtained and DC-DC boost converter works based on it. The input inductor of the boost converter is 10mH, the switching frequency is f = 25kHz, the output capacitor is 330 μf and the output resistance load is 70Ω The sampling time interval was assumed to be 0.04 s in order to ensure that the system will reach the steady state conditions before the next maximum power point tracking is initiated. The considered variables are as follows: for MFA method, \(\mathrm {\beta }_{{0}_{max}}=\mathrm {2.5, }\mathrm {\beta }_{{0}_{min}}= 1.5, \mathrm {\alpha }_{max}=\mathrm {0.6, } \mathrm {\alpha } _{min}=\mathrm {0.1, \gamma = 1 } \) and the number of iterations is 5. The values of parameters were determined by simulations and through a trial and error method. For the PSO method, C1= 1.2, C2= 1.6W = 0.97, and the number of iterations is 20. For FA method β0 = 2.5, α = 0.6, γ = 1 and the number of iterations is 6. These values are determined by trial and error method using simulations. For the P&O algorithm, Ta = 0.01 (Sampling interval), Δd = 0.005 (The turbulence is assumed in the duty cycle) where these two parameters are used in [40]. Four MPPT techniques are used to study and dynamic comparison of PV system’s responses in the PSCs as a controller for the boost converter power supply with appropriate duty cycle. These methods have been studied in different conditions of partial shading in terms of tracking time, convergence speed, swing around MPP point and tracking efficiency. Two partial shading conditions are used for tracking operation. For the first partial shading pattern, solar radiation for PV module is considered equal to 1000W/m2, 800W/m2, 600W/m2 and 400W/m2. P-I and P-V curves are shown in Fig. 7a and b, respectively. In this case, there are four peaks. The GMPP is 397.62W and is placed at the second peak of the P-I curve. Details of the PV system simulation results (power, voltage, current and duty cycle of the DC-DC boost converter), obtained from different MPPT techniques under first partial shading pattern are shown in Fig. 8. As it can be seen in the figure, the tracking operation based on MFA, FA and PSO methods with random initial values for duty cycle of the DC-DC boost converter is started, and then the values of duty cycle are corrected. It is observed that MFA, FA and PSO algorithms are capable of tracking the global MPP under PSC. MFA, FA and PSO methods track the GMPP in 2.22s, 3.05s and 3.1s, respectively. Yet, P&O method is not even able to track the GMPP and is trapped at the first peak of the P-I curve. It can be concluded that the GMPP tracking with MFA method is performed in a shorter time compared to FA and PSO methods. In the second pattern of investigating PSC, solar radiation is considered as 900W/m2, 600W/m2,300W/m2 and 100W/m2. P-I and P-V curves are shown in Fig. 7a and b, respectively. In these circumstances, the global maximum power point is 257.37W, which is located at the third peak of the P-I curve. MFA, FA and PSO methods can identify the GMPP and succeed to track the global MPP at 2.23s, 3.03s and 3.1s, respectively. The P&O method has converged when the power value is 195.5W. Details of simulation results are shown in Fig. 9 for various techniques of MPPT under the second pattern of partial shading condition.

Fig. 6
figure 6

MATLAB/Simulink simulation of the extended PSO and FA based MPPT system

Fig. 7
figure 7

a P−I curve b P−V curve under two different partial shading condition patterns

Fig. 8
figure 8

Detailed simulation results for PV system under first partial shading condition of 1.0 kW/m2, 0.8 kW/m2, 0.6 kW/m2 and 0.4kW/m2

Fig. 9
figure 9

Detailed simulation results for PV system under second partial shading condition of 0.9 kW/m2, 0.6 kW/m2, 0.3 kW/m2 and 0.1 kW/m2

It is worth mentioning that meta-heuristic optimization methods are random search methods and they do not guaranty finding exact GMPP in each of their execution time. To find the most capable method in finding the GMPP, the solar radiations in the third PSC case are considered as though that one of the local optimums has a minor difference with the GMPP. Under these conditions, tracking the GMPP is a difficult task to perform. A number of 10 times the program was run under the mentioned conditions to determine the efficiency of different methods. The assumed solar radiations for this PSC are 1000, 800, 900, and 550 W/m2, respectively. The P-V and P-I curves are illustrated in Fig. 7. In the third PSC, P&O method was not compared with other methods because it is not capable of finding the GMPP. Figure 10 shows the results for the third PSC when the program is run 10 times for each method. As it is clear from Fig. 10, the number of success in finding the GMPP and also the number of trapping in the local optimum for PSO, FA, and MFA methods are (7, 3), (6, 4), and (8, 2), respectively, where the first numbers represent the number of successful operations in identifying the GMPP and the second numbers show the number of trapping in the local optimum.

Fig. 10
figure 10

Details of the PV system simulation results under the third PSC pattern

Finally, it can be construed that MFA, FA and PSO algorithms are able to track the GMPP and performance of the MFA method is superior than FA, PSO and MFA methods where it converges in a shorter time compared to FA and PSO methods Simulation results are summarized in Table 2. For further study, as it was shown in Fig. 11, the output load connected to the PV system is increased from 30 ohm to 80 ohm with steps of 10 ohm, and a comparison is made between FA, PSO and MFA methods. The solar radiation intensity is considered as1000, 800, 600, and 400W/m2, respectively. As it is obvious from Fig. 11, the PSO method has failed in tracking the maximum power point for 60 ohm load and was trapped in the local optimum. According to this figure, the output load is effective only on the location of the maximum power point and makes this point to displace. As it is clear from Fig. 11, by increasing the load from 30 to 80 ohm, the optimum duty cycle has increased from 0.2375 to 0.5224. In fact, the output load only displaces the maximum power point and the optimization methods are not affected because of a random initialization. Table 3 summarizes a qualitative comparison between different studied methods of MPPT.

Fig. 11
figure 11

Detailed simulation results for PV system under various resistance load

Table 2 Performance comparison of P&O, PSO and FA methods
Table 3 Qualitative comparison among different methods

Conclusions

In this paper, a modified firefly algorithm is proposed for maximum power point tracking under partial shading condition. In order to increase the efficiency of FA for MPPT under PSC, the values of α and β are linearly reduced at each iteration to increase the convergence speed. The proposed method is compared with PSO, FA and P&O methods, where the latter one is a conventional MPPT method under uniform irradiance conditions.Simulation results show that the proposed method, FA and PSO are able to track the GMPP under PSC. Moreover, speed of the proposed method in tracking the GMPP under PSC is higher than FA and PSO methods. High speed and high efficiency are advantages of the proposed method. Average efficiency of the proposed method is higher than 99.98%.