Abstract
Due to the non-linear characteristics I–V of the photovoltaic (PV) curve, the tracking of the maximum power point (MPP) under partial shading (PS) conditions can sometimes be a challenging task. This paper presents a modified artificial fish swarm algorithm (AFSA) for MPP tracking (MPPT) in PV modules under PS. In this algorithm, the AFSA optimized by particle swarm optimization (PSO) algorithm with extended memory (PSOEM-FSA) is improved by hybridizing it with adaptive visual and step, and the resulting algorithm is a comprehensive improvement on the AFSA (abbreviated as CIAFSA). Combining the searching capabilities of the PSOEM-FSA and the self-learning ability of adaptive visual and step for AFSA, CIAFSA is developed. To validate the effectiveness of this novel MPPT technique, the PV system along with the proposed MPPT algorithm is simulated using the Matlab/Simulink Simscape toolbox. Results show that the proposed approach is more effective in MPPT in PV systems under PS conditions when compared with other methods in searching precision.
Keywords
Introduction
Solar energy is widely used due to its non-noise and non-pollution characteristics, and many researchers have concentrated on developing the photovoltaic (PV) generation. In addition, PV systems have many advantages including low maintenance and long life cycle.
Despite the high cost of solar modules, PV power generation systems, in particular the grid-connected type, have been commercialized in many countries because of their potential long-term benefits (Ji et al., 2011; Liu et al., 2011). However, maximum power extraction from PV sources is a challenging task because of their non-linear characteristics, which change with environmental conditions. Especially in the case in which one or more PV modules comprising the PV array are shaded (e.g. due to dust, shading from surrounding buildings, trees or poles, non-uniform solar irradiation incidence on contoured flexible PV arrays in portable and building-integrated PV applications, etc.), the P–V characteristics of the PV array exhibit multiple local maxima and only one of them corresponds to the global maximum power point (MPP). Some studies have addressed the fact that conventional MPP tracking (MPPT) operates on a sensing current. There are some commercially well-known MPPTs such as perturb and observe (P&O; Femia et al., 2005), incremental conductance (INC; Safari and Mekhilef, 2011) and hill climbing (HC; Alajmi et al., 2011).
Under partial shading (PS) conditions, the conventional MPPT techniques fail to guarantee successful tracking of the global MPP, resulting in significant reduction of both the generated power and the PV energy production system reliability (Ishaque et al., 2012; Kadri et al., 2011). Based on this background, the artificial intelligence and evolutionary algorithms are catching the interest of researchers due to their effectiveness, low cost, robustness and global peak search capability (Zafer and Oğuzhan, 2012). Recent research in this area has seen the application of various approaches, particularly artificial intelligence schemes, such as the fuzzy logic controller (FLC; Alajmi et al., 2011; Bendib et al., 2014) and neural network (NN; Zhang and Bai, 2008). Although these methods have been shown to be effective in dealing with the non-linear characteristics of the I–V curves, they incur considerable computational cost. For example, the FLC has to deal with fuzzification, rule base storage, inference mechanism and defuzzification operations. For NNs, the large amount of data required for training is a major constraint. Furthermore, as the operating conditions of the PV system vary continuously, MPPT has to respond to changes in insolation and temperature variations in real time (Ishaque et al., 2012). Alternative approaches use evolutionary algorithms such as the particle swarm optimization (PSO) algorithm (Eberhart and Kennedy, 1995), artificial fish swarm algorithm (AFSA; Li et al., 2002), artificial bee colony (ABC) algorithm (Karaboga, 2005) or shuffled frog leaping algorithm (SFLA; Eusuff and Lansey, 2003). Among these, the PSO has been applied to search MPPs by many researchers for its simple procedures, fast convergence and good handling of multi-modal and non-linear functions. A hybrid PSO and artificial neural network (PSO-ANN) algorithm was proposed in this article to detect the global peak power point in the presence of several local peaks (Ngan and Tan, 2016). A control algorithm based on the PSO algorithm for solving multiple MPPTs was studied, in which the parameters of the PSO algorithm were set and efficient iteration stop strategy was proposed, which could reduce the power oscillation when trending to the steady state (Zhu et al., 2012). Renaudineau et al. (2015) presented a global optimization strategy applied to a distributed PV generation system, in which the real-time constrained optimization problem is solved by using the PSO method, which needs knowledge of the actual current vs voltage curve of each PV generator. By combining the Pareto-search method and a mutation process based on the existing fuzzy adaptive PSO (FAPSO) algorithm, a new mutation FAPSO (MF-APSO) approach is proposed to achieve the Pareto-front of the formulated multi-objective optimization problem and overcome the problem of trapping at a local-optimal point for PV system reactive power regulation (Yang and Liao, 2015). The authors in (Phimmasone et al., 2010) have updated the traditional PSO equations by adding various coefficients to improve the searching accuracy of the algorithm, although this has increased its computational burden. Nevertheless, the restarting scheme was not considered necessary when the weather conditions change.
Furthermore, the AFSA is a stochastic population-based algorithm motivated by the intelligent collective behaviour of fish groups in nature (Li et al., 2002). The AFSA has some advantages, such as non-sensitive initial artificial fish location, flexibility and fault tolerance (Reza, 2014). It has been applied into different problems including machine learning (Yazdani et al., 2010), PID control (Luo et al., 2010), wireless sensor networks (Song et al., 2010) and scheduling (Bing and Wen, 2010). Both FSA and PSO algorithms are swarm intelligence algorithms (Li et al., 2002), which are used for simulating natural or social behaviour (Eberhart and Kennedy, 1995). Although these algorithms respectively possess different advantages, some issues should be further improved and optimized, such as the convergence speed and optimization precision of the algorithms. For example, Song et al. (2013) proposed an improved FSA by enlarging the visual field gradually according to the iteration, and applied the improved algorithm to a two-dimensional cutting stock problem. Huang and Chen (2013) established an improved AFSA based on hybrid behaviour selection in order to deal with the problem that there has no general research theory presently to select behaviours of fish. Zhang et al. (2014) presented an improved AFSA by introducing the idea of interactive learning between individual historical optimization and that of the global one, as well as improving the update strategy for the position of the artificial fish.
Based on the above analysis, a novel control algorithm called the comprehensive improvement on the AFSA (abbreviated as CIAFSA) is presented in this paper. The control method uses a simplified PSO algorithm with extended memory to optimize the AFSA with adaptive visual and step. Such a novel control method is applied to predict the optimal output voltage values for a small practical PV panels. The control algorithm for the system to achieve maximum power generation and the implementation procedure are explained. Finally, the proposed method is applied to control a PV system under PS conditions on the experimental platform. Experimental results show that the PV system tested generates higher output power using the new control method, and the CIAFSA method outperforms the other three methods on the reliability and effectiveness of MPPT of the PV system under various PS conditions in most cases.
The remainder of the paper is organized as follows: in the next section, the block diagram of an MPPT system is described. The proposed algorithm and the flowchart of the CIAFSA method for MPPT are introduced. Then, the PV system model under PS conditions is presented. The high performance of CIAFSA for MPPT under PS conditions is demonstrated, and finally the conclusion and future work are proposed.
PV power generation system
In order to track the MPP in multiple PV solar modules, an understanding of how each PV module works is mandatory. Each MPPT system is a combination of different PV modules connected in series or parallel, a DC–DC converter and the MPPT block (Femia et al., 2005). Figure 1 shows the structure of an MPPT system, which includes PV panel emulator, solar MPPT DC–DC EVM (interleaved boost & half bridge (HB) resonant inductor-inductor-capacitor [LLC]), solar DC–AC inter evaluation module (EVM) (full bridge DC–AC), isolated general purpose input output (GPIO) and communication interface (ribbon cable), and emulated grid consisting of resistive load, isolation transformer 1000 VA and AC source 1000 VA.

Diagram of a maximum power point tracking (MPPT) system.
Figure 2 shows the DC–DC interleaved boost converter control loops. It uses current mode control. The goal is to control the PV panel output (Vpv), which is the input to the DC–DC stage. This allows the PV panel (array) to operate at its MPP at all times. Input current is regulated by adjusting the duty cycles of the power switches. Input voltage is regulated by adjusting the input current. An MPPT algorithm (described in the next section) is responsible for determining the set point (Vpv_ref) for the PV panel voltage. Note that the input voltage control loop works differently compared with the conventional feedback used in output voltage control. Under this control scheme, when the PV panel voltage (Vpv) tends to go higher than the reference panel voltage (Vpv_ref) set by the MPPT algorithm, the control loop increases the panel current command (reference current for inner current loop Iind_ref) and thereby controls the panel voltage at its reference level (Vpv_ref). When the panel voltage tends to go lower than the reference, the control loop reduces the panel current command in order to re-establish the panel voltage to its reference level.

Maximum power point tracking (MPPT) DC–DC converter control loops.
The proposed algorithm for MPPT
As stated above, the main objective of this paper is to assess the contribution of merging the extended memory and PSO algorithm into FSA for MPPT. The two key components of the proposed algorithm are PSO with extended memory (PSOEM) (Duan et al., 2016) and the improved fish behaviour patterns. In the following subsection, we will detail them and explain how they work together seamlessly.
The standard PSO
The standard PSO is shown as follows:
where subscript t denotes the index of iteration; vt represents the speed of the particle in the tth iterative process; xt represents the position of the particle in the tth iterative process;
Improved PSO
PSO, a relatively new evolutionary computation model, has attracted extensive attention from researchers and experts in different areas in the past 10 years, and various kinds of improved PSO have been presented (Gülcü and Kodaz, 2015; Tang et al., 2015). PSOEM combines several improved PSO algorithms, making full use of their advantages (Duan et al., 2011). From a psychological point of view, expanded memory means that the individual accumulates the search experience, which is conducive to improving the convergence speed. PSOEM can be expressed as follows:
where
The proposed algorithm
Improved AFSA based on PSOEM
Being attracted by the potential of AFSA, many improved algorithms based on the ordinary AFSA have been proposed, such as the introduction of a taboo optimization operator (Yu et al., 2005), fish jumping behaviour (Wang et al., 2005) and fish memory behaviour (Tsai and Lin, 2011). In the proposed algorithm, the various characteristics of the PSOEM algorithm, including speed inertia, the memory (learning) of an individual particle, and information exchange and sharing between particles, respectively, are introduced into the AFSA; then the PSOEM-FSA is put forward (Duan et al., 2016). Furthermore, we present an effective approach for combining the exploration capabilities of the PSOEM and the adaptive exploitation capabilities of the AAFSA; thus, CIAFSA is developed. Improvements to the proposed algorithm are expressed as follows.
Firstle, a speed parameter is introduced into each of the artificial fish. Taking the swarm behaviour as an example, the updated speed formula can be represented as follows:
where ω is the inertia weight; vt represents the velocity vector of the artificial fish in the tth iterative process; Step is the largest mobile step length;
Secondly, the memory behaviour pattern is introduced. This behaviour makes the artificial fish while swimming refer to its own optimal position, which can reduce the blindness of the fish in the search process (Duan et al., 2016). The updated speed is shown as follows:
where
Thirdly, the communication behaviour pattern is introduced. This behaviour makes the artificial fish while swimming refer to the optimal position of the entire fish, which strengthens the ability to exchange and share information between the individuals in the search process, and further reduces the blindness of the fish in the search process (Duan et al., 2016). The updated velocity is shown as follows:
where
Modified PSOEM-FSA based on adaptive visual and step
Visual and step are two very important parameters for AFSA, and have an important effect on the optimization result. When visual and step are set to a greater value for artificial fish, and although the artificial fish are provided with high search capacity and fast convergence in the previous stage, artificial fish will inevitably oscillate back and forth in the vicinity of the optimal value in late convergence. Conversely, artificial fish can improve their convergence precision, but artificial fish very easily fall into the local optimal value when the local optimal value is prominent. Thus, it is necessary that the visual and step of artificial fish can be adaptively calculated along with the iteration.
In the proposed algorithm, each artificial fish is in local neighbourhood structure. Before each of iteration, the distances between the ith artificial fish and the other five neighbour artificial fish need to be calculated. Visual and step are dynamically defined as follows (Xu et al., 2012):
where K1 is a uniform random number within the range (0, 1), and its value is relative to the search range and dimension of the optimized function;
Furthermore, we define the maximum distance as the MaxD, as shown as follows:
where xmax and xmin represent the upper and lower bound of the optimization range, respectively; Visualmin is set to MaxD/100; Stepmin is set to MaxD/500.
The specific process of CIAFSA is shown as follows:
Initialize the position and speed of the fish, the optimal locations of each fish’s memory and the optimal position parameters recorded on bulletin board;
Test the four kinds of combination behaviour patterns: cluster or foraging, collision or foraging, memory or foraging, and communication or foraging;
Select the optimal combination behaviour model from (b) and use the velocity update current location of the artificial fish;
If the specified number of iterations is available, the optimization will end, otherwise go to step (b).
Furthermore, the flowchart of the proposed algorithm is shown in Figure 3.

Flowchart of comprehensive improvement on the artificial fish swarm algorithm (CIAFSA)-based maximum power point tracking (MPPT) method.
PV system under PS conditions
At present, many researchers have concentrated on the development and utilization of renewable energy. PV power generation is one of the important branches. It is well known that PV power generation systems use PV arrays to absorb solar energy and convert it into electricity. A PV array is made up of many independent PV modules according to certain rules of series–parallel.
PV array’s mathematical model
When the PV array is in uniform light, the output power of the array–voltage characteristic curve is in the shape of single peak. Conversely, when some panels are under PS conditions, the characteristic curve will present a multiple peak shape (Carannante et al., 2009; Lei et al., 2011; Patel and Agarwal, 2008). Furthermore, PS causes power losses through different mechanisms – the most severe one being the incoherence of the array’s MPP with the modules’ MPPs. This means that the MPP operation of the array does not coincide with the MPP operation of the individual modules; therefore, the overall operation is not optimal (Kadri et al., 2011). In addition to the previous mechanisms, PS increases the probability of MPPT being misled to operate at local maxima, which will increase the losses.
Under PS conditions, the traditional MPPT methods, such as the P&O method, INC method and so on, fall easily into local optima (Ishaque et al., 2012). Hence, a novel MPPT method, the PSOEM-FSA, is put forward in this paper. This algorithm can easily avoid the limitation of local optima, and find global MPP under PS conditions.
Taking the branch current as the optimization variable, the fitness function is a P–I relationship of the series branch, as shown in Equations (13) and (14).
where PVprog(I, Sun, T) represents the output power of each of PV panels–current characteristic function, and Sun and T respectively represent light intensity and environment temperature, respectively.
Experiments and discussion
To evaluate and analyse the performance of the proposed algorithm, we perform numerical simulation with Matlab7.1. First, a number of numerical simulation experiments are done to compare the performance of CIAFSA with those of the other algorithms, including the PSO algorithm (Banks et al., 2007), FSA (Li et al., 2002), PSO-FSA and PSOEM-FSA (Duan et al., 2016) under the same parameter settings.
Numerical simulation analysis
Numerical simulation analysis is made up of optimization precision analysis, volatility analysis of optimal results and algorithm complexity analysis. The detailed experimental analysis process is as follows.
Experimental settings
To evaluate the performance of the CIAFSA, we use 13 benchmark functions with D = 10, 30, 60 (Zhan et al., 2009) and two benchmark functions with D = 50, 100, 200, as listed in Table 1. These scalable benchmark functions in Table 1 involve different types of problems such as the continuous unimodal functions f1–f4, the noisy quartic function f11 and the multimodal functions f6–f15. In particular, the Rosenbrock function f5 is unimodal for D = 2 and 3, whereas it may have multiple local optima in high dimension cases (Shang and Qiu, 2006). Table 1 also shows the global optimal value (column 3) and the search range (column 4).
Benchmark functions used in experiments.
To make a fair comparison among PSO, AFSA, PSO-FSA, PSOEM-FSA and CIAFSA, these algorithms adopt the parameter settings in Table 2. Furthermore, all algorithms run 50 times independently and are stopped when the maximum number of 50,000 function evaluations (FEs) is reached (the population size is 50 and the maximum number of generations is 1000) in the cases of the low-, middle- and high-dimensional benchmark functions. The reported results are the best, the means and standard deviations of the statistical experimental data.
Parameters of the algorithms.
PSO, particle swarm optimization; AFSA, artificial fish swarm algorithm; CIAFSA, comprehensive improvement on the AFSA; PSOEM-FSA, the AFSA optimized by the PSO algorithm with extended memory; PSO-FSA, the AFSA optimized by PSO algorithm.
Optimization precision analysis
Tables 3–5 show the best, the mean and the standard deviation of the results obtained by each algorithm under the budgeted FEs over 50 independent runs. In addition, the convergence curves of some benchmark functions are plotted in Figures 4–6, where the abscissa represents FEs and the vertical axis represents the mean fitness, the value of which is respectively taken by log10.
Result comparisons of five algorithms on 10-dimensional benchmark functions f1–f13, 50-dimensional benchmark functions f14 and f15.
Abbreviations as in Table 2.
Result comparisons of five algorithms on 30-dimensional benchmark functions f1–f13, 100-dimensional benchmark functions f14 and f15.
Abbreviations as in Table 2.
Result comparisons of five algorithms on 60-dimensional benchmark functions f1–f13, 200-dimensional benchmark functions f14 and f15.
Abbreviations as in Table 2.

Convergence characteristics of the five different algorithms on 10-dimensional test functions: (a) f1; (b) f5; (c) f6; (d) f7; (e) f9; (f) f10; (g) f12; (h) f13.

Convergence characteristics of the five different algorithms on 30-dimensional test functions: (a) f1; (b) f5; (c) f6; (d) f7; (e) f9; (f) f10; (g) f12; (h) f13.

Convergence characteristics of the five different algorithms on 60-dimensional test functions: (a) f1; (b) f5; (c) f6; (d) f7; (e) f9; (f) f10; (g) f12; (h) f13.
Some insightful conclusions can be drawn from Tables 3–5. CIAFSA performs significantly better than the other compared algorithms on most cases. For the low-dimensional functions in Table 3, the means and standard deviations of the results obtained by CIAFSA are significantly better than PSO, AFSA, PSO-FSA and PSOEM-FSA on 6, 8, 14 and 15 cases, respectively, whereas only PSO surpass CIAFSA on 1, 3, 7 and 11 cases. From the results of the middle-dimensional functions in Table 4, it is clear that CIAFSA consistently outperforms the other compared methods in the majority of the test functions. CIAFSA significantly exceeds PSO, AFSA, PSO-FSA and PSOEM-FSA on 1, 2, 3, 7, 10, 12 and 13 cases, respectively, whereas CIAFSA cannot lose the superiority on all the cases. Differently from the results of the low-dimensional functions, CIAFSA obviously overcomes PSO on any case. From Table 5, similarly to the results of the middle-dimensional functions, CIAFSA also overcomes the other algorithms on most cases. Thus, CIAFSA performs significantly better than PSO, AFSA, PSO-FSA and PSOEM-FSA on 1, 2, 4, 6, 7, 11, 12 and 15 cases, respectively. For the remaining cases, they perform the same, whereas CIAFSA improves the robustness in performance on most cases.
Furthermore, by comparing with Tables 3–5, it can be seen that the results obtained by CIAFSA in cases of the high-dimensional functions are better than the results obtained by CIAFSA in cases of the low- and middle-dimensional functions on most cases. To describe the advantage of CIAFSA vividly, the convergence graphs of some benchmark functions are plotted in Figures 4–6. It can be observed from Tables 3–5 and Figures 4–6 that CIAFSA exhibits higher convergence accuracy than PSO, AFSA, PSO-FSA and PSOEM-FSA on all cases. In particular, the curves shown in Figures 4–6 demonstrate that CIAFSA has higher reliability and robustness on most multimodal test functions in the cases of the middle and high dimension. This is because CIAFSA may combine the exploration capabilities of the PSOEM and the adaptive exploitation capabilities of the AFSA with adaptive visual and step, which performs an ideal balance between the exploration and the exploitation.
Volatility analysis of optimal results
To measure the merits of the algorithm performance, one of the criteria is to find the optimal value with the desired precision. After five algorithms ran 100 times independently, we obtained the standard deviations of 100 optimization results of the five algorithms. Moreover, the standard deviations are used to reflect and compare the performance of four algorithms, and are shown in Table 6 and Figure 8.
Standard deviations of optimization results of five algorithms on eight benchmark functions with D = 30.
Abbreviations as in Table 2.
From Table 6 and Figure 7, it can be seen that the standard deviations obtained by CIAFSA outperform the other compared methods in the majority of the test functions, indicating that the fluctuation of the optimization results of CIAFSA is the smallest, and this algorithm can guarantee a higher accuracy on most cases, whereas only AFSA and PSO-FSA weakly overcome CIAFSA on f9. For the remaining cases, CIAFSA improves the performance effectiveness.

Standard deviations of optimization results of five algorithms.
Algorithm time complexity analysis
Algorithm complexity is another standard for measuring the merits of an algorithm. Here, we compare the average runtime between CIAFSA and the original AFSA. The convergence precision of the Weierstrass function is set to 1e-2 and the convergence precisions of the other functions is set to 1e-3. All algorithms ran 100 times independently and the average computational time these algorithms demand to achieve the predetermined convergence precision is shown in Table 7.
Average computational time (in seconds) used by CIAFSA and AFSA on eight benchmark functions with D = 30.
Abbreviations as in Table 2.
We can conclude from Table 7 that CIAFSA has an additional computation burden compared with the original AFSA, as discussed in the time complexity analysis. The ratio that is the value of the cost of the original AFSA divided by that of the CIAFSA is also reported in the table. Based on the Table 7, it can be concluded that the runtime of CIAFSA mainly comes from the function evaluation.
Experiments of PV modules in series under PS conditions
Taking 10 PV modules in series as an example, when the entire modules are in an environment at 25°C and irradiance levels of 1000 W/m2, the output power–voltage characteristic curve is shown in Figure 8. However, when they are at a temperature of 25°C and irradiance levels 100, 200, 300, 400, 500, 600, 700, 800, 900 and 1000 W/m2, the output power–voltage characteristic curve is shown in Figure 9. Figure 9 shows that the characteristic curve appears to be 10 peaks. Obviously, the existence of local minima will lead to failure of the conventional algorithm for MPPT.

Output characteristics under illumination conditions.

Output characteristics under partial shading (PS) conditions.
The proposed algorithm for MPPT under PS conditions
In the simulation process, it is assumed that the environmental temperature remains at 25°C. The short circuit current of the arrays described by Equation (13) at T = 25°C and Sun≤1000 W/m2 is no more than 4 A, so the optimal range of the algorithm is set to [0, 5]. In addition, the fish scale is set to 5, the number of iterations is set to 10, the value of the MaxD should be set to 4, the values of ξt and ξt − 1 are separately set to 0.5 and 0.5 (Duan et al., 2011), and other parameters are shown in Table 2.
The algorithms independently ran 10 times and the results are shown in Table 8. In addition, the P&O method in engineering is also used in the environment for comparison with CIAFSA. The short circuit current of the arrays described by the formula (13) at T = 25°C and Sun≤1000 W/m2 was no more than 4 A, so the working point current of disturbance observation was randomly initialized within the range of [1.5, 2.5] to simulate the working point of the PV system before the PS conditions appeared. The perturbation step length of the P&O method is set to 0.05 and the number of iterations is set to 50.
Maximum power point tracking (MPPT) result comparison of the six different methods.
Abbreviations as in Table 2.
It can be deduced from Table 8 that the CIAFSA method can catch the MPP with higher precision and more power output than the other five methods, whereas only the PSOEM-FSA method and the PSO-FSA method overcame the proposed method on the sixth and the second operations, respectively. For the remaining cases, the CIAFSA method improves the robustness and effectiveness of the performance. To sum up, CIAFSA obviously improves the reliability and effectiveness of MPPT for the PV system under PS conditions.
Simulation analysis on the experimental platform
The above described control algorithm was applied to control the PV system. The simulation model of PV array is made of two PV modules, which are connected in series. The block diagram of the MPPT system (Veerachary et al., 2002) is shown in Figure 10.

Photovoltaic (PV) array with maximum power point tracking (MPPT) schematic of the experimental modelling and control scheme.
In order to make comparison of the simulation easier, a boost control circuit adopts the resistance as the load. The MPPT controller respectively adopts the CIAFSA, PSOEM-FSA, PSO-FSA and the traditional point-by-point comparison methods to drive the boost control circuit. In this paper, the shading conditions are divided into two cases, including: Case 1, setting G1 = 1000 W/m2, G2 = 700 W/m2, where the environment temperature is T = 25°C; Case 2, setting G1 = 1000 W/m2, G2 = 500 W/m2, where the environment temperature is T = 25°C. The parameters in simulation are as follows: the boost inductor L = 6.6 mH, the filter capacitor C1 = 82 μF, the capacitor of the DC bus C2 = 47 μF and load R = 40 Ω.
Results and discussion
In order to test the effectiveness of the CIAFSA method, this method is compared with the PSOEM-FSA, PSO-FSA and the traditional point-by-point comparison methods in the different shading situations. Results and comparative analysis are as follows.
Case 1: G1 = 1000 W/m2 and G2 = 700 W/m2
System voltages at different shading conditions, adopting the four methods, are plotted in Figures 11–14, respectively, where the abscissa represents the time and the vertical axis represents the voltage values. In Figures 11–14, Vout represents the total voltage value of the two PV modules, V1 represents the output voltage value when the irradiance of the PV module (G1) is 1000 W/m2 and V2 represents the output voltage value when the irradiance of the other module (G2) is 700 W/m2. Furthermore, Tables 9–12 shows the output voltage values of the four methods when G1 remains at 1000 W/m2 and G2 changes from 1000 to 100 W/m2.

System voltages tested on the comprehensive improvement on the artificial fish swarm algorithm (CIAFSA) method at different shading conditions (G1 = 1000 W/m2 and G2 = 700 W/m2).

System voltages tested on the artificial fish swarm algorithm optimized by particle swarm optimization algorithm with extended memory (PSOEM-FSA) method at different shading conditions (G1 = 1000 W/m2 and G2 = 700 W/m2).

System voltages tested on the artificial fish swarm algorithm optimized by particle swarm optimization algorithm (PSO-FSA) method at different shading conditions (G1 = 1000 W/m2 and G2 = 700 W/m2).

System voltages tested on the traditional point-by-point comparison method at different shading conditions (G1 = 1000 W/m2 and G2 = 700 W/m2).
Output voltages of the comprehensive improvement on the artificial fish swarm algorithm (CIAFSA) method.
Output voltages of the the artificial fish swarm algorithm optimized by the particle swarm optimization algorithm with extended memory (PSOEM-FSA) method.
Output voltages of the artificial fish swarm algorithm optimized by the particle swarm optimization algorithm (PSO-FSA) method.
Output voltages of the traditional point-by-point comparison method.
It can be observed from Figures 11–13 and Tables 9–11 that CIAFSA consistently outperforms the PSOEM-FSA method and the PSO-FSA method on the stability of the output voltages in most cases. From Figures 11–14 and Tables 9–12, it is also clear that the voltage values tested on the traditional point-by-point comparison method are more stable, but the voltage average values tested on the CIAFSA method are more than the values tested on the other methods.
Furthermore, Figure 15 shows the output power curves of the three methods. From Figure 15, it can be seen that the proposed method consistently outperforms the PSOEM-FSA, the PSO-FSA and the traditional point-by-point comparison methods in the first stage (t = 0 to t = 0.02). In the second stage (t = 0.02 to t = 0.04), although the traditional point-by-point comparison method outperforms the other three methods on the stability of the output power, the proposed method obviously improves the output power of the PV array when compared with the other three methods.

Output power curves of the three methods.
Table 13 shows the output power values of the four methods when G1 remains at 1000 W/m2 and G2 changes from 1000 to 100 W/m2. We can conclude from Table 13 that the CIAFSA method consistently outperforms the other three methods on the stability of the output power when the PV array is under various PS conditions.
Comparison of output power of the three methods.
Abbreviations as in Table 2.
Case 2: G1 = 1000 W/m2 and G2 = 500 W/m2
System voltages at different shading conditions by adopting the four methods are plotted in Figures 16–19 respectively, where the abscissa represents the time and the vertical axis represents the voltage values. In Figures 16–19, Vout represents the total voltage value of the two PV modules, V1 represents the voltage value when the irradiance of the PV module (G1) is 1000 W/m2 and V2 represents the voltage value when the irradiance of the other module (G2) is 500 W/m2.

System voltages tested on the comprehensive improvement on the artificial fish swarm algorithm (CIAFSA) method at different shading conditions (G1 = 1000 W/m2 and G2 = 500 W/m2).

System voltages tested on the artificial fish swarm algorithm optimized by particle swarm optimization algorithm with extended memory (PSOEM-FSA) method at different shading conditions (G1 = 1000 W/m2 and G2 = 500 W/m2).

System voltages tested on the artificial fish swarm algorithm optimized by particle swarm optimization algorithm (PSO-FSA) method at different shading conditions (G1 = 1000 W/m2 and G2 = 500 W/m2).

System voltages tested on the traditional point-by-point comparison method at different shading conditions (G1 = 1000 W/m2 and G2 = 500 W/m2).
It can be observed from Figures 16–18 that the proposed method consistently outperforms the PSOEM-FSA method and the PSO-FSA method on the stability of the output voltages in most cases. From Figures 16–19, similarly to the results of the Case 1, although the voltage values tested on the traditional point-by-point comparison method are more stable, CIAFSA also overcomes the other algorithms in most cases.
Furthermore, it can be seen from Figure 20 that the CIAFSA method consistently outperforms the PSOEM-FSA, the PSO-FSA and the traditional point-by-point comparison methods in the first stage (t = 0 to t = 0.015). In the second stage (t = 0.015 to t = 0.04), although the traditional point-by-point comparison method outperforms the other three methods on the stability of the output power, the CIAFSA method obviously improves the output power of the PV array when compared with the other three methods. In addition, similarly to the results of the Case 1, some insightful conclusions can be drawn from Figure 20: the CIAFSA method consistently outperforms the other three methods on the stability of the output power when the PV array is under various PS conditions.

Output power curves of the three methods.
Conclusions
In this paper, a new intelligent algorithm called CIAFSA is proposed and applied to MPPT of the PV system under PS. Finally, various tracking simulation tests have been performed and the four control methods were applied to control the PV system on the experimental platform to verify the effectiveness of the proposed MPPT method. Experimental results show that the CIAFSA method can easily avoid the constraint of multiple local extreme value points and catch the MPP of the current environment with high precision. Compared with the other methods, the proposed method obviously improves the reliability and effectiveness of MPPT for the PV system under PS conditions. In future work, we will conduct more experiments to verify whether the extended memory factor (ξt − 1) can be set according to a non-uniform degree of PS conditions to improve the reliability and effectiveness of MPPT under PS further.
Footnotes
Declaration of conflicting interest
The authors declare that there is no conflict of interest.
Funding
This work has been supported by the National Natural Science Foundation of China (Grant No. 51377187), the Graduate Scientific Research and Innovation Foundation of Chongqing (Grant No. CYB16048) and the China Scholarship Council (CSC).
