Вы находитесь на странице: 1из 32

Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Contents lists available at ScienceDirect

Renewable and Sustainable Energy Reviews


journal homepage: www.elsevier.com/locate/rser

Computational intelligence techniques for maximum power point tracking in PV systems: A review T

A R T I C L E I N F O A B S T R A C T

Keywords: Maximum power point (MPP) tracking (MPPT) is an important technique for maximizing the power extraction
Maximum power point tracking from photovoltaic (PV) systems under varying climatic conditions. In an array of PV modules it is possible to
PV system observe multiple peaks in the power versus voltage (P-V) curve due to the current versus voltage (I–V) PV cell
Computational intelligence algorithm mismatch caused by differences in the received irradiance, such as occurs during partial shading. In these cir-
Heuristic algorithm
cumstances, the ability of the MPPT devices to track the global MPP of the PV array directly influences the
Global tracking
Partial shading
system efficiency. In the literature, various MPPT techniques have been proposed. Among them, computational
intelligence (CI) algorithm based MPPT methods have demonstrated the ability to find the global MPP. This
paper presents a detailed and specific review of CI- based MPPT techniques. Each method type is classified into
one of several subcategories according to its application strategy. The various ways of applying CI into MPPTs
are analyzed in detail. The advantages and disadvantages of each method are discussed and compared. The
purpose of this study is to provide a compendium on CI-based MPPT techniques for users to understand and
select an appropriate method based on application requirements and system constraints.

1. Introduction

Maximum power point (MPP) tracking (MPPT) is one of the most important subsystems in a PV system. It is a well-known and well-studied topic
under uniform irradiance conditions when there is a unique MPP in the power-voltage (P-V) characteristics. However, when there are spatial or
temporal variations in the solar irradiance falling on a PV system, such as with partial shading caused by moving clouds, nearby trees or buildings,
dust, etc., the P-V curve exhibits multiple peaks. Thus, the MPPT algorithm must have the ability to find the global MPP from amongst the localized
power peaks. There is no unique MPPT technique, which can provide the ‘best’ performance for all operating situations for a PV generator. For a
particular PV installation, the designer needs to select the best MPPT solution based on their needs. Theoretically, an ideal MPPT technique for PV
system should have following characteristics:

1) Be able to accurately track the global MPP under partial shading conditions,
2) Be able to respond to rapid changing climatic conditions,
3) Is system independent and does not rely on the configuration of the PV arrays,
4) Is robust and stable under climatic disturbances and PV panel parameter variations,
5) Is simple to implement with low computational complexity and low system cost.

A full MPPT process requires both software and hardware. The software includes the MPPT algorithm and a closed loop controller, where the
MPPT algorithm generates a reference signal (e.g. a reference voltage or duty ratio) used by the closed loop controller to move the terminal voltage
of the PV array to the MPP. The terminal voltage is usually changed by adjusting the duty ratio of the pulse width modulation (PWM) signal sent to
the power switches of the inverter/converter. In a grid connected PV system there are two basic types of inverter structure, namely the single-stage
inverter and the two-stage inverter. In a single-stage inverter, the MPPT control and the inverter grid power control are merged into a single control
process, while in the two-stage power conversion structure, the MPPT control and the inverter control are separated. More power conversion
structures for PV systems can be found in [1–3]. It is important to note that improving the control strategy influences the quality of the power
conversion (including the system stability, the steady-state error, the overshoot, the inverter total harmonic distortion, the dynamic response, etc.),
but not the ability of the system to operate at the global MPP. The MPPT algorithm determines if the PV system is able to operate at the global MPP.
There are several review papers on MPPT under uniform and non-uniform conditions [4–11], including computational intelligence (CI, also
referred to as soft computing techniques in this review) based MPPTs [12,13] which show various advantages, such as the ability to track the global
MPP, system independence, simple implementation, low system cost, etc. However, most of the existing reviews simply listed the CI techniques used,
along with a simple discussion of the advantages and disadvantages of each proposed method. Little detail on the various ways to apply these CI
algorithms into MPPT was provided, which is important as the performance of the MPPT is influenced not only by the MPPT technique, but also by
how it is applied to the PV system. The objective of our work is to review all the CI based MPPT techniques in the literature to give readers guidance
on what factors need to be considered when choosing these CI techniques, including how users may improve the performance of these CI based
MPPTs and how they may be implemented. Since a large number of variants for several methods, namely ANN, FL, and PSO, have been proposed, we
further categorize them into several subcategories. For each type of method, not only the main principle behind the algorithm is introduced, but also

https://doi.org/10.1016/j.rser.2018.01.006
Received 21 September 2017; Received in revised form 7 December 2017; Accepted 9 January 2018
Available online 06 February 2018
1364-0321/ © 2018 Elsevier Ltd. All rights reserved.
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Fig. 1. The basic structure of a PV system with MPPT.

various ways of implementing each CI technique, their advantages and disadvantages, and comparisons of each CI based MPPT in terms of their
tracking characteristics and limitations, are given.
The remaining sections of the paper is organized as follows. In Section 2, we introduce the concept of MPPT in PV systems, including two current
problems, namely partial shading and rapid irradiance change. Additionally, in this section we introduce two of the more common “classical” MPPT
techniques as these are often combined with other techniques, including CI, to form hybrid MPPT systems. In Section 3, we review CI-based MPPTs,
giving a brief introduction to each technique including the various methods of application. Subsequently, in Section 4, we discuss important factors
affecting the application of MPPTs and compare them based on their performance. In Section 5, we point out several challenges and potential topics
which still need to be studied further. Finally, we concluded the review.

2. MPPT in PV systems

PV arrays generate electricity from the sunlight which is then converted from DC to AC power using a single/two-stage inverter so that it can be
used either directly by the user (as in an off grid PV system) or fed into the AC power grid, possibly through a transformer (as in a grid connected PV
system). To maximize the power transfer, an MPPT is used. Fig. 1 shows a typical PV system with an MPPT installed. Many other system structures
can also applied, as in [1–3,14]. As the relationship between the output power of a PV module and its terminal voltage is nonlinear, and is positively
correlated with irradiance intensity but negatively correlated with module temperature, for a small PV system consisting of two PV modules
connected in series, a uniform increase in the irradiance at the module surface (at a constant temperature) will result in a change in the P-V curve
from P1 to P2, as shown in Fig. 2. The MPPT aims to adapt the operating point of the PV system from A to the new MPP at E so as to extract as much
power from the PV array as possible.
A typical grid connected PV system consists of multiple PV modules connected in series, to form strings, which may then be connected in parallel.
This results in a number of different possible MPPT configurations, including centralized MPPT (where multiple strings are controlled by a single
MPPT), string based MPPT (where individual strings have their own MPPT controller), through to fully distributed MPPT (where each PV module has
its own MPPT controller).

2.1. MPPT under non-uniform irradiance

Classic MPPT algorithms work well under uniform irradiance, however PV systems are ubiquitous and operate under various climatic conditions.
This has raised two import problems in MPPT: partial shading and rapid irradiance variation.

2.1.1. Partial shading


To track the unique MPP for PV systems under uniform irradiance conditions, classic MPPT techniques, such as perturb and observe (P&O) [15]
and incremental inductance (INC) [16], (which will be introduced in the following sub-section), are sufficient. However, it is well know that if a cell
or a small portion of a module in a series string is shaded, then instead of contributing to the power output, the shaded cell(s) will absorb power from
the other (less shaded) cells in the string. This absorbed power is then converted into heat, contributing to hot spots that can damage the cell(s). Most
commercial modules use bypass diodes across a series of cells (18–20 cells per diode) to overcome this effect. Thus, the shaded cells are bypassed and
as a result, only the power from the shaded series (of cells) is lost. However, adding bypass diodes, results in the P-V curve exhibiting multiple peaks
(e.g. F and G in Fig. 2) when parts of the PV module/string are shaded or if there is some mismatches among the PV modules. This may cause the
classic MPPT techniques to become trapped at a local MPP, leading to power losses.

2.1.2. Rapidly changing irradiance


Another factor that influences the tracking efficiency is when the irradiance changes rapidly. In this scenario, conventional MPPT systems, such
as P&O, may track in the wrong direction during the transient process. For example for a PV power P1, in Fig. 2, the MPPT operating point oscillates
either side of the MPP at point A. Then a rapid change in the irradiance occurs just when the algorithm perturbs from point A to B, which leads to a

Fig. 2. The P-V curves for two series connected modules under different irradiance conditions.

15
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Fig. 3. The flowchart of the P&O algorithm.

change in the power curve from P1 to P2, and a new operating point C. The P&O algorithm sees a power increase for this perturbation and continues
to perturb to the right (to point D), before eventually moving back in the direction to the new MPP (point E), resulting in a power loss. This problem
becomes more severe when there is a large number of continuous irradiance changes, such as occur in the tropics.

2.2. Classic MPPT techniques

There are two classic MPPT algorithms, which are widely used in the commercial products. They can be (and are) combined with advanced
algorithms to improve the accuracy and the speed of tracking. These two MPPTs are P&O and INC:

2.2.1. P&O
The basic idea of P&O (also known as hill climbing) is to periodically perturb (increase or decrease) the terminal voltage of the PV arrays and
compare the instantaneous power P(k) with the previous power P(k-1), to determine the perturbation direction in the next step. When a perturbation
causes an increase in the PV array power, the direction of the current perturbation is maintained for the next perturbation; otherwise, the per-
turbation direction is reversed [6]. By repeating this procedure, the operating point will finally reach a stable state and oscillate about the MPP. The
corresponding flowchart of the basic P&O algorithm is shown in Fig. 3.
The advantage of this algorithm is the simple implementation and effective tracking ability under uniform irradiance conditions. However, P&O
tends to become trapped at a local power maxima when partial shading conditions occur. The algorithm also requires a trade-off between the
oscillation size and accuracy of the operating point. A small step size improves the accuracy but slows down the tracking speed, while a large step
size leads to a fast tracking speed but with large oscillations around the MPP. To improve the tracking speed and accuracy, many variants of P&O
have been proposed, such as the variable step size P&O [17], dP&O [18], etc. The basic idea of most variants is to change the step size of the
perturbation along with the tracking process. When the working point is far away from the MPP, a large iterative step is applied to accelerate the
tracking speed according to the slope of the P-V curve. When the operating point is moving in the proximity of the MPP, a small step is implemented
to reduce the oscillation. The step size can be varied as [19–21]:
D (k ) = D (k − 1) ± N ⋅Δδ (1)
where N is a scaling factor that determines the performance of the MPPT system and is set during the tuning process, and Δδ is the variable part of the
duty ratio which can be ΔP/ΔV, ΔP/ΔI, ΔP/ΔD, or ΔP etc., where, ΔP, ΔI, ΔV and ΔD are the change of power, current, voltage and duty ratio in the
previous sampling period, respectively.

2.2.2. INC
The operation of the INC MPPT method is based on the observation that at the MPP, the derivative of the output power, P, in terms of the voltage,
V, is zero (e.g. dP/dV = 0) [16]. Therefore, taking the derivative of P=IV gives [6,22]:
dP dI
=V +I=0 (At the MPP )
dV dV (2)
Hence, within one sampling period, Eq. (2) becomes:
ΔI / ΔV = −I / V (3)
Therefore, by comparing the incremental conductance (ΔI/ΔV) with the instantaneous conductance (-I/V), the perturbation direction for the next
step can be determined. If ΔI/ΔV > -I/V, then Vref is increased, while if ΔI/ΔV < -I/V, Vref is decreased. Otherwise, the MPP is attained [6,16]. The
basic flowchart of INC is shown in Fig. 4.
In contrast to the P&O algorithm, INC does not move away from the MPP during a rapid irradiance change. However, since INC uses the slope of

16
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Fig. 4. The flowchart of the INC algorithm.

the current versus voltage (I-V) curve to decide the perturbation direction in the next step, it requires current/voltage sensors with high accuracy.
Otherwise, the perturbation process may become confused due to the flatness of the I-V curve on the left side of the MPP. Similar to P&O, the variable
step size tracking concept can also be applied to INC. Other techniques, such as fuzzy logic (FL) can be used to adjust the step size automatically [23].

3. CI based MPPT

The two classic MPPT methods above, and their variants, are effective under uniform irradiance conditions. However, they usually fail to track
the global MPP under non-uniform conditions. Global optimization techniques such as CI algorithms are useful for solving real-life nonlinear
problems, as compared to simple mathematical methods. They include nature-inspired computational methodologies such as swarm intelligence,
neural networks, evolutionary computation, FL, etc. In the following section, various CI-based MPPTs are reviewed. A brief description of each
method is also given for readers to quickly understand their operating mechanism.

3.1. Artificial neural network (ANN)

ANNs are biologically inspired algorithms designed to simulate information processing in a human brain. An ANN consists of a large collection of
connected artificial neurons which carry an activation signal of varying strength. Typically, neurons are connected in multiple layers, and signals
travel through the first (input), to the last (output) layer as shown in Fig. 5. The weights of the interconnections among neurons can be determined
after a learning process using a training dataset. They are often utilized for approximation of nonlinear functions and this makes them a potential
solution to tackle the complex problem of MPPT in PV systems.
Various ANN based MPPTs have been proposed, differentiated by different neural network types, control structures, and input and output
variables. When applying ANN into MPPT, the system performance can be improved by:

1) Changing the structure/type of the ANN, e.g. Hopfield ANN, fuzzy cognitive network (FCN), etc.;
2) Optimizing the MPPT/controller using ANN, e.g. ANN optimized FL controller (FLC), ANN optimized P&O, etc.;
3) Combining with other MPPT techniques to improve the tracking accuracy and speed, such as ANN + P&O, ANN + three point tracking method,
etc.;
4) Combining ANN with an advanced controller to get better transient control performance;

Fig. 5. Structure of the multilayer ANN.

17
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Fig. 6. Possible structure of ANN based MPPTs.

Table 1
Possible inputs and outputs to the ANN based MPPT.

Inputs Outputs

Solar irradiance (Irr) Optimal voltage (Vmpp)


Temperature (T) Optimal current (Impp)
Wind velocity (vwind) Optimal power (Pmpp)
Open circuit voltage (Voc) Optimal duty ratio (Dmpp)
Instantaneous time (t) Constant voltage factor (k)
Terminal voltage of PV array (Vpv)
Current output from PV array (Ipv)
Voltage derivative (dV)
Power derivative (dP)
Incremental conductance (dV/dI)

5) Considering different inputs/outputs; and


6) Pre-processing the inputs before feeding into the ANN.

In this section, we classify ANN based MPPTs in the literature into two main categories: direct MPPT and hybrid MPPT. The structure of ANN
based MPPTs, including possible inputs and outputs are given in Fig. 6.

3.1.1. Direct method


Implementations in this category use an ANN along with a specific controller to identify the MPP. Once the required MPP is identified, the
controller is used to change the duty ratio of the PWM signal sent to the converter to make sure the voltage is altered to match the MPP. The major
difference in the existing works mentioned below is the type of neural network used, the type of controllers and the inputs/outputs. The choice of
possible inputs and outputs of the ANN (given in Table 1) significantly impact the MPPT performance.
The simplest way of applying ANN into MPPT is to directly use a multilayer ANN to predict the optimal voltage/power at the MPP. For instance,
in [24,25], the open circuit voltage and instantaneous time are considered as the inputs of the ANN to predict the optimal voltage at the MPP. The
ANN is trained with data measured from an I-V curve tracer to identify the relationship between Voc and Vmpp. This method eliminates the re-
quirement for irradiance and temperature sensors and accurately identifies the optimal operating point for different conditions. The results in [24]
show that the proposed control scheme draws more than 99% of the actual power. However, additional devices for measuring Voc are required. The
ANN prediction was improved in [26] by utilizing irradiance (Irr), temperature (T), wind velocity (vwind) and time (t) as inputs. This method provides
an advantage over the multiple regression model which is commonly used for MPP prediction.
By changing the type of neural network, the tracking accuracy of an ANN based MPPT can also be improved. For example, in [27] two radial basis
feedforward networks (RBFN) were used to model a solar array and predict its MPP, respectively. The RBFN network for MPP is trained using
irradiance (Irr) and temperature (T) as inputs with the optimal voltage (Vmpp) and current (Impp) as outputs. The training data is obtained from a real
PV grid-connected system equipped with P&O MPPT in Saudi Arabia. The results show that there is not much of an increase in power even though
the RBFN model is faster. The RBFN in [28] uses Vpv and Ipv, as inputs and computes the duty ratio directly as the output. The algorithms were tested
both through simulation and experimental analysis using solar array simulators. The RBFN based method with modified converters was found to
respond faster to irradiance and temperature change and provided a higher power output. In addition, in [29,30], adaptive network-based fuzzy
inference system (ANFIS) techniques are used to improve the tracking accuracy, speed and system stability.
Instead of using a PI controller, advanced controllers can also be used to improve the dynamics and stability of the system. For example, in [31], a
feedforward neural network in combination with a FLC is applied to predict the maximum power. The reference voltage at the MPP is obtained using
an offline-trained (back-propagation) neural network which takes irradiance and temperature as the inputs. The training dataset is obtained from lab
experiments. The results show that compared to P and PI controllers, the FLC performs better in both transient and stable states. Similarly, a FLC
using polar information [32], is used to track the optimal voltage. The inputs of the ANN based MPPT are the irradiance values on each PV panel, and
the outputs are the optimal voltage and power value at the MPP. The simulation results under various shading patterns show a better performance
than P&O.
To further improve the tracking accuracy, it has been proposed to pre-process the input patterns before feeding them into the ANN. For example,
in [33], an orthogonal least squares learning algorithm is used to determine the number of centers for the input data to a RBFN neural network.
Results show the genetic k-means based RBFN has higher accuracy and a faster tracking speed than a multilayer ANN based MPPT. In [34], input
pattern classification under transient environmental conditions is applied to a three layer ANN, which then performs better than P&O and an ANN
based MPPT without input classification.
To avoid using the expensive irradiance sensors, multiple sampling methods are proposed to directly predict the optimal power in [35,36]. In
[36], it is assumed that the P-V curve maintains the same shape when the power variation is within a certain threshold, and uses a pattern search to
find the MPP within the local region. When the power variation is larger than the threshold, the ANN uses the current measured at n different
voltages (chosen a priori) to determine the voltage in the region of the global MPP, which is then subsequently adapted to the MPP using the local
search method. This method is similar to that of [35], except that in [35], the number of voltage points (n) is determined by the number of PV

18
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

modules in each PV string, whereas in [36] n is usually decided randomly by the user. The advantage of this type of method is that it requires only PV
voltages (Vpv) and currents (Ipv) and thus avoids the use of additional sensors to measure irradiance and temperature.
Generally, there are two ways to obtain training datasets: 1) measuring the power/voltage/current data from the practical PV system [27] or
from lab experiments [31], and 2) generating the training dataset from simulation models [35–40]. Most of ANN based methods use simulation
models to get the training datasets.

3.1.2. Hybrid method


In this category, the ANN is usually combined with other basic or advanced MPPTs (e.g. P&O, INC, FL, etc.) to improve the overall performance of
the MPPT.
The most common hybrid method is to combine ANN with P&O. In [40], an ANN is combined with P&O to reduce the prediction uncertainty.
Firstly, the ANN predicts the maximum power, and then a P&O algorithm is applied to track the optimal power so that it can adjust to the changes
due to small environmental variations. The ANN training datasets are generated from a simulation model. The proposed MPPT has been shown to be
efficient under uniform irradiance conditions. Instead of directly predicting the optimal power/voltage values, a multilayer ANN is used to identify
the region for the global MPP of the PV characteristics by estimating its boundary voltages [41],. However, in this method, the irradiance values are
required which means a relatively higher system cost compared to the method in [35]. Another similar method that combines the three point
comparison method with an ANN has also been proposed [42].
Another way of combining ANN and P&O is to train the network using datasets generated by P&O [43,44], where the inputs to the ANN are the
power (dP) and voltage (dV) derivatives of the PV array, while the output is the normalized duty ratio. The difference between the two techniques is
that in [43] a FCN is used (due to its ability to model dynamical complex systems), while [44] uses an extension neural network.
Similarly, ANN can also be combined with INC and other intelligent controllers. For instance, in [45], a modified INC is combined with ANN. The
constant voltage method (or ANN) is used to get an initial voltage value (Vmpp) near the MPP under uniform (or non-uniform) conditions. INC is then
subsequently used to track the MPP. Compared to the P&O technique and the fuzzy based modified P&O technique [45,46], it provides better
performance in terms of tracking accuracy and speed. In [47], the FCN is combined with a FLC based MPPT instead of using FCN directly as in [48].
The inputs to the FLC include the error and the change in the error, with the output being the change in duty ratio. The FCN is first trained off-line
and is then connected to the PV system and is able to adapt its operation based on accumulated experience and knowledge of the system operation
along with feedback from the physical system. The results show that the FCN based methods perform better than the P&O algorithm.
By combining ANNs with different learning algorithms, the performance of MPPT can also be improved. For example, in [49] a direct adaptive
neural control (DANC) is used to improve the dynamic performance of the MPPT by using the learning capability of a single neuron with online fast
learning. There are two inputs, namely the error (e) (between the set point and the value dP/dV) and the change in error (Δe). The δ rule (based on
the gradient decent method) is used to learn the weights of the network. Compared to P&O, there is little difference between the two techniques
during relatively rapid changes in the temperature, apart from the proposed method stabilizing faster, however, it shows much less oscillations near
the optimal operation point and better transient tracking speed under fast changing irradiance. In addition, when the value of the load is changing
DANC-MPPT is not affected while P&O shows more oscillations with higher amplitudes. Similarly, in [50] a direct neural control scheme for MPPT is
also developed. The difference is that off-line optimization for the initial parameters of the single neuron network is applied. The error back-
propagation method, which is widely used for training the single neuron network has the disadvantage of local convergence caused by the initial
conditions. By using the Big Bang–Big Crunch algorithm to optimize the initial values of parameters, such as the weights of the neuron, the slope of
the sigmoidal function and the learning rate, the gradient-based method is able to reduce the oscillations in the steady state, provide faster tracking
speed in the transient state, and also has low computational complexity.
Besides, ANNs can also be used for multiple purposes in the same system. For example, in [51], a voltage based MPPT using two ANNs is
proposed. The first ANN identifies the voltage and current curves at any given solar irradiation and temperature, and the second estimates the
optimal voltage factor (k) in the conventional constant voltage method (which assumes that at the MPP the optimal voltage is proportional to the
open circuit voltage (e.g. Vmpp = kVoc)). The proposed method is demonstrated to be more efficient than the conventional constant voltage method.
By combining ANN with the equation describing the MPP locus, a high-speed, low-complexity MPPT is obtained in [52]. The ANN takes the open
circuit voltage (Voc), short circuit current (Isc), optimal voltage (Vmpp), optimal current (Impp) and the number of series cells in a PV module (Ns) as
inputs and outputs the coefficients for the polynomial model of the MPP locus. The ANN training data is taken from the datasheets of the top ten
manufacturers. The results show better performance than the fixed and variable step size P&O.
The characteristics of direct and hybrid ANN based MPPTs, in terms of their inputs/outputs and advantages/dis-advantages are listed in Table 2
and Table 3, respectively. In summary, ANN based MPPT can provide fast tracking, especially for rapid irradiance changes. However, there are
several disadvantages. For example, ANNs require training datasets to initially train the network and recalibration from time to time due to aging.
The training dataset can be obtained either from the experimental setup or from a simulated model. Depending on its accuracy it can significantly
impact the accuracy of the MPPT. Furthermore, these ANN based MPPTs are usually not suitable for partial shading conditions unless the simulation
model for the PV system under these conditions is available, as it is very difficult to get training datasets for various partial shading conditions from
real time field measurements. In addition, ANN based MPPT is not suitable for small-scale, low-cost PV systems because irradiance and temperature
are required to be measured during the prediction process.

3.2. Fuzzy logic

A FLC performs computations using “degrees of truth” instead of Boolean logic on which modern computers are based. The FLC process consists
of three stages: fuzzification, inference with rule base, and defuzzification, as shown in Fig. 7 [53]. The control inputs with crisp values are
transformed into fuzzy sets in the fuzzification block according to the membership function, as shown in Fig. 8. The membership function and the
rule base, which are defined by the user, are the basis for the inference process. After inference, the control output is generated by the defuzzification
block. This converts an output fuzzy set back to a crisp value, using techniques such as the center of singleton, center of gravity, maximum methods
[53], etc. As a FLC is able to process incomplete data and provides an approximate solution to the problem that other methods find difficult to solve,
it can be used for MPPT.
The performance of FLC based MPPT can be influenced by many factors, such as the input/output variables, the types of membership function,
the way of defining fuzzy rules (e.g. fixed or adaptive fuzzy rules), and the method of combination with other MPPTs, etc. In this section, we divide

19
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Table 2
Comparison of the direct application of ANN based MPPT methods.

Refs I/O Type of ANN Advantages Disadvantages

[24,25] Voc, t (Vmpp) Multilayer ANN • No irradiance/temperature sensors required. • Rapid irradiance change not considered.
• I-V curve tracer used to get training data. • Partial shading ignored.
• One of the earliest ANN based MPPT. • Require devices for measuring V .
• Outperform the multiple regression model. • Low
oc
[26] Irr, T, vwind, t (Pmpp) Three layer ANN accuracy.
• Partial shading ignored.
• Irradiance, temperature and wind velocity
sensors are required.
[27] Irr, T (Vmpp,Impp) RBFN • Higher accuracy than MLP • RBFN trained from real plant data, hence only
matches with the performance of P&O.
• Partial shading ignored.
[28] Vpv, Ipv (Dmpp) RBFN • Faster than P&O & INC for rapid irradiance changes. • Only compared with P&O and INC.
• No irradiance & temperature sensors required. • No partial shading conditions considered.
• Improved efficiency using modified SEPIC converter. • Model dependent.
[29,30], Irr, T (Vmpp) or Ipv, Vpv ANFIS + PI controller • Performs better than P&O MPPT method. • Partial shading effects are not considered.
(Pmpp) • ANFIS performs better than multilayer ANN.
[31] Irr, T (Vmpp) feed forward ANN + fuzzy • Outperforms MPPT with PI controller. • Partial shading ignored.
controller • Fast tracking speed.
[32] Irr (Vmpp, Pmpp) Multilayer ANN + FLC with • Outperforms P&O. • Tracking speed needs to be improved.
polar information • First work using an FLC with polar coordinates.
[33] Irr, T (Pmpp) Orthogonal least squares
optimized RBFN
• based
Higher accuracy than MLP due to genetic k-means
classification to the input patterns of the ANN.
• Limited accuracy (due to training with real
plant data which may use P&O method).
• Partial shading ignored.
[34] Irr, T (Pmpp) Multi-model neural fuzzy • Distinct generalization capability. • Require training data for ANN and fuzzy rules.
network • Performs better than single ANN due to the pre-
process to the input data (irradiance and
• Partial shading ignored.
temperature).
[37,38] Irr, T (Vmpp,Impp) Three-layer feed forward • Uses data generated from two diode model to train the • Model dependent.
perceptron ANN ANN for different conditions. • Partial shading ignored.
[39] Irr, T (Vmpp) GA optimized ANN • Use GA to optimize ANN. • Partial shading ignored.
• Fast response due to varying step size, with small • Model dependent.
oscillations around the MPP. • Increased computational requirements.
[36] Vpv, Ipv (with n pair Multilayer ANN + pattern • No irradiance & temperature sensors required. • Requires solar array model to get training
pts.) (Vmpp) search • Robust to system parameter variations. data.
• -Works for partial shading conditions.
[35] Vpv, Ipv (with n pts.) Multilayer ANN +Multi- • Low oscillations at stable state. • Requires solar array model to get training
(Vmpp) sampling + P&O • Works for partial shading and is robust to system data.
variations. • System dependent.
• No irradiance & temperature sensors required.

Table 3
Comparison of hybrid ANN based MPPT methods.

Refs I/O Type of ANN Advantages Disadvantages

[40] Irr, T (Pmpp) Multilayer ANN + P&O • An improved P&O is used with ANN to • Model dependent.
track the MPP. • Partial shading effects ignored.
• Faster tracking speed than P&O.
[41] Irr (voltage boundaries) Multilayer ANN + P&O • Faster tracking speed than using only a • Irradiance sensors required.
ANN. • Model dependent.
[42] Irr, T, Vpv, Ipv (Vmpp) Multilayer ANN + Three point • Faster tracking speed than just using the • Model dependent.
compare method three point method. • Partial shading effects ignored.
[43,44] dP, dV (ΔD) Multilayer ANN + P&O • ANN is used to optimize the step size of P& • Lack of global tracking ability.
O. • Difficult to get training data.
• Fast tracking speed.
[45] Irr, T (ΔD) Multilayer ANN+INC • Combined constant voltage method and • Lack of global tracking ability.
ANN. • Difficult to get training dataset.
• Better accuracy than conventional P&O
and fuzzy based P&O.
[47,48] Irr, T (Vmpp/Impp/Pmpp) Fuzzy cognitive networks • Outperform P&O under changing • Lack of global tracking ability.
irradiance. • Model dependent.
[49,50] e=dP/dV
Δe=e(k)-e(k−1)
Direct adaptive neural control • Similar
&O.
to P&O, but stabilizes faster than P • Lack of global tracking ability.
(ΔD)
[51] Irr, T (constant voltage factor) Multilayer ANN + constant • Optimized constant voltage factor. • Lack of global tracking ability.
voltage • Outperforms the constant voltage method. • Difficult
dataset.
to get optimal training

[52] Voc, Isc, Vmpp, Impp, Ns (Coefficients of Multilayer ANN • Use ANN to identify parameters of the MPP • Lack of global tracking ability.
polynomial model of MPP locus.) locus model. • Model dependent.
• Simple structure.
20
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Fig. 7. A typical structure of the fuzzy system.

the existing FLC based MPPTs into three main categories: direct FLC, optimized FL, and hybrid FLC MPPTs. In each category, the possible input and
output variables are listed in Table 4. P(k), I(k) and V(k) are the power, current, and voltage output of the PV array, respectively, D(k) is the duty
ratio, I(k)/V(k) is the INC error and Δe(k) is the change in the error; ΔD(k), ΔP(k), ΔV(k) and ΔI(k) are the change in duty ratio, power, voltage, and
current of the PV array, respectively. The methods discussed in the three categories (below) are summarized in Tables 5–7, in terms of inputs/outputs
of the FLC, the optimization method(s) and their advantages and disadvantages.

3.2.1. Direct FL MPPT


In this category, a FLC with a Mamdani inference system [54,55] and fixed fuzzy rules is directly applied to predict the optimal power/voltage/
current of the PV array or the duty ratio sent to the power converter. The membership function of each fuzzy set is selected based on trial-and-error.
For example, in [56], a FLC based MPPT with a boost converter is used. The input variables include the slope of the P-I curve and its change. The
output is the change in the duty ratio. Improved energy conversion efficiency, compared to the conventional P&O MPPT, was demonstrated. A FLC is
developed to perform an on-line search procedure to continuously track the maximum power in [57,58]. Instead of using the P-I slope, and its
change, as inputs, variations of duty ratio (ΔD(k)) and power (ΔP(k)) are considered. The output is the change in the duty ratio for the next step (ΔD
(k+1)). Two additional fuzzy rules are added in [57] to avoid trapping into a plateau. The results show fast convergence and robust performance
against parameter variation and noisy and inaccurate signals, but with a steady-state error in the PV output power. To further improve the accuracy
at steady state, a FLC based P&O MPPT is proposed [46] where P&O rules are converted to fuzzy rules. The inputs of the FLC are the change in power
and current, while the output is the change in duty ratio. The method exhibits fast convergence with a small oscillation at steady state, however it is
not suitable for partial shading conditions.
A FLC MPPT controller has also been successfully applied in combination with a Ćuk converter in [59], and SEPIC converter in [60]. In [59], the
FLC is used to directly track the MPP. The error (e) between the Ćuk converter's desired voltage and its actual voltage, and the change in error (Δe)
are the inputs, with the change in duty ratio as the output. Whereas, ref [60] employs a FLC to track the optimal power using the reference voltage
value generated by P&O. In this case, the FLC based controller can only improve the performance in terms of the settling time, overshoot and steady
state error.
Other types of FLC, such as Takagi-Sugeno (T-S) FLC [55,61], single-FLC (S-FLC) [62], asymmetrical FLC [63], etc., can also be used for MPPT. In
[55], the T-S fuzzy model describes nonlinear systems by combining local linear dynamic subsystems in IF–THEN fuzzy rules. In order to reduce the
number of measured signals, a T-S fuzzy observer is developed for state feedback which directly drives the system to the MPP without a searching
process or measuring insolation. The controller gains are designed with linear matrix inequality techniques to achieve MPP. The results show that
this method provides good dynamic and stable performances and is robust to the disturbance and uncertainty in the system. However, this technique
requires extensive calculations as the LMI technique needs to calculate the matrix inverse. The T-S fuzzy-based adaptive MPPT in [61] uses the error
between the conductance and incremental conductance as the inputs. It has faster tracking speed, and is robust to varying irradiance conditions,
compared to INC and P&O, but does not guarantee global convergence for all possible shading conditions.
In [62], a S-FLC is proposed to simplify the tuning process of the membership functions, scaling factor and rules for the FL based MPPT. Instead of
using error (e) and change in error (Δe) as the input variables, a single variable, the distance ds, is used. This is because the absolute magnitude of the
input variables (Δe and e) on the plane of Δe versus e, is found to be proportional to the distance from the main diagonal line called the switching line
(s: Δe + e = 0). While ref [62] has similar performance to the conventional FLC MPPT, it is easier to implement, modify and tune the control rules.
An FLC with asymmetrical triangular membership functions is proposed in [63]. The inputs are the power variation (ΔPpv) and the voltage variation
(ΔVpv). Results show that compared to the symmetrical FLC-based MPPT method, the transient time and the MPPT tracking accuracy can be
improved by about 42.8% and 0.06%, respectively.
In addition, FLC based MPPT has successfully been applied to many other applications such as a solar powered light flasher [64], grid-tied hybrid
generation system [65], wind power generation system [66], etc. In [64], experimental results show FLC gains more than eight times improvement in
terms of tracking speed over the conventional P&O based MPPT. In [65], a fuzzy proportional-derivative and integral (PD+I) controller is proposed
to extract the optimum power for a grid-connected hybrid generation system. In the hybrid system, both the PV and wind turbine systems use the FLC

Fig. 8. Membership function shapes.

21
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Table 4
Possible inputs and outputs for FLC.

No Inputs No Outputs

① e(k) = [P(k) – P(k−1)] / [V(k) – V(k−1)] ① ΔD(k)


② e(k) = [P(k) – P(k−1)] / [I(k) – I(k−1)] ② ΔP(k)
③ e(k) = P(k) – P(k−1) ③ ΔV(k)
④ e(k) = D(k) – D(k−1) ④ ΔI(k)
⑤ e(k) = V(k) – V(k−1)
⑥ e(k) = I(k) – I(k−1)
⑦ e(k) = ΔI(k) / ΔV(k) + I(k) / V(k)
⑧ Δe(k) = e(k) – e(k−1)

Table 5
Comparison of different Direct FLC based MPPTs.

Refs I/O Advantages Common Disadvantages

[46] ③⑥ (ΔD(k)) • Fast tracking speed and small oscillation around the MPP.
• Robust to varying weather conditions.
• Less fuzzy rules to define.
[56] ②⑧ (ΔD(k)) • Simple structure. • Trial-and-error used to determine the fuzzy
• Faster tracking speed than conventional P&O. rules.
[57] ③④ (ΔD(k)) • Avoids trapping into a plateau. • Fixed fuzzy rules.
• Fast tracking speed. • Partial shading ignored.
• Robust to noise and system uncertainty.
[59] ⑤⑧ (ΔD(k)) • First usage of a FL based MPPT using Cuk converter.
[60] ⑤⑧ (ΔD(k)) • Able to track the MPP.
• First usage for SEPIC converter.
• Outperforms PI controller.
[61] ⑦ (ΔV(k)) • Fast tracking speed irrespective of the irradiation changes.
• Wide range of fuzzy variable.
[62] ② ⑧ (ΔD
(k))
• Easy to implement, modify and tune the control rules.
[63] ③⑤ (ΔD(k)) • Uses asymmetrical triangular membership functions.
• Faster tracking speed and higher accuracy than FLC based MPPT with symmetrical triangular
membership functions.
[64] ①⑧ (ΔD(k)) • Outperforms P&O.
• Low perturbations at stable state.
[65] ①⑧ (ΔD(k)) • Reduces high frequency oscillations in the wind power.
• Improves the THD of the inverter output voltage and current.
[66,74] ③④ (ΔD(k)) • Reduced power oscillations, rapid response to wind speed variation.
• Reduced sensors as power measured on the grid-side converter.
Table 6
Comparison of different optimized FLC based MPPTs.

Refs I/O Optimization technique Advantages Disadvantages

[68] ⑤⑧ or ⑥⑧ Matrix experiments via an orthogonal • Have good performance in both transient state and steady state. • No comparison with other methods.
(ΔD(k)) array • Reduced system development time. • Only scaling factors are optimized.
• Fuzzy rules are fixed.
• Partial shading ignored.
[69] ⑦⑧ (ΔD(k)) Inverse fuzzy model and a knowledge • Can adaptively adjust the parameters of the fuzzy logic controller. • Partial shading ignored.
base modifier • Requires expert knowledge to set the
learning mechanism.
[70] ①⑧ (ΔD(k)) GA • GA optimized membership functions. • Fuzzy rules are fixed.
• Partial shading ignored.
[71] ①⑧ (ΔD(k)) ACO • Optimized scaling factors for I/O. • Fuzzy rules are fixed.
• Easy implementation and fast tracking speed. • Partial shading ignored.
• Outperforms conventional FLC. • Only scaling factors are optimized.
[72] ③④ (ΔD(k)) Hopfield neural network • Optimized width of each fuzzification input and output. • Fuzzy rules are fixed.
• Partial shading ignored.
[73] ①⑧ (ΔD(k)) PSO • Optimized scaling factors. • Only scaling factors are optimized.
• Better transient and stable performance than P&O. • Fuzzy rules are fixed.
• Partial shading ignored.
[75] ①⑧ (ΔD(k)) PSO • Faster tracking speed and less oscillations at stable state • Fuzzy rules are fixed.
compared to P&O and standard FL based MPPT. • Partial shading ignored.
[76] ①⑧ (ΔD(k)) GA • Optimized
outputs.
fuzzy rules and membership function of inputs and • Partial shading ignored.

based optimal power tracking technique. Inputs to the FLC for the PV system are dPpv/dVpv (e) and its rate of change (Δe) and the output is the change
of the duty ratio (ΔD). The results show that the FLC based MPPT can reduce high frequency oscillations in the wind extracted power, and improve
the THD of the inverter output voltage and current. In [66], a sensorless FLC based P&O MPPT algorithm is proposed for a variable speed small-scale

22
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Table 7
Comparison of different hybrid FLC based MPPTs.

Refs I/O Combination Advantages Disadvantages

[48] ②⑧ (ΔD(k)) FLC + FCN • Fast tracking speed. • Difficult to get datasets to train the FCN.
• Robust to PV array variations.
[79,80] ①⑧ (ΔV(k)) FLC+ fractional-order INC/P&O • Better efficiency than conventional FLC. • Fractional order α influences system performance.
• Fuzzy rules are fixed.
• Partial shading ignored.
wind power generation system. The inputs to the FLC are the power variation ΔP(k) and the output is the variation in duty ratio ΔD(k). By varying the
duty command obtained from defuzzification, the switched-mode rectifier of the wind turbine is operated at the MPP. Results show that the proposed
method can significantly reduce power oscillation, and respond rapidly to wind speed variations. Furthermore, the experimental verification
showing the better performance of FLC compared to several basic MPPTs such as P&O, INC and their improved versions is given in [67].

3.2.2. Optimized FL MPPT


There are a number of common drawbacks to the conventional FLC (and hence to FL MPPT). These include the time-consuming process of
determining fuzzy rules using a combination of expert knowledge and trial-and-error, and the environment-dependent performance due to fixed
fuzzy rules. To solve this problem, many adaptive FLCs have been proposed which vary the parameters of the FLC using advanced optimization
algorithms. In general, there are three ways to improve the adaptiveness of the system: 1) Tune the scaling factors of the FLC, 2) Modify the fuzzy
membership functions, and 3) Change the fuzzy rule base. The input scaling factors in a FLC are widely applied to transform the real input data to a
predefined range of the fuzzy inputs. By tuning the scaling factor of the FLC, the variable range of each membership function can be changed by the
same ratio. By modifying the parameters of fuzzy membership functions, such as function shapes, centers, etc., the performance of the inference
process can be changed. Varying the width of membership can affect the interpolation between two peak values. Thus, the performance of the
control system can be improved by tuning these parameters in a guided manner. The basic structure of the optimized FLC based MPPT is shown in
Fig. 9, and uses an adaptive adjustment mechanism to update the parameters of the FLC. The parameters of the FLC can been tuned and optimized in
many ways, such as matrix experiments [68], the learning table [69], GA [70], ant colony optimization (ACO) [71], ANN [72], particle swarm
optimization (PSO) [73–75], etc.
In [68], the scaling factors are tuned according to the matrix experiments via an orthogonal array and the desired performance indexes. For a PV
system operating in grid-connected mode (with current mode control), the inputs to the FLC are the error in the filter inductor current and the
change in error. In stand-alone mode (with voltage mode control), the inputs are the output voltage error and the change in error. The output is the
change in the duty ratio. The best values for the three scaling factors of the FLC can be found by tuning according to a predefined three level matrix
until the performance index is less than a specified value. The disadvantage is that the tuning span of the parameter values is limited by the
predefined matrix, which may lead to a suboptimal choice.
In [69], an adaptive FL based MPPT is proposed for grid-connected PV systems equipped with a two stage inverter. Both scaling factors and
membership functions are changed during the optimization process. The control scheme includes two parts: a fuzzy knowledge base controller and a
learning mechanism for the FLC. The learning mechanism is composed of an inverse fuzzy model and a knowledge base modifier. In this learning
mechanism, a table of mapping rules are used to modify the peak of the member functions and scaling factors, based on two inputs (e(k) and Δe(k)).
The adaptive FLC is able to adapt the fuzzy parameters for fast transient performance, low harmonics, high power factor and is robust to variations in
external disturbances. However, defining this learning mechanism table requires expert knowledge. The impact of partial shading was not examined.
Instead of a table of mapping rules to modify the parameters of the FLC, a GA optimized FLC based MPPT is proposed in [70,76]. The inputs to the
FLC are the tracking error (e) and the change in error (Δe). The output is the change in the duty ratio. In GA, each individual is composed of three
chromosomes: e(k), Δe(k) and ΔD, with each chromosome represented by three parameters (the distances between each center of the triangle
membership function for the inputs and outputs). Fig. 10 shows the structure of the defined chromosome. Each genotype specifies an individual
member in the population (Popi). Each particle (Pi) is represented by a combination of parameters characterizing fuzzy rules and membership
functions. The objective function of GA is defined as:
∞ ∞
fitness = ∫0 e (t )2dt = ∫0 [Pmax (t ) − P (t )]2 dt (4)

where P is the desired power and Pmax is the reference maximum power. By minimizing the objective function, the optimal parameters for these fuzzy
membership functions are found. With the optimized FLC, the results show a fast response with fewer fluctuations in the steady state under varying
irradiance and temperature conditions.
To further improve this GA optimized MPPT, ref [76] included fuzzy rule information into the optimization process. The center point of the ith
fuzzy set was used to indicate the shape of membership functions for both inputs and outputs (which are the same as in [70]). Fuzzy rules are then
combined into each chromosome. The fitness function for GA based optimization is then given as the integral of the absolute error (IAE), as in Eq. (5),
which allows GA to find both the optimal membership functions and the control rules for the FLC.

Fig. 9. The basic structure of the optimized FL based MPPT.

23
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Fig. 10. The structure of the chromosome with binary coding when varying membership functions of inputs and outputs.


IAE = ∫0 |e (t )|dt (5)
In [71], an ACO algorithm was used to find the optimal values of the scaling factors for the FLC. The objective was to optimize the settling time
and steady state error of a unit step response. The inputs to the FLC are the power variation with respect to voltage /current variation and its error.
The output is the change in the duty ratio. The fitness function is designed as: f = λtsf1 + λessf2, where λts and λess are the weighs of two sub-
functions, f1 and f2, defined as:

e / e , if ess0 ≠ 0
f1 = ts / ts0 and f2 = ⎧ ss ss0 ,
⎩ 0,
⎨ if ess0 = 0 (6)
where ts0 and ess0 are the reference performance values obtained from trial and error. The result shows that this optimized FLC based MPPT
outperforms the conventional FLC based MPPT in terms of tracking speed and accuracy under uniform irradiance conditions.
In [72], a Hopfield ANN is utilized to automatically tune the FLC membership functions, optimized by considering the centers of the membership
functions as variables in the optimization process. The objective function is defined as:
1 1
E = E1 + E2 = A (ΔP (k ))2 + B (ΔD (k ))2
2 2 (7)
where A and B are constants (usually taken as 1.0). The MPPT goal is to achieve ΔP(k)=0 and ΔD(k)=0 by finding the optimal width of each
fuzzification input. Results show that the optimized MPPT is robust and more accurate than both the conventional P&O and standard FLC. However,
it is not guaranteed to track the global MPP under shading conditions.
PSO optimized FLC based MPPTs are proposed in [74,75]. The FLC acts as the MPPT and PSO is used to optimize the parameters of the
membership functions. A particle in PSO consist of eleven parameters which are the modal values of the membership functions of its input and
output variables. The objective function is the mean square error (MSE) between the expected and real power output from the PV array. The results
show faster tracking speed and less oscillations at the stable state, compared to P&O and standard FL based MPPT. In [73], PSO is used to optimize
the scaling factors of the FLC. The optimization objective is fast dynamic response and small steady state error. Similar to [76], the IAE (Eq. (5)) is
used as the fitness function. A 13% increase of power compared to the conventional P&O algorithm is described.

3.2.3. Hybrid FL MPPT


FLC has also been combined with other methods to improve the system performance. In [48], a fuzzy MPPT in cooperation with a FCN is
proposed to speed-up the acquisition of the MPP of a PV array under changing environmental conditions. The FCN is first trained off-line and then
applied to the PV system, and maintains a continuous interaction with the PV system, sending control actions and receiving feedback. The inter-
connection weights between each node are updated online depending on the environmental conditions. Compared to a conventional FLC, the
proposed method provides faster tracking speed and is robust to physical variations in the PV array. Similarly, FLC combined with a sliding mode
voltage control strategy has also been applied in other energy systems such as wind turbines [77] and tidal stream energy [78].
In [79], FLC is combined with a fractional-order INC to capture the maximum power from a PV system. Here, the commonly used inputs to the
FLC (e.g. e and Δe) are replaced by the αth-order derivative equation (based on the Riemann–Lioville and Grunwald–Letnikov definition), given by:
dαI I − αI0
=
dV α (V − V0)α (8)

dα I 1 Γ (2) Γ (0) (−1 − α )


(− 0 ) = (− )( )(I0)1 − α + (−I0) V0
dV α V0 V0 Γ (2 − α ) Γ (−α ) (9)
α α α
Then, similar to INC, the MPP can be reached by increasing or decreasing the duty ratio based on the comparison between d I/dV and d (-I0/V0)/
dVα. Instead of using INC, in [80], a fractional-order FLC based on P&O is proposed. The inputs to the FLC are defined as:
P (k ) − P (k − 1) P − αP0
e (k ) = =
V (k ) − V (k − 1) (V − V0)α (10)

Δe (k ) = e (k ) − e (k − 1) (11)
where P0 and V0 are the power and voltage of the PV array during the preceding step. The α factor is related to the input discourses (e and Δe) and is
in the range 0 < α < 1 (a standard FLC is implemented when α = 1). Therefore, by adjusting α, the input range of the FLC can be modified according
to a predefined table. When the fractional order α increases, the range of e and Δe is widened, which means the scaling factor of the FLC is changed,
and hence the PV output current has a larger change in the amplitude. When α decreases, range of e and Δe is contracted, resulting in a scaled-down
change in the amplitude of the PV output current. The results show that compared with the conventional fuzzy MPPT, the fractional order FLC

24
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

accelerates the tracking accuracy under dynamic conditions. Due to the FLC's simple structure, this type of FLC based MPPT has been easily
implemented on platforms such as FPGA [81] and microcontroller [64], etc. However, it does not work for partial shading conditions.

3.3. Particle swarm optimization (PSO)

The PSO algorithm [82] is motivated by the flocking patterns of birds and fish. The population consists of a set of potential solutions (particles)
where each particle has two movement variables: velocity vik and position sig+1. The movement of a particle is affected by the global best position
among all the particles and its personal best position, with particles sharing information in the search process. The velocity and position of a particle
is updated according to the following equations [83]:

vig + 1 = wvig + c1 r1 (pbest


i
− x ig ) + c2 r2 (gbest
g
− x ig ) (12)

sig + 1 = sig + vig + 1 (13)

where vig
and sig th th
are the velocity and the position of the i particle at the g generation, respectively; c1 and c2 are two positive constants re-
presenting acceleration coefficients; w is the inertia weight, where a large value favors a global search, while a small value favors a local search; r1
and r2 are randomly generated numbers within the interval (0, 1); pbesti is the personal best position of the ith particle; gbestg is the global best position
of all the particles in the current gth generation. A constraint vmax is usually imposed on vig to ensure algorithm convergence. The value is set to
[-vimax, vimax], where vimax is the maximum value of the particle position. Theoretical and empirical methods for selecting these parameters can be
found in [84–88]. Each particle in the population is generally applied in a successive manner, which means that in each generation, the control
variable/particle (e.g. voltage/current/duty ratio) is sent to the actuator and executed one by one. We assume a distributed PV system in which each
PV module is equipped with a DC-DC converter, all controlled by a centralized MPPT. Thus, the voltage across the individual modules (V1, V2, …, VN)
is considered a N-dimensional control variable. The position of the particle at the kth time instant (sk) is:

s k = [V1k , V2k , ... ,Vik , ... ,V Nk ] (14)

where N is the number of PV modules in the system, Vik th th


is the voltage of the i PV module at the k time instant. The velocity (v) is considered as the
voltage difference between two continuous time instants and is written as:

v k = [V1k − V1k − 1, V2k − V2k − 1, ... ,V Nk − V Nk− 1] (15)

The objective function of the MPPT optimization is to maximize the power from all PV modules. When the final generation is reached or the
power changes become small enough, the tracking process is considered complete. Alternatively, power and current output from the PV array, and
the duty ratio sent to the power converter(s) can also be considered as control variables. PSO can also be applied in a centralized PV system which
consists of multiple PV modules connected in series and parallel with only a single DC-DC converter. The only difference is the (particle, sk) variable
is now a scalar.
The literature describes many different ways of applying PSO to MPPT. We categorize them into three categories: standard PSO based MPPT,
improved PSO based MPPT and hybrid PSO based MPPT. The operating principle, advantages and disadvantages of the PSO implementations
described in the following categories are given in Tables 8–10.

3.3.1. Standard PSO based MPPT


In [89], the standard PSO algorithm is applied into a module-integrated PV power system. The control system has a master-slave structure, with
the MPPT implemented in the master controller. The voltage and current values are measured simultaneously and sent to the master module which
then sends command voltages to the slave module(s). The voltage of each PV module is considered a particle. This implementation is able to track the
global MPP and has higher efficiency compared to the typical P&O method, however, it is unable to track the global MPP under partial shading.

Table 8
The comparison of standard PSO based MPPTs.

Refs Method Main principle Advantages Disadvantages

[85] Standard PSO • Standard PSO applied to MPPT • Works for partial shading • Slow tracking speed.
• Control variable is multidimensional vector, consisting of conditions.
voltage of all PV modules. • Simple implementation.
[91,102] Standard PSO • Standard PSO MPPT with master-slave structure applied • Slave-master structure. • Slow tracking speed.
into a module-integrated PV power system by defining the
voltage of each PV module as a particle.
• High accuracy for uniform
conditions.
• Partial shading ignored.
[94] Standard PSO • Acurves
curve scan is conducted for each sub-array to get the P-V
and then PSO is applied to find the optimal voltage
• Solved multiple plateaus when
mismatching conditions occur.
• Require periodical scan of P-V
curves and system model
for each sub-array. parameters.
• High implementation complexity.
• Slow tracking speed.
• Easily influenced by system noise.
[96] Multi-cluster based • Modules are clustered before applying PSO based MPPT • Reduced tracking time and small • Irradiance sensors required.
PSO according to its irradiance conditions. steady-state oscillation. • High computational complexity.
• Has global tracking ability.
[97] OPSO • MPPT is achieved using a modified PSO which combines an • Reduced surface of PV generator • High complexity.
orthogonal array with the PSO method. by rotatable solar panels. • Increased mechanical investment.
• Increased efficiency.
[99,100] Standard PSO + • During search process, particles are divided into multiple • Higher accuracy and faster • Slow tracking speed.
grouping technique
in SFLA
subsets, within which local search is conducted and its
results are shuffled. The final global MPP is obtained.
tracking speed than P&O plus
standard PSO.
• High computational complexity.

25
Table 9
The comparison of improved PSO based MPPTs.

Refs Method Main principle Advantages Disadvantages

[82,83,101,102] Improved PSO + Reduced • Standard PSO is modified by varying the velocity update parameters • Faster tracking speed than standard PSO. • Control parameters in the algorithm significantly
fluctuations in transient process to improve the speed and accuracy • Reduced fluctuations in the search process. influence the result.
• Fluctuations are reduced by sorting the positions of the particles in
each generation.
[104,105] Deterministic PSO • The standard PSO is modified by removing random variable in the • Less parameters to be tuned. • Loss of diversity in the search process.
Improved PSO acceleration factors to accelerate the tracking speed of the MPPT. • Simplified optimization structure. • May converge to a local maximum.
• Consistency of final results.
[106] PSO with variable sampling time • Increase MPPT sampling frequency when the new perturbation step is • Accelerated tracking speed than the fixed • Limited acceleration speed due to sampling
small. sampling time method. frequency.
• Settling time of the system varies with the perturbation step size. • Easily influenced by system noise.
[107] Standard PSO + improved • Tracking speed of standard PSO is accelerated by improving the • Better tracking speed and accuracy than P&O, • Lack of guidance for large scale cases when more
process of initialization particle initialization locations. INC, and randomly initialized standard PSO. particles are be applied and the situation is
The boundary of the control variable is determined by a reflective
• impedance complex.
method.
[108] Dormant PSO • The idea is to execute a dormant PSO algorithm, deactivates or • Improved tracking speed. • Increased complexity.
reactivates some particles according to their status, so as to search the • Reduced voltage spikes and fluctuations. • Possible to converge to the local MPP.
area of the global peak. • Convergence speed unaffected by number of
particles.

26
Table 10
The comparison of hybrid PSO based MPPTs.

Refs Method Main principle Advantages Disadvantages

[110] Hybrid PSO • PSO is applied to search the global MPP with an initial search range narrowed by P&O. • Faster tracking speed than standard PSO. • Limited improvement in tracking speed.
[111] Standard PSO+P&O • PSO is used in the initial stages to find the rough area of the MPP, then employs the • Faster tracking & higher accuracy than • Limited speed improvement.
conventional P&O to search in the local region. conventional PSO and P&O.
[112] Hybrid DEPSO • PSO is executed every odd iteration and the DE mutation operator in every even iteration • Works for partial shading conditions. • Highly complex implementation.
so that the diversity characteristic of DE can be added to the standard PSO algorithm. • Long search period.
[113] Hybrid PSO • The voltage range is divided into subranges called voltage windows, according to the • Improved tracking speed compared to • System dependent.
number of possible peaks, and then each subrange is searched using standard PSO. standard PSO.
[114] Hybrid PSO + Three point • The three point method is used to adjust to the MPP under stable irradiance conditions. • Good dynamic characteristics. • Tracking speed is influenced by the
method + power loop control PSO is applied when partial shading conditions are detected by the power loop method. • No requirement for frequent reinitialization. power sweep step.
• System dependent.
Renewable and Sustainable Energy Reviews 85 (2018) 14–45
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Multicore processors can also be used to accelerate the search speed. In [90], the uniform implementation method proposed in [91] is used to realize
a multicore PSO based MPPT. The results show that the global MPP can be found within 1.3 s.
The PSO based MPPT in [83] uses a multi-dimensional vector (consisting of the voltage values of all PV modules) as the control variable to
control the DC-DC converters at each PV module. In this MPPT, PSO is implemented without modification to the original algorithm. The tracking
speed and accuracy advantages of PSO over three other MPPTs, namely constant voltage, P&O, and Fibonacci search, is demonstrated.
For systems where each PV module is equipped with a DC-DC converter in a cascaded manner, the P-V curve of the output terminal usually
exhibits multiple plateaus when mismatch conditions occur [92]. This can lead to an infinite number of optima thus complicating the optimization
procedure. In [92], to get a unique peak and avoid the plateaus on the P-V curve, a control approach considering the converter efficiency for the
distributed MPPT architecture is proposed. The MPPT problem is considered as a real-time constrained optimization problem with the scan of the
actual I-V curve of the PV system. The power output of the series connected PV generators is modeled as a function of terminal voltage, current,
series and parallel resistors of the PV array. The parameters of the power output function can be estimated using the online technique in [93]. The
optimization problem can then be defined to find the reference vector, as:
ref ref ref ref ref
V ref = [V pv1, V pv 2, ... ,V pvi , ... ,V pvN , Vbus ], (i = 1, 2, ... ,N ). (16)

so that the objective function, Eq. (17), is maximized.


F = max(POPV ⋅finv )
V ref (17)

where POPV is the power function of the PV array, and finv is the penalization coefficient related to the efficiency decrease of the inverters influenced
by the bus voltage. Several constraints are considered including the step up operating mode, voltage ratings, the open circuit voltage range, and the
input voltage range of the inverter. The PSO algorithm is then applied to search the global MPP for the constrained optimization problem. However,
in this work, the particles in the algorithm are not applied in a successive manner to get the fitness value. Instead, a curve scan is conducted for each
sub-array to get the P-V characteristics, which results in power losses.
To further improve the tracking speed, in [94], the PSO based MPPT is improved by classifying the estimated irradiance values into different
clusters. PV modules with similar characteristics are then put into the same cluster with standard PSO being applied to each cluster. The control is
based on the master/slave controller structure. Modules belonging to the same cluster share information. Furthermore, multiple sampling points are
obtained at the same time to avoid the erroneous convergence when the insolation changes rapidly.
In [95], an orthogonal PSO (OPSO) based MPPT is proposed to increase the efficiency of a rotatable solar panel in a plug-in hybrid electric
vehicle. Particles in the population are classified into multiple groups, which are refreshed using the optimal value from both the group and the
individual experience during the iteration process. These two values are compared and evaluated according to the Taguchi analysis method [96]. The
proposed PN+OPSO based MPPT increases the power tracking efficiency. However, this method has a high complexity and requires additional
mechanical investment. Similarly, in [97,98], the grouping technique used in shuffled frog leaping algorithm (SFLA), which is introduced in detail in
Section 3.11, is integrated into PSO based MPPT. In this method, by partitioning these particles into multiple subsets (memeplexes) according to their
ranking orders, the algorithm performs local searches within each memeplex. The results obtained are then shuffled so that the information can be
passed. The comparisons with conventional P&O and the standard PSO show that the two-stage PSO based MPPT has better performance.

3.3.2. Improved PSO based MPPT


The performance of PSO based MPPT can be improved in several ways: 1) modifying the velocity update equation, 2) improving the initialization
position of the particles, and 3) varying the number of active particles in the search process. For example, in [99–102], standard PSO is modified and
improved to meet the practical requirements of PV systems. In [99], the inertia weight (w) in the update of velocity (Eq. (12)) is reduced with the
execution time and defined as:
w (k ) = wmax − (wmax − wmin ) k / k max (18)

where wmin and wmax are the lower and upper bounds of w, and kmax is the maximum number of iterations. The cognitive parameter c1 and social
parameter c2 can also affect the search ability of PSO by biasing the direction of the particle. When c1 > c2, the particle would bias toward the
direction of pibest, otherwise in the direction of gbest. Similarly, the coefficients c1 and c2 can be defined as linearly decreasing and increasing, as:
c1 (k ) = c1, max − (c1, max − c1, min ) k / k max (19)

c2 (k ) = c2, max + (c2, max − c2, min ) k / k max (20)

where c1,min, c1,max and c2,min, c2,max are the lower and upper bounds of c1 and c2, respectively. One advantage of this method is that it can reduce the
transient fluctuation during the search process by sorting the positions of the particles obtained in each generation and sending the nearest particle
(duty ratio) to the converter. This improved PSO is also applied to a grid-connected PV system under grid voltage faults [100]. The proposed control
succeeded in tracking the MPP, and simultaneously achieved the low voltage ride through requirements and improved quality of the DC link voltage.
Similarly, in [103], a PSO based MPPT is proposed for a grid-connected PV system. The voltage reference employed in the DC-bus voltage controller
is determined by the PSO-based MPPT technique. To achieve a balance between the global and local search abilities, the weight (w) in the velocity
update equation (Eq. (12)), changes according to the linear inertia:
Itermax − k m
w (k ) = wfinal + ( ) (winitial − wfinal )
Itermax (21)

where winitial and wfinal are the initial and final weight inertia (wfinal < winitial), respectively, Itermax is the maximum number of iterations, and m is the
nonlinear index (m ∈ [0.6, 1.4]).
In [104,105], the random acceleration factor variables (r1 and r2 of Eq. (12)), are removed to accelerate the tracking speed. Thus, by defining
c1=c2=1, the new update formula becomes:

vig + 1 = wvig + (pbest


i
− x ig ) + (gbest
g
− x ig ) (22)

27
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

x ig + 1 = wx ig + (pbest
i g
+ gbest − 2vig ), for 0 < v < Vmax . (23)

An additional limit on the maximum change in velocity, determined by the user so that no major peaks are missed, is also applied. This technique,
is referred to as deterministic PSO in [105]. The deterministic PSO global search mode is only activated when partial shading is detected, and once
the global MPP is determined, the algorithm switches to a conventional P&O based local search mode with a variable step size. The advantages of this
method are: fewer parameters to be tuned; a simplified optimization structure; and consistency of the results despite different iteration sizes.
However, removing the random numbers in the update formula of the velocity leads to a loss of diversity in the potential solutions, and possibly
resulting in the convergence to a local MPP.
In a closed loop control structure, a delay is usually used after applying each particle of the PSO algorithm to allow the power system to settle to
the reference voltage/current value. However, settling time varies with the perturbation step size, with a large change in duty ratio requiring a
longer time to settle [106]. Additionally, as the operating point converges to the MPP, the particles become closer to each other and thus the step size
should become smaller. Thus, in [106], the sampling time is changed according to the environmental conditions to improve the tracking time of the
MPPT, as:

0.003s, ΔD ≤ 0.08
Tsample = ⎧ .
⎨ 0.006s, ΔD > 0.08 (24)

The results show a two times improvement in tracking speed compared to the fixed sampling time method.
In [107], the tracking speed of the standard PSO is accelerated by improving the initialization of particle locations in the algorithm. To initialize
the particles, the reflective impedance method of [105] is used to calculate the lower and upper bound of the duty ratio. Another particle is
initialized by d = 1-sqrt (Rin/R0), where Rin=Vmpp/Impp is the internal resistance of the PV module and R0 is the equivalent output load resistance.
The results shows a better tracking speed and accuracy than P&O, INC, and randomly initialized standard PSO. However, as the PV system becomes
larger, with many more particles, the MPPT problem becomes very complex.
A dormant PSO algorithm is proposed in [108] to search in the area of the MPP, and then switch to a conventional INC algorithm to track the
local peak. Particles in dormant PSO have two states: a dormant state and an active state. The idea is to deactivate or reactivate some particles in
later iterations if Pbesti or Gbest is improved. The initial position of reactivated particles is determined at the point of the neighborhood boundary
toward the location of the new Gbest, thus accelerating the search speed. The reactivated particles may be returned to a dormant state again in later
iterations. The results show a faster tracking speed, higher efficiency, and smaller fluctuations in the transient and stable states compared to PSO and
INC. However, this method increases the complexity of the search process due to the activation and deactivation of the particles and may lead to
convergence to a local MPP because of the reduced number of active particles.
Recently, a new version of PSO named leader PSO (LPSO) has been applied in MPPT [109]. It performs a wide search via four mutations that
involve Cauchy and Gaussian exploitations. To get the best leader, LPSO specifically introduces randomness to the global best particle via the first
three mutation cycles while the fourth mutation involves exploiting the local search space. Comparisons with P&O and the standard PSO show that
LPSO based MPPT has both higher efficiency and faster tracking speed.

3.3.3. Hybrid PSO based MPPT


The performance of PSO based MPPT can also be improved by combining the PSO algorithm with other techniques. For example, in [110], a
hybrid PSO based MPPT combining PSO with P&O is proposed. Here, P&O is used to find the first power peak on the P-V curve so that the search
space can be narrowed before PSO is activated to search for the global MPP. This local MPP value (Vconv) is the initial value for the first particle, with
the remainder set to values ranging from Vconv to the upper bound of the search space. Results show that compared to the standard PSO method, the
hybrid MPPT can reduce the convergence time by 50% (on average) due to the reduced search space.
Another hybrid MPPT combining PSO and P&O is proposed in [111]. In the first stage, PSO is used to find the rough location of the global MPP
before P&O is used to search in the local region for the global MPP. A faster tracking speed and a higher accuracy than the conventional PSO and P&O
is observed. However, algorithm acceleration is still limited by the standard PSO based search during the initial stage.
In [112], an MPPT which combines differential evolution (DE) and PSO (referred to as DEPSO) is used to locate the global MPP. DE has better
ability in exploring local optima in the search space by utilizing the differential information, and is less likely than PSO to become trapped at a local
optima of the search space. DEPSO executes the PSO algorithm every odd iteration and implements the DE mutation operator every even iteration so
that the diversity of DE can be added to the standard PSO algorithm. This method keeps the stochastic nature of both the DE and PSO algorithms, but
has a high implementation complexity. Furthermore, in [112] no real comparisons with other similar heuristic algorithms were conducted.
Another similar hybrid MPPT algorithm which combines PSO and P&O is proposed in [113]. In the conventional PSO based MPPT, the system is
periodically reinitialized for new environmental conditions, and needs to re-search the entire P-V curve, which can lead to excessive power oscil-
lations and decreased tracking efficiency. In [113], a voltage window technique, where the voltage range is divided into subranges based on the
number of possible peaks, was proposed to reduce power oscillations during the search process. This is because, if the global MPP is located within
one of these subranges, the maximum power which can be extracted cannot be larger than each corresponding boundary such as PA, PB, PC, and PD as
shown in Fig. 11. Thus, if a peak is found in a specific voltage subrange, then there is no need to further search other subranges on its left side.
Therefore, by checking the range of the power values in the voltage window starting from the right side of the P-V curve, the potential MPP region
can be found. This method provides a faster search speed for various shading conditions and small transient fluctuations, compared to searching the
complete voltage range. However, it is system dependent, with users needing to provide the open circuit voltage, forward voltage of the bypass
diode, and the optimal voltage and current of the PV modules.
In [114], another hybrid MPPT, which combines PSO with power loop control and the three-point method, is proposed. When the irradiance is
relatively stable, the three-point method is executed to dynamically perturb the operating point so that the system works at the global MPP. When a
substantial change is detected, the power scanning process is activated to check for multiple peaks. In the power scanning process, the power value is
increased step by step until it is slightly larger than the maximum power encountered during the search process. The control loop then helps to move
the operating point to the lower edge of the search range. Figs. 12 and 13 show the power scan process and the loop control principle, respectively.
Finally, if multiple peaks are detected, PSO is then activated to find the MPP. Once PSO finds the global MPP, the working mode returns to the three
point method. The algorithm is able to track the global MPP and does not require frequent re-initialization to follow irradiation changes.

28
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

3.4. Genetic algorithm (GA)

GA is inspired by the natural section process in Darwin's theory of evolution. GA is used to generate high-quality solutions to nonlinear opti-
mization problems. Each individual solution is encoded into a binary array, also called a chromosome. The population solutions are updated from
generation to generation to improve their quality (fitness value). There are four main operators used in GA: selection, crossover, mutation, and
acceptance. The main procedure of GA is as follows.

Step 1: Initialization. Generate a random population of n chromosomes.


Step 2: Evaluation. Evaluate the fitness value for the generated population.
Step 3: Generate a new solution. New solutions in the population are generated by the following steps.

3.1: Selection, Choose two parent chromosomes from the current population according to the fitness value.
3.2: Crossover. The parents generate new offspring according to a crossover probability. The uncrossed parents are passed to the new generation
directly.
3.3: Mutation. The new offspring is mutated with a probability to increase the diversity of the population.
3.4: Acceptance. The newly generated offspring are put together to form the new population.

Step 4: If the termination condition is satisfied, terminate the search process.


Step 5: Otherwise, return to Step 2 and repeat the above processes in Step 3.

GA is usually not directly applied to the MPPT problem because of its slow tracking speed. Instead, GA is usually used to optimize other MPPT
techniques to improve the tracking speed and accuracy. For example, in [115], GA is used to optimize the parameters of the FLC based MPPT for PV
systems, as mentioned in the previous section “Optimized FLC MPPT”. Similarly, in [116], GA is used to train the RBFN network which predicts the
optimal voltage and current at the MPP for a grid connected PV system. The irradiance and temperature measured from the PV modules are the
inputs to the network. GA optimized MPPT methods provide better tracking accuracy than those without optimization. In addition, GA has also been
proposed to be applied in the economic design of a grid connected PV system with multiple inverters [117]. By defining the net present value of the
system as the objective function and considering electrical constraints, the optimal values for sizing factors and the system configuration are
determined.

3.5. Differential evolution (DE)

DE is a stochastic evolution strategy based on a direct optimization method. It is capable of solving complex nonlinear and multimodal objective
functions without calculating the differentiation of the functions. Similar to PSO, potential solutions in a population with a D-dimensional search
space are evolved from generation to generation to find the optimum solution. The DE scheme consists of three main processes: mutation, crossover
and selection. In the evolutionary strategy, DE generates new solutions by combining solutions randomly chosen from the current population. The
critical idea is the scheme for generating new trial solutions for the population. The main procedure of DE is as follows:

Step 1: Initialization. Randomly generate a population of NP particles as:


Xi = XL + r (XU − XL ) (25)
where XL and XU are the lower and upper limit of the solutions, respectively and r is a random number generated with a normal distribution
within the range of (0, 1).
Step 2: Mutation. Generate new particles (the mutated vector) by adding the weighted difference between two vectors chosen randomly from the
current population to a third vector (the target vector), represented by:
Vig = Xbest
g
+ F (Xrg1 − Xrg2 ) (26)
where r1 ≠ r2 = {1, 2, …, NP} are random integers, is the vector with the best fitness value among the individuals,
Xgbest and Xgr1
are two Xgr2
vectors selected randomly among the population, F ∈ (0, 2] is the scaling factor which determines the amplification of the differential variation
and Vig is the velocity vector which is represented by [vgi,1, vgi,2, …, vgi,D]. Other mutation strategies can be found in [118].
Step 3: Crossover. To increase the diversity of the population, the mutated vector is accepted according to a stochastic probability. If the variable
(randomly generated with a uniform probability distribution) is not greater than CR (0 < CR < 1), the jth component of the mutated vector is
accepted. Otherwise, this mutated vector is rejected and the original component remains. Consequently, after the crossover operation, the trial
vector is generated, given by:

Fig. 11. P-V curves for a PV string with 3, 2, 1 modules without bypass diode.

29
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Fig. 12. Power scan process of the P-V curve with multi-peaks.

Fig. 13. The loop control principle.

g g g
⎧ vi, j, if (rmi, j ≤ CR) or j = rmi, j
uig, j = ,
⎨ x i, j , if (rmi, j > CR) and j ≠ rmig, j
g g

(i = 1, 2, …, Np, j = 1, 2, …, D) (27)
where ugi,j
is a component of = Uig …,
[ugi,1, ugi,2, ugi,D].
Step 4: Selection. After crossover, the trial vector is accepted as one of the particles in the next (g+1)th generation only when the fitness value of
the trial vector, fitness(Uig), is greater than the original vector, fitness(Xig). Otherwise, it is rejected and the original vector is retained, as in:

Uig , if fitness (Uig ) > fitness (Xig )


Xig + 1 = ⎧ g

⎩ Xi , otherwise (28)

Step 5: Iterate. Increase the iteration step, t = t + 1, and repeat steps 2–4 until the stop criterion (the fitness function value reaches a predefined
minimum limit (εp) or the maximum number of generations (Itermax) is achieved).

When applying DE to MPPT, the control vector (X) can be the voltage, current, or duty ratio of the converter (similar to PSO based MPPT). DE can
be applied to MPPT individually [119,120] or combined with other MPPT methods for better tracking accuracy and speed [112]. In [121], a
modified DE based MPPT is proposed which uses the deterministic mutation scheme in Eq. (29), instead of the mutation in Eq. (26):
Vig = Xig + F (Xbest
g
− Xig ) (29)
g
In this case, the update formula of the mutation scheme is similar to that of P&O, and the term − is considered as the perturbation
F (Xbest Xig )
part. The final result shows a better tracking speed than the standard PSO based MPPT.
Another modified DE based MPPT is proposed in [122], to accelerate convergence. Changing the mutation equation to Eq. (30) ensures the
mutation direction is always moving towards the best solution, Pbest, by comparing Xrg1 with Xbest
g
.
g g g g g
⎧ Xr 1 − F|Xr 2 − Xr3 |, Xr 1 ≥ Xbest
Vig = g g g .
⎨ Xr 1 + F|Xr 2 − Xr3 |, others. (30)

The modified DE based MPPT may converge faster. However, the deterministic update formula reduces the variety of the solution in the search
space, which can make it converge to a local MPP. In addition, the performance of the algorithm depends on the control parameters set by the user,
such as the crossover rate (CR) and scaling factor (F).

3.6. Ant colony optimization (ACO)

ACO mimics the foraging behavior of the ants to achieve optimization of the path in a graph [123]. The collective behaviors of a large number of
ants form a positive feedback phenomenon [124,125]: ants initially search the path randomly and lay down pheromone for other ants to follow. The
more ants that travel through a path, the higher the density of pheromone on the path, and as a result, the greater the likelihood that a subsequent
ant will choose the path. Finally, most of the ants follow the trail until the ant individuals find the shortest path through the exchange of pheromone
information.
For the continuous problem, a pheromone archive is defined in the process of solution generation. The vectors si (i = 1, 2, …, j, …, K) and f(si) are
the K possible solutions and their corresponding fitness functions, respectively. Then, for the N-dimensional problem, the procedure for solution
construction of an ACO based MPPT is described as follows [123,126].

Step 1: Initialization: Initialize the parameters and generate K (K ≥ NP, where NP is the population size) random solutions. Rank the K solutions
according to the fitness value (f(si)) (from best to worst), f(s1) ≤ f(s2) ≤ … ≤ f(sl) ≤ … ≤ f(sK), and then store them in the solution archive.
Step 2: Generate a new solution: Generate a new solution by sampling the Gaussian kernel probability density function for each dimension in two
steps: 1) choose the Gaussian probability density sub-function and 2) sample the chosen Gaussian probability density sub-function according to
the parameterized normal distribution. The probability density function of each dimension consists of multiple (K) Gaussian sub-functions, given

30
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

by:

K K 1 (x − μli )2
G i (x ) = ∑l=1 ωl gli (x ) = ∑l=1 ωl exp(− )
σli 2π 2σli 2 (31)
i th i th th
where G (x) is the Gaussian kernel for the i dimension of the solution, gl (x) is the l sub-Gaussian function for the i dimension of the solution,
μli and σli are the ith dimensional mean value and the standard deviation for the lth solution, respectively. The three parameters, the mean, μI,
standard deviation, σI, and weight, ωl, of the Gaussian kernel for each dimension in Eq. (31) are calculated by:

μi = {μ1i , …, μli , ⋯μKi } = {s1i, …, sli, ⋯sKi } (32)

K
σli = ξ ∑ s ij − sli /(K − 1)
j=1 (33)

1 (l − 1)2
ωl = exp(− ), ωK ≤ ⋯≤ωl ≤ ⋯≤ω2 ≤ ω1
QK 2π 2Q 2K 2 (34)
where is the i dimensional value for the l solution, σl is the standard deviation for the i dimension of the l solution, ξ is the speed of
sil th th i th th

convergence [123,127], ωl is the weight of solution sl, l is the rank of solution sl, and Q is the importance of the best ranked solutions. The
Gaussian sub-function is randomly chosen based on the probability:
r=K
pl = ωl / ∑ ωr (35)
r=1

Step 3: Ranking and archive updating: By repeating the above process, NP new solutions are generated. Add the newly generated solutions to the
original solutions in the archive, rank the NP + K solutions and keep only the K best solutions in the archive.
Step 4: Termination: Stop if the maximum generation is reached or the termination condition (|Vref(k) - Vref(k-1)| < ε) is satisfied. Otherwise, go to
Step 2.

In [91,126], an ACO based MPPT is proposed for PV systems with multiple PV strings connected in parallel with a DC-DC converter in each string.
The current values of each string are combined to become the control vector. The fitness function is defined as the power output from the PV array.
The resulting ACO based MPPT has a faster tracking speed than the conventional PSO based MPPT and higher tracking accuracy than conventional P
&O. The proposed MPPT has reduced system cost as only a pair of current and voltage sensors are used. By combining ACO with basic MPPTs such as
P&O and INC, the search speed can be further improved. For example, in [128], ACO is used to search, and then after a finite number of ant
movements the best solution achieved is used to start the P&O method. Comparisons with the standard ACO, PSO and P&O show the enhanced static
and dynamic convergence characteristics, lower CPU usage, accompanied with smoother and faster tracking characteristics.
Instead of directly applying ACO into MPPT, ACO has been used to optimize parameters for different types of controllers deployed in PV systems
[71,129]. For example, in [129], ACO is used to tune the parameters of the PI controller. The objective is to optimize the step response by minimizing
the performance criteria F = λ ts f1 + λ ess f2 , where λ ts and λ ess are weights and f1 and f2 are functions of the settling time (ts) and steady state error (ess)
of the unit step response, defined as:

ess / ess0, if ess0 ≠ 0


f1 = ts / ts0, and f2 = ⎧
⎩ 0,
⎨ if ess0 = 0 (36)
where ts0and ess0 are the reference performance values. The enhanced controller achieves a good response under fast irradiance variations. Fur-
thermore, in [71], an optimized FLC based MPPT was proposed which blends ACO with an enhanced FLC. The ACO is used to optimize the input
scaling factor of the FLC. The constant voltage method is applied to initialize the search point, thus leading to faster convergence to the MPP. The
results show that the optimized FLC based MPPT outperforms a conventional fuzzy agent system.

3.7. Artificial bee colony (ABC)

The ABC optimization algorithm, proposed by Karaboga [130], is one of the newer swarm intelligence optimization techniques. The performance
of ABC against other heuristic algorithms, for various applications, has been widely investigated [131–138]. ABC mimics the honeybee behaviors of
foraging, learning, memorizing and information sharing to find the optimal solution. In the ABC model, the locations of the food sources are viewed
as the potential solutions. The nectar amount indicates the quality (fitness function (fiti)) of a food source i (i = 1, 2,…, NP), where NP is the number
of food sources. There are three types of bees: employed bees, onlookers, and scouts, and three types of foraging behavior: searching for a new food
source, recruiting bees to get food from a food source, and abandoning a food source according to the quality of the food. The role of a bee changes
among these three types of bees during the search process. For a D dimensional problem with NP food sources, we assume that there is only one
employed bee for each food source. The location of the ith food source at the tth iteration is represented by:
Xit = [x it1, x it2, …, x idt, …, x iD
t T
] (37)
with the detailed procedure for the ABC algorithm as follows:

Step 1: Initialization: Set the parameters, such as the number of food sources (NP), ‘Limit’, and maximum iterations. Initialize t = 1, and randomly
initialize the food source as:
x id = Ld + r (Ud − Ld ) (38)

31
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

where Ld, Ud are the lower and upper search space limit for the dth dimension and r is a random number between (0, 1).
Step 2: Identify new food sources: Each cycle of the search is performed in two phases.

2.1: Employed bee phase: Allocate an employed bee to each potential food source Xi; Start to search for a new food source Vi around the selected Xi
along a randomly selected dimension d (d ∈ [1, D]), according to:
vid = x id + φ (x id − xjd ) (39)
where i ≠ j ∈ (1, 2, ⋯NP ) , j is a randomly chosen vector index, and φ is a uniform random value between (−1,1). If the fitness value of Vi is
better than that of the original location Xi, then Xi is updated with Vi; otherwise keep Xi unchanged.
2.2: Onlooker phase: After sharing the food source information with the onlooker bees, the onlookers choose the food sources using a roulette
wheel selection mechanism based on the probability:
NP
Pi = fitnessi/ ∑ fitnessn (40)
n=1

Simultaneously, the selected employed bees are updated according to a greedy selection mechanism.

Step 3: Abandon phase: If the quality of the food sources has not improved after searching for a predetermined number of trials, ‘limit’, the current
reference food source Xi is abandoned, and go to Step 4, otherwise jump to step 5.
Step 4: Scout bee phase: The bees corresponding to the abandoned food sources become scout bees and start to search for new food sources
according to Eq. (38).
Step 5: Termination: If the final solution is acceptable or maximum number of iterations (Itermax) is reached, then the best solution is returned.
Otherwise, go back to Step 2, increment t and repeat.

In [139], the influence of control parameters on the performance of the optimization was examined and found that ABC is not sensitive to the
problem dimension and the population size. However, the limit for abandoning the potential solution, ‘limit’, has a significant influence on the
performance of the algorithm. Too small a value weakens its cooperating search ability, and too large value affects its global search ability. The
performance of ABC can be improved in three ways: the selection mechanism, new food source update mechanism, and update equations for scout
bees to search for a new food source.
ABC has relatively low complexity, easy to use tuning parameters, high accuracy, is independent of the initial conditions and has global opti-
mization ability. As such, ABC has been applied to MPPT for PV systems. In the literature, ABC based MPPT differs in two aspects: the control
variables and the update equations in the ‘employed/onlooker/scout phases’. Like other heuristic algorithms, each particle in ABC is applied in
series. For example, in [111,140], each candidate solution is defined as the duty ratio of the converter, with the fitness function defined as the power
output of the PV system.
In [140], a standard ABC algorithm is used to track the optimal power of the PV system. The results show that compared to PSO, for a fixed
number iterations, the ABC based MPPT has better convergence under partial shading conditions, but has a slower convergence speed. In [141], a
modified version of the standard ABC based MPPT which changes the scout bee phase is proposed. It assumes that half of the colony consists of
employed bees and the other half consists of onlookers. Waiting onlooker bees move closer to the position of the employed bee where the nectar
quantity is the highest, removing the probabilistic selection mechanism. The movement of the ith onlooker bee is given as:
φ (d max − d min )
x it + 1 = xht +
NP /2 − 1 (41)
where Xh is the food source with highest nectar amount. In addition, the initialization mechanism for the bee positions in the solution space has been
improved by:
(i − 1)(d max − d min )
x i = d min +
NP − 1 (42)
These modifications accelerate the convergence speed compared to the standard ABC based MPPT.

3.8. Cuckoo search (CS)

The CS optimization problem mimics the aggressive reproduction strategy of the cuckoo bird. Cuckoos engage in, ‘obligate brood parasitism’, by
laying their eggs in the nests of other host birds (usually other species). If the host bird discovers that the eggs are not their own, they will either
throw the alien eggs out or simply abandon the nest and build a new nest elsewhere. If the host bird does not recognize the cuckoo eggs, they will
hatch slightly earlier than the host eggs and the newly hatched cuckoo bird will eject the host eggs from the nest, to ensure the host birds supply it
with enough food. In the CS optimization problem, each egg in a nest represents a solution, and a cuckoo egg represents a new solution, the aim is to
use the new and potentially better solutions (cuckoos) to replace the not-so-good solution in the nests. The main procedures for the CS algorithm are
as follows:

Step 1: Initialization. Randomly generate NP initial nests;


Step 2: Get cuckoo nests: The update equation for a new solution xt+1 for cuckoo bird i, is defined as:
x it + 1 = x it + α ⊕ Lévy (λ ) (43)
where xit is the samples (eggs), i is the egg number, t is the number of iterations, and α > 0 is the step size defined as:
α= α 0 (x tj − x it ) (44)
where α0 is the initial step change. The symbol ⊕ in Eq. (43) indicates entry-wise multiplication. Lévy(.) is a Lévy flight, which is a random walk

32
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

scheme whose step length is drawn from the Lévy distribution. A simplified Lévy distribution can be represented by:
Lévy (λ ) = t −λ, (1 < λ ≤ 3) (45)
where t is the flight length and λ is the variance. The update equation, Eq. (43), is very similar to the basic P&O method. However, the CS is much
more robust than the basic P&O due to its population based characteristics, randomization factors in the variable step using a Lévy flight
distribution, and is less influenced by the sample initialization. Mantegna's algorithm, a simplified Lévy distribution, is used to calculate the step
length [142,143], represented by:
u
s = α 0 (xbest − x i ) ⊕ Lévy (λ ) ≈ K ( )(xbest − x i )
|v|1/ β (46)

where β = 1.5 and K is the Lévy multiplying coefficient, while u and v are random numbers with normal distribution:

u~N (0, σu2), v ~N (0, σv2) (47)

1/ β
Γ (1 + β )sin(πβ /2) ⎞
σu = ⎜⎛ (β − 1)/2
⎟ , and σv = 1
⎝ Γ ((1 + β )/2) β 2 ⎠ (48)
where Γ(.) is the gamma function.Thus, based on Eq. (43)–(48), the cuckoo nests can be found. Subsequently, the fitness values of each cuckoo
nest and the best fitness value are calculated.
Step 3: Discard cuckoo eggs: Discovered nests are replaced by randomly generated eggs where the probability of a host bird discovering the alien
eggs is Pa.
Step 4: Terminate: If the maximum number of iterations is reached or the error is acceptable, then terminate the search process. Otherwise,
increment the iteration number and go to Step 2.

In the MPPT problem, iterations continue until all the samples reach the final MPP. In [144], a CS based MPPT is proposed, where the output
voltage from the PV array is used as the samples (eggs). The fitness function can be defined as the output power from the PV panels. The effectiveness
of the CS based MPPT is demonstrated using a simulation model with a buck-boost converter. The results show that CS performs better than P&O and
PSO in terms of convergence speed, transient fluctuations and steady state performance.

3.9. Firefly algorithm (FA)

FA [143] is inspired by the flashing behavior of fireflies. The original purpose of the male firefly's flash is to attract female fireflies during the
mating season. This algorithm assumes that 1) all fireflies are unisexual and any individual firefly will be attracted to all other fireflies; 2) The
attractiveness of each firefly is proportional to the flash brightness. For any two fireflies, the less bright one will be attracted and move towards the
brighter one; 3) If there are no fireflies brighter than a given firefly, it will move randomly. The objective function is defined as the brightness of the
flash. The basic procedures of this algorithm are as follows:

Step 1: Initialization. Initialize the population of fireflies xi, (i = 1, 2,…, n); Calculate the fitness value of each firefly.
Step 2: Calculate brightness and absorption coefficient: Due to the light absorption in air, the attractiveness decreases as the distance increases. FA
uses the exponential decay through a medium rather than the inverse-square law, with respect to distance from the source. The attractiveness (or
brightness) β of each firefly is defined as:
β (r ) = β0 exp(−γr m), m ≥ 1 (49)

where β0 is the initial attractiveness at r = 0, r is the distance between two fireflies, γ is an absorption coefficient which is determined by the user
and represents the reduction of the light intensity, and m is an integer constant. The Euclidean distance between any two fireflies located at xi and
xj is defined as:
d
rij = x i − x j = ∑k =1 (xi,k − xj,k )2 (50)

where d is the problem dimension and xi,k (xj,k) is the k component of the spatial coordinates of the i (j ) firefly.
th th th

Step 3: Move towards brighter fireflies. Less bright fireflies are attracted by (and thus move towards) brighter ones. If the brightness (fitness) value
of ith firefly is greater than the jth firefly, the jth firefly moves towards the ith firefly. The movement of a firefly in the next step is given by:

x ik + 1 = x ik + β0 exp(−γrij2)(x jk − x jk ) + α (randn − 0.5) (51)

where α is the random movement factor (α ∈ [0, 1]) and randn is a random number. This update equation means that the movement of a firefly is
affected by the attractiveness of a brighter fly and also includes a random behavior. After the movement, the fitness value of the new positions are
evaluated and the light intensities are updated.
Step 4: Rank and find best solution. After the movement of all fireflies, rank them and find the current best solution.
Step 5: Terminate. If the maximum number of iterations is reached or the final error is acceptable, then terminate the search process. Otherwise,
increase the iteration number and go to Step 3.

In [145], FA was applied to PV MPPT under partial shading conditions. In this case, the dimension is equal to 1 (d = 1) and hence the distance
between fireflies is given by:

rij = (x i − x j )2 (52)

33
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

In the standard firefly algorithm, all flies are compared with each other, and each comparison results in a stepwise movement toward the brighter
fire-flies. However, the zigzag trajectory when there are a large number of brighter flies may result in an excessively long tracking time, with high
computational complexity. To solve this problem, a modified firefly algorithm is proposed in [146] which considers the average of all brighter
fireflies as the representative intensity point, with the firefly moving toward this point rather than wandering towards all the brighter flies. The
update equation for the movement of each firefly is modified as:

x ik + 1 = x ik + β0 exp( −γrij2avg )(x jkavg − x jk ) + α (randn − 0.5) (53)


where rij_avg is the distance between xi and the average coordinate of the brighter fireflies (xj_avg), defined as:

rij avg = (x i − x j avg )2 (54)

1 L
x j avg =
L
∑m =1 xj (55)
where L is the total number of brighter flies. Thus, instead of updating xi with respect to each brighter fly, xi is updated with respect to the average
value of all the brighter flies, which reduces the amount of computational time and accelerates the search process. The results of the experiment
using a PV simulator with an interleaved topology boost converter show the effectiveness of using the modified FA to track the global MPP. Although
the static tracking accuracy for the modified FA based MPPT is slightly lower than that for standard FA, the average improvement in tracking speed is
almost 1.7 times. In addition, modified FA has better tracking performance than PSO and P&O.

3.10. Chaos search (CHS)

In [147], a mutative-scale dual-carrier chaotic search is proposed to track the global MPP. Chaos is a general nonlinear phenomena, which seems
random but has inherent regularity. The characteristics of chaos search include the following aspects: randomness, ergodicity, regularity, and
sensitivity. The basic idea of the chaos search is to search the variable space based on an iterative sequence, which can be generated from various
mapping equations, such as logistic mapping:
x n + 1 = λx n (1 − x n ) (56)
where λ is a control parameter designed by the user. When λ = 4, Eq.(56) generates a completely chaotic condition [147]. By taking different initial
values of xn between 0 and 1 (excluding fixed values such as 0, 0.25, 0.5, 0.75, and 1), the full optimization space can be reached by iteratively
applying the value generated from the chaos generator. However, in the conventional chaos search, the single chaotic iterative mechanism cannot
ensure sufficiency of the search [148,149]. To improve the search precision, a mutative-scale dual-carrier chaotic search was used in [147] where
another chaos generator is used to produce chaos variables, defined by:
yn + 1 = μ sin(πyn ), n = 1, 2, ... ,N (57)
where µ is a control parameter to be set by users. In [150], a two stage search scheme which includes both a rough and refined search is proposed to
improve the tracking speed and accuracy of the chaos search. The rough search is used to find the optimal solution in a certain region. The refined
search is used to reduce the search space of the optimized variables and improve the convergence speed. In this method, the logistic mapping in Eq.
(56) is used to generate chaos variables for the rough search, with the following used in the refined search:

x *x1α , n = odd;
x n′ ′ = ⎧
⎨ x * + (1 − x *) x 2β , n = even. (58)

where x* is a given initial point (e.g. the current optimal solution found in the rough search), x1 and x2 are chaos variables produced by the logistic
mapping in Eq. (56), with 0 < α < 1 and β > 1. Thus, x n′ ′ is ergodic and varies in the range [0, 1]. Since an uneven distribution of the chaos variables
(denser on both ends and sparser in the center), as shown in Fig. 3 of [147], can weaken the ergodicity of the search, a space transformation is first
applied to get a well-distributed probability density of the variables generated in [150], as:
w
⎧ x n , x n ∈ [0, γ ]
z n = x nv , x n ∈ [γ , λ]
⎨ r
⎩ x n , x n ∈ [λ, 1] (59)
where 0 < γ < λ < 1, 0 < w < 1, 0 < v < 1, r > 1, xn is the original chaos variables and zn is the new variable generated from the transformation. As
xn is confined within [0, 1], it needs to be mapped to the range of the control variable (e.g, the terminal voltage of the PV array or duty ratio of the
PWM signal sent to the power converter), with the following equation:
x n′ = c + dz n , c = a, d = b − a (60)
where c and d are the conversion coefficients, and a and b are the boundary values of the control variable. After applying the dual carrier chaos
search into the MPPT, the results show that compared to the single chaos search, the dual-carrier chaos search has a higher sufficiency (diversity in
the search space) in the search process and a shorter search time (66% faster) [147]. Similarly, [150] shows better performance than the con-
ventional chaos search and the standard P&O algorithms. However, this method has many parameters to set, which makes the design process
complicated.

3.11. Shuffled frog leaping algorithm (SFLA)

The SFLA is a new meta-heuristic which extends two existing meta-heuristics, namely the shuffled complex evolution algorithm and PSO al-
gorithm. SFLA contains elements of local search and global information exchange, and consists of a set of interacting virtual populations of frogs
(solutions) partitioned into different memeplexes. The virtual frogs act as hosts or carriers of memes, where a memeplex is a unit of cultural

34
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

evolution. The algorithm simultaneously performs an independent local search in each memeplex, similar to the concept of PSO. To ensure global
exploration, the virtual frogs are periodically shuffled and reorganized into new memplexes using a technique similar to the shuffled complex
evolution algorithm [151]. In addition, to provide the opportunity for random generation of improved information, random virtual frogs are
generated and substituted in the population. The local search and shuffling process continues through the memetic evolution process until the
optimum convergence is achieved. The detailed procedures of SFLA are as follows:

Step 1: Initialization. Set m memeplexes and the maximum step size Smax; randomly generate NP initial frogs (Fig. 14 (a)); evaluate the fitness
value for each initial frog (power output from the PV array);
Step 2: Sorting. Sort the fitness value of all the frogs in descending order, (Fig. 14 (b));
Step 3: Partition into memeplexes. Partition the population into memeplexes, (Fig. 14 (c));
Step 4: Find best solution for each memeplex. Identify the frog with best (and worst) fitness for the imth memeplex, Xim b ( Xim w ), and the frog with the
global best fitness (Xg), (Fig. 14 (d));
Step 5: Replace worst solution. For each memeplex (im), replace the worst frog using equations:
Xinew
mw
= Xim w + Sim (61)

Sim = randn⋅(Xim b − Xim w ) (62)


where − Smax ≤ Sim ≤ Smax , randn is a random number. If this process produces a better solution ( f (Xinew
mw
) > f (Xim w ) ), then replace the worst frog
(Fig. 14 (e)). Otherwise, generate a solution according to:
Sim = randn⋅(Xg − Xim w ), Xinew
mw
= Xim w + Sim (63)
If this produces a better solution, replace the worst frog, else, generate a frog randomly and replace the worst frog;
Step 6: Shuffle memeplexes. Shuffle the memeplexes and check whether convergence is satisfied. If satisfied, then output the best solution;
otherwise, increase the iteration number and go to step 2.

In [152], the SFLA MPPT is proposed for a PV system equipped with a boost converter. The voltage output is considered as the control variable for
the PV system. The results show that SFLA performs better than P&O, PSO, and DE in terms of the amount of power harvested, convergence speed,
dynamic response, and oscillations.

3.12. Grey wolf optimization technique (GWO)

GWO is a population based meta-heuristic algorithm proposed by Mirjalili et al. in 2014 [153]. It mimics the leadership hierarchy and hunting
mechanism of grey wolves in nature. Grey wolves have a strict social dominant hierarchy [153], consisting of leaders, alphas (α), which are
responsible for making decisions about hunting and other pack activities, subordinate wolves, betas (β), which help the alpha in decision-making,
omega wolves (ω) which represent the lowest level and assist in maintaining the dominance structure. The remaining wolves are delta wolves (δ) and
include scouts, sentinels, elders, hunters, and caretakers in the group. The main phases of grey-wolf hunting consist of tracking, encircling and
attacking the prey. The hunting (optimization) is guided by α, β, and δ wolves, with the ω wolves following the other wolves.
Grey wolves encircle a prey during the hunt, modeled as:
⎯→
⎯ ⎯→
⎯ ⎯ →⎯→
⎯→ ⎯ ⎯→

X (t + 1) = Xp (t ) − A |C Xp (t ) − X (t )| (64)
⎯→
⎯ → ⎯→
⎯ ⎯→

where t is the current iteration, A and C are coefficient vectors, Xp is the position of the prey, and X is the position of a grey wolf. The coefficient
⎯→
⎯ →
vectors, A and C are defined as:
⎯→

a r1 − →
A = 2→→ a (65)

C = 2→ r2 (66)
→ → →
where a is a variable, linearly decreasing from 2 to 0, to emphasize exploration and exploitation over the course of the iteration process, r1 and r2
are random vectors within [0, 1]. During the hunting process, the alpha usually guides the group, with the beta and delta occasionally participating.
GWO assumes that the alpha, beta, and delta wolves have better knowledge of the optimum location (the prey), with other search agents updating
their positions according to the position of the best search agents using:
⎯→
⎯ ⎯→
⎯ ⎯→
⎯ ⎯→

X (t + 1) = ( X1 + X2 + X3 )/3 (67)
⎯→
⎯ ⎯→
⎯ ⎯ →⎯→
⎯→ ⎯ ⎯→
⎯ ⎯→
⎯ ⎯→
⎯ ⎯ → ⎯→
⎯→ ⎯ ⎯→
⎯ ⎯→
⎯ ⎯→
⎯ ⎯ →⎯→
⎯→ ⎯ ⎯→

where X1 = Xα (t ) − A1 |C1 Xα (t ) − X (t )|, X2 = Xβ (t ) − A2 |C2 Xβ (t ) − X (t )|, and X3 = Xδ (t ) − A3 |C3 Xδ (t ) − X (t )|.
Each candidate solution updates its distance from the predicted prey. They diverge from each other to search for prey and converge to attack the
⎯→

prey. Candidate solutions tend to diverge from the prey when the coefficient vector in the position update equation | A | > 1 and converge towards
⎯→

the prey when | A | < 1. The grey wolves finish the hunt by attacking the prey when it stops moving, which represents the optimal solution. The
detailed search procedures are given as follows:

→ ⎯→
⎯ →→ →
Step 1: Initialization. Initialize parameters a , and A = 2 a r1 − a ; Generate initial population Xi (i = 1,2,…,n);
Step 2: Calculate fitness value. Calculate the fitness value for each search agent;
Step 3: Find the three best agents. Find the three best search agents, Xα better than Xβ better than Xδ;
Step 4: Update search agents. Calculate the fitness values of each updated search agent (wolf) during the encircling and hunting processes defined
by Eq. (67).

35
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Fig. 14. The evolving procedure of SFLA.

⎯→
⎯ →
Step 5: Update parameters. Update parameters a, A , and C ; Rank the fitness values and update the three best agents;
Step 6: Terminate. If the maximum iterations is reached or a predefined error is achieved, output the optimal result. Otherwise, increase the
iteration number and go to Step 3.

In [154], GWO was proposed for MPPT, where the duty ratio of the boost converter is considered as the control vector (wolf) while the fitness
function is the power output from the PV array. The results show that GWO outperforms the P&O and improved PSO algorithms in terms of: power
extracted under partial shading, convergence speed, conversion efficiency, dynamic response and oscillations at steady state. To improve the search
speed and accuracy, grouped GWO is proposed in [155]. In the improved method, the grey wolves are divided into two independent groups,
including a cooperative hunting group responsible for hunting, and a random scout group for random search to reach a trade-off between the
exploration and exploitation. The results show that compared to PSO, GA, standard GWO and moth-flame optimization, grouped GWO has higher
tracking accuracy and speed.

3.13. Simulated annealing (SA)

The SA algorithm is inspired from annealing in metallurgy, a technique involving heating and controlled cooling of a material to increase the size
of its crystals and reduce their defects. The state of the function E(s) to be minimized is analogous to the internal energy of the system, defined as the
reciprocal of the target maximization function. The purpose is to move the system to a state with minimum energy from an arbitrary initial state. A
new potential solution is accepted according to an acceptance probability function which decreases with time so that the system can reach a stable
state. In thermodynamic theory, the possibility of obtaining an energy difference of dE at temperature T, P(dE), is defined as:

P (dE ) = exp(dE /(kT )) (68)

where k is a user defined constant. The algorithm starts with a high temperature, which is decreased at each step according to a predefined annealing
schedule until T reaches its lower limit (Tmin) or the time budget is exceeded. The cooling schedule for T is critical to the efficiency of SA. Given a
proper cooling schedule, where T decreases logarithmically with time, and a sufficiently large number of iterations at each temperature, SA is able to
converge to the global optimum [156]. The detailed SA procedures are as follows:

Step 1: Initialization. Initialize parameters, e.g. temperature decrease coefficient (r, 0 < r < 1), initial temperature (T0), lower limit of tem-
perature (Tmin); Generate two random initial solutions within the search range;
Step 2: Calculate fitness. Calculate the fitness value of the new solutions and the energy difference (dE = f(xi+1)-f(xi));
Step 3: Accept solution . If a better solution is found (dE > 0 ), then accept the movement from xi to xi+1; Otherwise, accept the solution xi+1
according to the possibility rate in Eq. (68).
Step 4: Update solution. Generate a new random solution;
Step 5: Terminate. If the temperature reaches the minimum temperature Tmin or maximum iterations is reached, output the optimal result.
Otherwise, decrease the temperature as in Eq. (70), increase the iteration number and go to step 2.

In [157], the SA algorithm is applied in MPPT for a PV system where the control variable (xi) and target function are defined as the terminal
voltage and the power of the PV array, respectively. The parameters that the user needs to determine include the initial temperature (T0), final
temperature (Tmin), and cooling rate (r). The acceptance rate is defined as:

P (dE ) = exp[(Pi − Pb)/ Ti ] (69)

where Pb and Pi are the power at the previous best operating point and the current power value, respectively, and Ti is the current temperature. A
geometric cooling schedule is used as:

Ti + 1 = rT.i (70)

Other cooling schedules can also be used, such as Lundy cooling [157], exponential or logarithmic cooling [158], etc. Both experimental and
simulation results show the effectiveness of SA based MPPT. It also has a simple implementation, requiring fewer parameters to be stored in memory
from one iteration to the next, compared to PSO. However, parameter variation can significantly influence the convergence and tracking speed of the
algorithm.

36
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

3.14. Pattern search (PS)

The generalized PS was proposed for optimizing discontinuous and non-differentiable objective functions [159]. It is a direct search method
which optimizes the objective function without using a derivative. The basic PS consists two phases: the exploratory search and the pattern move.
During the exploratory search phase, the current point is perturbed by a small amount in each of the variable directions. The perturbation vector
is defined as P = (ΔX1, ΔX2, …, ΔXn). It is assumed that the current point is X0 = (X10, X20, …, Xn0) and its objective function is f(X0). The detailed
procedure is as follows:

Step 1: (Exploratory search) Assume that the current solution is X0 = (X10, X20, …, Xn0), labelled as Set 1. Calculate the objective function values
f(X0) and set the initial best value as fbest = f(X0);
Step 2: At current solution X0, for each variable dimension k, (k=1, 2, …, n),

2.1: Make an upward perturbation: Xk1 = Xk0 + ΔXk.


2.2: If the upward perturbation Xk1 improves the current best objective value fbest (f(X1) < fbest), then retain the perturbation and update fbest: fbest
= f(X1) and go to Step 2 for the next variable dimension.
2.3: Else, make a downward perturbation: Xk1 = Xk0 - ΔXk. If the new f(X1) is an improvement over the current best objective value, then retain
the perturbation and update fbest. Go to Step 2 for the next variable dimension. Else, discard the perturbation and keep the original value. The
newly perturbed X1 is called Base 1.

Step 3: If no improvement around Set 1 is found with the predefined perturbation step vector, the exploratory search is a failure. Then reduce the
perturbation vector by half, P = (.5ΔX1, 0.5ΔX2, …, 0.5ΔXn) and go back to step 1 to continue exploration. Otherwise, go to Step 4.
Step 4: (Pattern move) Based on the points, Set 1 and Base 1, generated in the exploratory search, create a new tentative point X2 by moving from
X0 through X1 to a new point X2 as: X2 = X0 + a[X1 – X0], where a is a positive acceleration factor. If a = 2, X2 = 2×1 – X0.
Step 5: If the new tentative point X2 improves the objective value over that of X1 (e.g. f(X2) < f(X1)), then refer to X2 as Base 2. Go to Step 2 and
perform an exploratory search at X2 to generate a new point X3. Update X1 (original Base 1) to X0 (Set 1) (e.g. X0 = X1). Go to Step 3 and make
another pattern move. Else if the new tentative point X2 worsens the objective value, the pattern move fails. Then reset Set 1 to the original value
(e.g. X0 = X1) and go back to the exploratory search around X0.
Step 6: If the perturbation step P is reduced to the value less than the predefined limit, then Set 1 is accepted as the final optimal solution.

The complete movement of the solution is given in Fig. 15. Suppose the current search point is located at A. After an exploratory search around A,
a better solution is found at B. Based on points A (Set 1) and B (Base 1), a tentative point C (Base 2) is obtained. After an exploratory search around
point C, a new point D, which gives a better objective function is found. Point D is then accepted as the next Base 1 and point B is updated as Set 1.
The pattern move then continues to generate another tentative point E based on points, B and D. Point F is found after another exploratory search
around E. Thus, pattern move is conducted and point G becomes the new tentative point. However, the objective function value at G is worse than
point F. Thus, point F is then updated as Set 1 and an exploratory search around F is conducted. If the exploratory search around F fails, the search
process finally terminates and F is output as the final optimal solution.
A generalized PS technique is proposed for PV MPPT in [160]. The duty ratio to the converter is considered as the control variable and the output
power from the PV array as the objective function. In the search phase, it evaluates the objective function at a predefined finite set of mesh points and
finds the optimum solution. The results show that compared to conventional PSO, PS has higher accuracy, fewer transient fluctuations and faster
tracking speed.

3.15. Others

In addition to the aforementioned CI based MPPT techniques, a number of other interesting soft computing techniques have recently been
proposed, such as intelligent monkey king evolution (IMKE) algorithm [161], bat algorithm [162,163], flower pollination algorithm [164], etc.
These heuristic algorithms are not described in detail here due to the length of the paper, but can be applied to MPPT in a similar way.

4. Discussion

When choosing between MPPT techniques, many factors need to be considered. Although various MPPT methods have been proposed, there is
still space for improvement. In this section, we discuss several aspects that need to be noted when choosing CI algorithms for MPPT in PV systems.

4.1. Methods for improving performance of MPPTs

In addition to software based MPPT algorithms which do not require additional hardware devices, there are two other MPPT considerations:
varying the configurations of PV arrays, and implementing module integrated MPPT.
The shape of the P-V curve is influenced by the configuration of the PV arrays, such as: the number of series/parallel connected PV panels in each
string for a string-inverter with an embedded MPPT; the number of bypass diodes for each panel; and the interconnection structure of the PV panels
(such as Series-parallel (SP), total-cross tied (TCT) and bridge link (BL)). By modifying the interconnection of PV arrays according to the irradiance
distribution on the surface of PV panels, the shape of the P-V curve is changed, which can lead to more power at the optimal operation point than
with the original connection. However, this method requires additional power switches and thus may result in a high system cost. This cost increase
due to the additional devices needs to be investigated further when using this method to optimize the power output.
In distributed MPPT, each individual PV panel is integrated with am MPPT-based DC-DC power converter. It is even possible to have multiple
MPPT devices on a single PV panel, however the system cost using current technologies would be exorbitant. Compared to a string based centralized
MPPT, we can get more power from the PV array with distributed MPPT as the power from each panel is maximized.

37
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

4.2. Uniform implementation scheme

Heuristic algorithms can all be applied to MPPT in a similar way, and are applicable to the different PV configurations, namely centralized, string-
based and distributed architectures. Thus, a uniform implementation scheme for heuristic algorithm based methods is given in [91]. In all the PV
array structures, only one MPPT is used to control the entire PV array. For the centralized-MPPT, the control variable is scalar. For the string-based-
MPPT (or cascaded converter-MPPT) and distributed MPPT, the control variable is a multidimensional vector (u = [u1, u2, …, un]), which contains
the terminal voltage/current of each PV string/module and the duty ratio of each DC-DC converter. Each particle is applied successively to the PV
system.

4.3. Parameter settings for MPPTs

There are two types of user defined parameters: 1) the basic parameters which are mandatory for all MPPTs, and 2) specific parameters which are
only required for a particular MPPT technique. Irrespective of the algorithm used, users have to determine the basic parameters, such as the update
frequency for each perturbation step, the switching frequency of the converters, and the control parameters (e.g. the proportional and integral
coefficients for PI controllers or fuzzy rules/member-ship functions for FL controllers). The update frequency for each perturbation step should be a
tradeoff between system stability and tracking speed, and should be low enough to ensure reliable operation with a fast tracking speed. Users also
have to define specific parameters such as the re-initialization period and specific parameters for each MPPT algorithm.

4.4. Tracking accuracy and speed

PV MPPT is not just used in ideal situations, such as where the irradiance changes relatively slowly with time, but must also be effective when
there are rapid irradiance changes, high temperatures, etc. When the irradiance changes rapidly, such as in the tropics [165–167], the MPPT should
have the ability to track the global MPP with a fast tracking speed. Here, an ANN is useful due to its one-step prediction. Tracking accuracy can also
be influenced by other environmental changes and system aging. For meta-heuristic algorithms, exploration and exploitation are two important
factors affecting the accuracy and speed of the search process. Exploration refers to the process of exploring potential regions of the search space as
widely as possible, while exploitation refers to the local search process to find the optimal point within the region obtained by exploration. A balance
between the two must be carefully considered to guarantee good tracking accuracy and speed.

4.5. Implementation complexity and cost

A simple MPPT algorithm with a simple implementation structure has a number of benefits, such as a small power consumption, lower risk of
faults, low implementation cost, etc. Simple MPPT algorithms, such as constant voltage, P&O, INC etc., can be implemented using analog [168–171]
or digital circuits [172,173], or as software in a microprocessor [89,95,174]. CI-based MPPTs are generally digital due to the complexity of the
calculations required. However, this does not always translate to increased complexity, and hence increased cost. CI-based MPPT can actually be
applied to reduce the system cost. For example, for a system consisting of multiple PV strings, each of which is equipped with a DC-DC converter, a
heuristic algorithm based MPPT can reduce the system cost as only one master processor is required for optimization and the number of sensors can
also be reduced [90–92,94,126].
Various processers can be used to implement the MPPT algorithms, such as Texas Instruments TMS series DSP processors [91,99,105,112,175],
dSPACE controllers [32,92,176], Microchip PIC/dsPIC series microcontrollers [89,95,174], etc. FPGAs have also been used for MPPT
[76,81,177–182]. The computational complexity of the MPPT determines which type of processor to use. Low cost processers can bring down the
system cost, however, they may not work for algorithms with high computational complexity such as ANN, sliding mode controller, FLC, etc. A high
performance processor provides better accuracy and faster computational speed, but may lead to a higher system cost. Therefore, when deciding
what type of processor to choose, the trade-off between the system performance and the cost must be made.
A summary of the techniques discussed in this review are given in Table 11, in terms of the parameters affecting MPPT performance, number of
parameters to set (including both coefficients and random numbers), and advantages and disadvantages. It should be noted that only the number of

Fig. 15. Searching procedure of the pattern search.

38
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

parameters for the standard type of each CI method are included. For the variants of each type of CI technique, the number of parameters required to
be set may vary due to the modified schemes. Users can choose which technique to use based on their own knowledge, budget, system location,
environmental conditions, etc. All the CI algorithms mentioned above are further grouped into four types of methods, as listed in Table 12. A
comparative study of several CI techniques (FL,PSO, ANN, and) is also conducted in [183], where the authors found that each method has its
advantages and disadvantages. In Table 12, the different techniques are characterized in terms of their global tracking ability, system dependency,
tracking accuracy/ speed, implementation complexity, online/offline operation, fluctuations during the tracking period and factors and limitations
affecting the performance of each type of MPPT. The meta-heuristic algorithms are further classified into two different types: population-based and
single-solution-based methods. In the population-based method, the search process is performed with a set of solutions at each iteration, while in the
single-solution-based method, one solution is executed at a time. Compared to single-solution-based methods, population-based methods have many
advantages, such as better information sharing among particles, greater exploration ability, and a better convergence rate to the global optimum
point, etc. Single-solution-based methods do have their own advantages as well such as a simple implementation structure, fewer parameters to
determine, fast convergence speed, etc.

5. Future directions

When considering whether to improve the performance of MPPT by changing the software algorithm, there are several possible topics to be
further explored.

5.1. Uniform evaluation criteria for MPPT algorithms

A large amount of research into MPPT has been conducted in the last decades, not only in PV systems but also in wind energy systems [184–187].
However, in the market, the most widely used MPPT techniques are still based on P&O or INC algorithms due to their implementation simplicity and
low computational complexity. As we can see from the literature, a large number of CI algorithm based MPPT techniques have been proposed in
recent years, but there is no real agreement as to which MPPT technique is the most efficient. When it comes to evaluating the performance of an
MPPT technique, most researchers will just compare with the basic improved P&O or very simple MPPTs with global tracking ability. Additionally,
when testing under partial shading conditions, most researchers will usually just use random partial shading patterns. Therefore, in order to
accurately and equally quantify the performance of a proposed MPPT technique, it is important to have a standard set of testing conditions and a
well-defined evaluation criteria/index.

5.2. Parameters for computational algorithms

Heuristic algorithms have been shown to be very effective under partial shading conditions, compared to other MPPT techniques. However, the
selection of appropriate control parameters for these heuristic algorithms, such as population size, mutation factor, scaling factor, crossover rate,
etc., are critical to guarantee the ability to track the global MPP under various environmental conditions. In the literature, the parameters for each
method is usually determined for a specific PV system, often by trial and error. Further research on analyzing the influence of the various control
parameters on the system performance needs to be conducted. One potential way to find the best parameters is to utilize optimization techniques
such as ANN, FLC, GA, etc. to adjust the parameters.

5.3. System testing under real weather and fault conditions

Most of the results in the literature are derived within the laboratory using a PV simulator, electronic load, or simulation software, etc., and are
based on ideal assumptions of different environmental conditions. However, in real cases, there are many complicated situations or interruptions
such as a sudden power loss, system noise, signal losses, etc., which may lead the system entering into an unstable state. Therefore, the performance
of CI based MPPTs and their comparisons under real weather conditions are required before an accurate conclusion can be made about each CI based
MPPT. In addition, the performance of CI based MPPTs under system fault conditions is another potential topic to investigate. Since most of the
online-search MPPT algorithms react based on the irradiance or the voltage/current/power from the PV array, the malfunction of any sensor
measuring these values will send false information to the algorithm, which may make these algorithms search in a wrong direction and finally
converge to a local optimal power point. Therefore, a study on the performance of these algorithms under fault conditions is also necessary.

5.4. Improvement of tracking speed, accuracy, and fluctuations

The tracking speed of the MPPT is critical for the PV system under conditions with rapid irradiance change. Due to their one step prediction, ANN
based algorithms can reach the optimal power point immediately as long as the model used to generate the training dataset is accurate enough.
Therefore, to improve the tracking accuracy of ANN based MPPT, an accurate system model suitable for various environmental conditions needs to
be investigated further.
The CI based MPPT techniques have global tracking ability under various partial shading conditions, but are relatively slow. For a small to
medium scale PV array, as a small number of possible peaks can appear on the P-V curve and the power rating is low, a suboptimal operating point
may not cause a serious problem of losing much power. However, when it is applied to a large-scale PV array, where multiple peaks can appear on
the P-V curve under shading conditions, it is very important to find a global MPP even it takes relatively long time to search. This is because for a
large PV array, one shaded PV panel may lead to large power losses if the MPPT does not guarantee that the system is working at the global optimal
power point. Since direct search methods, such as P&O/INC with variable steps, three point method, FLC, etc., exhibit good tracking accuracy and
fast speed under uniform conditions, one potential direction to explore is to combine these methods and give a new MPPT which has the advantages
of the combined methods.
In addition, the fluctuations during the tracking process could be another issue when applying population based heuristic techniques into MPPT.
The fluctuations may have impacts on the stability of entire PV system when integrating into the grid. Some authors have proposed strategies to
reduce the output fluctuations during the transient tracking period [108,113,144,160]. However, most of authors did not mention the transient

39
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

Table 11
The characteristics of different CI MPPT techniques.

Method Parms affecting performance No. of Advantages Disadvantages


parm

ANN Type of neural network; – • Fast tracking speed due to its one step prediction, • Tracking accuracy influenced by PV array model.
Training parameters; with no fluctuations during tracking period. • Training data required and usually generated from
No. of training data; • Small/no oscillation at stable state. simulated models.
Model for simulating training dataset; • Fast for rapid irradiance change.
FLC Fuzzy rules; – • Fast tracking speed. • Fuzzy rules affect the system performance.
Input/output scaling factors;
Membership functions: range/shape;
• Good dynamic performance and small oscillation at
stable state.
• Performance under partial shading conditions is not
good as under rapid changing conditions.
Type of input/output; • Easy to combine with advanced optimization algos.
GA Encoding format; 4 • Global tracking technique. • Slow tracking speed due to the series format for
Crossover probability; • Uniform implementation scheme. applying each particle in the population.
Mutation probability;
Population size (NP);
• Low computational complexity. • The initial conditions dependent.
Max. number of iterations (Itermax);
PSO Two acceleration coefficients (c1 and 7 • Global tracking technique. • Standard PSO based MPPTs have slow tracking
c2); • Low computational complexity. speed when applying to a large scale PV arrays.
Inertia weight (w);
Population size (NP);
• Easy to combine with basic algos. • Sensitive to the control parameters.
Max. number of iterations (Itermax);
DE Scaling factor (F); 4 • Global tracking technique. • Sensitive to the control parameters of the algo.
Crossover rate (CR);
Population size (NP);
• Simple implementation.
Max. number of iterations (Itermax);
ACO Size of the archive (K); 5 • High accuracy under partial shading. • One additional parameter to set compared to DE
Balance coefficient (Q); • Reduced cost with proposed application structure. and PSO.
Convergence speed constant (EP);
Population size (NP);
• Faster tracking speed than conventional PSO and
DE MPPT.
Max. number of iterations (Itermax);
ABC Number of trials (‘limit’); 4 • High accuracy under various shadings. • Slow tracking speed.
Population size (NP);
Max. number of iterations (Itermax);
• Less parameters to set than PSO, DE and ACO. • Search space limited by initial solution.
CS Initial step change (α0); 7 • Easy to implement. • Easy to fall into a local optima on the boundary
Fraction (pa) of worse nests; • Fast tracking speed. when the parameters are inappropriately set.
Parameters for Lévy distribution;
Initial step change (α0);
• Easy to combine with other swarm-based algos. • Low convergence rate.
Population size (NP);
Max. number of iterations (Itermax);
FA Initial attractiveness (β0); 6 • Better performance than the standard PSO. • Easy to fall into a local optima when the parameters
Absorption coefficient (γ); • Fast tracking speed. are inappropriately set.
Random movement factor (α);
Population size (NP);
• Not sensitive to the initial conditions.
Max. number of iterations (Itermax);
CHS Logistic mapping parameter (λ); 11 • Fast tracking speed. • Many parameters to set than other particle algos.
Rough/refined search parameters; • Not sensitive to the initial conditions. • No guarantee of finding global MPP for all partial
Power transformation parameters • Easy to implement. shading conditions.
when pre-processing is applied.
Max. number of iterations (Itermax);
• Mapping equations dependent.
SFLA No. of Memeplexes (m) 5 • Fast tracking speed. • Non-uniform initial population may affect the
Maximum step size Smax. • Not sensitive to the initial conditions. results.
Population size (NP); • Easy to implement. • Premature convergence.
Max. number of iterations (Itermax); • AEasysmallto implement;
number of parameters to set.
GWO Exploration and exploitation factor 5 • A few parameters to set. • Slow tracking speed.

• Good tracking accuracy.

( a );
Population size (NP);
Max. number of iterations (Itermax);
SA Acceptance coefficient (k); 5 • Non-population based algo. • Many initial parameters to set.
Temperature decrease coeff. (r); • Fast tracking speed. • May converge to a local maximum.
Initial temperature (T0); • Easy to implement.
Lower limit of temperature (Tmin);
Max. number of iterations(Itermax);
• Low computational complexity.
PS Starting point X0; 5 • Easy to implement. • Premature convergence.
Acceleration factor a; • Low computational complexity. • Low convergence rate.
Perturbation vector P0;
Perturbation tolerance vector T;
• Fast tracking speed.
Max. number of iterations (Itermax);

fluctuations. Therefore, it is also important to investigate how to better reduce the fluctuations in CI based MPPTs.

6. Conclusion

This article provides a review of a number of CI based MPPT techniques. In the first two sections, we presented two main problems in MPPT,
namely rapid irradiance change and partial shading. Fourteen types of CI based MPPT are reviewed in this paper, including ANN, FLC, PSO, GA, DE,

40
Table 12
Comparison of different types of computational optimization algorithm based MPPTs.

Categories Global System Tracking Tracking Complexity Online/ Fluctuation in tracking Limitations
tracking dependent Accuracy speed offline period

ANN Partially Yes Very high Very fast High Offline No • Difficult to get training dataset.
• Model dependent, with periodic retraining required due
to environmental changes and aging of the system.

41
FLC Partially No High Fast Medium Online Very small • Require fuzzy rules and parameters of membership
functions.
Population-based heuristics (GA, PSO, DE, Yes No Very high Slow Low Online Large • Limited tracking speed when applying the standard
ACO, ABC, CS, FA, SFLA, and GWO) version of each method to MPPT.
• Parameters of the algo needs to be carefully set.
Single-solution based heuristics (SA, CHS, Partially No Medium Medium Very low Online Medium • Premature convergence due to inappropriate parameter
and PS) settings.
• Sensitive to parameters of the algo.
Renewable and Sustainable Energy Reviews 85 (2018) 14–45
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

ACO, ABC, CS, FA, CHS, SFLA, GWO, SA and PS. Since each type can be applied into a PV system in different ways, we further divide each CI type
into several subcategories. Some, such as ANN based MPPT, are divided into direct and hybrid methods, while others, such as FLC, are classified into
three categories, namely direct FL MPPT, optimized FL MPPT and hybrid FL MPPT. Similarly for PSO based MPPT, which are categorized into
standard PSO based MPPT, improved PSO based MPPT, and hybrid PSO based MPPT. Each type is described and discussed in detail so that reader has
a clear understanding of how it is applied to PV systems, what are the advantages and disadvantages, and when it can be applied. The tables and
discussion of each type can be considered as a useful guide for users to choose a suitable method when thinking of using CI based MPPT techniques.
Finally, we also present several potential topics which need to be further explored, such as a uniform evaluation criteria, parameter selection, and
improved tracking speed and accuracy.

Acknowledgement

This research is supported by the Singapore National Research Foundation under NRF2012EWT-EIRP001.

References

[1] Bastidas-Rodriguez JD, Franco E, Petrone G, Andre X, Ramos-Paja Cs, Spagnuolo G. Maximum power point tracking architectures for photovoltaic systems in mismatching
conditions: a review. IET Power Electron 2014;7(6):1396–413.
[2] Woyte A, Nijs J, Belmans R. Partial shadowing of photovoltaic arrays with different system configurations: literature review and field test results. Sol Energy 2003;74(3):217–33.
[3] Quan L, Wolfs P. A review of the single phase photovoltaic module integrated converter topologies with three different DC link configurations. IEEE Trans Power Electron
2008;23(3):1320–33.
[4] Mellit A, Kalogirou SA. Artificial intelligence techniques for photovoltaic applications: a review. Progress Energy Combust Sci 2008;34(5):574–632.
[5] Ram JP, Babu TS, Rajasekar N. A comprehensive review on solar PV maximum power point tracking techniques. Renew Sustain Energy Rev 2017;67:826–47.
[6] Esram T, Chapman PL. Comparison of photovoltaic array maximum power point tracking techniques. IEEE Trans Energy Convers 2007;22(2):439–49.
[7] Amir A, Amir A, Selvaraj J, Rahim NA. Study of the MPP tracking algorithms: focusing the numerical method techniques. Renew Sustain Energy Rev 2016;62:350–71.
[8] Seyedmahmoudian M, Horan B, Soon TK, Rahmani R, Than AM. Oo, S. Mekhilef, and A. Stojcevski, “state of the art artificial intelligence-based MPPT techniques for mitigating
partial shading effects on PV systems – a review. Renew Sustain Energy Rev 2016;64:435–55.
[9] Danandeh MA, Mousavi G SM. Comparative and comprehensive review of maximum power point tracking methods for PV cells. Renew Sustain Energy Rev 2017.
[10] Joshi P, Arora S. Maximum power point tracking methodologies for solar PV systems – a review. Renew Sustain Energy Rev 2017;70:1154–77.
[11] Husain MA, Tariq A, Hameed S, Arif MSB, Jain A. Comparative assessment of maximum power point tracking procedures for photovoltaic systems. Green Energy Environ
2017;2(1):5–17.
[12] Dileep G, Singh SN. Application of soft computing techniques for maximum power point tracking of SPV system. Sol Energy 2017;141:182–202.
[13] Li G, Jin Y, Akram MW, Chen X, Ji J. Application of bio-inspired algorithms in maximum power point tracking for PV systems under partial shading conditions – a review. Renew
Sustain Energy Rev 2018;81(Part 1):840–73.
[14] Garcia Miguel, Maruri Jose Miguel, Marroyo L, Lorenzo Eduardo, Perez M. Partial shadowing, MPPT performance and inverter configurations: observations at tracking PV plants.
Progress Photovolt: Res Appl 2008;16(6):529–36.
[15] Buciarelli LL, Grossman BL, Lyon EF, Rasmussen NE, The energy balance associated with the use of a MPPT in a 100 kW peak power system. In: Proceedings of IEEE photovoltaic
specialists conference; 1980. p. 523–7.
[16] Hussein KH, Muta I, Hoshino T, Osakada M, Maximum photovoltaic power tracking: an algorithm for rapidly changing atmospheric conditions. In: Proceedings of IEE Proceedings
of Generation, Transmission and Distribution; 1995. p. 1350–2360.
[17] Aashoor FAO, Robinson FVP, A variable step size perturb and observe algorithm for photovoltaic maximum power point tracking. In: Proceedings of the 47th international
Universities Power Engineering Conference (UPEC); 2012. p. 1–6.
[18] Sera D, Kerekes T, Teodorescu R, Improved MPPT algorithms for rapidly changing environmental conditions. In: Proceedings of the international power electronics and motion
control conference, Portoroz, Slovenia; 2006. p. 1614–9.
[19] Al-Diab A, Sourkounis C, Variable step size P&O MPPT algorithm for PV systems. In: Proceedings of the 12th international conference on optimization of electrical and electronic
equipment, Basov, New York, USA; 2010. p. 1097–102.
[20] Liu F, Duan S, F. L, Liu B, Kang Y. A variable step size INC MPPT method for PV systems. IEEE Trans Ind Electron 2008;55(7):2622–8.
[21] Khaehintung N, Wiangtong T, Sirisuk P, FPGA implementation of MPPT using variable step-size P&O algorithm for PV applications. In: Proceedings of the international symposium
on communications and information technologies; 2006. p. 212–5.
[22] Hussein KH, Muta I, Hoshino T, Osakada M, Maximum photovoltaic power tracking: an algorithm for rapidly changing atmospheric conditions. In: Proceedings of IEE proceedings -
generation, transmission and distribution; 1995. p. 59–64.
[23] Chen Y-T, Jhang Y-C, Liang R-H. A fuzzy-logic based auto-scaling variable step-size MPPT method for PV systems. Sol Energy 2016;126:53–63.
[24] Hiyama T, Kouzuma S, Imakubo T, Ortmeyer TH. Evaluation of neural network based real time maximum power tracking controller for PV system. IEEE Trans Energy Convers
1995;10(3):543–8.
[25] Hiyama T, Kouzuma S, Imakubo T. Identification of optimal operating point of PV modules using neural network for real time maximum power tracking control. IEEE Trans Energy
Convers 1995;10(2):360–7.
[26] Hiyama T, Kitabayashi K. Neural network based estimation of maximum power generation from PV module using environmental information. IEEE Trans Energy Convers
1997;12(3):241–7.
[27] Al-Amoudi A, Zhang L. Application of radial basis function networks for solar-array modelling and maximum power-point prediction. IEE Proc - Gener Transm Distrib
2010;147(5):310–6.
[28] Saravanan S, Babu N Ramesh. RBFN based MPPT algorithm for PV system with high step up converter. Energy Convers Manag 2016;122:239–51.
[29] Abu-Rub H, Iqbal A, Ahmed SM, Peng FZ, Li Y, Baoming G. Quasi-Z-source inverter-based photovoltaic generation system with maximum power tracking control using ANFIS. IEEE
Trans Sustain Energy 2013;4(1):11–20.
[30] Belhachat F, Larbes C. Global maximum power point tracking based on ANFIS approach for PV array configurations under partial shading conditions. Renew Sustain Energy Rev
2017;77:875–89.
[31] Veerachary M, Senjyu T, Uezato K. Neural-network-based maximum-power-point tracking of coupled-inductor interleaved-boost-converter-supplied pv system using fuzzy con-
troller. IEEE Trans Ind Electron 2003;50(4):749–58.
[32] Syafaruddin E, Karatepe, Hiyama T. Artificial neural network-polar coordinated fuzzy controller based maximum power point tracking control under partially shaded conditions.
Renew Power Gener, IET 2009;3(2):239–53.
[33] Liao CC. Genetic k-means algorithm based RBF network for photovoltaic MPP prediction. Energy 2010;35(2):529–36.
[34] Chaouachi A, Kamel RM, Nagasaka K. A novel multi-model neuro-fuzzy-based MPPT for three-phase grid-connected photovoltaic system. Sol Energy 2010;84(12):2219–29.
[35] Jiang LL, Nayanasiri DR, Maskell DL, Vilathgamuwa DM. A hybrid maximum power point tracking for partially shaded photovoltaic systems in the tropics. Renew Energy
2015;76:53–65.
[36] Rizzo SA, Scelba G. ANN based MPPT method for rapidly variable shading conditions. Appl Energy 2015;145:124–32.
[37] Rai AK, Kaushika ND, Singh B, Agarwal N. Simulation model of ANN based maximum power point tracking controller for solar PV system. Sol Energy Mater Sol Cells
2011;95(2):773–8.
[38] Sedaghati F, Nahavandi A, Badamchizadeh MA, Ghaemi S, Fallah M Abedinpour. PV maximum power-point tracking by using artificial neural network. Math Probl Eng 2012;2012.
[39] Kulaksız AA, Akkaya R. A genetic algorithm optimized ANN-based MPPT algorithm for a stand-alone PV system with induction motor drive. Sol Energy 2012;86(9):2366–75.
[40] Bahgat ABG, Helwa NH, Ahmad GE, El Shenawy ET. “Maximum power point traking controller for PV systems using neural networks. Renew Energy 2005;30(8):1257–68.
[41] El-Helw HM, Magdy A, Marei MI. A hybrid maximum power point tracking technique for partially shaded photovoltaic arrays. IEEE Access 2017;5:11900–8.
[42] Zhang H, Cheng S. A new MPPT algorithm based on ANN in solar PV systems. In: Wu Y, editor. Advances in computer, communication, control and automation. Berlin, Heidelberg:
Springer Berlin Heidelberg; 2012. p. 77–84.

42
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

[43] Messalti S, Harrag A, Loukriz A. A new variable step size neural networks MPPT controller: review, simulation and hardware implementation. Renew Sustain Energy Rev
2017;68(Part 1):221–33.
[44] Chao K-H, Li C-J, Wang M-H, A maximum power point tracking method based on extension neural network for PV systems. In: Proceedings of the 6th international symposium on
neural networks, Berlin, Heidelberg: Springer Berlin Heidelberg; 2009. p. 745–55.
[45] Punitha K, Devaraj D, Sakthivel S. Artificial neural network based modified incremental conductance algorithm for maximum power point tracking in photovoltaic system under
partial shading conditions. Energy 2013;62:330–40.
[46] Alajmi BN, Ahmed KH, Finney SJ, Williams BW. Fuzzy-logic-control approach of a modified hill-climbing method for maximum power point in microgrid standalone photovoltaic
system. IEEE Trans Power Electron 2011;26(4):1022–30.
[47] Karlis AD, Kottas TL, Boutalis YS. A novel maximum power point tracking method for PV systems using fuzzy cognitive networks (FCN). Electr Power Syst Res
2007;77(3–4):315–27.
[48] Kottas TL, Boutalis YS, Karlis AD. New maximum power point tracker for PV arrays using fuzzy controller in close cooperation with fuzzy cognitive networks. IEEE Trans Energy
Convers 2006;21(3):793–803.
[49] Dounis AI, Kofinas P, Papadakis G, Alafodimos C. A direct adaptive neural control for maximum power point tracking of photovoltaic system. Sol Energy 2015;115:145–65.
[50] Kofinas P, Dounis AI, Papadakis G, Assimakopoulos MN. An intelligent MPPT controller based on direct neural control for partially shaded PV system. Energy Build 2015;90:51–64.
[51] Habibi M, Yazdizadeh A. New MPPT controller design for PV arrays using neural networks (Zanjan City Case Study). In: Proceedings of the 6th international symposium on neural
networks, Berlin, Heidelberg: Springer Berlin Heidelberg; 2009. p. 1050–8.
[52] Liu Y-H, Liu C-L, Huang J-W, Chen J-H. Neural-network-based maximum power point tracking methods for photovoltaic systems operating under fast changing environments. Sol
Energy 2013;89:42–53.
[53] Passino KM, Yurkovich S. Fuzzy control. 1st ed.: An Imprint of Addison-Wesley Longman, Inc.; 1998.
[54] Mishra S, Dash PK, Panda G. TS-fuzzy controller for UPFC in a multimachine power system. IEE Proc - Gener Transm Distrib 2000;147(1):15–22.
[55] Chiu CS. T-S fuzzy maximum power point tracking control of solar power generation systems. IEEE Trans Energy Convers 2010;25(4):1123–32.
[56] Chung-Yuen W, Duk-Heon K, Sei-Chan K, Won-Sam K, Hack-Sung K. A new maximum power point tracker of photovoltaic arrays using fuzzy controller. In: Proceedings of IEEE
power electronics specialists conference; 1994. p. 396–403.
[57] Simoes MG, Franceschetti NN, Friedhofer M, A fuzzy logic based photovoltaic peak power tracking control. In: Proceedings of IEEE international symposium on industrial
electronics; 1998. p. 300–5.
[58] Simoes MG, Franceschetti NN. Fuzzy optimisation based control of a solar array system. IEE Proc - Electr Power Appl 1999;146(5):552–8.
[59] Mahmoud AMA, Mashaly HM, Kandil SA, Khashab HE, Nashed MNF, Fuzzy logic implementation for photovoltaic maximum power tracking. In: Proceedings of IEEE international
conference on industrial electronics, control and instrumentation; 2000. p. 735–40.
[60] Khateb AE, Rahim NA, Selvaraj J, Uddin MN. Fuzzy-logic-controller-based SEPIC converter for maximum power point tracking. IEEE Trans Ind Appl 2014;50(4):2349–58.
[61] Sekhar PC, Mishra S. Takagi-Sugeno fuzzy-based incremental conductance algorithm for maximum power point tracking of a photovoltaic generating system. IET Renew Power
Gener 2014;8(8):900–14.
[62] Purnama I, Lo YK, Chiu HJ, A fuzzy control maximum power point tracking photovoltaic system. In: Proceedings of IEEE international conference on fuzzy systems, Taipei, Taiwan;
2011. p. 2432–9.
[63] Liu C-L, Chen J-H, Liu Y-H, Yang Z-Z. An asymmetrical fuzzy-logic-control-based MPPT algorithm for photovoltaic systems. Energies 2014;7(4):2177.
[64] Khaehintung N, Pramotung K, Tuvirat B, Sirisuk P, RISC-microcontroller built-in fuzzy logic controller of maximum power point tracking for solar-powered light-flasher appli-
cations. In: Proceedings of the 30th IEEE annual conference of industrial electronics society; 2004. p. 2673–8.
[65] Bhattacharjee C, Roy BK. Advanced fuzzy power extraction control of wind energy conversion system for power quality improvement in a grid tied hybrid generation system. IET
Gener, Transm Distrib 2016;10(5):1179–89.
[66] Lee J, Kim YS. Sensorless fuzzy-logic-based maximum power point tracking control for a small-scale wind power generation systems with a switched-mode rectifier. IET Renew
Power Gener 2016;10(2):194–202.
[67] Boukenoui R, Ghanes M, Barbot JP, Bradai R, Mellit A, Salhi H. Experimental assessment of Maximum Power Point Tracking methods for photovoltaic systems. Energy
2017;132:324–40.
[68] Wu TF, Yang CH, Chen YK, Liu ZR, Photovoltaic inverter systems with self-tuning fuzzy control based on an experimental planning method. In: Proceedings of IEEE industry
applications conference; 1999. p. 1887–94.
[69] Patcharaprakiti N, Premrudeepreechacharn S, Sriuthaisiriwong Y. Maximum power point tracking using adaptive fuzzy logic control for grid-connected photovoltaic system.
Renew Energy 2005;30(11):1771–88.
[70] Larbes C, Aït Cheikh SM, Obeidi T, Zerguerras A. Genetic algorithms optimized fuzzy logic control for the maximum power point tracking in photovoltaic system. Renew Energy
2009;34(10):2093–100.
[71] Adly M, Besheer AH, An optimized fuzzy maximum power point tracker for stand alone photovoltaic systems: Ant colony approach. In: Proceedings of the 7th IEEE Conference on
Industrial Electronics and Applications (ICIEA); 2012. p. 113–9.
[72] Subiyanto S, Mohamed A, Hannan MA. Intelligent maximum power point tracking for PV system using Hopfield neural network optimized fuzzy logic controller. Energy Build
2012;51:29–38.
[73] Jouda A, Elyes F, Rabhi A, Abdelkader M. Optimization of scaling factors of fuzzy–MPPT controller for stand-alone photovoltaic system by particle swarm optimization. Energy
Procedia 2017;111:954–63.
[74] Soufi Y, Bechouat M, Kahla S. Fuzzy-PSO controller design for maximum power point tracking in photovoltaic system. Int J Hydrog Energy 2017;42(13):8680–8.
[75] Liu YH, Wang SC, Peng BR, Determining optimal membership functions of a FLC-based MPPT algorithm using the particle swarm optimization method. In: The 5th IIAI inter-
national congress on Advanced Applied Informatics (IIAI-AAI); 2016. p. 635–40.
[76] Messai A, Mellit A, Guessoum A, Kalogirou SA. Maximum power point tracking using a GA optimized fuzzy logic controller and its FPGA implementation. Sol Energy
2011;85(2):265–77.
[77] Yin X-x, Lin Y-g, Li W, Gu Y-j, Lei P-f, Liu H-w. Sliding mode voltage control strategy for capturing maximum wind energy based on fuzzy logic control. Int J Electr Power Energy
Syst 2015;70:45–51.
[78] Gu Y-j, Yin X-x, Liu H-w, Li W, Lin Y-g. Fuzzy terminal sliding mode control for extracting maximum marine current energy. Energy 2015;90(Part 1):258–65.
[79] Lin C-H, Huang C-H, Du Y-C, Chen J-L. Maximum photovoltaic power tracking for the PV array using the fractional-order incremental conductance method. Appl Energy
2011;88(12):4840–7.
[80] Tang S, Sun Y, Chen Y, Zhao Y, Yang Y, Szeto W. An enhanced MPPT method combining fractional-order and fuzzy logic control. IEEE J Photovolt 2017;7(2):640–50.
[81] Chekired F, Larbes C, Rekioua D, Haddad F. Implementation of a MPPT fuzzy controller for photovoltaic systems on FPGA circuit. Energy Procedia 2011;6:541–9.
[82] Kennedy J, Eberhart R.Particle swarm optimization. In: Proceedings of IEEE international conference on neural networks, Perth, Australia; 1995. p. 1942–8.
[83] Miyatake M, Veerachary M, Toriumi F, Fujii N, Ko H. Maximum power point tracking of multiple photovoltaic arrays: a PSO approach. IEEE Trans Aerosp Electron Syst
2011;47(1):367–80.
[84] Clerc M, Kennedy J. The particle swarm - explosion, stability, and convergence in a multidimensional complex space. IEEE Trans Evolut Comput 2002;6(1):58–73.
[85] Kennedy J, Eberhart RC, Shi Y. Swarm intelligence. San Francisco: Morgan Kaufmann Publishers; 2001.
[86] Frans Van Den B. An analysis of particle swarm optimizers. South Africa: University of Pretoria; 2002.
[87] Trelea IC. The particle swarm optimization algorithm: convergence analysis and parameter selection. Inf Process Lett 2003;85(6):317–25.
[88] Y. Shi, and R. C. Eberhart, Parameter selection in particle swarm optimization. In: Proceedings of the 7th international conference on evolutionary programming VII; 1998. p.
591–600.
[89] Liang-Rui C, Chih-Hui T, Yuan-Li L, Yen-Shin L. A biological swarm chasing algorithm for tracking the PV maximum power point. IEEE Trans Energy Convers 2010;25(2):484–93.
[90] Chao R-M, Nasirudin A, Wang I-K, Chen P-L. Multicore PSO operation for maximum power point tracking of a distributed photovoltaic system under partially shading condition.
Int J Photoenergy 2016;2016:19.
[91] Jiang LL, Maskell DL, A uniform implementation scheme for evolutionary optimization algorithms and the experimental implementation of an ACO based MPPT for PV systems
under partial shading. In: Proceedings of 2014 IEEE symposium on Computational Intelligence Applications in Smart Grid (CIASG); 2014. p. 1–8.
[92] Renaudineau H, Donatantonio F, Fontchastagner J, Petrone G, Spagnuolo G, Martin JP, et al. A PSO-based global MPPT technique for distributed PV power generation. IEEE Trans
Ind Electron 2015;62(2):1047–58.
[93] Shahin A, Payman A, Martin JP, Pierfederici S, Meibody-Tabar F, Approximate novel loss formulae estimation for optimization of power controller of DC/DC converter. In:
Proceedings of IEEE industrial electronics society annual conference; 2010. p. 373–8.
[94] Wei-Ru C, Chen LR, Chia-Hsuan W, Ci-Min L. Multicluster-based particle swarm optimization algorithm for photovoltaic maximum power point tracking. In: Proceedings of IEEE
future energy electronics conference; 2015. p. 1–6.

43
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

[95] Kuo JL, Chao KL, Lee LS. Dual mechatronic MPPT controllers with PN and OPSO control algorithms for the rotatable solar panel in PHEV system. IEEE Trans Ind Electron
2010;57(2):678–89.
[96] Bagchi TP. Taguchi methods explained: practical steps to robust design. New Delhi: Prentice-Hall; 1993.
[97] Mao M, Duan Q, Zhang L, Chen H, Hu B, Duan P. Maximum power point tracking for cascaded PV-converter modules using two-stage particle swarm optimization. Sci Rep
2017;7(1):9381.
[98] Mao M, Zhang L, Duan Q, Chong B. Multilevel DC-link converter photovoltaic system with modified PSO based on maximum power point tracking. Sol Energy 2017;153:329–42.
[99] Liu YH, Huang SC, Huang JW, Liang WC. A particle swarm optimization-based maximum power point tracking algorithm for PV systems operating under partially shaded
conditions. IEEE Trans Energy Convers 2012;27(4):1027–35.
[100] Saad NH, El-Sattar AA, Mansour AE-AM. Improved particle swarm optimization for photovoltaic system connected to the grid with low voltage ride through capability. Renew
Energy 2016;85:181–94.
[101] Chao K-H, Lin Y-S, Lai U-D. Improved particle swarm optimization for maximum power point tracking in photovoltaic module arrays. Appl Energy 2015;158:609–18.
[102] Dileep G, Singh SN. An improved particle swarm optimization based maximum power point tracking algorithm for PV system operating under partial shading conditions. Sol
Energy 2017;158:1006–15.
[103] Oliveira FM d, Silva SAO d, Durand FR, Sampaio LP, Bacon VD, Campanhol LBG. Grid-tied photovoltaic system based on PSO MPPT technique with active power line conditioning.
IET Power Electron 2016;9(6):1180–91.
[104] Ishaque K, Salam Z, Amjad M, Mekhilef S. An improved particle swarm optimization (PSO) based MPPT for PV with reduced steady state oscillation. IEEE Trans Power Electron
2012;27(8):3627–38.
[105] Ishaque K, Salam Z. A deterministic particle swarm optimization maximum power point tracker for photovoltaic system under partial shading condition. IEEE Trans Ind Electron
2013;60(8):3195–206.
[106] Mirhassani SM, Golroodbari SZM, Golroodbari SMM, Mekhilef S. An improved particle swarm optimization based maximum power point tracking strategy with variable sampling
time. Int J Electr Power Energy Syst 2015;64:761–70.
[107] Sudhakar Babu T, Rajasekar N, Sangeetha K. Modified particle swarm optimization technique based maximum power point tracking for uniform and under partial shading
condition. Appl Softw Comput 2015;34:613–24.
[108] Shi J, Zhang W, Zhang Y, Xue F, Yang T. MPPT for PV systems based on a dormant PSO algorithm. Electr Power Syst Res 2015;123:100–7.
[109] Prasanth Ram J, Rajasekar N. A new robust, mutated and fast tracking LPSO method for solar PV maximum power point tracking under partial shaded conditions. Appl Energy
2017;201:45–59.
[110] Lian KL, Jhang JH, Tian IS. A maximum power point tracking method based on perturb-and-observe combined with particle swarm optimization. IEEE J Photovolt
2014;4(2):626–33.
[111] Sundareswaran K, Vignesh kumar V, Palani S. Application of a combined particle swarm optimization and perturb and observe method for MPPT in PV systems under partial
shading conditions. Renew Energy 2015;75:308–17.
[112] Seyedmahmoudian M, Rahmani R, Mekhilef S, Oo AMT, Stojcevski A, Soon TK, et al. Simulation and hardware implementation of new maximum power point tracking technique
for partially shaded PV system using hybrid DEPSO method. IEEE Trans Sustain Energy 2015;6(3):850–62.
[113] Manickam C, Raman GR, Raman GP, Ganesan SI, Nagamani C. A hybrid algorithm for tracking of GMPP based on P&O and PSO with reduced power oscillation in string inverters.
IEEE Trans Ind Electron 2016;63(10):6097–106.
[114] Zhu Q, Zhang X, Li S, Liu C, Ni H. Research and test of power-loop-based dynamic multi-peak MPPT algorithm. IEEE Trans Ind Electron 2016;63(12):7349–59.
[115] Hadji S, Gaubert JP, Krim F. Genetic algorithms for maximum power point tracking in photovoltaic systems. In: Proceedings of European conference on power electronics and
applications, Birmingham, UK; 2011. p. 1–9.
[116] Ramaprabha R, Gothandaraman V, Kanimozhi K, Divya R, Mathur BL, Maximum power point tracking using GA-optimized artificial neural network for solar PV system. In:
Proceedings of international conference on electrical energy systems, Newport Beach, CA, USA; 2011. p. 264–8.
[117] Bakhshi R, Sadeh J, Mosaddegh H-R. Optimal economic designing of grid-connected photovoltaic systems with multiple inverters using linear and nonlinear module models based
on Genetic Algorithm. Renew Energy 2014;72:386–94.
[118] Epitropakis MG, Tasoulis DK, Pavlidis NG, Plagianakos VP, Vrahatis MN. Enhancing differential evolution utilizing proximity-based mutation operators. IEEE Trans Evolut Comput
2011;15(1):99–119.
[119] Tajuddin MFN, Ayob SM, Salam Z, Saad MS. Evolutionary based maximum power point tracking technique using differential evolution algorithm. Energy Build 2013;67:245–52.
[120] Taheri H, Salam Z, Ishaque K, Syafaruddin. A novel maximum power point tracking control of photovoltaic system under partial and rapidly fluctuating shadow conditions using
Differential evolution. IEEE Symp Ind Electron Appl 2010:82–7.
[121] Ramli MAM, Ishaque K, Jawaid F, Al-Turki YA, Salam Z. A modified differential evolution based maximum power point tracker for photovoltaic system under partial shading
condition. Energy Build 2015;103:175–84.
[122] Tey KS, Mekhilef S, Yang H-T, Chuang M-K. A differential evolution based MPPT method for photovoltaic modules under partial shading conditions. Int J Photo 2014;2014.
[123] Socha K, Dorigo M. Ant colony optimization for continuous domains. Eur J Oper Res 2008;185(3):1155–73.
[124] Dorigo M. Optimization, learning and natural algorithms Ph.D. Thesis Italy: Politecnico di Milano; 1992.
[125] Dorigo M, Stützle T. Ant colony optimization. MIT; 2004.
[126] Jiang LL, Maskell DL, Patra JC. A novel ant colony optimization-based maximum power point tracking for photovoltaic systems under partially shaded conditions. Energy Build
2013;58:227–36.
[127] Liao T, Stützle T, Montes de Oca MA, Dorigo M. A unified ant colony optimization algorithm for continuous optimization. Eur J Oper Res 2014;234(3):597–609.
[128] Sundareswaran K, Vigneshkumar V, Sankar P, Simon SP, Nayak PSR, Palani S. Development of an improved P&O algorithm assisted through a colony of foraging ants for MPPT in
PV system. IEEE Trans Ind Inform 2016;12(1):187–200.
[129] Besheer AH, Adly M. Ant colony system based PI maximum power point tracking for stand alone photovoltaic system. In: Proceedings of IEEE International Conference on
Industrial Technology (ICIT); 2012. p. 693–8.
[130] Karaboga D. An idea based on honey bee swarm for numerical optimization, Technical Report-TR06, Erciyes University, Engineering Faculty, Computer Engineering Department;
2005.
[131] Banharnsakun A, Achalakul T, Sirinaovakul B. The best-so-far selection in artificial bee colony algorithm. Appl Softw Comput 2011;11(2):2888–901.
[132] Chen S-M, Sarosh A, Dong Y-F. Simulated annealing based artificial bee colony algorithm for global numerical optimization. Appl Math Comput 2012;219(8):3575–89.
[133] Karaboga D, Okdem S, Ozturk C. Cluster based wireless sensor network routing using artificial bee colony algorithm. Wirel Netw 2012;18(7):847–60.
[134] Samanta S, Chakraborty S. Parametric optimization of some non-traditional machining processes using artificial bee colony algorithm. Eng Appl Artif Intell 2011;24(6):946–57.
[135] Kılıç U, Ayan K. Optimizing power flow of AC–DC power systems using artificial bee colony algorithm. Int J Electr Power Energy Syst 2013;53:592–602.
[136] Sahed OA, Kara K, Benyoucef A. Artificial bee colony-based predictive control for non-linear systems. Trans Inst Meas Control 2014;37(6):780–92.
[137] Cuevas E, Zaldívar D, Pérez-Cisneros M, Sossa H, Osuna V. Block matching algorithm for motion estimation based on Artificial Bee Colony (ABC). Appl Softw Comput
2013;13(6):3047–59.
[138] Şencan Şahin A, Kılıç B, Kılıç U. Design and economic optimization of shell and tube heat exchangers using Artificial Bee Colony (ABC) algorithm. Energy Convers Manag
2011;52(11):3356–62.
[139] Akay B, Karaboga D. Parameter tuning for the artificial bee colony algorithm. In: Proceedings of international conference on computational collective intelligence, Berlin,
Heidelberg; 2009. p. 608–19.
[140] Benyoucef A s, Chouder A, Kara K, Silvestre S, sahed OA. Artificial bee colony based algorithm for maximum power point tracking (MPPT) for PV systems operating under partial
shaded conditions. Appl Softw Comput 2015;32:38–48.
[141] Sundareswaran K, Sankar P, Nayak PSR, Simon SP, Palani S. Enhanced energy output from a PV system under partial shaded conditions through artificial bee colony. IEEE Trans
Sustain Energy 2015;6(1):198–209.
[142] Yang X-S, Deb S. Multiobjective cuckoo search for design optimization. Comput Oper Res 2013;40(6):1616–24.
[143] Yang XS. Nature-inspired metaheuristic algorithms. 2nd ed. Luniver Press; 2010.
[144] Ahmed J, Salam Z. A maximum power point tracking (MPPT) for PV system using cuckoo search with partial shading capability. Appl Energy 2014;119:118–30.
[145] Sundareswaran K, Peddapati S, Palani S. MPPT of PV systems under partial shaded conditions through a colony of flashing fireflies. IEEE Trans Energy Convers 2014;29(2):463–72.
[146] Teshome DF, Lee CH, Lin YW, Lian KL. A modified firefly algorithm for photovoltaic maximum power point tracking control under partial shading. IEEE J Emerg Sel Top Power
Electron 2017;5(2):661–71.
[147] Zhou L, Chen Y, Guo K, Jia F. New approach for MPPT control of photovoltaic system with mutative-scale dual-carrier chaotic search. IEEE Trans Power Electron
2011;26(4):1038–48.
[148] Chen L, Aihara K. Chaotic simulated annealing by a neural network model with transient chaos. Neural Netw 1995;8(6):915–30.

44
Renewable and Sustainable Energy Reviews 85 (2018) 14–45

[149] Haichang G, Boqin F, Li Z. Adaptive SAGA based on mutative scale chaos optimization strategy. In: Proceedings of international conference on neural networks and brain; Year. p.
517–20.
[150] Wang L, Wei X, Zhu T, Zhang J. Two-stage chaos optimization search application in maximum power point tracking of PV array. Math Probl Eng 2014.
[151] Duan QY, Gupta VK, Sorooshian S. Shuffled complex evolution approach for effective and efficient global minimization. J Optim Theory Appl 1993;76(3):501–21.
[152] Sridhar R, Jeevananthan S, Dash SS, Vishnuram P. A new maximum power tracking in PV system during partially shaded conditions based on shuffled frog leap algorithm. J Exp
Theor Artif Intell 2017;29(3):481–93.
[153] Mirjalili S, Mirjalili SM, Lewis A. Grey wolf optimizer. Adv Eng Softw 2014;69:46–61.
[154] Mohanty S, Subudhi B, Ray PK. A new MPPT design using grey wolf optimization technique for photovoltaic system under partial shading conditions. IEEE Trans Sustain Energy
2016;7(1):181–8.
[155] Yang B, Zhang X, Yu T, Shu H, Fang Z. Grouped grey wolf optimizer for maximum power point tracking of doubly-fed induction generator based wind turbine. Energy Convers
Manag 2017;133:427–43.
[156] Granville V, Krivanek M, Rasson JP. Simulated annealing: a proof of convergence. IEEE Trans Pattern Anal Mach Intell 1994;16(6):652–6.
[157] Lyden S, Haque ME. A simulated annealing global maximum power point tracking approach for PV modules under partial shading conditions. IEEE Trans Power Electron
2016;31(6):4171–81.
[158] Yaghout N, Bjarne A. A comparison of simulated annealing cooling strategies. J Phys A: Math General 1998;31(41):8373.
[159] Hooke R, Jeeves TA. "Direct Search" solution of numerical and statistical problems. J ACM 1961;8(2):212–29.
[160] Javed MY, Murtaza AF, Ling Q, Qamar S, Gulzar MM. A novel MPPT design using generalized pattern search for partial shading. Energy Build 2016;133:59–69.
[161] Kumar N, Hussain I, Singh B, Panigrahi BK. Maximum power peak detection of partially shaded PV panel by using intelligent monkey king evolution algorithm. IEEE Trans Ind
Appl 2017;53(6):5734–43.
[162] Kaced K, Larbes C, Ramzan N, Bounabi M, Dahmane Z e. Bat algorithm based maximum power point tracking for photovoltaic system under partial shading conditions. Sol Energy
2017;158:490–503.
[163] Wu Z, Yu D. Application of improved bat algorithm for solar PV maximum power point tracking under partially shaded condition. Appl Softw Comput 2018;62:101–9.
[164] Prasanth Ram J, Rajasekar N. A new global maximum power point tracking technique for solar photovoltaic (PV) system under partial shading conditions (PSC). Energy
2017;118:512–25.
[165] Maskell DL, Ramasubramanian S, Xu Q. Module-based storage for regulating PV power intermittency at the point of generation. In: Proceedings of IEEE Photovoltaic Specialist
Conference (PVSC); 2015. p. 1–5.
[166] Jayaraman R, Maskell DL. Temporal and spatial variations of the solar radiation observed in Singapore. Energy Procedia 2012;25:108–17.
[167] Jiang LL, Maskell DL, Ramasubramanian S, Xu Q. Power variability of small scale PV systems caused by shading from passing clouds in tropical region. In: Proceedings of IEEE
photovoltaic specialists conference, Portland, Oregon, USA; 2016.
[168] Jiang Y, Qahouq JAA, Hassan A, Abdelkarem E, Orabi M. Load current based analog MPPT controller for PV solar systems. In: Proceedings of IEEE Applied Power Electronics
Conference and Exposition (APEC); 2012. p. 911–4.
[169] Liu Y-H, Huang J-W. A fast and low cost analog maximum power point tracking method for low power photovoltaic systems. Sol Energy 2011;85(11):2771–80.
[170] Yang CY, Hsieh CY, Feng FK, Chen KH. Highly efficient analog maximum power point tracking (AMPPT) in a photovoltaic system. IEEE Trans Circuits Syst I: Regul Pap
2012;59(7):1546–56.
[171] Liang Z, Guo R, Huang A. A new cost-effective analog maximum power point tracker for PV systems. In: Proceedings of IEEE energy conversion congress and exposition; Year. p.
624–31.
[172] Pilawa-Podgurski RCN, Pallo NA, Chan WR, Perreault DJ, Celanovic IL. Low-power maximum power point tracker with digital control for thermophotovoltaic generators. In:
Proceedings of IEEE Annual Applied Power Electronics Conference and Exposition (APEC); 2010. p. 961–7.
[173] Kim S, Cho S, Kim N, Baatar N, Kwon J. A digital coreless maximum power point tracking circuit for thermoelectric generators. J Electron Mater 2011;40(5):867–72.
[174] Gounden NA, Ann Peter S, Nallandula H, Krithiga S. Fuzzy logic controller with MPPT using line-commutated inverter for three-phase grid-connected photovoltaic systems. Renew
Energy 2009;34(3):909–15.
[175] Elgendy MA, Zahawi B, Atkinson DJ. Assessment of perturb and observe MPPT algorithm implementation techniques for PV pumping applications. IEEE Trans Sustain Energy
2012;3(1):21–33.
[176] Kollimalla SK, Mishra MK. A novel adaptive P&O MPPT algorithm considering sudden changes in the irradiance. IEEE Trans Energy Convers 2014;29(3):602–10.
[177] Chowdhury SR, Mukherjee D. FPGA based maximum power point tracker of partially shaded solar Photovoltaic arrays using modified adaptive perceptive particle swarm
optimization. Int J Smart Sens Intell Syst 2009;2(4):661–75.
[178] Youssef EB, Stephane P, Bruno E, Corinne A. New P&O MPPT algorithm for FPGA implementation. In: Proceedings of IEEE Annual Conference on Industrial Electronics Society;
2010. p. 2868–73.
[179] Valan Rajkumar M, Manoharan PS. FPGA based multilevel cascaded inverters with SVPWM algorithm for photovoltaic system. Sol Energy 2013;87:229–45.
[180] Faraji R, Rouholamini A, Naji HR, Fadaeinedjad R, Chavoshian MR. FPGA-based real time incremental conductance maximum power point tracking controller for photovoltaic
systems. IET Power Electron 2014;7(5):1294–304.
[181] Mellit A, Kalogirou SA. MPPT-based artificial intelligence techniques for photovoltaic systems and its implementation into field programmable gate array chips: review of current
status and future perspectives. Energy 2014;70:1–21.
[182] Coppola M, Napoli FD, Guerriero P, Iannuzzi D, Daliento S, Pizzo AD. An FPGA-based advanced control strategy of a grid-tied PV CHB inverter. IEEE Trans Power Electron
2016;31(1):806–16.
[183] Kermadi M, Berkouk EM. Artificial intelligence-based maximum power point tracking controllers for Photovoltaic systems: comparative study. Renew Sustain Energy Rev
2017;69:369–86.
[184] Koutroulis E, Kalaitzakis K. Design of a maximum power tracking system for wind-energy-conversion applications. IEEE Trans Ind Electron 2006;53(2):486–94.
[185] Abo-Khalil AG, Lee DC. MPPT control of wind generation systems based on estimated wind speed using SVR. IEEE Trans Ind Electron 2008;55(3):1489–90.
[186] Kesraoui M, Korichi N, Belkadi A. Maximum power point tracker of wind energy conversion system. Renew Energy 2011;36(10):2655–62.
[187] Abdullah MA, Yatim AHM, Tan CW, Saidur R. A review of maximum power point tracking algorithms for wind energy systems. Renew Sustain Energy Rev 2012;16(5):3220–7.


Lian L. Jiang
Energy Research Institute @ NTU, Singapore 637553, Singapore
E-mail address: lljiang@ntu.edu.sg
R. Srivatsan
Energy Research Institute @ NTU, Singapore 637553, Singapore
Douglas L. Maskell
School of Computer Science and Engineering, Nanyang Technological University, Singapore 639779, Singapore


Corresponding author.

45

Вам также может понравиться