1 Introduction

Energy is the main support for modern societies and all mankind. The excessive depletion of fossil fuels forces the researchers to explore other sources of energy that will not run out such as renewable energies. Solar energy is the most important source of renewable energy sources, where its cost is reduced over time and became mature technology. Photovoltaic (PV) energy systems are used to convert the sunlight directly into electric energy. Very rapid growth in deploying the PV energy systems where it is increased by 60% in Europe [1] and new annual installations in 2020 reached 142 GW, a 14% rise over the previous year [2]. Moreover, the total generation from solar is about 570 TWh [3]. Many efforts were introduced to increase the efficiency of the PV system which can be translated into a reduction in the cost of energy. Most of these efforts were done on improving the efficiency of the PV cells themselves via improving the materials used for their manufacturing, and the other efforts are introduced to improve the power conditioning circuit used to extract the maximum available electric power from PV systems. Moreover, much work is done in the improvement of the integration of the PV system with an electric utility or with integrating the PV system with renewable or conventional energy sources. One of the most important issues used to improve the efficiency of the PV energy system is the maximum power point tracker (MPPT) unit which will be introduced and discussed in detail in this chapter.

Numerous research works are introduced in the literature to track the maximum power point (MPP) of the PV systems. All these techniques have cons and pros which should be discussed in detail in this chapter. For this reason, many review studies were introduced to discuss these performance characteristics of these techniques. Most of the review works of MPPT are discussing certain categories of this MPPT, review a very limited number of techniques, and leave many other techniques not covered. Based on the present literature, there is no comprehensive work that covers all salient MPPT in operations, performance, implementations, and evaluation. This chapter is introduced to fill this research gap and to shed a light on the performance of different MPPT techniques. With the use of modern soft-computing in MPPT of PV systems, many new algorithms are introduced and most of the authors of these techniques claim that their technique is better than others. For this reason, a comprehensive review study for the most important MPPT techniques should be introduced to help researchers for a better understanding of different MPPT techniques. One of the most recent review works introduced a good review of the techniques that are used to mitigate the effect of partial shading [4]. This paper [4] classified the techniques that have been used to mitigate the partial shading effects into two categories, circuit-based techniques, and MPPT-based techniques. Circuit-based partial shading condition (PSC) mitigation techniques (reconfiguration techniques) will not be covered in this chapter. This paper [4] is reviewed only the MPPT in PSC as one part of the paper and leave the other part for circuit-based PSC mitigation techniques. Moreover, paper [4] classified the circuit-based MPPT techniques into four categories, namely, conventional, soft-computing, hybrid, and other techniques. This paper used all soft-computing techniques as one category as well as all hybrid techniques as one category which will be sub-classified more in this chapter. Another comprehensive review research paper evaluates 17 MPPT and gives a grade for each one [5]. This paper introduced discerptions and evaluations for 20 famous soft-computing MPPT techniques and the evaluation of hybrid between these techniques and traditional MPPT in terms of the convergence time and failure rate. A similar review paper is introduced to introduce an index to evaluate these MPPT techniques [6]. Several types of research introduced an overview of the MPPT techniques introduced in literature [7,8,9,10,11,12,13,14,15,16,17,18,19,20] each one has covered a certain point of view, but there is no one of them comprehensively covers the most important MPPT, especially in PSC.

The rest of this chapter is designed to show the modeling of PV array, and the modeling, performance of PV systems in the case of PSC, and the mismatch losses and generated efficiency calculations in the rest of Sect. 1. SectionĀ 2 introduced the classifications of MPPT techniques. SectionĀ 3 shows the traditional MPPT techniques discerptions and evaluations. SectionĀ 4 shows the different soft-computing PV MPPT and details of their performance analysis and operation. SectionĀ 5 introduces the other PV MPPT that are not classified as traditional or soft-computing techniques such as Voltage Window Search (VWS) [21], Searchā€“Skipā€“Judge (SSJ) [22], and Maximum Power Trapezium (MPT) [23]. SectionĀ 6 introduces different types of hybrid PV MPPT that uses two techniques to improve the overall performance of the PV system. The lase section (Sect. 7) is introduced to summarize the conclusions, recommendations, and future work out of this review study.

1.1 Modeling of PV Arrays

The PV array is the largest building block of the PV system which consists of PV panels, then PV modules. The PV modules are consisting of several PV cells connected in series and parallel to produce the required voltage and current from the module. So, the PV cell is the basic unit of the PV systems. The PV cell is consisting of two semiconductor materials from types P and N. The PN junction absorbs the light from the Sun which adds energy to the electrons in this junction enabling it to have enough energy to cross the junction and produce voltage difference between their terminals. The voltage difference between these terminals can produce power when they are connected through an electrical load. The amount of generated power from PV cells depends on the voltage difference, temperature, and irradiance value. Different kinds of semiconductor materials have been used in the fabrication of PV cells, where crystalline silicon PV cells are the most widely used [24]. All the PV cell technologies have the same modeling with different values of parameters that will not affect the general modeling shown in this chapter.

Numerous research works have been introduced in the literature to mathematically model the PV cells [25,26,27,28,29]. The one-diode model is shown in Fig.Ā 1 is widely used in the modeling of most PV cells due to its simplicity and it helps in avoidance of the redundancy that may occur in another modeling of PV cells that have a higher number of diodes. Moreover, the one-diode model parameters can be easily determined experimentally [25, 28]. The two-diode model has also been used in the literature [26]. This model introduced one more diode to accurately model the PV cells, meanwhile, it will increase the model complexity. Some other researchers introduced a three-diode model to accurately model the PV cell [30]. The one-diode PV cell model is shown in Fig.Ā 1 and is shown in the following equations [24, 31]. The output current generated from the PV cell is shown in (1).

Fig.Ā 1
figure 1

Equivalent circuit of the PV cell using a one-diode model

$$I_{\text{PVC}} = I_{\text{LG}} - I_{\text{sat}} *\left[ {e^{{\left( {\frac{q}{KT}\left( {V_{\text{PVC}} + R_{s} I_{\text{PVC}} } \right)} \right)}} - 1} \right] - \frac{{V_{\text{PVC}} + R_{s} I_{\text{PVC}} }}{{R_{\text{sh}} }}$$
(1)

where

ILG:

The light-generated current for given radiation and temperature.

Isat:

The reverse-saturation current.

K:

Boltzmannā€™s constant.

q:

The electron charge.

VPVC:

Terminal voltage of PV cell.

IPVC:

Output current of PV cell.

T:

The current surrounding temperature.

Rs, Rsh:

Series and shunt resistors of PV model.

The light-generated current for given radiation and temperature can be obtained from (2)

$$I_{LG} = \left( {I_{\text{STC}} + K_{I} (T_{c} - T_{r} )} \right)\frac{G}{{G_{o} }}$$
(2)

where

ISTC:

The photovoltaic current at the standard test conditions.

KI:

The short-circuit current coefficient.

Go:

The standard irradiance which is normally taken as 1000Ā W/m2.

G:

The current radiation in W/m2.

Tr:

The rated temperature in KĀ°.

Tc:

The cell temperature.

The module voltage can be obtained by (3)

$$V_{M} = {\text{V}}_{\text{PVC}} *N_{SC}$$
(3)

where NSC is the number of series cells within the module.

The module current can be obtained by (4)

$$I_{M} = {\text{I}}_{\text{PVC}} *N_{PC}$$
(4)

where NPC is the number of parallel branches within the module.

Connecting several modules in series and parallel is forming the PV array and its voltage and current are determined from the following equations:

$$V_{PV} = V_{\text{PVC}} *N_{SC} *M_{S}$$
(5)
$$I_{PV} = I_{\text{PVC}} *N_{PC} *M_{P}$$
(6)

where MS is the number of modules connected in series and MP is the number of modules in parallel.

Multiplying the terminal voltage by the output current determines the generated power from the PV array. The relation between the terminal voltage and current in uniform condition for different irradiances, and the relation between the terminal voltage and output power are shown in Fig.Ā 2. It is clear from Fig.Ā 2 that the PV power is directly proportional to the voltage in the regions, where the voltage less than optimal voltage, Vopt, and inversely proportional to the voltage in the region of a voltage higher than Vopt. The maximum power, Pmax, occurs at the value of optimal voltage, Vopt. The maximum power tracking techniques are used to track the MPP and force the PV array to work at the optimal terminal voltage, Vopt. Also, it is clear from the locus of MPP that the MPP lies in a narrow range of voltage.

Fig.Ā 2
figure 2

The Iā€“V and Pā€“V characteristics of PV array

1.2 Partial Shading Conditions

The partial shading occurred in PV array due to the shading of static and moving objects such as trees, buildings, accumulation of dust on panels, or passing clouds. The PV array characteristic is badly affected and the generated energy is considerably reduced. As has been discussed above, the PV modules should be connected in series and parallel to form the PV array. Due to static or moving objects, shading may be performed on some of these modules and it faces different irradiances than others which are called the partial shading condition (PSC). Due to different irradiances on series modules, the same current should follow through all series modules which makes some modules work as a load on the unshaded modules. Due to the current flow in the shaded PV cell higher than the generated current, the terminal voltage will become negative. Due to this negative voltage, the temperature of the shaded module will be increased especially with a high number of modules connected in series. This high temperature may destroy the shaded modules based on a phenomenon called hot-spot [32]. This condition can be dangerous where it may cause the hot-spot phenomenon on the shaded modules which can destroy the shaded modules, especially when too many modules are connected in series. For this reason, a parallel diode should be attached to each module to bypass the shaded modules when their voltage tends to be reversed to protect these modules from the hot spot phenomenon. Also, each branch should be connected in series with a blocking diode as shown in Fig.Ā 3 to block the flow of current from another branch.

Fig.Ā 3
figure 3

PV array showing the bypass and blocking diodes connection

Many comprehensive types of research are introduced to the model, discuss, and to remedy the PSC [33, 34]. Due to the partial shading conditions, the Pā€“V characteristics of the PV array is having multiple peaks, the one having the highest power is called global peak (GP) and the other peaks are called the local peaks (LPs). FigureĀ 4 shows the Iā€“V and Pā€“V characteristics with a different number of peaks in the case of PSCs.

Fig.Ā 4
figure 4

The Iā€“V and Pā€“V characteristics of the PV array under PSC

It is clear from Figs.Ā 2 and 4 that the generated power is varying with its terminal voltage which forces the designers to use a DC/DC converter at the terminal of the PV system to control this voltage and consequently control the generated power. The control system of the DC/DC converter should ensure that the PV array works at its MPP to increase the generated power and efficiency. The connection of the DC/DC converter can be connected in several configurations as shown in Fig.Ā 5. The first configuration is done by connecting the PV array in many parallel branches and each branch is consisting of many modules in series, which is called ā€œcentralized configuration.ā€ In the centralized configuration, the PV array has a single terminal and it will be connected to a single DC/DC converter and DC/AC inverter. This configuration is using only one MPPT tracker, meanwhile, the mismatched power is the lowest among the configurations shown in Fig.Ā 5. The other configuration is called the ā€œmultistring configurationā€ PV system. In this system, the branches of the PV array are divided among multiple DC/DC converters. This technique has higher efficiency than the centralized PV system because each string is connected to one DC/DC converter and MPPT technique which provides more freedom to each MPPT to work separately in tracking the maximum power available. The third configuration is called ā€œstring connectionā€ in which each branch is connected to its own DC/DC converter and the MPPT technique which gives more freedom to the control system to force each branch to work at its own maximum power which increases the generated efficiency than the two previous techniques. The DC output can be connected to a common DC link and the inverter/inverters convert this DC power to AC or each DC converter can be connected to a separate inverter. A smart string configuration is introduced in [35, 36] using an interleaved boost converter. In this configuration, each branch is connected to one branch of the boost converter as shown in Fig.Ā 6. In this configuration, one interleaved boost converter is used and one PSO MPPT technique is used with swarm size equal to the number of branches of the boost converter. The results obtained from this configuration is showing higher efficiency than the previous configurations discussed above. The last configuration is called ā€œModule configurationā€ in which each module is connected to separate DC/DC converter and MPPT module. This configuration is complex and expensive due to the need for the DC/DC converter for each module, meanwhile, it provides the highest freedom to the control system to track the GP of each module which can increase the generation efficiency substantially. Detailed discretions of these configurations are shown in many researches [1, 37, 38].

Fig.Ā 5
figure 5

Different configurations are used to interface PV energy systems to the utility grid

Fig.Ā 6
figure 6

String configurations used interleaved boost converter

1.3 Mismatch Power Loss

Two different kinds of mismatch occurred in the PV array, static and dynamic mismatch. The static mismatch occurs due to many reasons such as the different tolerance in the module, different aging effects, and different tilt angles of modules. The losses due to static mismatch are in the range from 0.3 to 2.5% [39].

The dynamic mismatch occurs mainly from dynamic partial shading when static or moving objects on the PV array. As discussed before the modules should be connected with bypass diodes and each branch should be connected with blocking diode as shown in Fig.Ā 3 to avoid the hot spot and the possibility of damage to shaded modules. Due to the PSC occurrence, the generated power will not be the same in all parts of the PV array. The generated power will be lower than the sum of the available power that can be generated from a separate PV module even the PV array works at the GP. The relation between the generated power from the PV system and the sum of individual peaks from each module is called mismatch loss (MML). The formula used to determine this relationship is shown in Eq.Ā (7). The higher values of MML mean that the generated power from the PV system is very near to the power available in the PV array and vice versa. This relation is sometimes called MPPT power efficiency (MPE) [40]. In the case of uniform irradiance and the system work at the MPP, the MML value will be 100%.

$$MML = \frac{Maximum\,\,power\,\,of\,\,whole\,\,PV\,\,system}{{\sum\nolimits_{i = 1}^{N} {P\text{max} (i)} }}*100$$
(7)

where N is the total number of PV modules in the PV array.

Another evaluation parameter is used to evaluate the MPPT technique called MPPT energy efficiency (MEE). This parameter is used to measure the percentage of PV output energy to the maximum energy available during a certain period of time as shown in (8) [40]:

$$MPE = \frac{{\int_{t = 0}^{T} {P(t)\,dt} }}{{\int_{t = 0}^{T} {P_{m} \left( t \right)\,} dt}}*100$$
(8)

where T is the period of time

2 Classifications of MPPT Techniques

The MPPT techniques have been classified based on different methodologies. Some classifications are based on several variables used to track the MPP of the PV system [41]. Most of the classifications used are based on the use of the module parameters in the MPPT operation to model-based and non-model-based. The model-based MPPT techniques are done using the model parameters of the PV array to determine the optimal operating model. The model-based techniques are suffering from many problems, especially the low accuracy, the high mathematical burden that can reduce the convergence time, and introduced complexity to the implementation of these techniques. Moreover, the model-based MPPT techniques need extra weather sensors to measure the radiation and temperature. These techniques are not suitable to work with systems facing PSC because it is not practical to have many weather sensors near to each PV module and it will need too much mathematical operation to get the GP in the case of PSC. These techniques are sometimes called offline techniques [41, 42]. An example of offline or model-based techniques is the fractional open-circuit voltage, fractional short-circuit current, curve fitting-based, and numerical calculation-based techniques. The other category of MPPT is the online or non-model-based are included in most of the MPPT techniques. The online-based (non-model-based) MPPT techniques can be further classified into traditional, soft-computing, hybrid, and others. The soft-computing is further classified into chaos, artificially intelligent (sometimes called brain-inspired computing), and metaheuristic techniques. These categories are further classified as shown in Fig.Ā 7.

Fig.Ā 7
figure 7

Classifications of PV MPPT techniques

3 Traditional MPPT Techniques

3.1 Direct Estimated Methodology (DEM)

Directly estimated methodology (DEM) is an offline MPPT methodology that uses the module parameters and an accurate model of the PV array and determines the optimal voltage, Vopt, based on the available weather condition (Solar irradiance and temperature) [43]. The control system used the reference value of the voltage to force the PV array to work around this value. The main shortcoming of this technique is the need for four sensors (voltage, current, radiation, and temperature sensors). Moreover, an inaccurate model of PV array parameters or sensors or the effect of degradation on the PV array can produce wrong values of the PV terminal voltage reference Vopt which can reduce the system efficiency. In addition to these shortcomings, this technique is not able to track the GP in the case of PSC.

3.2 Fractional Open-Circuit Voltage (FOCV)

As has been shown in Fig.Ā 2 the terminal voltage at the MPP is located around an approximately constant voltage for all operating conditions of the uniformly distributed irradiances. Where the optimal voltage of the PV array is proportional to the open-circuit voltage as shown in (9). This technique can be classified as one of the traditional MPPT techniques and mathematical-based MPPT.

$$V_{\text{opt}} = k_{v} *V_{oc}$$
(9)

where kv is a proportionality factor and it has a value between 0.71 and 0.78 [44, 45]; the accurate value of kv is depending on the PV cell materials and this value can be determined in the lab to be used in the control system. This technique is the simplest and fastest MPPT technique. However, this technique is suffering from many problems which make its use in modern PV systems is very rare. The problems associated with this technique are the need to frequently disconnecting the PV system to measure the open-circuit voltage, the low efficiency, especially in the case of using the inaccurate value of kv, and the inability to work with PSC.

3.3 Fractional Short-Circuit Current (FSCC)

The locus of MPP on Iā€“V curves shown in Fig.Ā 2 shows that the optimal current, Iopt, is linearly proportional to the short-circuit current. The relation between the optimal current, Iopt, and short circuit is shown in (10). This technique can be classified as one of the traditional MPPT techniques and mathematical-based MPPT.

$$I_{\text{opt}} = k_{i} *I_{SC}$$
(10)

where ki is the current proportionality constant, its value is varied between 0.78 and 0.92 depending on the PV cell materials [45].

This technique is very simple and fast (as the fractional open-circuit technique) compared to other traditional MPPT techniques. The main shortcomings associated with this technique are the need to isolate the PV array from the system to perform a short-circuit on its terminals to measure the short-circuit current, the inaccurate values of current proportional constant, the inability to work with PSC. The problem of frequently short-circuit measures on the PV array with this technique can be a complex operation with a very large PV array where the short-circuit current needs special measurement tools and precautions [41].

3.4 Look-up Table (LuT)

This technique is used the module data, weather data, to calculate the voltage required for each operating condition and tabulate these data in a look-up table (LuT). This is a very fast MPPT technique compared to the other traditional MPPT techniques discussed above. The efficacy of the operation of the system is depending on the accuracy of the module parameters, sensor accuracy, and the accuracy of the model used to calculate the MPP. To overcome this shortcoming, the data of the look-up table were collected experimentally [46]. This technique is not favorite in real applications because it needs a control system with big memory size and the need for radiation and temperature sensors. This is one of the offline MPPT techniques that need accurate knowledge about the PV module parameters and characteristics. This technique cannot be used with the PSC which is one of the main shortcomings of this technique [41].

3.5 Hill-Climbing (HC)

The most famous traditional MPPT techniques are the hill-climbing and perturb and observe techniques. The main difference between these two techniques is the hill-climbing is using a perturbation in the duty ratio of the DC/DC converter and determines the change in duty ratio based on the change in power. Meanwhile, P&O introduces a perturbation in the terminal voltage of the PV array. This is the only difference between the operation of these two techniques, and for this reason, a detailed comparison between their operation and performance is shown in [47]. This technique needs only the voltage and current sensors. In the hill-climbing technique, when there is a positive increase in the duty ratio produces an increase in power the control system should keep an increase in duty ratio and vice versa. The flowchart of the HC MPPT technique is shown in Fig.Ā 8. The main shortcomings of hill-climbing as most of the traditional MPPT techniques are the inability to capture the GP and the slow response to the fast change in the weather conditions. The problem of missing the GP in the case of PSC can be avoided by hybridizing the hill-climbing technique with other smart techniques to help HC to capture the GP at the beginning of tracking operation and transfer the control to HC to track the maximum power around this GP. The problem of slow response can be avoided using the variable step size [48]. Where increased step size (Ī”D) increases the convergence speed but it causes high oscillations around the MPP which reduces the generation efficiency and instability. Meanwhile, the low step size has the opposite effect. At the starting of the tracking period or acute change in radiation, the control system needs high step size value to capture the MPP swiftly but this high step size will cause oscillations around the steady state. For this reason, a variable step size technique has been introduced to avoid the sluggishness of the HC in starting and oscillations around the MPP. In this case, the HC uses a high value of step size in the starting or disturbance and low step size at steady state. An adaptive step size HC MPPT used with a boost converter is introduced to determine the optimal step size to reduce the convergence time and reduce the oscillations around the MPP [49].

Fig.Ā 8
figure 8

The hill-climbing flowchart

3.6 Perturb and Observe (P&O)

Perturb and Observe (P&O) method has been used widely in the MPPT of the PV system due to its superior performance and simple implementation. This technique is outperforming the performance operation of HC in terms of convergence time and oscillation around the MPP. This technique needs only the voltage and current sensors. This technique perturbs the terminal voltage reference of the PV array and collects the corresponding power, if the power increased it will move in the same direction otherwise it will change the sign of the perturbation Fig.Ā 9 shows the operation principles of the P&O technique [50]. Many modified strategies have been introduced to this technique to reduce the convergence time and the oscillations around the MPP. One of these modifications is done by using a variable step size [51]. This technique has good performance in uniformly distributed irradiance, meanwhile, it may stick at one of the LPs in the case of PSC. For this reason, many efforts have been introduced in the literature to improve the P&O in the case of PSC. One of these efforts used scanning values of operating voltage and force the normal P&O to work around the one having the highest power [52, 53]. This technique success with a reasonable limit to capture the place of the GP in the case of partial shading but it increases the convergence time.

Fig.Ā 9
figure 9

The P&O flowchart

$$\begin{aligned} V_{\text{ref}} = V + \Delta V & & \begin{array}{*{20}c} {(if\,\,V > V_{\text{old}} \,\,\,and\,\,P > P_{\text{old}} )} \\ {(if\,\,V < V_{\text{old}} \,\,and\,\,P < P_{\text{old}} )} \\ \end{array} & \hfill \\ V_{\text{ref}} = V - \Delta V & & \begin{array}{*{20}c} {(if\,\,V > V_{\text{old}} \,\,\,and\,\,P < P_{\text{old}} )} \\ {if\,\,V < V_{\text{old}} \,\,\,and\,\,P > P_{\text{old}} } \\ \end{array} \hfill \\ \end{aligned}$$
(11)

3.7 Incremental Conductance (InCond)

Most of the shortcomings discussed with HC and P&O techniques are now avoided by using the incremental conductance (InCond), where the convergence time associated with the IncCond is considerably reduced and the dynamic performance of the InCond with rapid change in the weather conditions is substantially improved. Moreover, the oscillation around the MPP of the PV array is substantially reduced too. The high tracking speed, accuracy, and low oscillations at steady state make the InCond is one of the most widely used traditional MPPT techniques. This technique employs the characteristics of the Pā€“V curve of PV array to track the MPP taking into consideration that the MPP is located at zero slopes of the curve. Moreover, the slope of the curve is positive when the operating voltage is lower than the optimal voltage and negative when the operating voltage is lower than the optimal voltage. The logic used in the InCond is to determine the derivative of power concerning voltage as shown in (12) and increment the voltage based on the sign and value of this derivative. The results obtained from (12) can be written as shown in (13). Equating the left-hand side of (13) by error signal e as shown in (14) and trying to minimize this value to become zero will accelerate the convergence to the MPP. The flowchart of InCond MPPT technique is shown in Fig.Ā 10.

Fig.Ā 10
figure 10

Flowchart of incremental conductance MPPT technique

The performance of InCond can be further improved in terms of convergence time and oscillations around the MPP by using variable step size as the one used with HC and P&O [54]. Regarding the high failure rate of InCond with PSC, a modified technique is employed several values of duty ratios in starting to scan the position of GP, then transfer the control to the InCond to track the MPP around this value [52, 55].

$$\frac{dP}{dV} = \frac{d(V \times I)}{dV} = I + V\frac{dI}{dV} = 0 \,$$
(12)
$$\frac{dI}{dV} + \frac{I}{V} = \frac{I(i) - I(i - 1)}{V(i) - V(i - 1)} + \frac{I(i)}{V(i)} = 0$$
(13)
$$e = \frac{I(i) - I(i - 1)}{V(i) - V(i - 1)} + \frac{I(i)}{V(i)} \,$$
(14)

3.8 Beta Optimization Algorithm (BOA)

This technique uses the characteristics of the PV array to determine Ī² factor that can capture the GP faster than most of the traditional MPPT. This technique is first introduced in 2007 by Jain and Agarwal [56]. The value of beta can be obtained from (15):

$$\beta = \ln \left( {\frac{I}{V}} \right) - c\, \times V$$
(15)

where c can be determined from (16)

$$c = q/\left( {k \times T \times \eta } \right)$$
(16)

where I and V are the terminal voltage and output current from the V array, respectively, q is the electronic charge, k is the Boltzmannā€™s constant, \(\eta\) is the diode quality factor, T is the ambient temperature in Kelvin.

From the PV array model or the actual measurements, the two extreme values of beta, Ī²min, and Ī²max can be determined. The new value of the duty ratio of the DC/DC converter is determined from (17):

$$D(j + 1) = D(j) + (\beta_{g} - \beta_{a} )\,\,N$$
(17)

where j is the iteration number, \(\beta_{g}\) is the value of \(\beta\) at the temperature that the PV module will work at it most of the time and it is used to determine the reference or duty ratio corrections, \(\beta_{a}\) is the actual value of \(\beta\).

A comprehensive comparison between the beta algorithm and other traditional MPPT techniques is introduced in [57] showed that the beta algorithm has the highest efficiency, the fastest convergence, the lowest transient in the steady state, and has the best overall performance operation compared to the other traditional MPPT techniques.

The beta algorithm is further improved in 2016 [58] by adopting the value of N in (17) to be higher at transient than the steady-state conditions. In the case of a steady state, the control will move to the P&O to reduce the transient at steady-state conditions. This modification further improved the convergence speed and the transient at the steady-state condition which can put the beta algorithm in the best traditional MPPT techniques. The flowchart showing the modification of the beta algorithm is shown in Fig.Ā 11. Although the superior operating performance in capturing the MPP in the case of uniformly distributed irradiances, meanwhile it will not have the ability to capture the GP in the case of PSC. Moreover, this technique needs three sensors (voltage, current, and temperature sensors) which can add a cost to the hardware implementation of this technique.

Fig.Ā 11
figure 11

The flowchart of the beta optimization algorithm for the PV MPPT technique

3.9 Ripple Correlation Control (RCC)

The idea used in the ripple correlation control (RCC) is to minimize the time derivative of power and current of PV array to become near to zero. The time variation of power and current near the MPP is zero, so RCC is used the ripples in the power, voltage, and current to become minimum or tend to zero to be sure the control system work at the MPP. This technique is implemented in [59] using analog circuits and is modified to reduce the convergence time in many other types of research. The advantage of this technique is it does not need prior information about the parameters of the PV array which enables it to work with any PV system with any performance characteristics. This technique will not able to capture the GP in the case of PSC. The flowchart showing the logic used in RCC is shown in Fig.Ā 12.

Fig.Ā 12
figure 12

The flowchart of RCC PV MPPT technique

3.10 DC-Link Capacitor Droop Control (DCLCDC)

This technique is designed especially for the PV systems that are integrated with the AC utility grid. This technique depends on maximizing the output power from the DC-link capacitor to the inverter without drooping the DC-link voltage. This can be accomplished by controlling the duty ratio of the DC/DC converter and the power angle and modulation index of the inverter. This technique is used with a boost converter and sine wave PWM inverter in [45, 60]. Like all the traditional MPPT techniques, the DC-link capacitor droop control is not able to capture the GP in the case of PSC.

3.11 Load Current or Load Voltage Maximization (LCLVM)

The idea behind this technique is the capturing depending on maximizing the output power connected to the DC-link of DC/DC converter. This technique has been used with a voltage source and current source converter [61, 62]. In using of voltage source converter, the control system is maximizing the output power through maximizing the output current by controlling the modulation index and power angle as well as the duty ratio of DC/DC converter. In the current source converter, the control system is maximizing the output voltage which can increase the output power. This PV MPPT will not able to capture the true GP because it is assumed that the converters are lossless. Moreover, this technique will not able to work with the PSC because it may stick at one of the LPs.

3.12 Three-Point Bidirectional Perturbation (TPBP)

Three-point bidirectional perturbations based on three-point disturbance observation are utilizing three operating points that work in different duty cycles, using two points to restore a virtual operating point which is the same PV characteristic curve as the rest of the point. In this paper, a novel three-point disturbance observation algorithm is presented based on three specially configured points continuously sampled from the PV array. The points include the current operation point, a point perturbed from the mentioned point, and another point perturbed in the opposite direction from the operation point. The proposed operation mode reduces the losses caused by the oscillation of running the MPPT algorithm [63]. The flowchart showing the three-point bidirectional perturbation (TPBP) is shown in Fig.Ā 13.

Fig.Ā 13
figure 13

The Three-point Bidirectional Perturbation (TPBP)

3.13 Curve-Fitting Algorithm (CFA)

Curve-fitting MPPT technique is using the PV module parameters and weather conditions to derive third-order curve fitting polynomial as shown in (18). The first derivative of the power shown in (19) is equal to zero at the MPP of the Pā€“V curve. The value of optimal voltage, Vopt, can be determined from (20) [41]. This equation produces two values of optimal voltage; the real value can be easily selected. This technique can be classified as a model-based, offline, traditional, and mathematical-based MPPT technique. This technique also is not able to capture the GP in PSC.

$$P = aV^{3} + bV^{2} + cV + d$$
(18)
$$\frac{dP}{dV} = 3aV^{2} + 2bV + c = 0$$
(19)
$$V_{\text{opt}} = \frac{{ - b \pm \sqrt {b^{2} - 3ac} }}{3a}$$
(20)

3.14 Bisection Search Technique (BST)

This bisection search technique is introduced in 2010 [64] to track the MPP of the PV energy system. This technique used the well-known bisection theorem to track the MPP of the PV system.

Assume yā€‰ =ā€‰Ī”P/Ī”D, it is required to get the duty ratio that has yā€‰ =ā€‰0. Three points are selected to start the tracking process Da =ā€‰0, Db =ā€‰0.5, Dc =ā€‰1

Then determine the values of ya, yb, and yc from the following Eqs. (21)ā€“(23)

$$y_{a} = \frac{{P(D_{a} + \Delta D) - P(D_{a} )}}{\Delta D}$$
(21)
$$y_{b} = \frac{{P(D_{b} + \Delta D) - P(D_{b} )}}{\Delta D}$$
(22)
$$y_{c} = \frac{{P(D_{a} ) - P(D_{a} - \Delta D)}}{ - \Delta D}$$
(23)

Then check if ya*yb <ā€‰0, then Da =ā€‰Da, Dc =ā€‰ā€‰Db, and Db =ā€‰(Da +ā€‰Dc)/2,

Else if yb*yc <ā€‰0, then Da =ā€‰Db, Dc =ā€‰Dc, and Db =ā€‰(Da +ā€‰Dc)/2,

Else, (This means that all of them (ya, yb, yc) have the same sign due to acute change in the radiation, and in this case, the system should start from the beginning. The flowchart of the BST is shown in Fig.Ā 14. The value of Ī”D should be chosen carefully, where a large value may capture the MPP faster but it will have oscillations around the steady state and vice versa. It is recommended to be used about Ī”Dā€‰=ā€‰0.01 in [64].

Fig.Ā 14
figure 14

The flowchart of the Bisection search technique

3.15 Slide Mode Control (SMC)

Sliding mode control theory is used in the application of PV MPPT of PV systems [65]. This technique used \(\Delta P/\Delta V\) to switch on and off the DC/DC converter. The value \(\Delta P/\Delta V\) can be obtained from (24) [65]. The DC/DC converter used in this study is a buck converter. Based on the value of \(\Delta P/\Delta V\), the DC/DC converter will be switched on and off based on the condition shown in (25).

$$\Delta P/\Delta V = I + (\Delta I/\Delta V)*V$$
(24)
$$S = \left\{ {\begin{array}{*{20}c} {0\,\,\,\Delta P/\Delta V \ge 0} \\ {1\,\,\,\Delta P/\Delta V < 0} \\ \end{array} } \right.$$
(25)

where I, V, P are the current, voltage, and power output from PV array.

Another research [65] is used a full-bridge single-phase PWM inverter to directly track the MPP of the PV system and to convert the DC power from the PV system directly to AC power that can be connected to the utility grid. This technique showed a very fast convergence time but it will not have the ability to trach the MPP in the case of PSC.

3.16 Transient-Based MPPT (TBM)

This PV MPPT is introduced in 2009 [15] by using a single-stage inverter single or three-phase converter. In this technique, the control system determines the maximum and minimum voltage, Vmax, Vmin, respectively. The control system samples the change in current and, if this change is positive, it forces the voltage to Vmax, otherwise reference voltage to Vmin. This technique has very fast convergence, meanwhile, it suffers from many disadvantages such as the high transient around steady-state conditions and its inability to work with the PSC. A detailed discerption of this technique is shown in [15, 41].

3.17 Current Sweep MPPT (CSM)

This technique is depending on sweeping the current of PV array through the terminal capacitor and using these values of current to determine the voltage and power at MPP [66]. The mathematical modeling of this technique is performed based on that, the current function obtained from the current sweep is proportional in its derivative as shown in (26) [41].

$$f\left( t \right) = k\frac{df\left( t \right)}{dt}$$
(26)

where k is the constant of proportionately.

Applying the above equation to determine the time derivative of power as shown in (27).

$$\frac{dP\left( t \right)}{dt} = \left( {V\left( t \right) + k\frac{dV\left( t \right)}{dt}} \right)\frac{df\left( t \right)}{dt} = 0$$
(27)

The solution of the above differential equation is shown in the following equation:

$$f\left( t \right) = I_{\text{max} } \,e^{{\left( {kt} \right)}}$$
(28)

The optimal current can be determined from the above equation. The optimal voltage can be determined from the following equation:

$$\frac{dP\left( t \right)}{dt} = \left( {V\left( t \right) + k\frac{dV\left( t \right)}{dt}} \right)\frac{dI\left( t \right)}{dt} = 0$$
(29)

3.18 Comprehensive Comparison Between Traditional MPPT Techniques

After discussing the traditional MPPT techniques in the above chapter, it has been listed in the following TableĀ 1 for the purpose of comparison.

TableĀ 1 A comprehensive comparison between traditional MPPT techniques

4 Soft-Computing MPPT Techniques

Soft-computing techniques are classified into three different categories as has been shown in Fig.Ā 7 to four different techniques. These techniques are listed in the following points:

  • Artificial Intelligent (AI)

  • Metaheuristic Algorithms (MA)

  • Chaos optimization algorithms (COA).

4.1 Artificial Intelligent (AI) MPPT Techniques

Two types of artificial intelligent techniques have been introduced in this chapter to work as an MPPT of PV systems. These two techniques are the fuzzy logic controller and an artificial neural network.

4.1.1 Fuzzy Logic Controller (FLC)

Fuzzy logic controller (FLC) is one of the soft-computing techniques that has been used as MPPT of PV systems [67,68,69], as well as in the motor drive control and renewable energy applications [69,70,71,72,73]. This technique is one of the most important PV MPPT techniques because it is a very fast convergence and it has very low oscillations in steady-state conditions. The fuzzy logic controller has one more advantage where it does not need accurate inputs measure or accurate PV array modeling. The operation of FLC is consisting of three parts, fuzzification, Aggregation, and defuzzification. In the fuzzification stage, the input variables are defined as a membership function. Moreover, linguistic relations (rules) between input and output is introduced in this part. The aggregation stage is done by combining the output fuzzy sets of each rule to perform one output fuzzy set. The defuzzification stage is done by defuzzifying the fuzzy set into crisp output. The use of FLC is introduced in many studies and it has been used separately or with other MPPT as will be discussed in the hybrid MPPT section of this chapter. The operation of PV MPPT using FLC is done by calculating the change of power divided by the change in voltage which is called the error signal as shown in (30). The value of change of error, Ī”E is defined as shown in (31).

$$E\left( n \right) = \frac{{P\left( n \right) - p\left( {n - 1} \right)}}{{V\left( n \right) - V\left( {n - 1} \right)}}$$
(30)
$$\Delta E\left( n \right) = E\left( n \right) - E\left( {n - 1} \right)$$
(31)

The error function and change of error that can be obtained from (30) and (31), respectively, should be expressed based on labels such as; PB (Positive Big), PM (Positive Medium), PS (Positive Small), ZE (Zero), NS (Negative Small), NM (Negative Medium), NB (Negative Big) using a basic fuzzy subset. These linguistic variables are modeled in a mathematical membership function. The error function, E, and change of error, Ī”E are two input functions in the FLC as shown in Fig.Ā 15 [68]. In the same figure, the output will be the change in duty ratio, Ī”D which will be expressed as membership in the FLC output which will be added to the old duty ratio to determine the new duty ratio to control the DC/DC converter. Many shapes of membership functions can be used to express the input and output variables, where triangle membership functions are used as shown in Fig.Ā 17. Some researches proportionate these variables to only five fuzzy linguistic variables as shown in [74]. TableĀ 2 shows the linguistic variables that can be translated into 7*7 fuzzy rules that can describe the logic of control as shown in the following:

Fig.Ā 15
figure 15

The membership functions of FLC for inputs and output variables

TableĀ 2 FLC Rules for seven membership functions
$$\begin{aligned} R_{25} :\,\,If\,\,E\,\,is\,\,NM\,\,\,\,and\,\,\,\Delta E\,\,is\,\,PS\,\,\,then\,\,\Delta D\,\,is\,\,NS \hfill \\ R_{63} :\,\,If\,\,E\,\,is\,\,PM\,\,\,\,and\,\,\,\Delta E\,\,is\,\,NS\,\,\,then\,\,\Delta D\,\,is\,\,PS \hfill \\ \ldots \hfill \\ R_{51} :\,\,If\,\,E\,\,is\,\,PS\,\,\,\,and\,\,\,\Delta E\,\,is\,\,NB\,\,\,then\,\,\Delta D\,\,is\,\,NM \hfill \\ \end{aligned}$$

During the defuzzification stage, the output from the rules should be converted to numerical values using the output membership function. This value in the output is the change in the duty ratio, Ī”D that should be added to the old duty ratio of the DC/DC converter. The height of the defuzzification can be obtained from (32) to determine the numerical value of change in duty ratio Ī”D [69].

$$\Delta D = \left( {\sum\limits_{k = 1}^{m} {c(k)*W_{k} } } \right)/\sum\limits_{k = 1}^{n} {W_{K} }$$
(32)

where c(k) is the peak value of each output membership function.

Wkā€‰=ā€‰height of rule k, where is kā€‰=ā€‰1,2, ā€¦49.

The surface function 3-D drawing is a drawing representing the relation between the inputs and the output of the fuzzy controller is shown in Fig.Ā 16. The surface function should be smooth to enhance the stability of the FLC.

Fig.Ā 16
figure 16

FLC 3D Surface function

4.1.2 Artificial Neural Network (ANN)

The artificial neural network (ANN) is a soft computing technique that has been used in many applications. This technique models the performance operations of biological neural systems into a mathematical system. ANN requires so many careful training processes to enable it to learn how the system reacts to different inputs.

The ANN is used as a PV MPPT by getting accurate results including the solar radiation and temperature as input parameters and the optimal voltage or duty ratio as output parameters. The data can be collected mathematically from the model of the PV array or from the use of other MPPT in actual life to collect the input and output parameters to train the ANN and benefit from its fast response. Both data collections are not accurate because the model may be different from the actual array due to different tolerance and aging reasons. Also, the real-world data are taking an effort to collect these data and time. Despite the superiority of ANN in many applications, it is not gain the same attention when it is used as an MPPT of PV system due to many problems inherited in this application. One of these problems is the need for a higher number of good data and its inability to be used in PSCs. A lot of modifications have been introduced in the literature to improve the performance of ANN when it is used as an MPPT of the PV systems. One of these modifications is to use the results obtained from ANN (optimal voltage or optimal duty ratio) and after that, it will transfer the control to the InCond technique for accurately track the MPP [75]. The structure of the neural network is shown in Fig.Ā 17.

Fig.Ā 17
figure 17

The structure of the neural network

4.1.3 A Comprehensive Comparison Between Artificial Intelligent (AI) MPPT Techniques

A comprehensive comparison between Artificial Intelligent (AI) MPPT Techniques is shown in TableĀ 3.

TableĀ 3 Comprehensive comparison between Artificial Intelligent (AI) MPPT techniques

4.2 Metaheuristic Algorithms (MA)

Metaheuristic MPPT Techniques can be classified as shown in Fig.Ā 7 into four different categories which are listed in the following points

  • Swarm Intelligence Algorithms (SIA)

  • Bio/Natural-Inspired Algorithms (BNIA)

  • Evolutionary Algorithms (EA)

  • Mathematical-Based Algorithms (MBA).

4.2.1 Swarm Intelligence Algorithms (SIA)

4.2.1.1 Particle Swarm Optimization (PSO)

The particle swarm optimization (PSO) is one of the best swarm optimizations that mimics the behavior of animals, birds, or fish in searching for their food. This technique is introduced in 1995 by Kennedy and Eberhart [76]. The PSO is a stochastic evolutionary optimization technique that uses several searching agents to look for optimal solutions. This technique uses the best optimal values as a social or cognitive experience and the best value for each particle as a private best experience.

The idea behind using the PSO in tracking the MPP of the Pā€“V curve is done by sending a certain number of particles (swarm size) each one is having a certain value of duty ratio of DC/DC converter one by one to the PV system and collect the corresponding power. In many papers [77,78,79,80,81], the DC/DC converter used in the PV system was a boost converter but any other type of DC/DC converters can be used. The particle position, D, and the value, P, are used to determine the new position of particles using the PSO equation obtained from (33) to (34). Consecutive iterations will be used to control the movement and position to capture the GP. The new position of particles in each iteration depends on their previous position and values and social and private experiences. The movement of each particle is obtained from (33) and the new position \(D_{j + 1}^{k}\) is equal to the previous position \(D_{j}^{k}\) plus the new movement, \(v_{j + 1}^{k}\).

The values of the PSO control parameters Ļ‰, cl, and cg substantially affect the performance of PSO in terms of convergence time, failure rate, and oscillations around the global best value. Tuning these parameters is very important to get the best performance or by using the previous experience of previous researches [79,80,81].

During the initialization of the PSO when it is used as an MPPT of the PV system, the particle associated with the highest power is assigned to the global best, value, PGbest, and position, Gbest. Moreover, the particlesā€™ private best values, \(P_{\text{best}}^{k}\) and positions, \(D_{\text{best}}^{k}\) are equated to the particleā€™s value and position of the initialization. The initial speed is set to zero value. The flowchart showing the logic used in the use of PSO as an MPPT of the PV system is shown in Fig.Ā 18. The steps of the operation of PSO as an MPPT of PV systems are introduced in detail in [77,78,79,80,81,82].

Fig.Ā 18
figure 18

The flowchart of using PSO as an MPPT of PV systems

$$v_{j + 1}^{k} = \omega \,v_{j}^{k} + c_{l} r_{l} (D_{\text{best}}^{k} - D_{j}^{k} ) + c_{g} r_{g} (G_{\text{best}} - D_{j}^{k} )$$
(33)
$$D_{j + 1}^{k} = D_{j}^{k} + v_{j + 1}^{k}$$
(34)

where j is a counter representing the iteration number that states from 1 to the maximum number of iterations, it. Ļ‰, cl, and cg are called the PSO control parameters, \(D_{\text{best}}^{k}\) is the personal best position of the particle k, Gbest is the global best position, rl and rg are random values in between [0, 1].

Despite the superiority of using PSO as an MPPT of the PV system, it has many shortcomings and all of these shortcomings have been solved in literature. The following points are showing these shortcomings and how they are solved in literature. Most of these shortcomings in the PSO are occurring in most of other swarm optimization techniques, and for this reason, it will be discussed for PSO in detail to be as guidance for other swarm optimization techniques. The PSO also has been used in optimal sizing and allocations of hybrid renewable energy systems and distributed generation [83,84,85,86,87,88,89,90,91,92,93].

  1. (a)

    The problem of long convergence time and high failure rate

There are many reasons to participate in this problem such as the random initialization of particles, this problem is solved by initializing the particles at the anticipated position of peaks [77]. The position of the anticipated peak can be determined from (35) [77]. Another technique is used by uniformly distribute the initial positions of particles within the searching space as shown in (36) [79]. Initializations of particles at positions of anticipated peaks [77] or at equal distance in the searching space [79] reduced the convergence time by more than 50% and reduced the failure rate to zero [79].

The swarm size can substantially affect the convergence time and failure rate, where the high value of swarm size can prolong the convergence time and reduces the failure rate and vice versa. This trade-off effect forces the researchers to look for the optimal value of swarm size which has been accomplished in [94] for PSO and BA when it is used as an MPPT of the PV system. This paper [94] introduced the optimal value of swarm size against the number of peaks in the Pā€“V curve for minimum convergence time and failure rate.

$$D_{0}^{k} = 1 - \frac{{(k - 1 + k_{v} )}}{SS}*\frac{{V_{oc} }}{{V_{DC} }}$$
(35)

where n is the total number of particles and i is the particleā€™s order.

$$D_{0}^{k} = k/(SS + 1)$$
(36)

where \(D_{0}^{k}\) is the k-th initial particle position (duty ratio), k is the counter used to represent the number of the particle in the swarm (kā€‰=ā€‰1,2,ā€¦SS).

The unwise selection for PSO control parameters (Ļ‰, cl, cg) has a substantial effect on the convergence time and failure rate. Numerous researches have been introduced to improve the performance of PSO by modifying the values of control parameters. One of these efforts is done by tuning the PSO control parameters for minimum failure rate and convergence time. Another work uses linear decreasing PSO control parameters as shown in (37)ā€“(39) [95]. Another research used a modified PSO PV MPPT control under PSC with a Gaussian particle swarm optimization method [96] to improve the performance of PSO in terms of fast and reliable convergence. Another research work used deep recurrent neural networks trained from the results obtained from PSO to improve the performance of PSO in terms of fast and reliable convergence [97]. Another work used an adaptive perceptive particle swarm optimization (APPSO) [98] technique for the same purpose. A review of different techniques used to improve the performance of PSO in terms of convergence time and failure rate when it is used as an MPPT of the PV system is introduced [99].

Another technique is introduced in [80] called scanning PSO technique, in which the control system sends a certain number of duty ratios to the PV system and collects the corresponding power. Then the duty ratio associated with the highest value of power will be selected to initialize the PSO particles to be around this optimal value. After that, the PSO will continue tracking this MPP. Actually, this is one of the fastest and highest reliable MPPT techniques where it captured the GP effectively within 0.4Ā s [80].

Another research paper is introduced to improve the performance of PSO when it is used in tracking the MPP of the PV system in PSC by removing the random number in the acceleration parameters of the conventional PSO velocity equation and adding a maximum allowable change in the velocity [100]. This strategy is called ā€œThe deterministic PSO (DPSO).ā€ This strategy captured the GP with a lower number of particles in a short time. Moreover, it has only one parameter needs tuning which is the inertia weight. The only shortcoming in this technique is its need for reevaluation on different types of PSCs and systems with different numbers of peaks.

$$\omega_{j} = \omega_{\text{max} } - \frac{j}{{J_{\text{max} } }}\left( {\omega_{\text{max} } - \omega_{\text{min} } } \right)$$
(37)
$$c_{l,j} = c_{l,\text{max} } - \frac{j}{{J_{\text{max} } }}\left( {c_{l,\text{max} } - c_{l,\text{min} } } \right)$$
(38)
$$c_{g,j} = c_{g,\text{max} } - \frac{j}{{J_{\text{max} } }}\left( {c_{g,\text{max} } - c_{g,\text{min} } } \right)$$
(39)

where Jmax is the maximum number of iterations, \(\omega_{\text{max} }\) and \(\omega_{\text{min} }\) are the highest and lowest value of inertia weight \(c_{l,\text{max} }\) and \(c_{l,\text{min} }\).

  1. (b)

    The need for reinitialization

When all the particles are concentrated at the GP, the shading pattern may change and the GP may become in the other place. In this case, the particles will not able to capture the GP and they will continue around the previous GP. In this case, the generated power will not be the maximum available power because the GP is in another position. This problem can be avoided by reinitializing the particles when an acute change is detected. The condition that is used to detect the acute change is shown in (40). The predefined tolerance, Īµ is chosen between 5 and 10% [77,78,79]. In most of the papers, it is used with 5% where the lower value of the predefined tolerance will cause a reinitialization without a need for that and higher values of the predefined tolerance will not initialize the particles in a reasonably acute change in shading conditions.

$$\left| {\frac{{P_{\text{new}} - P_{\text{old}} }}{{P_{\text{old}} }}} \right| \ge \,\varepsilon$$
(40)

where Pnew and Pold are the output powers captured from the PV system in the current and previous iterations, respectively. Īµ is the allowable power change limit that has been assumed as 5% of the old power captured.

4.2.1.2 Bat Algorithm (BA)

The bat algorithm (BA) is one of the swarm techniques that imitates the performance of bats in searching for their food. The BA is first developed in 2010 by Yang in 2010 [101].

The mechanism that the bats used in nature to track a prey are by emitting several impulses with different frequencies and amplitudes and receives the echo of these sound pulses and transfer these data to useful information to decide the next step toward the prey. The time difference between the transmitted pulse sound and the received echo represents the distance between the bat and the prey. The bats can identify the size of the prey by measuring the intensity of the echoed sound pulses. Moreover, bats can evaluate the moving speed and direction of the prey by tuning the frequency difference. In nature, the bats emit short-duration sound pulses around 10ā€“100 times per second [101]. The searching behavior of the bats has inspired the researchers to imitate it in searching for the optimal solution for different life problems. Many generalized rules should be taken into consideration in the mathematical modeling of the BA. The following sections explain the logic of using the BA as an MPPT of the PV systems. The flowchart showing the logic of BA when it is used as an MPPT of the PV system is shown in Fig.Ā 19.

Fig.Ā 19
figure 19

The flowchart of the modified BA strategy used in tracking the GP of PV systems

Although the superiority of the BA compared to the PSO or any other swarm optimization techniques, it did not get its deserved weight in the MPPT of the PV systems applications where only a couple of researches have been introduced in the literature [102,103,104,105,106,107]. For this reason, the BA has been discussed deeply in this chapter with detailed performance characteristics.

BA Initializations

The initialization of bats should get their values from (35) or (36) to reduce the convergence time and failure rate compared to the random initialization of bats in the conventional BA when it is used for tracking the maximum power of PV systems [94, 108]. These results are introduced and discussed in [94, 108] When it is compared with random initialization. The BA is used as an MPPT of the PV system by giving the particles the initial values of duty ratios that can be obtained from (35) or (36) with initial frequency obtained from (41).

The initial velocity \(v_{0}^{1:n}\) and initial frequency \(f_{0}^{1:n}\)of all bats are set to zero (where n is the swarm size). The initial values of pulse rate, r0, loudness, A0, and many initialization parameters are set to different values in the state-of-the-art strategies of BA which is discussed in detail in the simulation results section. The initial values of bats that can be determined from (35) or (36) will be used to start the boost converter where it will be sent to it one by one and the corresponding power \(P_{0}^{1:n}\)will be collected after waiting for the sampling time to get the steady state from the boost converter. The best value of maximum power is determined from as \(P_{best} = \text{max} \left( {P_{0}^{1:n} } \right)\) and the corresponding duty ratio \(d_{\text{best}}\)will be determined.

Global Peak Tracking using BA

The equations used to mimic the behaviors of bats are shown in Eqs. (41)ā€“(43) where the impulse frequency is shown in (41) which will be used in (42) to determine the batsā€™ velocities \(v_{i}^{1:n}\). The new positions of bats \(d_{i}^{1:n}\) can be obtained as shown in (43) by adding this velocity to the previous positions of bats.

$$f_{i}^{1:n} = f_{\text{min} } + \left( {f_{\text{max} } - f_{\text{min} } } \right)\beta$$
(41)
$$v_{i}^{1:n} = \omega \,v_{i - 1}^{1:n} + \left( {d_{\text{best}} - d_{i - 1}^{1:n} } \right)f_{i}^{1:n}$$
(42)
$$d_{i}^{1:n} = d_{i - 1}^{1:n} + v_{i}^{1:n}$$
(43)

where the values of fmin and fmax are the minimum and maximum frequency ranges, respectively. The values have been chosen from [101] to be 0 and 2, respectively. Ī² is a random value, Ī² āˆˆ [0, 1], as the case of PSO, the velocity of bats is multiplied by inertia weight value, Ļ‰ which is used to enhance the searching stability of particles.

After determining the new position from (43), a random walk around this position should be performed to get the new position of the bats as shown in (44) [94, 108]. If the pulse emission ri less than a random number, then the duty ration position di should be replaced with values shown in (44) which is a representation of a random walk around the best solution.

$$d_{i}^{1:n(new)} = d_{\text{best}} + \varepsilon \varphi \left\langle {A_{i}^{1:n} } \right\rangle$$
(44)

where Īµ is a random number, Īµā€‰āˆˆā€‰[āˆ’1, 1], and Ļ• is used to give stability or limitations to the number walk around the best solution, \(\left\langle {A_{i}^{1:n} } \right\rangle\) is called the average loudness of each bat and its value equal to the average of A constant in the previous iterations, k from the beginning (iā€‰=ā€‰1) to the current iteration.

The value of the loudness (Ai) of the impulse should start from high-value A0 and should be decreased as shown in (45), where it starts at 0.999 and should be decreased to 90% of its previous value. The value of ri is called the rate of pulse transmission. The values of ri are started at lower value r0 =ā€‰0 and it increased exponentially to the end value ri =ā€‰1 as shown in (46).

$$A_{i}^{1:n} = \alpha A_{i - 1}^{1:n}$$
(45)
$$r_{i}^{1:n} = r_{0}^{1:n} \,[1 - e^{( - \gamma i)} ]$$
(46)

where the values of Ī± and Ī³ have been chosen equal to 0.9 in many types of research [94, 108].

After determining the new positions of bats \(d_{i}^{1:n}\) it will be used as a duty ratio of boost converter to control the terminal voltage. These values of duty ratio will be fed to the boost converter one by one and wait for the sampling time between each entry. The generated power for each duty ratio will be collected \(P_{i}^{1:n}\) and the maximum value of power \(P_{\text{max} }\) and its corresponding duty ratio \(d_{\text{best}}\) can be determined.

The control system will send the new values of the duty ratios, \(d_{i}^{1:n}\) to the PV system and will collect the corresponding power for each duty ratio, \(P_{i}^{1:n}\). The maximum power collected from the PV system will be compared with the global best power to update the value of global best if the new power is greater than its value as shown in the following:

For kā€‰=ā€‰1: n; if \(P_{i}^{1:n} > P_{\text{max} }\) then \(P_{\text{max} } = P_{i}^{k}\) and \(d_{\text{best}} = d_{i}^{k}\).

BA has been used in many types of research and it shows better performance than the PSO in terms of convergence time and failure rate. The problems of long convergence time and high failure rate shown above in PSO are inherent in BA too and it can be avoided with the same modifications as discussed in PSO, where the batsā€™ initializations should not be random where it is better to start it with the duty ratios at the anticipated peaks which can be obtained from (35), or with equal distance between the duty ratios as obtained from (36). Moreover, the need for reinitialization discussed in PSO is also needed with the BA and has been performed with the same condition shown in (40) [94]. The performance of BA is modified considerably by using the scanning strategy discussed above in PSO [108], where, in the beginning, several values of the duty ratio will be applied to the PV system and the one associated with the highest power will be used to initialize the bats around it.

To overcome the problem of high oscillations around the GP in the steady-state operation associated with BA, a newly proposed hybrid technique is introduced [109]. In this study, the BA is used to capture the GP and once it gets it, it transfers the tracking to one of the three traditional MPPT techniques. The traditional techniques used in this study to improve the performance of BA are beta, P&O, and InCond MPPT techniques. These modifications showed improvements in the performance of BA MPPT technique in steady-state conditions, especially with the BA and beta MPPT algorithms [109].

4.2.1.3 Cuckoo Search (CS)

The cuckoo search (CS) optimization technique is introduced by Yang and Deb [110]. Three rules should be followed to use the cuckooā€™s brood parasitic behavior as an optimization tool.

  1. (1)

    each cuckoo lays one egg at a time and places it in a randomly chosen nest,

  2. (2)

    the best nest with the highest quality of eggs will carry over to the next generation, and,

  3. (3)

    the number of available nests is fixed and the number of eggs that can be discovered by the host bird maintains a probability Pa, where 0ā€‰<ā€‰Paā€‰<ā€‰1.

If the cuckooā€™s eggs are discovered, the host bird can abandon its nest or destroy cuckoosā€™ eggs. Either way, a new nest will be generated with a probability of Pa for a fixed number of nests. Based on these three rules, the CS algorithm can be summarized as in the flowchart shown in Fig.Ā 20 [111].

Fig.Ā 20
figure 20

The flowchart of Cuckoo search algorithm in PV MPPT

Cuckoo search (CS) is an optimization algorithm, inspired by the parasitic reproduction strategy of cuckoo birds [111]. It is observed that several species of cuckoos perform brood parasitism, i.e., by laying their eggs in other birdsā€™ (host birds) nests [111]. Usually, three types of brood parasitism are seen (1) intraspecific, (2) cooperative, and (3) nest takeover. Some cuckoo species such as Tapera are intelligent enough to mimic the shape and color of the host bird to increases its reproduction probability. It is also presented in [111] that cuckoos lay their eggs at some specific time so that their eggs hatch earlier than the host birdā€™s own. After the early hatching, cuckoos destroy some of the host birdā€™s eggs to increase the chance of their chicks getting more food. It is also a common phenomenon that the host birds discover the cuckooā€™s eggs and destroy these. Sometimes they abandon their nest completely and go elsewhere to build a new nest.

The first time that CS was used as an MPPT of the PV system was in 2013 [112]. Later, CS has been used extensively in these applications [110,111,112,113,114,115,116,117]. This algorithm has been also used in the optimal design of hybrid renewable energy systems in [118].

In the beginning, the initial values of eggs are selected and the corresponding power from the PV system will be sampled. Based on the values of power collected, the best nest can be selected. To enhance the private search, a random walk should be performed around each solution which can be provided by the LĆ©vy flight model as shown in (47) [119]:

$$L{\text{evy}}\left( \lambda \right) \approx {\text{u}} = 1^{ - \lambda }\, {\text{where}}\, \left( {1 < \lambda < 3} \right)$$
(47)

The new solution that can be determined in each iteration by the equation shown in (48) [119].

$${\text{x}}_{\text{i}}^{{{\text{t}} + 1}} = {\text{x}}_{\text{i}}^{\text{t}} + {\text{a}} \oplus {\text{Levy}}\left( \lambda \right)$$
(48)

where i is the number of eggs, t is the iteration number, the productā€‰āŠ•ā€‰indicates entry-wise multiplication, and Ī± is the step size. The value of Ī± can considerably affect the performance of convergence, so careful tuning for this value should be selected. In [119], the value of Ī± is determined by setting an initial value for it, Ī±0, and use the difference between two samples \(\left( {x_{j}^{t} - x_{i}^{t} } \right)\), as shown by Eq. (49)

$$\alpha = \alpha_{0} + \left( {x_{j}^{t} - x_{i}^{t} } \right)$$
(49)

Besides the value of Ī±0, the performance of convergence is affected also by the fraction of worse nests, parameters for LĆ©vy distribution, and population size. The results obtained from using CS as an MPPT of the PV system in [119]. showed that the performance of this technique is having fast and reliable convergence. Meanwhile, this technique (CS) may be easily trapped in one of the LPs in the case of an unwise selection of control parameter values [119]. FigureĀ 20 shows the flowchart of CS when it is used in the MPPT of PV systems.

4.2.1.4 Grey Wolf Optimizer (GWO)

The Grey Wolf Optimizer (GWO) is one of the best swarm optimization technique that has been used to solve several nonlinear problems like the MPPT of PV systems. This technique is inspired by the lifestyle of the gray wolves in the purse, chasing, attacking, and hunting prey in wildlife [120]. Ion nature, gray wolves like to live in a group containing 5ā€“10 wolves with four levels of leadership. They have a pyramid leader as shown in Fig.Ā 21 [120]. This leadership is having the high-rank leaders called alpha (Ī±), subleaders called beta (Ī²), as well as gamma (Ī³), and omega (Ļ‰), where the dominance of wolves is reduced from top to bottom. Where the strong leaders are Ī± wolves and Ļ‰ wolves are the lowest rank wolves.

Fig.Ā 21
figure 21

Leadership pyramids with four levels of leadership (Ī±, Ī², Ī“, and Ļ‰)

As mentioned above, gray wolves encircle prey during the hunt. The mathematical model mimicking the behavior of GWO is shown in (50) and (51) [40]:

$$\vec{E} = \left| {\vec{C}.\vec{D}_{P} \left( t \right) - \vec{D}\left( t \right)} \right|$$
(50)
$$\vec{D}\,\left( {t + 1} \right) = \vec{D}_{p} \left( t \right) - \vec{A}.\vec{E}$$
(51)

where t represents the current iteration, \(\vec{A}\) and \(\vec{C}\) are vectors based on their values the balance between the exploration and exploitation can be determined, \(\vec{D}_{p}\) is a position vector from the wolves to the prey, and \(\vec{D}\) indicates the position vector of a grey wolf. Equations (52) and (53) are used to determine the two position vectors \(\vec{A}\) and \(\vec{C}\), respectively [40]:

$$\vec{A} = 2\vec{a}.\vec{r}_{1} - \vec{a}$$
(52)
$$\vec{C} = 2.\vec{r}_{2}$$
(53)

where the coefficient a is decreasing linearly from 2 to 0 and r1, r2 are random vectors with a value between 0 and 1.

The value of \(\vec{A}\) is considerably affecting the performance of convergence where \(\left| {\vec{A}} \right| < 1\) is enhancing the exploitation meanwhile \(\left| {\vec{A}} \right| > 1\) enhances the exploration.

In nature, the order of the alpha wolf (\(\vec{D}_{\alpha }\)) is the highest priority to be obeyed. Meanwhile, the rank of obeying the order is reduced in descending level for the beta wolves (\(\vec{D}_{\beta }\)) and delta (\(\vec{D}_{\gamma }\)). This leadership hierarchy can be mimicked mathematically using the following Eqs. (54), (55), and (56):

$$\vec{E}_{\alpha } = \left| {\vec{C}_{1} .\vec{D}_{\alpha } - \vec{D}} \right|,\vec{E}_{\beta } = \left| {\vec{C}_{2} .\vec{D}_{\beta } - \vec{D}} \right|,{\text{and }}\vec{E}_{\delta } = \left| {\vec{C}_{3} .\vec{D}_{\delta } - \vec{D}} \right|$$
(54)
$$\vec{D}_{1} = \vec{D}_{\alpha } - \vec{A}_{1} \cdot \vec{E}_{\alpha } ,\vec{D}_{2} = \vec{D}_{\beta } - \vec{A}_{2} \cdot \vec{E}_{\beta } ,\vec{D}_{3} = \vec{D}_{\delta } - \vec{A}_{3} \cdot \vec{E}_{\delta }$$
(55)
$$\vec{D}\left( {t + 1} \right) = \frac{{\vec{D}_{1} + \vec{D}_{2} + \vec{D}_{3} }}{3}$$
(56)

The flowchart showing the use of GWO in MPPT of PV systems is shown in Fig.Ā 22.

Fig.Ā 22
figure 22

The flowchart showing the use of GWO in MPPT of PV systems

4.2.1.5 Artificial Bee Colony Algorithm (ABC)

The Artificial Bee Colony (ABC) algorithm proposed by Karaboga is based on the foraging behavior of honey bees [121]. In nature, artificial bees are divided into three types, employed bees, unemployed or onlooker bees, and scout bees. The employed bees function is used to search for the food and determine its place and it shares this information with other bees in the colony. The unemployed or onlooker beesā€™ function is to watch the employed bees and help to find the place of the food. The scout beesā€™ function is to search randomly for a new source of food. They communicate and coordinate with each other to obtain the optimal solution in a short time. In the algorithm, the location of a food source and the quantity of nectar denote a solution of the optimization problem and the fitness value of the related solution, respectively. The algorithm starts with a parameter initialization and it generates an arbitrarily initial population (P) of SS solutions, which is the population size. Each solution xi is an n-dimensional vector. For the initialization process, (57) is used [122].

$$D_{i,j}^{{}} = D_{\text{min} ,i} + r\,\left( {D_{\text{max} ,i} - D_{\text{min} ,i} } \right),i = 1,\,\,2\, \ldots \,SS,\,j = 1,2,\, \ldots \,\,,\,n$$
(57)

where n is the number of optimization parameters (nā€‰ =ā€‰1 in the PV MPPT because the duty ratio is the only optimization parameter), Dmin,i and Dmax,i are the minimum and maximum allowable value of the duty ratio, respectively, r is a random number between āˆ’1 and 1. In the operation of the ABC algorithm, the employed bees evaluate the new food sources using (58) and determine the candidate food position (vi,j) from the old value (Di) in memory [122].

$$D_{i + 1,j}^{{}} = D_{i,j} + rand\,[0,1]\,\left( {D_{i,j} - D_{i,j} } \right)$$
(58)

Onlooker bees that are waiting in the dancing area move closer to the position of the employed bee where the nectar quantity is the highest [123]. This movement is given as shown in (59).

$$D_{i + 1}^{{}} = D_{h,i} + \frac{{r\,\left( {D_{\text{max} } - D_{\text{min} } } \right)}}{{\frac{SS}{2} - 1}}$$
(59)

where Dh represents the food source position with the highest nectar amount, SS is the number of bees, r is a random number between āˆ’1, 1.

The onlooker bees select food source of the employed bee calculated on the basis of probability connected to the food source as shown in (60) [122].

$$p_{i} = \frac{{P\left( {D_{i} } \right)}}{{\sum\limits_{n = 1}^{SS} {P\left( {D_{i} } \right)} }}$$
(60)

where P(Di) is the fitness function of Di.

The new value of power is compared to the old one and the new one will replace it if it is greater than the old one. This will continue until the scout bees select a new position of food based on Eq. (57). The logic shown for ABC has been used for MPPT of the PV system in [123] and it has been compared to the PSO and it is found that it has better performance than PSO in terms of convergence time and failure rate [123, 124]. FigureĀ 23 shows the flowchart of the artificial bee colony algorithm.

Fig.Ā 23
figure 23

The flowchart of the artificial bee colony algorithm

4.2.1.6 Cat Swarm Optimization (CSO)

Cat swarm optimization (CSO) is one of the swarm optimization techniques that has been developed in 2006 [125]. CSO is divided into two modes of operations, namely, seeking mode and tracing mode [125]. Each cat is representing one solution and it is used in the algorithm as a searching agent. So, depending on the optimization variable, M, the cat is composed of M dimensions (this dimension will be only one MPPT of PV system because only one variable will be optimized, the duty ratio of DC/DC converter or terminal voltage of PV array). So, in the case of using the CSO in MPPT of the PV system the value of M will be equal to 1 which will be used during this section.

During seeking mode, four essential factors should be defined as shown in the following points:

  • SMP: SMP is standing for ā€œSeeking Memory Pool,ā€ that represents the seeking memory size for each cat.

  • SRD: SRD is standing for ā€œSeeking Range Dimension,ā€ that declares the mutative ratio for the dimensions.

  • CDC: CDC is standing for ā€œCounts of Dimension to Change,ā€ that discloses the dimensions will be varied.

  • SPC: SPC is standing for ā€œSelf-Position Considering,ā€ which is used to decides which cat will move or stand.

The logic showing the CSO performance is shown in the following steps:

  • Step-1: Make j copies of the present position of catk, where jā€‰=ā€‰SMP. If the value of SPC is true, let jā€‰=ā€‰(SMP-1), then retain the present position as one of the candidates.

  • Step-2: For each copy, according to CDC, randomly plus or minus SRD percent of the present values and replace the old ones.

  • Step-3: Calculate the fitness values (FS) of all candidate points.

  • Step-4: If all FS are not exactly equal, calculate the selecting probability of each candidate point by Eq. (61), otherwise set all the selecting probability of each candidate point to be 1.

  • Step-5: Randomly pick the point to move to from the candidate points, and replace the position of catk. If the goal of the fitness function is to find the minimum solution, FSb=ā€‰FSmax, otherwise FSb=ā€‰FSmin.

$$P_{i} = \frac{{\left| {FS_{i} - FS_{b} } \right|}}{{FS_{\text{max} } - FS_{\text{min} } }},\,where\,\,0 < i < j$$
(61)

Three steps are shown below that can mimic the tracing mode of cats into a mathematical form:

  • Step 1: Update the velocities for each cat (vk) according to Eq. (62).

  • Step 2: Check the value of the velocity is within the predefined limits. If the velocity is out of the predefined limits it will be equated with the nearest limit.

  • Step 3: Use Eq. (63) to determine the new position of cats.

$$v_{k} = v_{k} + r_{1} \,\,c_{1} \,\left( {x_{\text{best}} - x_{k} } \right)\,\,$$
(62)

xbest is the position of the cat, who has the best fitness value; xk,d is the position of catk. c1 is a constant, and r1 is a random value in the range of [0, 1].

$$x_{k} = x_{k} + v_{k}$$
(63)

This technique (CSO) is used as an MPPT in many types of research [126]. This technique showed fast convergence to the MPP but it may stick at one of the LPs in PSC.

4.2.1.7 Ant Colony Optimization (ACO)

Ant colony optimization (ACO) is one of the swarm optimization techniques that mimic the performance of ants in their foraging behavior to be used for tracking the optimal solutions of nonlinear problems. This technique is first introduced by Dorigo and Gambardella [127]. Since then many modifications introduced in the literature to improve the performance of this technique and it has been used as MPPT of PV system [128, 129]. The use of ACO in the application of PV MPPT is done by using the voltage value of the PV array as bee location and the output power of the PV array is used as an objective function in the simulation [119]. The flowchart showing the logic of ACO when it is used as a PV MPPT is shown in Fig.Ā 24 [128].

Fig.Ā 24
figure 24

Flowchart of ACO when it is used as an MPPT of the PV system [131]

A new ACO pheromone updating strategy to improve the convergence performance of ACO (ACONPU MPPT) when it is used as an MPPT of the PV system is introduced in [119]. Once the ACONPU MPPT controller is developed, several tests are performed under standard test conditions to determine the ACO control parameters. The Gaussian Kernel for the ith dimension of the solution is shown in (64) [119].

$${{\text{G}}}_{{\text{i}}} \left( {\text{x}} \right) = \mathop \sum \limits_{{{\text{l}} = 1}}^{{\text{k}}} {{\text{w}}}_{{\text{l}}} {{\text{g}}}_{{\text{l}}}^{{\text{i}}} \left( {\text{x}} \right) = \mathop \sum \limits_{{{\text{l}} = 1}}^{{\text{k}}} {{\text{w}}}_{{\text{l}}} \frac{1}{{\sigma_{{\text{l}}}^{{\text{i}}} \sqrt {2\pi } }}{ \exp }\left( { - \frac{{\left( {{\text{x}} - \mu_{{\text{l}}}^{{\text{i}}} } \right)^{2} }}{{2\sigma_{{\text{l}}}^{{{\text{i}}2}} }}} \right)$$
(64)

where g li (x) is the lth sub-Gaussian function for the ith dimension of the solution; Ī¼ il and Ļƒ il are the ith-dimensional mean value and the standard deviation for the ith solution, respectively.

The formula that can be used to determine the pheromone equation, Ļ„li is shown in (65) [119]:

$$\tau_{\text{li}} \left( {\text{x}} \right) = \frac{1}{{\sigma_{\text{l}}^{\text{i}} \sqrt {2\pi } }}{ \exp }\left( { - \frac{{\left( {{\text{x}} - \mu_{\text{l}}^{\text{i}} } \right)^{2} }}{{2\sigma_{\text{l}}^{{{\text{i}}2}} }}} \right)$$
(65)

During the initial stage, the distances Di between each xi solution among the selected solutions are determined (iā€‰=ā€‰1ā€¦ m, where m is the number of ants) as shown in (66) and the best solution xbest.

$$D_{i} = \left| {x_{i} - x_{\text{best}} } \right|$$
(66)

The Gaussian, Ļ†i can be determined from (67).

$$\varphi_{\text{i}} = {\text{e}}^{{\frac{{ - D_{i}^{2} }}{2t}}}$$
(67)

where t is the standard deviation of the Gaussian (usually tā€‰=ā€‰0.05). The pheromoneā€™s value Ļ„i is calculated as shown in (68):

$$\tau_{i} = \frac{{\varphi_{i} }}{{\mathop \sum \nolimits_{{{\text{j}} = 1}}^{\text{m}} \varphi_{j} }}$$
(68)

The solution vector of the i-th ant concerning the kth ant at iteration t is obtained by (69).

$$x_{i} = x_{k} \left( {t - 1} \right) + dx$$
(69)

where dx is a random variable in the range of [āˆ’Ī±, Ī±], the value of dx is used to determine the length of the jump. Based on the value of \(x_{i}\) obtained from (69), the value of di can be determined as shown in (70).

$$d_{i} \left( t \right) = 1 - x_{i} \left( t \right)/x_{\text{ref}}$$
(70)

The best solutions, k will be selected from all solutions (mā€‰+ā€‰K). After reinitializing the archive, the m best solutions will be selected and their pheromones will be updated as shown in Eqs. (66)ā€“(68).

The corresponding generated power from the PV system can be calculated from (71) after sampling the voltage and current generated from the PV system.

$${\text{Objective}} \,{\text{function}} = P = V_{PV} \times I_{PV} \left( {G,T} \right)$$
(71)

where VPV and IPV are the terminal voltage and current of the PV array, respectively, T is the array temperature, G is the solar radiation in W/m2

The distance between any new solution and the best solution, Vbest can be obtained from (72).

$$D_{i} = \left| {V_{i} - V_{\text{best}} } \right|$$
(72)

Compute a Gaussian Ļ†i by (73)

$$\varphi_{i} = e^{{\frac{{ - D_{i}^{2} }}{2t}}}$$
(73)

where t is the standard deviation of the Gaussian. The pheromoneā€™s value i is computed as shown in (74).

$$\tau_{i} = \frac{{\varphi_{i} }}{{\mathop \sum \nolimits_{j = 1}^{m} \varphi_{j} }}$$
(74)

Then a perturbation of the voltage can be obtained from (75), (67).

$$V_{i} \left( t \right) = V_{k} \left( {t - 1} \right) + d_{x}$$
(75)

The new duty ratio of each ant i is computed as shown in (76).

$${\text{d}}_{\text{i}} \left( {\text{t}} \right) = 1 - {\text{V}}_{\text{i}} \left( {\text{t}} \right)/{\text{V}}_{\text{ref}}$$
(76)

Different parameters can considerably affect the performance of ACO such as the size of the archive, balance coefficient, convergence time. Tuning these values improved the results obtained from this technique compared to the PSO and DE MPPT techniques [119].

4.2.1.8 Fireflies Algorithm (FFA)

The FFA is one of the best swarm optimization techniques which is introduced by Yang [130]. Fireflies are lightning bugs that are attracted to the light in the tropical regions. The FFA is inspired by the movement of fireflies. This light is playing an important role in attracting mating partners and preys. The rate of flashing and the amount of time form part of the signal system is responsible for brings both sexes together [131].

Let p and q be two fireflies positioned at Xp and Xq, respectively. In a single-dimensional space, the distance between these two fireflies, rpq is shown in (77).

$$r_{pq} = \left\| {X_{p} - X_{q} } \right\|$$
(77)

The distance between any two fireflies p and q is a function in a factor called the degree of attractiveness, Ī² that can be obtained from (78).

$$\beta \left( r \right) = \beta_{0} e^{{ - \gamma \left( {r_{pq} } \right)^{n} }} ,\,\,\,n \ge 1$$
(78)

where, Ī³ is called absorption coefficient which is used to controls the light intensity and its value varies between 0 and 10 and n = 2 [130], Ī²0 is the initial value of the absorption coefficient and its value is chosen by 1 to actively determine the position of other fireflies in its neighborhood [130]. Assuming that the brightness of firefly p is less than that of q, the new position of firefly p is given by (79).

$$X_{p}^{t + 1} = X_{p}^{t} + \beta \left( r \right)\,\left( {X_{p} - X_{q} } \right) + \alpha \left( {rand - 0.5} \right)$$
(79)

Here, random movement factor Ī± is constant throughout the program and falls in the range [0, 1]. The value of Ī± enhancing the searching balance between exploitation and exploration, where the high value of Ī± enhances exploration, meanwhile small value of Ī± enhances exploitation [131].

The steps of the logic used with the FFA to capture the MPP of the PV system are shown in the following points:

  • Step 1: Parameter Setting: Select the values of FFA control parameters, Ī²o, Ī³, n, Ī±, population size N, and the termination criterion. In this algorithm, the position of the firefly is taken as a duty cycle d of the DC/DC converter. The brightness of each firefly is taken as a generated power PPV of the PV system, corresponding to the position of this firefly.

  • Step 2: Initialization of Fireflies: In this step, the fireflies are positioned in the allowable solution space between between dmin to dmax where dmin and dmax represent the minimum and maximum values of the duty ratio of the DC/DC converter. It is recommended to choose the starting position of the fireflies as introduced before in Eqs. (35), or (36). The swarm size is recommended to be 6 in [131].

  • Step 3: Brightness Evaluation: For each duty ratio, the corresponding PV output power, Ppv is taken as the brightness or light intensity of the respective firefly. This step is repeated for the position of all fireflies in the population.

  • Step 4: Update the Position of Fireflies: The firefly with maximum brightness remains in its position and the remaining fireflies update their position based on (79).

  • Step 5: Check if is there any acute change in the generated power which gives an indication for a big change of the shading pattern. Acute change can be detected using Eq. (40). If the acute change is detected go to step 2, otherwise go to the next step.

  • Step 6: Check the stopping criterion, if it is valid go to step 4 otherwise go to step 3. The stopping criterion should ensure that all fireflies all work around the MPP.

The convergence time and failure rate as well as the oscillations at steady-state are a function in the FFA control parameter values (Ī²o, Ī³, n, Ī±, population size, N). The advantages of FFA is not highly affected by the initial values of duty ratio which is one of the main advantages of this MPPT technique, meanwhile, the high failure rate of this technique is counted as one of the main shortcomings [119].

4.2.1.9 Whale Optimization Algorithm (WOA)

The Whale Optimization Algorithm (WOA) is one of the modern swarm optimization technique which has been developed in 2016 [132]. This technique is inspired by the WOA. This technique used for pursuing a procedure is called bubble-net feeding strategy. Humpback whales want to chase little fishes near the surface by making a bubble net around the prey rises along a circular path. This technique has been used in MPPT of the PV systems in many studies in the literature [133,134,135]. The mathematical formulas that model this technique is shown in the following equations:

$$D = \left| {\overrightarrow {C} \cdot \overrightarrow {X} * \left( t \right) - \overrightarrow {X} \left( t \right)} \right|$$
(80)
$$X\left( {t + 1} \right) = \overrightarrow {X} * \left( t \right) - \overrightarrow {A} \cdot \overrightarrow {D}$$
(81)

where t is the iteration number, \(\vec{A}\) and \(\vec{D}\) are the coefficient vectors, \(\vec{X}^{*}\) is a vector used to represent the vector of the best solution, \(\vec{X}\) represents the current position vector.

$$\vec{A} = 2\vec{a} \cdot \vec{r} {-} \vec{a}$$
(82)
$$\vec{C} = 2.\vec{r}$$
(83)

where \({\vec{\text{a}}}\) in equations is a variable linearly decrease from 2 to 0 through the progress of the iterations, \(\vec{r}\) is an arbitrary vector in the range of [0, 1]. The value of \(\vec{r}\)is used to balance between exploitation and exploration.

The spiral path between the position of the whale (current position) and prey (best solution) can be determined as shown in (84).

$$\overrightarrow {\text{X}} \left( { {\text{t }} + 1 } \right) = \overrightarrow {\text{D'}} \cdot {\text{e}}^{\text{bl}} \cdot {\text{cos }}\left( { 2 \pi {\text{l }}} \right) + \overrightarrow {{{\text{X}}^{ *} }} \left( {\text{t}} \right)$$
(84)

where \(\overrightarrow {D'} = \overrightarrow {{X^{*} }} \left( t \right) - \vec{X}\left( t \right)\) and demonstrates the distance between the ith whale and the prey (best solution), b is a constant for characterizing the state of the logarithmic spiral and its value is randomly chosen between āˆ’1 and 1.

Whales swim around the prey inside shrinking circle and along with a spiral form. There is a probability of half to select one of two approaches as shown in (85).

$${\vec{\text{X}}}\left( { {\text{t}} + 1 } \right) = \left\{ {\begin{array}{*{20}c} {\overrightarrow {{{\text{X}}^{*} }} \left( {\text{t}} \right) - {\vec{\text{A}}} \cdot {\vec{\text{D}}}} & {{\text{if}}\, p < 0.5} \\ {\overrightarrow {{{\text{D}}^{\prime } }} \cdot {\text{e}}^{\text{bl}} \cdot { \cos } \left( { 2 \pi {\text{l}} } \right) + \overrightarrow {{{\text{X}}^{*} }} \left( {\text{t}} \right) } & {{\text{if}}\, p \ge 0.5} \\ \end{array} } \right.$$
(85)

where p is a predefined value that can adjust the balance between exploration and exploitation and it can be selected between 0 and 1 and it can be adjusted during the progress of the iterations.

4.2.1.10 Cuttlefish Algorithm (CFA)

The cuttlefish algorithm (CFA) is one of the modern metaheuristic optimization algorithms that is inspired by a type of fish called cuttlefish that can change their skin color to mimic the surrounding environment to either seemingly disappear into its environment or to produce amazing displays. This algorithm was first introduced by Eesa et al. [134]. The algorithm undergoes the same mechanism of the cuttlefish color-changing behavior to optimize mathematical problems. There are three cells on the skin of Cuttlefish, namely, Chromatophores, Iridophores, and Leucophores.

The Chromatophores cell groups are having pigments to change the color of the Cuttlefish when it is needed. Iridophores cell groups are used to reflect the light which can help in concealing the Cuttlefish when it is needed. The Leucophores cell groups are responsible for the white spots occurring on some species of cuttlefish that are used to scatter and reflect incoming light. The behavior mechanism is mainly based on two processes which are reflection and visibility. The mathematical model of the algorithm uses different reflection and visibility factors for each group of solutions in an iteration to reach an optimum solution accurately and as fast as possible [136].

The mathematical formulation of the CFA is as follows. In general, the update of the suggested solution is presented in (86), while the reflection and visibility factors are calculated for each group using (87) and (88).

$$D_{\text{new}} = R_{ni} + V_{ni}$$
(86)
$$R_{i} = rd*\left( {r_{1} - r_{2} } \right) + r_{2}$$
(87)
$$V_{i} = rd*\left( {v_{1} - v_{2} } \right) + v_{2}$$
(88)

where Dnew is the newly updated population ready to be studied in the new iteration.

  • Rni are the new reflected population cells for the i-th group.

  • Vni are the new visible population cells for the i-th group.

  • Ri is the reflection factor for the i-th group.

  • Vi is the visibility factor for the i-th group.

  • rd is a generated random value between 0 and 1.

  • r1, r2 are the upper and lower limits of the reflection factor, respectively, (r1ā€‰=ā€‰1, r2ā€‰=ā€‰āˆ’1) [137].

  • v1, v2 are the upper and lower limits of the visibility factor, respectively, (v1ā€‰=ā€‰0.5, v2ā€‰=ā€‰āˆ’0.5) [137].

Initially, the population values (duty ratios) for each searching agent will be initialized may be randomly ā€¦.but it is recommended to initialize it based on Eqs. (35) or (36) and divide them into the different groups equally. The population is divided into four identical groups (Gp1, Gp2, Gp3, and Gp4). Then calculate the corresponding output power for each cell (duty ratio). The duty ratio associated with the global best is selected to Dbest. The new reflection and visibility factors can be determined from the following equations:

For Gp1:

$$R_{n1} = R_{1} \, \times G_{p1}$$
(89)
$$V_{n1} = V_{1} \, \times \left( {D_{\text{best}} - G_{p1} } \right)$$
(90)
$$G_{p1nw} = R_{n1} + V_{n1}$$
(91)

For Gp2:

$$R_{n2} = R_{2} \, \times G_{p2}$$
(92)
$$V_{n2} = V_{2} \, \times \left( {D_{best} - G_{p2} } \right)$$
(93)
$$G_{p2nw} = R_{n2} + V_{n2}$$
(94)

where

  • Rn1 and Rn2 are the arrays of the new updated reflected cells for groups 1 and 2, respectively.

  • R1 and R2 are the reflection factors set for groups 1 and 2, respectively.

  • Vn1 and Vn2 are the arrays of the new updated visible cells for groups 1 and 2, respectively.

  • V1 and V2 are the visibility factor set for groups 1 and 2, respectively.

  • Gp1 and Gp2 are the arrays of cells in groups 1 and 2 of the population, respectively.Gp1new and Gp2new are the arrays of new updated cells in groups 1 and 2 of the population, respectively.

For Gp3 and Gp4:

$$R_{n3} = R_{3} \, \times F_{\text{best}}$$
(95)
$$V_{n3} = V_{3} \, \times \left( {F_{\text{best}} - B_{av} } \right)$$
(96)
$$G_{p3new} = R_{n3} + V_{n3}$$
(97)
$$G_{p4new} = random\,\,values\,$$
(98)

where

  • Rn3 is the array of the new updated reflected cells for group 3.

  • R3 is the reflection factor set for group 3.

  • Vn3 is the array of the new updated visible cells for group 3.

  • V3 is the visibility factor set for group 3.

  • Gp3 is the array of cells in group 3 of the population.

  • Gp3new, Gp4new are the arrays of new updated cells in groups 3 and 4, respectively, of the population.

4.2.1.11 Grass Hopper Optimization (GHO)

Grass Hopper Optimization (GHO) is one of the best swarm optimization algorithms which first introduced by Saremi et al. [138]. The GHO algorithm mimics the behavior of the grasshoppers during their life cycle. The GHO algorithm consists of two sub-cycles, namely nymph and adult sub-cycles. In the nymph sub-cycle, the algorithm uses it to control the movement (Jump) to enhance the exploitation search. In the adult sub-cycle, it is characterized by fast jumps with random intervals which can help to enhance the global exploration search. The controlled GHO parameters are helping in the balance between the local and global explorations.

The movement of searching agents is given by Eq. (99) [139];

$$X_{i} = \omega_{1} \,S_{i} + \omega_{2} \,G_{i} + \omega_{3} \,A_{i}$$
(99)

where Xi is the position of the i-th searching agent, Si is the social interaction, Gi is the gravity factor of the i-th grasshopper, and Ai is the variable to represent the effect of wind on the movement of each particle, Ļ‰1, Ļ‰2, and Ļ‰3 are the factors to represent the weighted social interaction, the gravity factor, and the advection, respectively.

The social interaction factor is shown in Eq. (100) is a very important factor that controls the behavior of convergence where it enhances the exploration of the search by sharing the information within the swarm.

$$S_{i} = \sum\limits_{j = 1}^{N} {s\left( {d_{i,j} } \right).\vec{d}_{ij} }$$
(100)

where di,j is the distance between the i-th and j-th grasshoppers and s is the function used to define the social forces which can be determined from Eq. (101).

$$s(r) = f.e^{{ - \frac{r}{la}}} - e^{ - r}$$
(101)

where la gives the attraction length and f provides the intensity of interaction. The function s(r) shows the impact of social interaction and is fine-tuned for an optimization problem to maintain a balance between the exploitation and exploration of the search task.

The gravitational factor Gi is given by Eq. (102) and wind attraction factor is given by Eq. (103)

$$G_{i} = - g\,.\,\vec{e}_{g}$$
(102)
$$A_{i} = - u\,.\,\vec{e}_{w}$$
(103)

where \(\vec{e}_{g}\) is a unit vector in the direction of the gravitational constant g, and \(\vec{e}_{w}\) is a unit vector in the direction of constant drift u which is caused by wind.

Substituting the values of social interaction parameters into Eq. (99) yields

$$X_{i} = \omega_{1} \sum\limits_{\begin{subarray}{l} j = 1 \\ j \ne i \end{subarray} }^{N} {s\left( {\left| {x_{j} - x_{i} } \right|} \right)\frac{{x_{j} - x_{i} }}{{\vec{d}_{ij} }}} \, + \omega_{2} .g.\vec{e}_{g} + \omega_{3} .u.\vec{e}_{w}$$
(104)

The GHO converged fast using Eq. (104) and this mechanism has been improved for fast and reliable convergence by [139] as shown in Eq. (105).

$$X_{i}^{d} = c\left( {\sum\limits_{\begin{subarray}{l} j = 1 \\ j \ne i \end{subarray} }^{N} {c\frac{{ub_{d} - lb_{d} }}{2}s\left( {\left| {x_{j} - x_{i} } \right|} \right)\frac{{x_{j} - x_{i} }}{{\vec{d}_{ij} }}} \, + \vec{e}_{g} } \right) + \vec{T}_{d}$$
(105)
$$c = c_{\text{max} } - l\frac{{c_{\text{max} } - c_{\text{min} } }}{L}$$
(106)

where c is a decreasing coefficient, ubd and lbd are upper and lower bounds in the d-th dimension \(\vec{T}_{d}\) is the best value of the d-th dimension of the target up to the current iteration. L is the total number of iterations and l is the current iteration.

GHO is having two main advantages compared to other swarm optimization which are the fast convergence and the lowest oscillations at the steady state. In the beginning, the population is better to be initialized as has been introduced before in (35) or (36). Here, the search space represents the duty cycle of the boost converter. The constraints are fine-tuned accordingly in the search space.

4.2.1.12 Intelligent Monkey King Evolution (IMKE)

The Intelligent Monkey King Evolution (IMKE) is a metaheuristic optimization algorithm introduced by Meng et al. [140]. This optimization algorithm is inspired by the behavior of monkeys in their superpower abilities under a challenging situation in which they divided themselves into many small groups of monkeys and start working toward the solution. After achieving the solution to the problem, another group will report the whole situation to the monkey king.

Based on these reports, the monkey king decides the most accurate solution. Based on the monkey kingā€™s decision the whole swarm will move. In the start of the operation of IMKE algorithm, the whole swarm is divided into n groups, each group contains p monkeys and get their initial position as shown in (107). The variable Rc represents the evaluation of the monkey king for the next movement.

Accurate selection for the value of Rc will improve the performance of IMKE algorithm in terms of convergence time and failure rate. Due to the importance of this factor, it has been limited by upper and lower limits [Rc,min, Rc,max] as shown in (110). Generally this Rc,min and Rc,max lie in the range 0.1ā€“0.9 [4, 141].

$$X^{i} = \left[ {\begin{array}{*{20}c} {x_{11}^{i} \,\,x_{12}^{i} \,\, \ldots x_{1v}^{i} } \\ {x_{21}^{i} \,\,x_{22}^{i} \,\, \ldots x_{2v}^{i} } \\ { \ldots \ldots } \\ {x_{p1}^{i} \,\,x_{p2}^{i} \,\, \ldots x_{pv}^{i} } \\ \end{array} } \right]p*v$$
(107)

From the results obtained when the positions in (107) are applied to the PV system, the best solution can be obtained as shown in (108).

$$X_{\text{gbest}}^{i} = [X_{{{\text{gbest}},1}}^{i} ,\,\,X_{{{\text{gbest}},2}}^{i} ,\,\,\, \ldots X_{{{\text{gbest}},n}}^{i}$$
(108)

The best solution should be updated as shown in (109).

$$X_{\text{gbest}}^{i + 1} = X_{\text{gbest}}^{i + 1} + R_{c} *X_{\text{diff}}$$
(109)
$$R_{c} = R_{c,\text{min} } + \frac{{R_{c,\text{max} } - R_{c,\text{min} } }}{i}*rand$$
(110)
4.2.1.13 Salp Swarm Algorism (SSA)

The salp is a sea creature that has a transparent body like jellyfishes with a barrel-like shape. Salps move in seawater through suction and propulsion the water through their barrel body. The salps move in a group called chain as shown in Fig.Ā 25. The shape of salps is barrel-shaped and it has a transparent body. The salps tissues are like jellyfishes. Like a jellyfish, the salps are moving and it moves forward by pushing the water through the body like propulsion. FigureĀ 25 shows the shape of the salp chain [142]. The salp chain formation is used to improve their movement and to help them in foraging. This movement inspired the researchers to use this chain to solve nonlinear optimization problems. One of the real-world applications of SSA is PV MPPT [143].

Fig.Ā 25
figure 25

a Salp as single and b a group of salps (salp chain) [146]

The swarm of salps is divided into two subgroups called leaders and followers [142, 143], The leader subgroup is responsible for guiding the swarm, meanwhile, the followers obey the leadersā€™ orders. The swarm is distributed in searching space in n dimensions. First, the leader takes their positions based on the formula shown in Eq. (111).

$$X_{j}^{1} = \left\{ {\begin{array}{*{20}c} {F_{j} + c_{1} \left( {\left( {ub_{j} - lb_{j} } \right)c_{2} + lb_{j} } \right)\,\,\,\,\,c_{3} \ge 0} \\ {F_{j} - c_{1} \left( {\left( {ub_{j} - lb_{j} } \right)c_{2} + lb_{j} } \right)\,\,\,\,\,c_{3} < 0} \\ \end{array} } \right.$$
(111)

where \(X_{j}^{1}\) are the leadersā€™ positions, Fj are the food sources, ubj and lbj are the upper and lower limit, respectively, c1, c2, and c3 are random numbers. As shown in Eq. (111), the position of the leader is updated about the food source. c1 is an important parameter that can determine the exploitation and exploration performances and its value can be determined from Eq. (112).

$$c_{1} = 2\,e^{{ - \left( {\frac{4l}{L}} \right)^{2} }}$$
(112)

where L is the maximum iteration number, l is the current iteration number. c2 and c3 are generated randomly between [0, 1]. The follower position can be determined as shown in (113).

$$X_{j}^{i} = \frac{1}{2}at^{2} + V_{o} \,t$$
(113)

where \(X_{j}^{i}\) are the followersā€™ positions, Vo is the initial velocity, aā€‰=ā€‰Vfinal/Vo, and Vā€‰=ā€‰xā€‰āˆ’ā€‰xo/t. Equation (113) is altered. The new position of salps chain is shown in Eq. (114).

$$X_{j}^{i} = \frac{1}{2}\left( {X_{j}^{i} + X_{j}^{i - 1} } \right)$$
(114)

Application of SSA in the PV MPPT is done by equating the initial positions of salps by the duty ratio of the boost converter and use the above Eqs. (111)ā€“(114) to keep tracking the GP of PV arrays. The flowchart of SSA when it is used as an MPPT of the PV system is shown in Fig.Ā 26 [144].

Fig.Ā 26
figure 26

The flowchart of the salp swarm MPPT technique

4.2.1.14 Mothā€“Flame Optimization (MFO)

Moths are types of insects similar to butterflies. There are two main milestones in their lifetime namely, larvae and adults. They have a special night navigation mechanism called transverse orientation, where they fly in a straight line having a fixed angle to the moon. In the case of the light source is switched off, they fly in a spiral shape around the previous source of light and it can capture it after a few corrections. The spiral flight of a moth around its corresponding flame is shown in Fig.Ā 27 [145]. This flight mechanism is translated into mathematical formulas to perform the searching mechanism to capture the solution in nonlinear optimization problems. In the MFO algorithm, every moth representing a searching agent that is required to fly around a certain source of light to enhance the exploration search and a lower probability of local optima stagnation. Therefore, a set of sources of light locations can be represented in a matrix with the same dimensions to represent the moth positions. Both the moths and the lights are representing solutions. The moths and light are treated and updated in different ways During the progress of MFO. Each moth is representing a search agent which can fly the search area to get the global best solution. The lights are representing the best solutions that the moths have captured so far. In other words, flames can be considered as flags or pins that are dropped by moths when exploring a search space. Each moth searches around a flame and updates it in the case of finding a better solution. With this mechanism, a moth never loses its best solution.

Fig.Ā 27
figure 27

Spiral flight of a moth around its corresponding flame

The moth position can be updated using the following equation:

$$M_{i} = S\left( {M_{i} ,\,F_{j} } \right)$$
(115)

where Mi indicates the i-th moth, Fj indicates the j-th flame, and S is the spiral function. The characteristics of the spiral function is listed in the following points:

  • The initial point of a spiral is the initial moth position.

  • The source of light location is the final point of a spiral and it represents the best position of the moth.

  • The predefined range of the spiral should be within the searching area.

Taking the previous points into considerations, the mathematical model of the spiral function is shown in Eqs. (116) and (117).

$$S\left( {M_{i} ,\,F_{j} } \right) = D_{i} \cdot e^{bt} \cdot \cos \left( {2\pi t} \right) + F_{j}$$
(116)
$$D_{i} = \left| {\,F_{j} - M_{i} } \right|$$
(117)

where Di represents the distance between the positions of i-th moth and the j-th light, b is a constant represents the shape of the spiral, and t is a random number in [r, 1], where r is a constant that linearly decreasing with iterations from āˆ’1 to āˆ’2 and is called the adaptive convergence constant.

A strategy was introduced to enhance the exploitation search of the MFO by decreasing the number of flams as shown in Eq. (118).

$$flame\,\,\,number = round\left( {N - l\frac{N - 1}{L}} \right)$$
(118)

where l is the current iteration number, N is the maximum number of flames, and L indicates the maximum number of iterations.

This mechanism introduced in (118) enhances the balance performance between the exploration and exploitation in a solution area. The MFO has been used as an MPPT of the PV system by initializing the Moths (duty ratios) as has been shown in (38) or (39), in the beginning, the mothsā€™ positions are selected to be as a flam position. During the iterations, the flame positions will be equal to the best solutions of Moths. This searching mechanism provides a good balance between exploration and exploitation which makes MFO is a superior choice for MPPT of PV systems. In the case of acute change in the output power as has been discussed in Eq. (40), the Moths and flame positions should be updated.

4.2.1.15 A Comprehensive Comparison Between Swarm Intelligence Algorithms MPPT Techniques

The performance of all swarm techniques introduced above is tabulated in the following TableĀ 4 shows the difference between them in many important factors. Based on the experience from using these techniques, BA is the fastest convergence but it has higher oscillations in steady-state conditions.

TableĀ 4 Comprehensive comparison between Swarm Intelligence Algorithms MPPT techniques

4.2.2 Bio/Natural-Inspired Algorithms (BNIA)

4.2.2.1 Earthquake Optimization Algorithm (EOA)

The earthquake optimization algorithm (EOA) is one of the nature algorithms and sometimes it is called (geo-inspired) [146]. This technique is inspired by the behavior of P and S waves which can be generated from earthquakes. This optimization technique is introduced in 2018 and it has been used in the control of the electric machine [147]. The first time to be used as an MPPT of the PV system was in 2020 by Mendez [148].

The mathematical formulae that can model the velocities of P and S waveforms are shown in (119) and (120), respectively [148].

$$v_{p} = \sqrt {\frac{\lambda + 2\mu }{\rho }}$$
(119)
$$v_{s} = \sqrt {\frac{\mu }{\rho }}$$
(120)

where \(v_{p}\) and \(v_{s}\) are the velocities of waves, Ī» and \(\mu\) are called the LamĆ© parameters, and \(\rho\) the density of the material. The optimal relation for the LamĆ© parameters was found to be 1.5, consequently [148]:

$$\lambda = \mu = 1.5\,\,\,{\text{GPa}}$$
(121)

The densities of the material \(\rho\) are chosen randomly between 2200 and 3300Ā kg/m3 [148]. It is important to define an operating range for the S-wave or S-range, Sr to decide whether to use vp or vs. Searching flag (Sflag) is performed to be sure that the best duty cycle is within the searching positions.

The main difference between the modification shown in [148] and the original EOA is it returns to the global best duty ratio after evaluating an epicenter to have a faster reaction against irradiation changes. FigureĀ 28 shows the flowchart of the earthquake optimization algorithm (EOA) MPPT algorithm [148].

Fig.Ā 28
figure 28

The flowchart showing the logic of using the Earthquake Optimization Algorithm (EOA) as a PV MPPT algorithm [152]

4.2.2.2 Simulated Annealing (SA)

Simulated annealing (SA) is a metaheuristic optimization technique inspired by the annealing process that is used in nature to produce high-quality crystals. This technique uses the temperature, final temperature, and nominal cooling rate for searching the optimal solution of nonlinear optimization problems. This technique was first developed in 1970 by Pincus [149]. This technique is used in the MPPT of the PV system by many research studies [5, 135]. Many improvements were introduced to SA which improved its performance in tracking the MPP in uniform irradiance and the PSC [7]. In normal operation of the SA, a random number of solutions are initialized but here in the MPPT of PV systems, it is better to initiate the duty ratio of DC/DC converter to be as stated before in Eqs. (35) or (36). The initial values of power corresponding to each duty ratio will be determined. By the neighborhood mathematical structure, the new position of particles will be determined. If the new operating point has greater power, then it will be accepted as the new operating power.

The operating point can be accepted if its new point has less power than the reference operating point based on the acceptance property shown in (122) [5]:

$$P_{r} = \exp \left[ {\frac{{P_{k} - P_{i} }}{{T_{k} }}} \right]$$
(122)

where Pk is the power of the current point, Pi is the power at the previous best operating point, and Tk is the current temperature of the system.

The cooling mechanism used in the SA can be either static or adaptive as shown in (123).

$$T_{k} = \alpha T_{k - 1}$$
(123)

where Tk is the temperature for step k, Tk-1 is the temperature at step k ā€“ 1 and Ī± is a constant always less than 1.

The SA algorithm has been used for tracking the MPP of the PV system in PSC in [135]. The results obtained from this study showed the superiority of the SA compared to famous MPPT techniques like PSO and P&O in terms of convergence speed, failure rate, and generation efficiency. As the PSO, the SA needs reinitialization when an acute change in power is detected as has been discussed before and shown in Eq.Ā (40). FigureĀ 29 shows the flowchart SA-based GP under PSC.

Fig.Ā 29
figure 29

Flowchart of SA based GMPPT under PSC

4.2.2.3 Human Psychology Optimization (HPO)

Human psychology optimization (HPO) is one of the metaheuristic techniques inspired by the manner of thinking of humans for improving his/her situation and taking decisions in the real world. The person gets experience from his own learning and the experience of other persons which is the logic used in this technique. The first time to use HPO as an MPPT of PV systems is done in 2017 by Kumar et al. [150]. In this study, the performance evaluation of the HPO algorithm has been compared with two different PSO strategies in tracking the MPP of partially shaded PV systems using a single sensor to measure the current feeding a battery in the DC-link. The advantage of the HPO when it is used as an MPPT of the PV system is its fast convergence rate and the lower failure rate. Moreover, its performance does not depend on the initial value and the dependency on the algorithm specified parameter is very less [150]. The searching mechanism of this technique has four stages that are listed in the following points:

  • Excitement: In this stage, the searching agents take values of duty ratios that can be determined from Eqs. (35) or (36). It gives an initial move and tries to build confidence.

  • Self-motivation: It is a self-encouraging process that depends on the personā€™s own experiences and achievements in which it enhances the local exploitation ability, which increases the rate of convergence.

  • Inspiration: In this stage, the person is inspired by the experience of a successful person to follow his creative idea for success. This stage enhances global exploration ability.

  • Lesson: The previous fail experiences learned from the personā€™s own experience and other persons should be avoided in the future decision. This stage helps in avoiding the searching to be trapped in one of the LPs.

The results presented in the use of HPO in the MPPT of the PV system show its superiority in terms of convergence time and failure rate compared to other states of the art PSO strategies [150]. Moreover, the use of a single sensor to measure the battery current reduces the implementation cost of this system.

4.2.2.4 Flower Pollination Algorithm (FPA)

Flower pollination algorithm (FPA) is a metaheuristic optimization technique inspired by the flower pollination process in the plants. Two types of pollination, namely, self-pollination and cross-pollination. The self-pollination takes place when the same flower is pollinated internally which represents the private search of the FPA, whereas cross-pollination occurs when pollen moves from one flower to another which represents the global search of the FPA. The abiotic pollination occurs when the pollen is transferred via wind, whereas the biotic pollination occurred when the pollen transferred from the flower of male plants to the female through the insects.

The FPA has four steps which are summarized in the following points:

  • The global pollination occurred in the two types of pollinations when the pollen carrying pollinators transferred in LĆ©vy flights shape.

  • The biotic and self-pollinations represent the local pollination.

  • Reproduction probability is representing the flower constancy which is proportional to the similarity of two flowers involved;

  • The local and global pollination has been controlled and switched via switch probability Pāˆˆ [0, 1].

The concepts shown in the above points are converted to a mathematical model as shown in the following equations. The position of the pollinators that moves using LĆ©vy flights shape can be obtained as shown in (124).

$${\text{x}}_{\text{i}}^{{{\text{k}} + 1}} = {\text{x}}_{\text{i}}^{\text{k}} + \gamma {\text{L}}\left( \lambda \right)\left( {{\text{g}}_{ *} - {\text{x}}_{\text{i}}^{\text{k}} } \right)$$
(124)

where \(x_{i}^{t}\) is the solution vector \(x_{i}\)at iteration t and \(g\) is the best solution (duty cycle) of boost converter duty cycle. Ī³ is a scaling factor that used for controlling the step size, \(L\left( \lambda \right)\) are the LĆ©vy flights-based step size that can be obtained from the following equation [5, 151]:

$${\text{L}} \approx \frac{{\lambda \varGamma \left( \lambda \right)\sin \left( {\frac{\varPi \lambda }{2}} \right)}}{\varPi } \frac{1}{{{\text{S}}^{1 + \lambda } }}({\text{S}} \ge {\text{S}}_{0} > 0)$$
(125)

where \(\varPi \left( \lambda \right)\) represents the gamma function.

FPA has been used as an MPPT of PV system and it showed superior performance in terms of convergence time and failure rate compared to many MPPT techniques like PSO and P&O techniques [152]. The FPA required only control parameter (Ī³) which makes it very easy to be tuned for better performance.

4.2.2.5 Teaching Learning Algorithm (TLA)

The TLA is one of the modern metaheuristic optimization algorithms that inspired by the influence of a teacher on learners or students and it has two phases; first, the teacher phase which means leaning from the teacher; second, the learner phase which means learning by the interaction between students (cooperation). This technique uses candidate solutions (Duty ratio) as many other metaheuristic techniques to track the optimal solution (MPP in PV applications). The teacher phase uses the experience of the teacher to improve the studentsā€™ level of knowledge. The learner phase is performed through the teacher and interaction between the learners to increase their knowledge. A learner interacts randomly with other learners through group discussions, presentations, formal communications, etc. A learner learns new information when the other learner has more information than him. A detailed discerption of using this technique as an MPPT of the PV system is introduced in literature [153, 154]. The results obtained from these studies showed superior performance of TLA compared to other optimization techniques in terms of convergence time and failure rate.

4.2.2.6 Water Cycle Algorithm (WCA)

The water cycle algorithm is a meta-heuristic optimization technique that imitates the flowing of streams and rivers into the sea and its idea is derived by observing the water cycle in nature. Hydrologic cycle begins when water in the river, lakes, and streams is evaporated and also plants release water during the photosynthesis process. The evaporated water is carried out into the colder layer of the atmosphere to create clouds that condense and releasing water back to the earth. The initial population of WCA is called raindrops. The best raindrop is chosen as a sea, the number of good raindrops is chosen as a river and the rest of the raindrops are considered as streams. The water cycle algorithm has been used in many fields such as water resources, civil engineering, mechanical engineering, and mathematics. In the water cycle algorithm, the variables are called Raindrops for a single solution [155]. This technique showed a fast convergence and low failure rate compared to many states of the art MPPT techniques.

4.2.3 Evolutionary Algorithms (EA)

4.2.3.1 Differential Evolution (DE)

The use of differential evaluation theory was developed by Tajuddin et al. [156], in which the optimization problem will be solved by using a different formula for the evolution of candidate solutions. The solutions that have the best fitness are allowed to remain in the population and the other solutions will be removed from the population. Four DE operations, namely, initialization, mutation, crossover, and selection are required to track the optimal solution of the optimization problem. The duty cycle represents a member of the population where its value can be determined from (126).

$$D_{i} \left( j \right) = D_{iL} + r\,\left( {D_{iH} - D_{iL} } \right)$$
(126)

where DiL, DiH are the lower and the higher limit of the duty ratios, respectively, r is a random number between 0 and 1, j is representing the iteration number, and i represents the number of the searching agent (duty ratio) inside the population, N.

In each iteration, the individuals of the current population become the target vectors. For each target vector, the mutation operation produces a mutant vector, by adding the weighted difference between two randomly chosen vectors as shown in (127) [157].

$$D_{i,G + 1} = D_{r1.GX} + F\,\left( {D_{r2,G} - D_{r3,G} } \right)$$
(127)

Then the crossover operation generates a new vector, called trial vector Di,G. This is obtained by mixing the parameters of the mutant vector Di,G with those of the target vector Di,G which is used with the PV system to get the corresponding power. If the trial vector obtains a better fitness value than the target vector, then the trial vector replaces the target vector in the next generation. This process will be repeated through iterations until an acute change is detected which forces the DE to reinitialize again as has been introduced before with PSO and show in Eq. (40).

Differential evaluation is reasonably it has fast convergence performance but it has high oscillations, especially in fast-changing conditions. Many modifications are introduced in the literature to further improve the performance of DE [158,159,160]. The flowchart of the DE is shown in Fig.Ā 30 [159].

Fig.Ā 30
figure 30

The flowchart of differential Evaluation. [163]

4.2.3.2 Genetic Algorithm (GA)

The genetic algorithm is one of the evolutionary techniques which is used to capture accurate solutions for optimization problems. This technique (GA) is inspired by biological genetics based on three operators namely, mutation, crossover, and selection. This technique is developed based on the concept of Darwinā€™s theory of evolution in which the children having the highest fitness value means that they are powerful enough to have a higher chance for production. The GA optimization algorithm is one of the metaheuristic optimization techniques that use the generation, systematic evaluation, and enhancement of potential design solutions. The mutation operator is used to maintain the genetic diversity from one generation to the next one which can permit a stochastic variability of GA which can reduce the convergence time considerably [161].

In using the GA as an MPPT of PV systems, the duty ratio or terminal voltage is used to initially set the chromosomes to follow the GA performance for tracking the GP. These chromosomes are encoded in the form of a binary code which is used to determine the chromosome population. The mutation and crossover will be performed in the execution of the algorithm to produce the new generation. The new generation will be determined using the fitness function which can be obtained from the PV system. The algorithm will be repeated keeping the highest fitness value as the best solution [8]. A detailed comparison between using the GA and other traditional PV MPPT techniques is introduced in [162]. The GA has been used also to determine the optimal configuration of hybrid renewable energy systems [163]. The flowchart of the GA is shown in Fig.Ā 31 [162].

Fig.Ā 31
figure 31

The following part in GA from [166]

4.2.4 Mathematical Based Algorithms (MBA)

These techniques are soft-computing-based techniques that use mathematical formulas in searching for the optimum solutions without imitating any natural, biological, or physical evolution. Some of these techniques when they are used as an MPPT of PV systems are shown in the following sections:

4.2.4.1 Fibonacci Search Algorithm (FSA)

Fibonacci search (FSA) is counted as one of the soft-computing MPPT techniques [164]. This technique is using samples derived from Fibonacci series as shown in (128):

$$F_{n} = F_{n - 1} + F_{n - 2} ,\,{\text{where}}\,F_{0} = F_{1} = 1\,{\text{and}}\,n = 2, 3, 4\ldots$$
(128)

In this case, the first 10 FS numbers are shown in the following Table:

n

0

1

2

3

4

5

6

7

8

9

10

Fn

1

1

2

3

5

8

13

21

34

55

89

The value of Fn is determining the accuracy of the solution, where the higher the value of Fn the higher the accuracy. The relation between the value of Fn and the accuracy of the results as a ratio of the exact solution is given from the following condition (129).

$$F_{n} \ge \frac{1}{2\varepsilon }$$
(129)

where Īµ is the acceptable tolerance, as an example if it is required the accuracy of the solution to be 0.01 from the value of the exact solution, then Fnā€‰ā‰„ā€‰50, the n should be equal to 9 as shown in the above table. Then Fnā€‰=ā€‰55;

Four samples will be generated as x1, x2, x3, x4, where x3 and x4 are selected as the lower and upper and lower limits of searching values, and x1 and x2 are chosen to be in between x3 and x4 [165]. The relation between the duty ratio and the samples xi is used as shown in (130). These values of duty ratios will be applied to the PV system one by one and the corresponding power will be collected. The sample corresponding to the highest power is called the best sample. Based on the results obtained from the first iteration, the two conditions are shown in (131) and (132) will be determined [166].

$$D_{i} = \frac{{x_{i} }}{256 - 1}$$
(130)

If P(x1)ā€‰>ā€‰P(x2), then

$$x_{4}^{i + 1} = x_{2}^{i} ,x_{3}^{i + 1} = x_{3}^{i} ,x_{2}^{i + 1} = x_{1}^{i} ,x_{1}^{i + 1} = x_{2}^{i + 1} - F_{n}$$
(131)

If P(x1)ā€‰<ā€‰P(x2), then

$$x_{4}^{i + 1} = x_{4}^{i} ,x_{3}^{i + 1} = x_{1}^{i} ,x_{1}^{i + 1} = x_{2}^{i} ,x_{2}^{i + 1} = x_{1}^{i + 1} - F_{n}$$
(132)

Modified equations are introduced in [167] to reduce the convergence time as shown in (133) and (134).

If P(x1)ā€‰>ā€‰P(x2), then

$$x_{4}^{i + 1} = x_{2}^{i} ,x_{3}^{i + 1} = x_{3}^{i} ,x_{2}^{i + 1} = x_{1}^{i} ,x_{1}^{i + 1} = x_{1}^{i} + \frac{{F_{n - 1} }}{{F_{n} }}\left( {x_{4}^{i} - x_{3}^{i} } \right)$$
(133)

If P(x1)ā€‰<ā€‰P(x2), then

$$x_{4}^{i + 1} = x_{4}^{i} ,x_{3}^{i + 1} = x_{1}^{i} ,x_{1}^{i + 1} = x_{2}^{i} ,x_{2}^{i + 1} = x_{2}^{i} + \frac{{F_{n - 1} }}{{F_{n} }}\left( {x_{4}^{i} - x_{3}^{i} } \right)$$
(134)

The flowchart showing the Fibonacci Search is shown in Fig.Ā 32. The main shortcoming of FS is its limitation to capture the GP in the case of PSC. Moreover, the complexity of the implementation of this technique which makes it not favorite to be used as an MPPT of the PV system.

Fig.Ā 32
figure 32

Fibonacci Search Flowchart

4.2.4.2 Jaya Optimization Algorithm (JOA)

The generic Jaya algorithm is one of the soft-computing, mathematical-based optimization technique introduced in 2016 by Rao [168]. The operating principle of the Jaya algorithm is to iteratively update solutions for a given problem by moving them toward the best solution and away from the worst solution. Jaya algorithm does not require controlled parameters which makes Jaya is an attractive option for tracking the MPP of the PV system. Two random numbers generated from uniform distribution are used to update the candidate solutions to the optimization problem. Jaya algorithm has been used as an MPPT of partially shaded PV systems in 2017 [169]. The results obtained by this technique have been compared to two different PSO strategies. The results showed better convergence performance for the Jaya algorithm compared to the PSO in tracking the MPP of the partially shaded PV system.

The use of the Jaya algorithm in the MPPT of the PV system is done in [169] by initializing n candidate solutions and use these values to collect the corresponding power associate with each solution (Voltage). Then the best solution and worst solution can be determined and their corresponding voltage is selected as \(V_{\text{best}}^{0}\), and \(V_{\text{worst}}^{0}\), respectively. And use these values to determine the new generation of solutions. Use the voltage to determine the corresponding power from the PV system. If the newly generated power is greater than the one in the previous iteration, then keep the new one otherwise keep the one in the previous iteration for the same particle. The iterations should be repeated again until the system detects an acute change in power which forces the Jaya algorithm to reinitialize again.

$$V_{k}^{l + 1} = V_{k}^{l} + rand_{1} \left( {V_{\text{best}}^{l} - \left| {V_{m,n}^{l} } \right|} \right) - rand_{2} \left( {V_{\text{worst}}^{l} - \left| {V_{m,n}^{l} } \right|} \right)$$
(135)
$$V_{k}^{l + 1} = \left\{ {\begin{array}{*{20}c} {V_{k}^{l + 1} \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,if\,\,P\left( {V_{k}^{l + 1} } \right) > P\left( {V_{k}^{l} } \right)} \\ {V_{k}^{l} \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,otherwise} \\ \end{array} } \right.$$
(136)

where \(V_{k}^{l}\) is a candidate solution (PV terminal voltage) of particle k in iteration l. \(V_{\text{best}}^{l}\) and \(V_{\text{worst}}^{l}\) are the voltages of the best and worst solutions in iteration l, respectively. rand1 and rand2 are random numbers between 0 and 1.

To enhance the MPPT performance of PV systems in terms of faster convergence, lower oscillation, and higher efficiency, a natural cubic spline-based prediction model is incorporated into the iterative solution update of the Jaya algorithm is introduced in [170]. The utilization of the natural cubic spline model in the iterative process of the S-Jaya algorithm can avoid worse updates and thereby improves the MPPT performance. Simultaneously, the natural cubic spline model can be renewed online to maintain its prediction accuracy and produce correct decisions of updating solutions [170].

4.2.4.3 Tabu Search Algorithm (TSA)

The Tabu search algorithm (TSA) is one of the mathematical-based Algorithms (MBA) that can be used to solve nonlinear optimization problems. It is using many other optimization algorithms such as linear programming and heuristics in adaptive procedures to avoid their limitations such as their high failure rates. The TSA is one of the metaheuristics optimization techniques and it has been created in 1986 by Glover [171]. By relaxing TSAā€™s basic rule, the TSA enhances its local search performance. First, at each step worsening moves can be accepted if no improving move is available. In addition, prohibitions are introduced to discourage the search from coming back to previously seen solutions.

The implementation of the Tabu search uses memory structures that describe the visited solutions or user-provided sets of rules. In the case of the solution that has been previously seen within a short-term period, The TSA will mark these solutions candidates to avoid the possibility to look at it again. TSA has been used in used as MPPT of the PV system in [172], where it has been divided into three sub-strategies, namely diversification search, local search, and intensification search. The diversification search is performed first by scanning the whole range of the PV array voltage for the detection of the promising voltage area. Then the hill-climbing method with a relatively large step size is employed as the local search to explore the detected promising area. These two search strategies are assembled to compose the main loop of TSA-MPPT and are repeated until the termination conditions are satisfied. Moreover, the tabu list which records the explored regions is used during the loops to avoid returning to the already visited voltage areas. Finally, after the loops are terminated, the hill-climbing method with a small step size is applied as the intensification search to refine the MPP visited so far for a more accurate result. These searches are applied in such a way that they give the TSA-MPPT method a better chance to explore among the PV array voltage range, thus avoiding the risk of trapping into the local MPP. The terms used in TSA-MPPT are illustrated first. Then the detailed procedure is described [172].

4.2.4.4 Extremum Seeking Control (ESC)

The extremum seeking control (ESC) is a nearly model-free self-optimizing control strategy that can search for the unknown and/or time-varying optimal input parameter regarding a given performance index of a nonlinear plant process. The MPPT is achieved by driving the obtained gradient by closing the search loop with an integrator. In this study, we have followed an alternative path of ESC for PV MPPT, based on the ditherā€“demodulation framework described in [173]. Such an ESC scheme relies on the use of a pair of dither and demodulation signals, along with high-pass and low-pass filters, to extract gradient information. Similar to the method in [173], closing the control loop with an integrator can drive the gradient towards zero in steady state, which achieves the optimality. As the gradient information is locked to the particular dither frequency, this ESC scheme is more robust to the process noise and temporal variation of the performance map, compared to the classic ESC methods without dithering signals. This ESC method has successful applications in various systems such as axial flow compressors, jet engines, combustion, HVAC, wind turbine among others [173]. For the ditherā€“demodulation scheme, one advantage is that the gradient information is carried by the dither harmonic, with which it is more robust against measurement noise and change in performance map. Another advantage is that particular dither action such as square wave provides transient information that can be used for fault detection [173].

4.3 Chaos Optimization Algorithm (COA)

4.3.1 Stepped-Up Chaos Optimization (SCO)

Chaos optimization Algorithm (SCO) is a very attractive technique in optimal solutions of nonlinear problems due to their ability to escape from local solutions. Many modifications are introduced to the traditional chaos optimization search techniques to improve its ability to become faster in capturing the global solution. One of these modifications is the stepped-up chaos optimization (SCO) [174] which has been used in MPPT of PV systems in order to improve its efficiency and reduce the convergence time. Also, Zhou et al. [175] proposed a dual-carrier chaotic strategy in which it selects two different chaos generations to produce chaos variables. This technique exhibits robust and accurate tracking performance when it is used in MPPT of PV system. Another strategy introduced in [174] called stepped-up SCO in which applies chaos theory and the iteration formula to produce random and ergodic chaos variables, which can be used to capture the best solution in a continuous variable searching area. Chaos mapping is shown in Eq.Ā (137):

$$x_{n + 1}^{{}} = \mu \,\sin \left( {\pi x_{n} } \right),\,\,\,\,n = 1,\,2,\,3,\, \ldots ,$$
(137)

where \(\mu\) is a control parameter. Setting \(\mu\) = 2, Eq.Ā (137) is completely in chaos condition, and xn is ergodic within [āˆ’2, 2]. The optimization function can be described as follows [174]:

$$f = f\left( {x_{i}^{*} } \right) = \text{max} \,\,f\left( {x_{i} } \right),\,\,i = 1,2,3, \ldots N\,\,\,\,\,x_{i} \in \left[ {c_{i} ,\,d_{i} } \right]$$
(138)

where xi is representing the optimization variables and it can represent the duty ratio of DC/DC converter or the terminal voltage of PV array in the PV MPPT application. ci and di are the lower and upper limits of xi; f(xi) is the fitness function that represents the output power in the PV MPPT application. \(f\left( {x_{i}^{*} } \right)\) is the maximum output power of the PV array, and \(x_{i}^{*}\) is the duty ratio or the output voltage of the PV array at the MPP. Two stepped-up SCO strategy is introduced to improve the performance of SCO in tracking the GP of PV MPPT. In this strategy, two searching strategies are implemented, namely, rough search and fine search. The rough search strategy is used to improve the performance of SCO during transient conditions meanwhile the fine search is used to reduce the search space of optimized variables and improve the convergence speed [174]. The results obtained from this work showed the superior performance of this technique in terms of convergence time and failure rate as well as the low oscillations at the steady-state condition.

4.3.2 Dual-Carrier Chaotic Search (DCCS)

The dual-carrier chaotic search (DCCS) is a modification to the traditional chaotic technique. This modification is done by using different mapping techniques than traditional chaotic techniques. In this case, if iteration continues, any variable in the optimization space can be obtained in the iterative sequence of logistic mapping. The probability distribution of the chaos point set When the logistic equation is in chaos condition, the theoretical probability distribution of the chaos point set xn meets

Chebyshev distribution as shown in (139) [175]:

$$p\left( x \right) = \frac{1}{{\pi \sqrt {x\left( {1 - x} \right)} }},$$
(139)

This distribution characteristic of the chaos sequence is uniform in the middle and dense in the two ends. The probability density of xi is given by Eq. (140)

$$p\left( {x_{i} } \right) = \frac{1}{{\pi \sqrt {x_{i} \left( {1 - x_{i} } \right)} }}$$
(140)

According to the Perronā€“Frobenious equation, defined as shown in (141).

$$p\left( {x_{{}} } \right) = \sum\limits_{{\left( {y_{i} = f^{ - 1} \left( x \right)} \right)}} {\frac{{p\left( {y_{i} } \right)}}{{f'\left( {y_{i} } \right)}}}$$
(141)

When Ī¼ā€‰=ā€‰2, and \(y_{i} \in \left[ {0,\,0.5} \right]\), then

$$\left| {f'\left( x \right)} \right| = 2\pi \,\cos \left( {\pi x} \right),\,\,y_{i} = \frac{{\arcsin \left( {x/2} \right)}}{\pi }$$
(142)

From (141) and (142),

$$p\left( x \right) = \sum\limits_{{\left( {y_{i} = f^{ - 1} \left( x \right)} \right)}} {\frac{{p\left( {y_{i} } \right)}}{{2\pi \cos \left( {\pi y} \right)}} = \frac{{p\left( {\frac{{\arcsin \left( {x/2} \right)}}{\pi }} \right)}}{{\pi \sqrt {4 - y^{2} } }}}$$
(143)
$${\text{Then}},p\left( x \right) = \frac{1}{{\pi \sqrt {x\,\left( {4 - x^{2} } \right)} }}$$
(144)

From (144), xn+1ā€‰=ā€‰Ī¼ (Ļ€yn), the mapping chaos point set xn mainly centralizes in the middle and uniformly distributes in the two ends. So, this technique combines the two chaos mappings to make sure that the search is sufficient.

The results obtained from this technique shows its superiority in tracking the MPP in the case of PSC in terms of convergence time and failure rate.

5 Other Non-Model-Based Techniques

5.1 Skipping Mechanism Algorithm (SMA)

Modern techniques have been introduced recently to the field of PV MPPT called skipping mechanism technique [23, 176, 177]. This technique is working based on avoiding certain intervals from the searching space of Pā€“V curve in which for sure the MPP does not exist. The rest of the searching area will be reduced which reduces the convergence time and increase the convergence speed of this technique. Different strategies used the same idea is introduced in literature are shown in the following points:

  • Voltage Window Search (VWS) [21]

  • Searchā€“Skipā€“Judge (SSJ) [22]

  • Maximum Power Trapezium (MPT) [23].

6 Hybrid MPPT Techniques (HMT)

The performance of MPPT is characterized using three main issues as shown in the following points:

The failure Rate: This is the factor that gives the percentage of attempts that converge to LPs with respect to the total number of attempts. This factor is very important because the convergence at the LPs reduces the generated power from the PV system considerably. So, this factor should be minimized or even become zero to have the highest generated efficiency.

The Convergence Time: The convergence time is the time required for the MPPT to reach the steady-state condition. This factor is very important especially in the case of fast change weather conditions. This factor should be minimized to improve the stability of the PV system and increase the generated efficiency.

The oscillation around steady state: This factor should be minimized to improve the stability of the PV system and to reduce the losses at a steady state.

The above three factors should be minimized to improve the performance of the PV system. These three factors have trade-off performance which means if the MPPT techniques tried to reduce one of these factors the other two may be increased. So, the idea here is to hybridize two or more MPPT techniques to work together to get the benefits of these techniques to reduce these three factors at the same time. This means that, in the transient state or fast-changing weather conditions, an accurate convergence to GP and avoidance of convergence at the LPs is required. Moreover, a fast MPPT technique (low convergence time) is required to capture the GP in a short time to improve system stability and increase the generated efficiency. Also, in the case of a steady state, it is required to have low oscillations. The idea in most of these hybrid MPPT techniques is to have a very fast and reliable convergence technique in the transient and lower oscillation technique at the steady state. The hybridizing between these techniques can be classified into four different categories as shown in the following points:

  • Traditional with traditional MPPTs (Tā€“T MPPT).

  • Traditional with soft-computing MPPT (Tā€“SC hybrid MPPT).

  • Soft-computing with soft-computing (SCā€“SC hybrid MPPT).

These techniques are listed in the following sections:

6.1 Traditional with Traditional MPPTs (Tā€“T Hybrid MPPT)

In this technique, the hybrid system will use two traditional techniques to work together to capture the GP very fast and reliable in the transient state and the other traditional technique is providing low oscillations at the steady-state condition. A list of these techniques are shown below:

  • Beta with P&O [58]

  • P&O with InCond [178]

  • Fractional short-circuit current with P&O [179]

  • Fractional open-circuit voltage with P & O [44].

6.2 Traditional with Soft-Computing MPPT (Tā€“SC Hybrid MPPT)

Most of the hybrid MPPT techniques lie in this category where the soft-computing technique is used in transient to reliably capture the GP in a very short convergence time and switch the control after that to the traditional MPPT technique to reduce the oscillations at the steady-state conditions. A list of these techniques is shown in the following points:

  • ACO with P&O [180]

  • ANN with P&O [181,182,183]

  • ANN with InCond [75, 184]

  • BA with Beta [109]

  • BA with P&O [109]

  • BA with InCond [109]

  • GWO with P&O, [185]

  • PSO with Sliding mode controller (SMC) [186]

  • PSO with P&O [187, 188]

  • PSO with INC [189]

  • SSA with P&O [190]

  • GWO and P&O.

6.3 Soft-Computing with Soft-Computing (SCā€“SC Hybrid MPPT)

  • ACO with FLC [191]

  • CS with FLC [192]

  • DE with ANN [193]

  • GWO with FLC my paper [40]

  • GWO-CSA [194]

  • PSO with ANN [195]

  • PSO with FLC [196]

  • Quasi Oppositional Chaotic with GWO [197]

  • Binary chaotic with CSA (BCCSO) [198]

  • FLC with ANN [199, 200]

  • DE with PSO [201]

  • Lagrange interpolation with PSO [202]

  • WOA with DE [203]

  • Jaya with DE [204].

7 Conclusions and Recommendations

The MPPT techniques are very important to improve the efficiency of PV systems and increase the generated power. Three main factors are required from the MPPT which are, low failure rate, low convergence time, and low oscillations around the steady-state conditions. All these factors should be achieved with minimal cost and hardware complications. The uniform irradiance of the PV array generates only one peak in the Pā€“V curve of the PV array. Meanwhile, in partial shading conditions, multiple peaks in the Pā€“V curve will be generated the one with the highest generated power is called the global peak (GP), and the rest is called the local peaks (LPs). Most of the traditional MPPT techniques are able to track the peak in the uniform irradiance condition but it may be trapped in one of the LPs in the case of partial shading conditions. For this reason, soft-computing techniques are introduced to avoid this limitation of the traditional techniques. Most of the soft-computing techniques will be able to capture the GP in PSC but with a longer convergence time compared to the traditional MPPT technique. Moreover, most of the soft-computing techniques, especially swarm techniques cannot capture the GP in the case of shading pattern changes. Several improvement strategies are introduced to improve the performance of soft-computing techniques. This problem is avoided by reinitializing the searching agents if there is an acute change in generated power is detected. Another improvement strategy is introduced by initializing the searching agents at the position of anticipated peaks or at an equal distance between each searching agent. This strategy reduced the failure rate to zero and reduced the convergence time considerably. The evaluation of the proposed techniques showed that the swarm technique is reliable and fast when their control parameters are accurately tuned. From the simulation results shown in many papers reviewed in this study, the BA is recommended as one of the best MPPT technique where it can converge in less than 1Ā s with 0.05-s sampling time. This convergence can be reduced to less than half of the scanning criteria that have been used with the BA. The main problem of most of the soft-computing techniques is that the improvement of convergence time will increase the failure rate and oscillations at steady state. For this reason, hybrid MPPT techniques are introduced in the literature to use the fast and reliable technique in the transient state and use the techniques that have low oscillations after that like traditional techniques and fuzzy logic controllers.