Skip to content


  • Original research
  • Open Access

Maximum power point tracking of PV system under partial shading conditions through flower pollination algorithm

Protection and Control of Modern Power Systems20183:38

  • Received: 11 August 2018
  • Accepted: 21 November 2018
  • Published:


For maximum utilization of solar energy, photovoltaic (PV) power systems should be operated at the maximum power point (MPP) which can be achieved using maximum power point tracking (MPPT) methods. However, the occurrence of multi-peak on P-V curve of a PV array due to the changing environmental conditions such as being partially shaded increases the complexity of the tracking process. The global MPP cannot always be achieved by the conventional MPPT methods. Therefore a novel MPPT method for PV systems using flower pollination (FP) algorithm is proposed in this paper and the Levy flight is used to improve the convergence of FP algorithm. MPPT model of the PV system is established in MATLAB to verify the effectiveness of the proposed method, and the proposed method is compared with two well established MPPT methods. The simulation results indicate that the proposed MPPT method can quickly track the changes in external environment and effectively handle the partially shaded condition.


  • Photovoltaic (PV)
  • maximum power point tracking (MPPT)
  • partially shaded condition
  • flower pollination (FP)

1 Introduction

With the energy crisis and environmental pollution becoming more and more serious, there have been significant efforts in exploring new and green energy. As a kind of green energy solar energy is highly valued for its advantages of zero pollution, no regional restriction and convenient utilization [1]. Photovoltaic (PV) power generation is the most common form of solar energy utilization. Since the output power of a single solar cell is low, it is necessary to connect multiple solar cells in series and in parallel to establish a basic unit of PV module. In practice, multiple PV modules are connected in series and in parallel to form a PV array according to the requirements of voltage and power, and the PV array is then converted to appropriate voltage by the power electronic conversion device to supply loads [2]. In order to improve the efficiency of PV power generation, PV is expected to work at the maximum power point (MPP) all the time. The most widely used methods of maximum power point tracking (MPPT) at present are perturb and observe (P&O) [3, 4], hill climbing (HC) [5, 6] and incremental conductance (INC) [7]. Under uniform irradiation condition, the power-voltage (P-V) characteristic of a PV array has only one peak point, and the MPP of a PV array can be tracked accurately by using the above conventional methods. However, in practice, due to the changing environments such as the partial shading of clouds, trees, buildings and dust covering, the P-V curve of a PV array has a multimodal characteristic. Using the traditional MPPT methods, MPP tracking can easily fall into a local peak point and result in the reduction of solar energy utilization. Therefore, how to avoid falling into the local optimum and to find the global MPP efficiently is particularly important [8].

Reference [9] adopted a dual-algorithm MPPT control model combining global particle swarm optimization (PSO) and local HC mode to search the global MPP accurately. Reference [10] combined differential evolution and PSO algorithm to better adapt to static and dynamic environments for MPP tracking. Reference [11] proposed an improved dynamic multi-peak MPPT method. It combines the three-point method with the PSO algorithm, and adopts closed-loop power control to track the global MPP and optimize the dynamic characteristics effectively during continuous irradiance change. The convergence time and optimal value precision of the above three methods were improved through better PSO algorithms, but the convergence time is still relatively long, and setting the initial position of particles is difficult. Other methods such as fuzzy logic control (FLC) [12], artificial bee colony (ABC) [13], neural network (NN) [14] and ant-colony optimization (ACO) [15] were used for global optimization and have proved to be able to achieve good results.

In this paper, a novel MPPT method using flower pollination (FP) algorithm is proposed. An effective iterative termination strategy is developed to reduce the power oscillation of the system when the system has reached stable point. Simulation results show that the proposed MPPT method can track the global MPP rapidly and accurately under irradiance change and partially shaded conditions.

2 Modeling of PV module

The single diode equivalent circuit for the most common monocrystalline silicon PV cells is shown in Fig. 1.
Fig. 1
Fig. 1

The single-diode model of solar cells

The output current of Fig. 1 can be written as,
$$ {I}_{pv}={I}_{ph}-{I}_0\left[\exp \left(\frac{q\left({U}_{pv}+{R}_sI\right)}{AKT}\right)-1\right]-\frac{U_{pv}+{R}_sI}{R_p} $$
where Ipv is the PV cell output current, Iph is the photocurrent, and I0 is the reverse saturation current. q is the charge of an electron and Upv is the PV cell work voltage. A is the ideality factor, K is the Boltzmann’s constant, T is the cell temperature, Rs and Rp are the equalized series and parallel resistances, respectively [16].
The PV cell panel chosen in this paper is the EGing-50 W. Its parameters under standard test conditions are shown in Table 1, and the output characteristics of the PV array composed of this type of panels in series and parallel are shown in Fig. 2. It can be seen from Fig. 2 that the output curve of the PV array appears nonlinear and shows unimodal characteristics.
Table 1

Parameters of the EGing-50 W Model




Short circuit current

I sc


Open circuit voltage

V oc

22 V

Current of Pmax



Voltage of Pmax


17.98 V

Maximum power


50 W

Voc coaf. of temperature

K v


Isc coaf. of temperature

K i


No. of modules in series (per string)

N s


Fig. 2
Fig. 2

Output characteristics of solar cells given in Table 1. a Under different irradiance. b Under different temperature

3 Flower pollination algorithm

Flower pollination algorithm was firstly proposed by Yang et al. in 2012 [17], and has been proved to be effective in searching for global optimal solutions within a short period. In recent years, it has been widely used to solve nonlinear optimization problems. FP algorithm can also be easily adjusted and has fewer parameters than other methods. The dynamic conversion between global search and local search can be implemented by using the conversion probability parameter, and therefore the balance between global search and local search is well solved. In addition, FP algorithm also adopts a Levy flight mechanism, which makes its global optimization ability much stronger. It is also better than PSO in convergence speed.

According to Yang et al., natural flower pollination can be divided into two basic forms of biological cross pollination and non-biological self-pollination. The following four rules are proposed according to the constancy and pollination behavior of flowers:
  1. 1)

    Biological cross pollination is considered as the global search behavior of FP algorithm, and pollination is carried out by pollinator through Levy flight mechanism.

  2. 2)

    Non-biological self-pollination is regarded as the local search behavior of FP algorithm, or local pollination.

  3. 3)

    The constancy of flowers can be considered as the probability of reproduction, which is positively proportional to the similarity of two flowers involved in pollination.

  4. 4)

    The global pollination and local pollination of flowers are regulated by conversion probability p[0, 1]. Due to the influence of physical proximity, wind and other factors, the conversion probability p is a very important parameter in the whole pollination process. Normally, p = 0.8 is considered to be more conducive to algorithm optimization according to the experimental study in [17].


In practice, each flowering plant has many flowers, and each flower has thousands of flower gametes. For implementing the algorithm, it is normally assumed that each flowering plant has only one flower, and each flower contains only one gamete. Therefore, each gamete is considered as a candidate solution in the solution space as

$$ {x}_i^{t+1}={x}_i^t+L\left({x}^{best}-{x}_i^t\right) $$
$$ \left\{\begin{array}{l}{x}_i^{t+1}={x}_i^t+\xi \left({x}_j^t-{x}_k^t\right)\\ {}\xi \sim U\left(0,1\right)\end{array}\right. $$
In (3), \( {x}_i^{t+1} \) and \( {x}_i^t \) are candidate solutions for the t and t + 1 generations, respectively. \( {x}_j^t \) and \( {x}_k^t \) are different pollen gametes of the same plant species. xbest refers to the current best solution, ξ is the local pollination coefficient, and L is the flying step and is subject to uniform distribution as.
$$ L\sim \frac{\lambda \Gamma \left(\lambda \right)\sin \left(\pi \lambda /2\right)}{\pi}\kern0.5em \bullet \kern0.5em \frac{1}{s^{1+\lambda }}\kern2.5em s\gg {s}_0>0 $$

where Γ(λ) is the gamma constant, s0 is the minimum step size, and λ is chosen as 1.5. In this paper, Mantegna’s algorithm is used to generate Levy flight step size L.

4 MPPT using FP algorithm

4.1 MPPT Searching Path

In order to search the entire power-duty cycle curve (P-D curve), the initial pollens need to be distributed in the entire duty cycle range. The choice of pollen number m is important for the global search. Larger number m improves the probability of finding the global optimal solution but leads to longer convergence time. Large numbers of simulations have shown that FP algorithm can accurately find the global optimal solution when the population number is three. Therefore, three pollens are adopted in this paper.

Figure 3(a) shows the search path of FP algorithm under the uniform irradiance, where variables A, B and C represent three pollens, and the upper labels of variables represent the number of iterations. During the first iteration, B0 is the closest to the MPP, so pollen B is considered to be the optimal fitness value. The iterative step of pollen depends on the distance between the current pollen and the optimal pollen, and therefore, pollen A0 and C0 are forced to move to B0. Because of the Levy flight in FP algorithm, the pollen can search global optimum from both sides of the optimal solution, which makes the pollens easy to jump out of the local peaks and reach the global optimum effectively. The convergence rate is also improved. When a pollen gets closer to the MPP, the iterative step becomes smaller, as shown in (2). When all pollens converge to the MPP, the step size decreases to zero.
Fig. 3
Fig. 3

The MPP searching path by FP algorithm. a Uniform irradiance. b Partially shaded condition

The searching path of FP algorithm in partially shaded conditions is shown in Fig. 3(b). At the beginning, all pollens are distributed at various locations of the P-D curve. During the first iteration, pollen B0 is in the optimal position, and thus pollen A0 and C0 are forced to leave their initial positions and move to B0. In the second iteration, C2 becomes the optimal pollen and thus other two pollens move to C2. As seen from Fig. 3(b), the global peak is located on the right of C2. Since Levy flight allows pollens to pass through the optimal position, pollen A and B can cross C2 and reach the global MPP.

4.2 Implementation of FP Algorithm

FP is a new metaheuristic intelligent algorithm, and the steps of implementing FP algorithm in MPPT are described as follows.
  1. 1)

    Initialization of parameters. The maximum number of iterations (N), pollen population number (m), duty cycle limitation (Dmin and Dmax), and conversion probability (p) are set as 15, 3, 0.2, 0.8, and 0.8, respectively.

  2. 2)

    Calculation of the fitness value of each pollen, and the optimal duty cycle and optimal power at the time.

  3. 3)

    If the condition of transformation probability p > rand is true, the duty cycle is updated according to (2).

  4. 4)

    If the condition of transformation probability p < rand is true, the duty cycle is updated according to (3).

  5. 5)

    Calculation of the corresponding fitness value of the new duty cycle from step 3) or step 4). If the fitness of the new duty cycle is better, the current duty cycle and the current fitness value are replaced with the new duty cycle and the corresponding fitness value, respectively.

  6. 6)

    If the corresponding fitness of the new duty cycle is better than the global optimal value, the global optimal duty cycle and global optimal power are updated.

  7. 7)

    Judgment of the termination condition. If the condition is satisfied, the program exits and outputs the optimal power and optimal duty cycle, otherwise switches to step 3).


The repeated iteration leads to power fluctuation for a considerable time. Thus, a termination strategy is proposed in this paper to quickly stabilize the power at the MPP and to reduce power fluctuation at system stable point. Because the initial pollen positions are dispersed, when pollen positions become concentrated, the MPP can be considered as being reached. So in the proposed strategy, when the difference of maximum duty cycle is less than 0.5%, the iteration stops.

When the partial shading or irradiance conditions change, the output power of the PV array will change accordingly. Therefore, it is necessary to restart the FP algorithm to ensure the system works stably in the new MPP. The power change rate Δp is expressed as:
$$ \Delta p=\frac{\mid {P}_a-{P}_m\mid }{P_m} $$
where Pa is the actual output power of the PV array operating at point Dm. In this paper, two restart conditions are set, i.e., natural restart and mutation restart. It is found that irradiance does not change more than 10 W/m2/s under stable natural conditions, and the corresponding output power conversion rate of the array Δp is 0.02. Thus, the natural restart condition is set to 2 min. Simulation results also show that the power change rate Δp is greater than 0.15 during sharp change of the partially shaded condition. Therefore, the mutation restart condition is set as Δp > 0.15.

5 Simulation result

In this paper, system simulations are carried out using MATLAB 2017a. The data of the EGing-50 W PV cell module is used for modeling, and the simulation model of the PV system with the proposed MPPT method is shown in Fig. 4. The main parameters for the boost converter circuit are: C1 = 470 μF, C2 = 470 μF, L = 0.3 mH, f = 50 k Hz, and R = 187 Ω. Table 2 shows the basic parameters of P&O, PSO and FP algorithms. The sampling interval for the MPPT controller is chosen as 0.03 s.
Fig. 4
Fig. 4

PV system structure with MPPT control in MATLAB

Table 2

Parameters of P&O, PSO and FP algorithm





Initial duty cycle


25%, 45%, 70%

Random duty cycle between 20% and 80%




C 1max




C 2max


C 2min


W max


W min




FP algorithm is compared with two conventional P&O and PSO algorithms to evaluate the performance. The following three tests are conducted: (1) start-up test; (2) irradiance step change test; and (3) ability test to deal with partial shading.

5.1 Start-up Test

This test is designed to evaluate the performance of FP algorithm at start-up. Due to low power generation of the PV system at night, the PV system needs to be started every morning. The start-up test condition is set as the irradiance step changes from 0 W/m2 to 1000 W/m2, and the simulation waveforms of the three methods are shown in Fig. 5. It can be observed that the MPP searching time is 0.24 s for FP algorithm, compared to 0.36 s and 0.45 s for P&O and PSO algorithms, respectively. In addition, P&O algorithm has about 4 W power fluctuation at the MPP, which reduces the average efficiency of the PV system.
Fig. 5
Fig. 5

Simulation results of the three methods for start-up test. a P&O. b PSO and (c) proposed algorithm

5.2 Irradiance step change test

When clouds or birds pass through the PV array at a high speed, the irradiance will undergo a step change. In order to evaluate the performance of the proposed algorithm under this condition, a set of irradiance step changes are applied to the PV array, as shown in Table 3. Because the influence of temperature on the output power of the PV array is small, ambient temperature is kept constant at 25 °C during the whole testing process.
Table 3

Simulated conditions for step varies in irradiance
















The power waveforms of P&O and FP algorithms are shown in Fig. 6. It can be seen that the steady state power loss is about 3 W for P&O algorithm when iteration converged to the MPP, while the steady state power loss is around 0 W for FP algorithm. The duty cycle of FP algorithm is always stable around PMPP.
Fig. 6
Fig. 6

Response of P&O and the proposed algorithm under step change

The power waveforms of PSO and PF algorithms are shown in Fig. 7. Since Levy flight in FP algorithm, it can be seen that during each irradiance step change, PF takes around 60 ms less time to converge to the MPP than that of PSO. In steady state, both algorithms can track the MPP perfectly.
Fig. 7
Fig. 7

Response of PSO and the proposed algorithm under step change

5.3 Ability test to deal with partial shading

When multiple batteries in the PV array are blocked in different degrees, there will inevitably have multiple knee points on the V-I characteristic curve of the whole PV array. This means that there will be multiple peak points on the corresponding P-D characteristic curve including a global peak and multiple local peaks. The conventional MPPT algorithms such as P&O and HC algorithms may not be able to distinguish these points, and in most cases, traditional algorithms may fall into a local point, causing a large amount of power loss.

Since FP is a global search algorithm, it is easy to deal with partial shading. Initially, the entire array is exposed to an unshaded condition with an irradiance of 800 W/m2, as shown in curve 1 of Fig. 8(a). The entire array has only one global peak. After 1 s, the PV array is under partial shading with the irradiance of 1000 W/m2, 800 W/m2 and 400 W/m2 respectively, as shown in curve 2 of Fig. 8 (a). The P-D curve of the PV array then has three peak points including a global peak and two local peaks. When the PV array is under the partially shaded condition, all operating points switched from curve 1 to curve 2. If the conventional P&O method is used at this point, the operating point is moved to the nearest peak point as indicated by the arrow in Fig. 8(a). Obviously, this point is the local peak, which leads to a large amount of power loss and reduced system efficiency. When PF algorithm searches the global MPP, the new pollen is dispersed to the entire duty cycle interval. Since the new duty cycle is located at various positions of the P-D curve, FP algorithm will not fall into any local peaks. After multiple iterations, PF algorithm reaches for the global MPP, as shown in Fig. 8(b).
Fig. 8
Fig. 8

P-D characteristics for MPP tracking under partially shaded conditions. a P&O and (b) the proposed algorithm

In the case of partial shading, the simulation waveforms of P&O and FP algorithms are shown in Fig. 9. It can be seen that when partial shading occurs, the local peak with power of 66.4 W is searched in a relatively short time by P&O algorithm. This result is consistent with the P-D curve in Fig. 8 (a). On the other hand, FP algorithm converges to the global MPP of 81.5 W after 0.21 s. In the searching process of FP algorithm, it can be observed that the output power has a large fluctuation before converged to the global point, which is caused by the randomness of FP algorithm and Levy flight trajectory. However, such transient behavior has little impact on the PV power generation system in practice, because the transient duration is almost negligible compared with the steady state duration.
Fig. 9
Fig. 9

Tracking performance by P&O and proposed algorithm under partially shaded conditions.

6 Conclusion

A MPPT method based on FP search algorithm has been proposed in this paper. The proposed FP algorithm was compared with two well established MPPT methods, i.e. P&O and PSO algorithms. The following conclusions can be obtained:
  1. 1)

    Compared with traditional P&O algorithm, FP algorithm can effectively shorten the start-up time of PV systems, reduce the steady-state output power oscillation after irradiance step change, and improve the output efficiency. It also improves the system response speed and the tracking efficiency during irradiance step change.

  2. 2)

    Compared with the traditional MPPT methods, FP algorithm requires less parameters to be adjusted, which simplifies the complexity of the method.

  3. 3)

    The proposed algorithm can easily deal with partial shading of PV arrays, reduce the power loss caused by misrecognizing the local point, and improve the efficiency of PV power generation.




artificial bee colony


ant-colony optimization


fuzzy logic control


Flower pollination


hill climbing


incremental conductance


maximum power point


maximum power point tracking


perturb and observe


Power-duty cycle


particle swarm optimization







Not applicable


Not applicable

Availability of data and materials

The datasets used and analyzed during the current study are available from the corresponding author.

Authors’ contributions

Zhu analyzed and interpreted the simulation results. Li and Guo performed the simulation examination. Shang designed and supervised the experiment, prepared and revised the manuscript. All authors read and approved the final manuscript.

Competing interests

The authors’ declare that they have no competing interests.

Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Authors’ Affiliations

Xi’an University of Science & Technology, Xi’an, China


  1. Ram, J. P., Badu, T. S., & Rajasekar, N. (2017). A comprehensive review on solar PV maximum power point tracking techniques. Renew Sust Energ Rev, 67, 826–848.View ArticleGoogle Scholar
  2. Bruendlinger, R., Bletterie, B., Milde, M., et al. (2006). Maximum power point tracking performance under partially shaded PV array conditions. In Proc. 21st EUPVSEC, Germany (pp. 2157–2160).Google Scholar
  3. Femia, N., Petrone, G., Spagnuolo, G., et al. (2005). Optimization of perturb and observe maximum power point tracking method. IEEE Trans Power Electron, 20(4), 963–973.View ArticleGoogle Scholar
  4. Li, X., Wen, H., Jiang, L., et al. (2016). An improve beta method with autoscaling factor for photovoltaic system. IEEE Trans Ind Appl, 52(5), 4281–4291.View ArticleGoogle Scholar
  5. Xiao, W., & Dunford, W. G. (2014). “A modified hill climbing MPPT method for photovoltaic power systems”, IEEE 35th Annu. Power Electron. Spec Conf, 3, 1957–1963.Google Scholar
  6. Kjar, S. B. (2012). Evaluation of the hill climbing and the incremental conductance maximum power point trackers for photovoltaic power systems. IEEE Trans Energy Convers, 27(4), 922–929.View ArticleGoogle Scholar
  7. Safari, A., & Mekhilef, S. (2011). Simulation and hardware implementation of incremental conductance MPPT with direct control method using Cuk converter. IEEE Trans Ind Electron, 58(4), 1154–1161.View ArticleGoogle Scholar
  8. Patel, H., & Agarwal, V. (2008). Maximum power point tracking scheme for PV system operating under partially shaded conditions. IEEE Trans Ind Electron, 55(4), 1689–1698.View ArticleGoogle Scholar
  9. Ishaque, K., & Salam, Z. (2013). A deterministic particle swarm optimization maximum power point tracker for photovoltaic system under partial shading condition. IEEE Trans Ind Electron, 60(8), 3195–3206.Google Scholar
  10. Seyedmahmoudian, M., Rahmani, R., Mekhilef, S., et al. (2015). Simulation and hardware implementation of new maximum power point tracking technique for partially shaded PV system using hybrid DEPSO method. IEEE Trans Sustain Energy, 6(3), 850–862.View ArticleGoogle Scholar
  11. Zhu, Q., Zhang, X., Li, S., et al. (2016). Researches and tests of a dynamic multi-peak maximum power point tracking algorithm based on power loop. Proceedings of the CSEE, 36(5), 1218–1227.Google Scholar
  12. Alajmi, B. N., Ahmed, K. H., Finney, S. J., et al. (2013). A maximum power point tracking technique for partially shaded photovoltaic systems in microgrids. IEEE Trans Ind Electron, 60(4), 1596–1606.View ArticleGoogle Scholar
  13. Sundareswaran, K., Sankar, P., Nayak, P. S. R., et al. (2015). Enhanced energy output from a PV system under partial shaded conditions through artificial bee colony. IEEE Trans. Sustain. Energy, 6(1), 198–209.View ArticleGoogle Scholar
  14. Boumaaraf, H., Talha, A., & Bouhali, O. (2015). A three-phase NPC grid-connected inverter for photovoltaic applications using neural network MPPT. Renew Sust Energ Rev, 49, 1171–1179.View ArticleGoogle Scholar
  15. Sundareswaran, K., Vigneshkumar, V., Sankar, P., et al. (2016). Development of an improved P&O algorithm assisted through a colony of foraging ants for MPPT in PV system. IEEE Trans Ind Informat, 12(1), 187–200.View ArticleGoogle Scholar
  16. Ding, K., Bian, X., Liu, H., et al. (2012). A MATLAB-simulink-based PV module model and its application under conditions of nonuniform irradiance. IEEE Trans. Energy Convers., 27(4), 864–872.View ArticleGoogle Scholar
  17. Yang, X., & Karamanoglu, M. (2014). Multi-objective flower algorithm for optimization. Procedia Comput Sci, 18, 861–868.View ArticleGoogle Scholar


© The Author(s) 2018