Review of Online and Soft Computing Maximum Power Point Tracking Techniques under Non-Uniform Solar Irradiation Conditions

: Signiﬁcant growth in solar photovoltaic (PV) installation has been observed during the last decade in standalone and grid-connected power generation systems. However, the PV system has a non-linear output characteristic because of weather intermittency, which tends to a substantial loss in overall system output. Thus, to optimize the output of the PV system, maximum power point tracking (MPPT) techniques are used to track the global maximum power point (GMPP) and extract the maximum power from the PV system under di ﬀ erent weather conditions with better precision. Since MPPT is an essential part of the PV system, to date, many MPPT methods have been developed by various researchers, each with unique features. A Google Scholar survey of the last ﬁve years (2015–2020) was performed to investigate the number of review articles published. It was found that overall, seventy-one review articles were published on di ﬀ erent MPPT techniques; out of those, only four were on non-uniform solar irradiance, and seven review articles included shading conditions. Unfortunately, very few attempts were made in this regard. Therefore, a comprehensive review paper on this topic is needed, in which almost all the well-known MPPT techniques should be encapsulated in one document. This article focuses on online and soft-computing MPPT algorithm classiﬁcations under non-uniform irradiance conditions along with their mathematical expression, operating principles, and block diagram / ﬂow charts. It will provide a direction for future research and development in the ﬁeld of maximum power point tracking optimization.


Introduction
Global warming, fossil fuel shortage, political instability in major fuel-producing countries, and per-unit cost reduction in power generation with technological development in renewable energy technologies (RETs) have diverted the considerable attention of power electronics manufacturers and power producers towards the design, development, implementation, and maximum utilization of RETs to fulfill growing world energy demands [1][2][3]. However, the increasing penetration of RETs into the conventional power generation system is changing their status from secondary energy source to primary energy supply [4,5]. For sustainable energy development, solar photovoltaic (PV) power generation is considered one of the most promising power generation options among all the renewable energy sources (RESs) [6]. However, because of intermittent weather conditions and nonuniform solar irradiance, substantial oscillation is produced in the solar photovoltaic output. This happens because of solar irradiance, which is not uniform even between very close locations at a short time scale, and is considered one of the imperative reasons for solar power generation output oscillation and losses [7]. To attain maximum output power from the PV system, an electronic circuit called maximum power point tracking (MPPT) is installed between the PV system and power converter to achieve maximum power under non-uniform solar irradiance conditions as depicted in The researchers have proposed and practically implemented different MPPT techniques to optimize the PV output by considering non-uniform solar irradiation conditions as classified in Figure 2. To attain the maximum output from the MPPT method, solar irradiation and temperature levels determine the PV module output power and voltage levels. Unfortunately, the non-linear behavior of solar irradiance, partial shading conditions (PSC), and temperature deviations are the key sources that affect the PV output characteristic because of the mismatching problem (multiple local maxima). If the entire array does not receive uniform solar irradiation as depicted in Figure 3a,b, which can be exhibited on a current voltage ( IV) and power voltage (PV) curves of the solar PV array, it will not be possible to receive uniform solar irradiance because of PSC or temperature variation conditions.
In Figure 4, IV-PV characteristic curves are shown concerning Figure 3: the black line indicates the output of Figure 3a and the green, red, and blue curves concern Figure 3b, the array (A, B and C) The researchers have proposed and practically implemented different MPPT techniques to optimize the PV output by considering non-uniform solar irradiation conditions as classified in Figure 2. To attain the maximum output from the MPPT method, solar irradiation and temperature levels determine the PV module output power and voltage levels. Unfortunately, the non-linear behavior of solar irradiance, partial shading conditions (PSC), and temperature deviations are the key sources that affect the PV output characteristic because of the mismatching problem (multiple local maxima). If the entire array does not receive uniform solar irradiation as depicted in Figure 3a,b, which can be exhibited on a current voltage ( IV) and power voltage (PV) curves of the solar PV array, it will not be possible to receive uniform solar irradiance because of PSC or temperature variation conditions.
In Figure 4, IV-PV characteristic curves are shown concerning Figure 3: the black line indicates the output of Figure 3a and the green, red, and blue curves concern Figure 3b, the array (A, B and C) according to PSC or mismatching conditions of solar irradiation on the PV generation system (PVGS).
A Google Scholar online survey for the last five years was conducted from 2015 to 2020 to investigate how many review articles were published over these years. With a search query for "Maximum Power Point Tracking Review" on the first search, we found 71 review articles. Subsequently, when the search was narrowed to specifically "Non-Uniform Solar Irradiations" and "Shading Conditions" on Google Scholar, only four review articles on "Non-Uniform Solar Irradiations" [19][20][21][22] and seven on "Shading Conditions" [14,19,[23][24][25][26] were found, as depicted in Figure 5. For a further detailed explanation, the review articles with titles and years of publication are given in Table 1. Most of them discussed the limited number of MPPT techniques, and none of them considered online and soft-computing MPPT techniques under non-uniform solar irradiance all together in one. Therefore, it is necessary to publish a comprehensive review article on MPPT techniques under non-uniform solar irradiance conditions and to encompass all the related research in this area and present them in a single source in which almost all the online and soft-computing MPPT techniques can be encapsulated in one paper to provide researchers, energy engineers, and strategists with a valuable pathway for future research and implementation in the field of maximum power point tracking optimization. Furthermore, it will enable the identification of the merits and demerits of different MPPT techniques according to their scope and impact on the solar PV power generation system, and aid future research and development to ensure maximum power optimization from the solar PV system. Energies 2020, 13,3256 3 of 37 according to PSC or mismatching conditions of solar irradiation on the PV generation system (PVGS). In recent years, different reviews have been published on the maximum power point tracking system. Most of them discussed traditional MPPT techniques under non-uniform solar irradiation conditions such as [2,[8][9][10][11][12][13], and some of them reviewed partial shading or mismatching solar irradiation conditions as in [14][15][16][17]; in [18], soft computing MPPT techniques were discussed. A Google Scholar online survey for the last five years was conducted from 2015 to 2020 to investigate how many review articles were published over these years. With a search query for "Maximum Power Point Tracking Review" on the first search, we found 71 review articles. Subsequently, when the search was narrowed to specifically "Non-Uniform Solar Irradiations" and "Shading Conditions" on Google Scholar, only four review articles on "Non-Uniform Solar Irradiations" [19][20][21][22] and seven on "Shading Conditions" [14,19,[23][24][25][26] were found, as depicted in Figure 5. For a further detailed explanation, the review articles with titles and years of publication are given in Table 1. Most of them discussed the limited number of MPPT techniques, and none of them considered online and soft-computing MPPT techniques under non-uniform solar irradiance all together in one. Therefore, it is necessary to publish a comprehensive review article on MPPT techniques under non-uniform solar irradiance conditions and to encompass all the related research in this area and present them in a single source in which almost all the online and soft-computing MPPT techniques can be encapsulated in one paper to provide researchers, energy engineers, and strategists with a valuable pathway for future research and implementation in the field of maximum power point tracking optimization. Furthermore, it will enable the identification of the merits and demerits of different MPPT techniques according to their scope and impact on the solar PV power generation system, and aid future research and development to ensure maximum power optimization from the solar PV system.

MPP under Shading (Partial) and Non-Uniform Solar Irradiance Conditions
Tracking the maximum power point under shaded and non-uniform (non-linear) solar irradiance conditions is different and complicated compared to under uniform solar irradiance conditions. Because of the multiple peaks under mismatching conditions, the PV voltage V PV drops and induces disproportionate losses in PV output as depicted in Figure 4. Due to non-uniform and shaded conditions, a hot spot ensues in the PV module, which affects PV string output immensely. To mitigate this type of problem a bypass diode is connected in parallel with each PV module to prevent damages. Besides, a blocking diode at the end of each series string is also connected to protect the PV system during reverse current conditions, as depicted in Figure 6. Due to multiple peaks, the MPPT operation is diverted to track the global maximum power point (GMPP), which causes overall output power reduction. Therefore, in this section, MPPT methods under non-uniform and shaded solar conditions are investigated.

MPP under Shading (Partial) and Non-Uniform Solar Irradiance Conditions
Tracking the maximum power point under shaded and non-uniform (non-linear) solar irradiance conditions is different and complicated compared to under uniform solar irradiance conditions. Because of the multiple peaks under mismatching conditions, the PV voltage VPV drops and induces disproportionate losses in PV output as depicted in Figure 4. Due to non-uniform and shaded conditions, a hot spot ensues in the PV module, which affects PV string output immensely.

Modified Perturb and Observe (MP&O) Method
The conventional perturb and observe (P&O) algorithm performs well under stable weather conditions with constant and variable load. However, it has a poor performance under rapid or steady change of weather conditions. Therefore, to improve the performance of the conventional P&O algorithm due to weather changes, the MP&O method can be used to determine the MPP point [27,28]. In Figure 7, the IV-PV curve with uniform solar irradiance in blue and under non-uniform irradiance in red is depicted.
Energies 2020, 13, 3256 6 of 37 To mitigate this type of problem a bypass diode is connected in parallel with each PV module to prevent damages. Besides, a blocking diode at the end of each series string is also connected to protect the PV system during reverse current conditions, as depicted in Figure 6. Due to multiple peaks, the MPPT operation is diverted to track the global maximum power point (GMPP), which causes overall output power reduction. Therefore, in this section, MPPT methods under non-uniform and shaded solar conditions are investigated.

Modified Perturb and Observe (MP&O) Method
The conventional perturb and observe (P&O) algorithm performs well under stable weather conditions with constant and variable load. However, it has a poor performance under rapid or steady change of weather conditions. Therefore, to improve the performance of the conventional P&O algorithm due to weather changes, the MP&O method can be used to determine the MPP point [27], [28]. In Figure 7, the IV-PV curve with uniform solar irradiance in blue and under non-uniform irradiance in red is depicted. As can be seen in Figure 7, mentioned above, at uniform solar irradiance the conventional P&O MPPT method tracks the MPP point successfully at GP1, but when the weather changes multiple MPP points from A to E are observed on the red line. According to P&O, perturbation peak E is considered global MPP or GMPP, and the others are local MPP or LMPP. During changing weather conditions the operating point shifts from point 1 to point 2 as intersected by the load line, and point D is determined as GMPP, which is wrong [15]. Therefore, it can be concluded that conventional P&O has limitations in determining the correct MPP under shaded conditions [29].
In [30] a two-mode modified MP&O algorithm with two parts, (1) the main program, and (2) Global Point (GP) tracking, is proposed. The flow chart is shown in Figure 8. In this two-mode MP&O algorithm, the GMPP upper and lower limits, based on PV array voltage and are adjusted in order to avoid the scanning of the whole system repeatedly while tracking the GP. The implementation of the process always starts with the set value of the reference voltage at 85% of open circuit voltage ( ) , as presented in "Main Program" in Figure 8. It continues to retain the action at the GP by continually applying the P&O method until any disruption or timer intersection occurs. When any unexpected disruption such as partial shading for any reason such as the passing of clouds, birds flying or timer interrupts occurs, the "main program" detects the prerequisite for tracking the GP and calls the "GP track subroutine." After receiving the tracking call, the GP tracking subroutine system will start working to track the new GP point, and once the GP is identified it will pass on the mechanism to the "main program", which then continues to maintain the operation at As can be seen in Figure 7, mentioned above, at uniform solar irradiance the conventional P&O MPPT method tracks the MPP point successfully at GP 1 , but when the weather changes multiple MPP points from A to E are observed on the red line. According to P&O, perturbation peak E is considered global MPP or GMPP, and the others are local MPP or LMPP. During changing weather conditions the operating point shifts from point 1 to point 2 as intersected by the load line, and point D is determined as GMPP, which is wrong [15]. Therefore, it can be concluded that conventional P&O has limitations in determining the correct MPP under shaded conditions [29].
In [30] a two-mode modified MP&O algorithm with two parts, (1) the main program, and (2) Global Point (GP) tracking, is proposed. The flow chart is shown in Figure 8. In this two-mode MP&O algorithm, the GMPP upper and lower limits, based on PV array voltage V min and V max are adjusted in order to avoid the scanning of the whole system repeatedly while tracking the GP. The implementation of the process always starts with the set value of the reference voltage V re f at 85% of open circuit Energies 2020, 13, 3256 7 of 37 voltage (V OC ), as presented in "Main Program" in Figure 8. It continues to retain the action at the GP by continually applying the P&O method until any disruption or timer intersection occurs. When any unexpected disruption such as partial shading for any reason such as the passing of clouds, birds flying or timer interrupts occurs, the "main program" detects the prerequisite for tracking the GP and calls the "GP track subroutine." After receiving the tracking call, the GP tracking subroutine system will start working to track the new GP point, and once the GP is identified it will pass on the mechanism to the "main program", which then continues to maintain the operation at this new GP until the next GP tracking call is generated.

Modified Incremental Conductance (MINC) Method
The conventional incremental conductance method depends on the solar power voltage (P-V) curve slope, following / = 0 and / = 0 [31], but under intermittent and shaded conditions, it is unable to determine the accurate MPP. In [32], a modified incremental conductance algorithm based on a multifaceted duty cycle control was proposed that efficiently uses the intermittent P-V characteristics of partially shaded conditions. In this multifaceted method observation under partial shading conditions, the P&O method was used with an incremental conductance method. In addition to this, a novel algorithm was introduced to determine MPP with a faster tracking system. Another modified incremental conductance method was proposed in [33], in which PV voltage ( ) and current ( ) are used in the calculation. Therefore, the change in solar irradiance and load can observed according to VPV and IPV to determine the MPP. In another paper [34], a modified variable-step INC with a simplified algorithm was discussed. In this algorithm, all the division computations of a conventional INC are eliminated to simplify its structure. By using

Modified Incremental Conductance (MINC) Method
The conventional incremental conductance method depends on the solar power voltage (P-V) curve slope, following dP/dV = 0 and dI/dP = 0 [31], but under intermittent and shaded conditions, it is unable to determine the accurate MPP. In [32], a modified incremental conductance algorithm based on a multifaceted duty cycle control was proposed that efficiently uses the intermittent P-V characteristics of partially shaded conditions. In this multifaceted method observation under partial shading conditions, the P&O method was used with an incremental conductance method. In addition to this, a novel algorithm was introduced to determine MPP with a faster tracking system. Another modified incremental conductance method was proposed in [33], in which PV voltage (V PV ) and Energies 2020, 13, 3256 8 of 37 current (I PV ) are used in the calculation. Therefore, the change in solar irradiance and load can observed according to V PV and I PV to determine the MPP. In another paper [34], a modified variable-step INC with a simplified algorithm was discussed. In this algorithm, all the division computations of a conventional INC are eliminated to simplify its structure. By using Equations (1)-(3), the following modification is made to simplify the structure of the proposed algorithm.
By unifying the denominators in (1)-(3), it becomes In (4), the denominator is equalized to zero, so it can be eliminated, whereas in (5) and (6) the denominator V can be removed as it is always positive and will not disturb the equations. Accordingly, (5) and (6) are simplified as: V(∆I) + I(∆V) = 0 (7) Finally, to eradicate the dissection calculations, new rubrics for the incremental conductance algorithm can be written as follows: V(∆I) + I(∆V) = 0 (10) This simplified division-free improved variable-step incremental conductance algorithm is simple to implement, with improved transient performance and marginal steady-state power fluctuations regarding to track the MPP successfully [35].

Modified Hill Climbing (MHC) Method
The hill-climbing (HC) method is based on the P&O method, and it has been shown that the MPPT control system deviates from the MPP point under a sudden change in solar insolation. Therefore, this problem could also ensue with the HC controller, which may confuse it and lead the GPP tracking point in the wrong direction. Another HC shortcoming is its performance under dynamic and steady-state conditions because of fixed incremental duty cycle steps [36]. A modified adaptive hill climbing Energies 2020, 13, 3256 9 of 37 (MAHC) method for a solar PV system was proposed in [37,38]. In this MAHC method, the tradeoff between steady-state performance and dynamic response because of the selection of a, the duty cycle incremental switching step problem is resolved with automatic tuning control by following Equation (15).
where ∆P = P(k) − P(k − 1), which corresponds to the variation of power condition, a(k − 1) is the notable value of "a(k)", always >0, and M is a fixed parameter. In this algorithm, when a change in PV power is observed in a large range due to a sudden change in solar irradiance, shading effects, or other environmental effects, the automatic tuning control will adjust the value of a to a higher step value to track the response and satisfy the transitory stage requirement. The controller assumes that the system is in steady state when it detects the changing power to be smaller than previously.

Instantaneous Operating Power Optimization (IOPO) Method
This method compares the measured power P MEAS which is the product of the instantaneous voltage V meas (t) and current I meas (t) measurements and the immediate highest yield power maximum power point P MPP to determine the GMPP. P MPP (t) is a weather-dependent parameter, whereas the temperature T(t) and solar irradiance E(t) are the variables expressed in Equations (16) and (17) [39][40][41]: In the instantaneous operating power optimization method, the maximum power current I MPP corresponds with the change in solar irradiance factor b(E(t)), and a(T(t)) is a user-defined threshold value of the ith current, which is normally half of the actual maximum power current I MPP [40]. The IOPO method continuously compares the PMES (t) with the reference power P(t) to determine the GMPP by following two conditions as given below: If P MES (t) < P(t) the actual current varies as: If P CAL (t) > (t) the actual current varies as: In Equation (18) the ∆I is a constant current for estimating the GMPP by following Equation (20): where Ki is the ratio of the local maxima current I local−maxima and global maxima current I MAX .
The instantaneous operating power optimization method has practically proved that both the speed and accuracy of the proposed technique produce significant differences in terms of GMPP tracking and accuracy [42].

Output Power Increment (OPI) Method
This depends on PV system applications; the output power increment method has an advantage in that it can be connected with either grid-connected or stand-alone PV system configurations. In addition, it does not need any knowledge of electrical characteristics or PV array arrangement. In the OPI method, instead of P-V curve scanning to track the GMPP, it controls a DC-DC converter coupled at the PV array output, which acts like a constant input power load controlled by the microcontroller unit as a changeable constant input power load [43]. In Figure 9, the P-V characteristic curve is depicted.

Two-Stage Load Line (2SLL) Method
In [44] a two-stage load line method based on equivalent resistance , proportional to the ratio of open-circuit voltage VOC to short circuit current ISC, was introduced. In the 2SLL method, the PV system is controlled by measuring the VOC and ISC online [45]. The GMPP is determined in two stages: at the first stage, the tracking system moves to the vicinity of the real peak power point on the load line , and at the second stage it converges on the real peak power point as depicted in Figure  10. According to the proposed method, at the first stage the control process is moved to the vicinity operating point of the real peak power point at A to evade convergence to the local maximal power point. The following equation for the equivalent load line is used as the ratio of the optimal operating voltage and current under uniform solar irradiance, where is almost equal to 80% of VOC and is 90% of ISC to obtain . According to the above-mentioned Figure 9, GMPP tracking starts at P-V array characteristic point B 1 ; hence, the operating point is progressively moved towards point B 5 by successfully tracking the points (B 1 , B 2 , B 3 , B 4 , and B 5 ) by avoiding becoming stuck at local MPP point B lc . This process continues until point B 6 is tracked and the PV array output power increment is terminated and tracks back to GMPP point B 5 . For this output power increment algorithm the P&O MPPT method is used to track the GMPP at short intervals of time concerning previously tracked GMPP points.

Two-Stage Load Line (2SLL) Method
In [44] a two-stage load line method based on equivalent resistance R pm , proportional to the ratio of open-circuit voltage V OC to short circuit current I SC, was introduced. In the 2SLL method, the PV system is controlled by measuring the V OC and I SC online [45]. The GMPP is determined in two stages: at the first stage, the tracking system moves to the vicinity of the real peak power point on the load line R pm , and at the second stage it converges on the real peak power point as depicted in Figure 10. continues until point B6 is tracked and the PV array output power increment is terminated and tracks back to GMPP point B5. For this output power increment algorithm the P&O MPPT method is used to track the GMPP at short intervals of time concerning previously tracked GMPP points.

Two-Stage Load Line (2SLL) Method
In [44] a two-stage load line method based on equivalent resistance , proportional to the ratio of open-circuit voltage VOC to short circuit current ISC, was introduced. In the 2SLL method, the PV system is controlled by measuring the VOC and ISC online [45]. The GMPP is determined in two stages: at the first stage, the tracking system moves to the vicinity of the real peak power point on the load line , and at the second stage it converges on the real peak power point as depicted in Figure  10. According to the proposed method, at the first stage the control process is moved to the vicinity operating point of the real peak power point at A to evade convergence to the local maximal power point. The following equation for the equivalent load line is used as the ratio of the optimal operating voltage and current under uniform solar irradiance, where is almost equal to 80% of VOC and is 90% of ISC to obtain . According to the proposed method, at the first stage the control process is moved to the vicinity operating point of the real peak power point at A to evade convergence to the local maximal power point. The following equation for the equivalent load line R pm is used as the ratio of the optimal Energies 2020, 13, 3256 11 of 37 operating voltage V pm and current I pm under uniform solar irradiance, where V pm is almost equal to 80% of V OC and I pm is 90% of I SC to obtain R mp .
After obtaining R mp the first-stage control moves to point C, as shown in Figure 10, which is the intersection point of the I-V characteristic curve and the load line under non-uniform solar irradiance. After reaching point C, the control process is swapped to the second level, where it uses the conventional dV dI method to determine the GMPP, where the derivative of the output power P in terms of current I is equal to zero at the MPP [46], by following the equation: By monitoring and comparing the ( V I ) and − dV dI values, if ( V I ) is greater than (− dV dI ) the current I is increased. Otherwise, it is decreased, the second stage operating point moves to D, and the difference between ( V I ) and − dV dI is minimized.

Power-Load Characteristic with Variable Step-Size Method
In [47], a novel method to track the GMPP under intermittent or partial shading conditions was discussed. In this method, power converter losses are utilized to determine the GMPP by following three steps, (i) restart, (ii) scanning, and (iii) a conventional P&O method with variable step-size as depicted in Figure 11.
After obtaining the first-stage control moves to point C, as shown in Figure 10, which is the intersection point of the I-V characteristic curve and the load line under non-uniform solar irradiance. After reaching point C, the control process is swapped to the second level, where it uses the conventional method to determine the GMPP, where the derivative of the output power P in terms of current I is equal to zero at the MPP [46], by following the equation: By monitoring and comparing the ( ) and (− ) values, if ( ) is greater than (− ) the current is increased. Otherwise, it is decreased, the second stage operating point moves to , and the difference between ( ) and (− ) is minimized.

Power-Load Characteristic with Variable Step-Size Method
In [47], a novel method to track the GMPP under intermittent or partial shading conditions was discussed. In this method, power converter losses are utilized to determine the GMPP by following three steps, (i) restart, (ii) scanning, and (iii) a conventional P&O method with variable step-size as depicted in Figure 11.  Figure 11. Flow chart of the power load characteristic with variable step size [47]. The operating principles of power load characteristics with the variable step-size method are adopted from [48,49] and modified with the encapsulation of three steps in one algorithm, as shown in the above Figure 11. In this proposed method, the restart mode searches for the optimal power point for tracking the MPP by comparing the conditions Cond1 and Cond2. In many cases, Cond1 and Cond2 give the same result, so the restart mode is applied to satisfy the two "0" and "1" binary conditions, respectively, as explained in [48,49],. Afterward, the control algorithm switches to the scanning mode, where it performs the scanning of the PV array voltage V_min and compares it with V re f , and compels V re f = V min = 10 V for 0.1 s with stable PV array output voltage to estimate the approximate GMPP. Finally, a conventional P&O MPPT with variable step-size is used to determine the GMPP accordingly.

Adaptive Maximum Power Point Tracking (AMPPT) Method
An adaptive maximum power point tracking method to track the GMPP under partial shading conditions with two key methods, (i) change detection and (ii) global peak area (GPA) search, was proposed in [50]. During the change, the detections process the I-V characteristic curve under uniform solar irradiance and compare it with non-uniform solar irradiance, as depicted in Figure 12. Under uniform solar irradiance at S 0 with constant resistive load, the change in output current ∆I 0 and voltage ∆V 0 will change in a positive or negative direction, but under a non-uniform solar irradiance curve it moves from S 0 to S 1 , an abrupt change is observed in the I-V curve, and the ∆I 1 and ∆V 1 change in positive and negative directions with reference to the change in solar insolation.
Energies 2020, 13, 3256 12 of 37 The operating principles of power load characteristics with the variable step-size method are adopted from [48,49] and modified with the encapsulation of three steps in one algorithm, as shown in the above Figure 11. In this proposed method, the restart mode searches for the optimal power point for tracking the MPP by comparing the conditions Cond1 and Cond2. In many cases, Cond1 and Cond2 give the same result, so the restart mode is applied to satisfy the two "0" and "1" binary conditions, respectively, as explained in [48,49],. Afterward, the control algorithm switches to the scanning mode, where it performs the scanning of the PV array voltage _ and compares it with , and compels = = 10 for 0.1 s with stable PV array output voltage to estimate the approximate GMPP. Finally, a conventional P&O MPPT with variable step-size is used to determine the GMPP accordingly.

Adaptive Maximum Power Point Tracking (AMPPT) Method
An adaptive maximum power point tracking method to track the GMPP under partial shading conditions with two key methods, (i) change detection and (ii) global peak area (GPA) search, was proposed in [50]. During the change, the detections process the I-V characteristic curve under uniform solar irradiance and compare it with non-uniform solar irradiance, as depicted in Figure 12. Under uniform solar irradiance at S0 with constant resistive load, the change in output current ∆ and voltage ∆ will change in a positive or negative direction, but under a non-uniform solar irradiance curve it moves from S0 to S1, an abrupt change is observed in the I-V curve, and the ∆ and ∆ change in positive and negative directions with reference to the change in solar insolation. If the PV array is connected with a DC/AC inverter under constant voltage load control, its output voltage remains constant. Moreover, the change in voltage ∆ is approximately equal to zero, while the change in current ∆ is high.
Furthermore, to find the global peak areas under partially shaded conditions, the I-V curve MPP points are presumed equal to VOC and ISC of the PV array under uniform irradiation, as depicted in Figure 13. In this figure, the PV array's I-V and P-V curves under different shaded conditions with , , , , and S5 are sketched and their GPAs are marked with A-E at the intersected load line OM. If the PV array is connected with a DC/AC inverter under constant voltage load control, its output voltage remains constant. Moreover, the change in voltage ∆V 2 is approximately equal to zero, while the change in current ∆I 2 is high.
Furthermore, to find the global peak areas under partially shaded conditions, the I-V curve MPP points are presumed equal to V OC and I SC of the PV array under uniform irradiation, as depicted in Figure 13. In this figure, the PV array's I-V and P-V curves under different shaded conditions with S 1 , S 2 , S 3 , S 4 , and S 5 are sketched and their GPAs are marked with A-E at the intersected load line OM.

Direct Search (DS) Method
The new direct search or dividing rectangles approach to overcoming the weaknesses of the existing P&O and incremental conductance methods under partial shading conditions [51], particularly in the presence of multiple MPPs and sudden change in solar irradiance, was proposed in [52]. The proposed technique is based on the dividing rectangles (DIRECT) algorithm of the Lipschitzian approach addressed in [53]. In the direct search method to determine the GMPP, two ideas, (i) area dividing strategy, and (ii) potential optimal interval (POI), are discussed.
In the area dividing strategy two variables [ , ] are taken as sample intervals, as depicted in Figure 14a. It is presumed that the algorithm has taken the voltage V1 as sample at the center point of the interval [a, b] before applying the dividing strategy at the first step. Later, at the second step, it is divided into three sub-intervals, V1, V2, and V3, where V2 and V3 are the center points of a-V1 and b-V1 at its right and left sides. By following the same dividing strategy, it is divided into further center points such as V32 and V33, etc.

Direct Search (DS) Method
The new direct search or dividing rectangles approach to overcoming the weaknesses of the existing P&O and incremental conductance methods under partial shading conditions [51], particularly in the presence of multiple MPPs and sudden change in solar irradiance, was proposed in [52]. The proposed technique is based on the dividing rectangles (DIRECT) algorithm of the Lipschitzian approach addressed in [53]. In the direct search method to determine the GMPP, two ideas, (i) area dividing strategy, and (ii) potential optimal interval (POI), are discussed.
In the area dividing strategy two variables [a, b] are taken as sample intervals, as depicted in Figure 14A. It is presumed that the algorithm has taken the voltage V 1 as sample at the center point of the interval [a, b] before applying the dividing strategy at the first step. Later, at the second step, it is divided into three sub-intervals, V 1 , V 2 , and V 3 , where V 2 and V 3 are the center points of a-V 1 and b-V 1 at its right and left sides. By following the same dividing strategy, it is divided into further center points such as V 32 and V 33 , etc.
Energies 2020, 13, 3256 13 of 37 Figure 13. Global peak area relationship between I-V and P-V curves referring to the intersection of a load line.

Direct Search (DS) Method
The new direct search or dividing rectangles approach to overcoming the weaknesses of the existing P&O and incremental conductance methods under partial shading conditions [51], particularly in the presence of multiple MPPs and sudden change in solar irradiance, was proposed in [52]. The proposed technique is based on the dividing rectangles (DIRECT) algorithm of the Lipschitzian approach addressed in [53]. In the direct search method to determine the GMPP, two ideas, (i) area dividing strategy, and (ii) potential optimal interval (POI), are discussed.
In the area dividing strategy two variables [ , ] are taken as sample intervals, as depicted in Figure 14a. It is presumed that the algorithm has taken the voltage V1 as sample at the center point of the interval [a, b] before applying the dividing strategy at the first step. Later, at the second step, it is divided into three sub-intervals, V1, V2, and V3, where V2 and V3 are the center points of a-V1 and b-V1 at its right and left sides. By following the same dividing strategy, it is divided into further center points such as V32 and V33, etc.   In POI, the intervals are further divided into central points. In Figure 14B the POI algorithm is illustrated, plotting the function values at the center of every sampled interval versus the interval's length. In POI, among all the intervals, only those that satisfy Equations (23) and (24) are considered optimal points.
To determine the GMPP, the highest optimal potential point on the voltage interval which is expressed in Equation (23) is chosen. Further P max crementation is obtained with Equation (24); initially, a finite number of iterations are considered, and the direct search algorithm follows the area dividing strategy to obtain potentially optimal points at POI. In each recapitulation, the voltage ranges in the interval [a, b] and the current-voltage is divided into further three subintervals. Within this entire interval, the i-th ones are considered POIs.

Segment Search (SS) Method
The segment search method is based on the two-stage process algorithm for tracking the GMPP. In the first stage, it develops the segmentation and in the second stage, a variable step-size P&O method is used to quicken the GMPP exploration process [54]. The concept of the segment search method is illustrated in Figure 15. Where at the first stage fixed spacing is used to divide the P-V characteristic curves into numerous segments and the working points in every segment are marked near every GMPP, by using the variable step-size P&O method the operating point will move to each marked segment and measure the power values of that point. High power values increase the possibility of indicating the segment comprising the highest GMPP. Finally, the segment point unveiling the highest power value is used as the starting point for the second-stage search. The proposed segment search method has the advantage of working under both uniform and shaded solar irradiance conditions. Equation (25) is used to ascertain the decision of whether the PSC occurs or not.
Othe wise PSC f lag = 1 (25) If partial shading conditions are observed, the suggested two-stage segment search method will be used to find the GMPP; otherwise, only the variable step-size P&O method will be applied to track the MPP under uniform solar irradiance conditions. Energies 2020, 13, 3256 14 of 37 In POI, the intervals are further divided into central points. In Figure 14b the POI algorithm is illustrated, plotting the function values at the center of every sampled interval versus the interval's length. In POI, among all the intervals, only those that satisfy Equations (23) and (24) are considered optimal points.
To determine the GMPP, the highest optimal potential point on the voltage interval which is expressed in Equation (23) is chosen. Further crementation is obtained with Equation (24); initially, a finite number of iterations are considered, and the direct search algorithm follows the area dividing strategy to obtain potentially optimal points at POI. In each recapitulation, the voltage ranges in the interval [ , ] and the current-voltage is divided into further three subintervals. Within this entire interval, the i-th ones are considered POIs.

Segment Search (SS) Method
The segment search method is based on the two-stage process algorithm for tracking the GMPP. In the first stage, it develops the segmentation and in the second stage, a variable step-size P&O method is used to quicken the GMPP exploration process [54]. The concept of the segment search method is illustrated in Figure 15. Where at the first stage fixed spacing is used to divide the P-V characteristic curves into numerous segments and the working points in every segment are marked near every GMPP, by using the variable step-size P&O method the operating point will move to each marked segment and measure the power values of that point. High power values increase the possibility of indicating the segment comprising the highest GMPP. Finally, the segment point unveiling the highest power value is used as the starting point for the second-stage search. The proposed segment search method has the advantage of working under both uniform and shaded solar irradiance conditions. Equation (25) is used to ascertain the decision of whether the PSC occurs or not.
If partial shading conditions are observed, the suggested two-stage segment search method will be used to find the GMPP; otherwise, only the variable step-size P&O method will be applied to track the MPP under uniform solar irradiance conditions.

Restricted Voltage Window Search (RVWS) Method
Almost all the GMPP search algorithms use the operating voltage range to make sure that none of the potential global peaks is missed. Most of them scan a vide voltage range, almost 80% of the P-V curve, which increases the scanning time and causes power losses [15].
In [55] a novel voltage window search (VWS) GMPPT algorithm was proposed, which restricts the range of the voltage window to tracking the global peak (GP) under rapidly changing solar insolation conditions. The proposed algorithm has two main parameters: (i) the GP voltage step or power operating triangle (POT), and (ii) voltage window (VW) search. In the GP voltage step, the fixed incremental voltage is imposed by the proposed method to track the GMPP as depicted in Figure 16, where the V OC limit is fixed at 0.5, 1.5, and 1 volt respectively. This fixed voltage step decreases the scanning time and improves the algorithm accuracy, whereas in VW, the upper and lower voltage limits are defined as [V min − V max ], V min is adjusted with respect to the power, and V max the upper limit, is equal to V OC . In the proposed algorithm narrowing the upper and lower limit decreases the scanning time and scans the GMPP around the defined limits in a precise way.

Restricted Voltage Window Search (RVWS) Method
Almost all the GMPP search algorithms use the operating voltage range to make sure that none of the potential global peaks is missed. Most of them scan a vide voltage range, almost 80% of the P−V curve, which increases the scanning time and causes power losses [15].
In [55] a novel voltage window search (VWS) GMPPT algorithm was proposed, which restricts the range of the voltage window to tracking the global peak (GP) under rapidly changing solar insolation conditions. The proposed algorithm has two main parameters: (i) the GP voltage step or power operating triangle (POT), and (ii) voltage window (VW) search. In the GP voltage step, the fixed incremental voltage is imposed by the proposed method to track the GMPP as depicted in Figure 16, where the VOC limit is fixed at 0.5, 1.5, and 1 volt respectively. This fixed voltage step decreases the scanning time and improves the algorithm accuracy, whereas in VW, the upper and lower voltage limits are defined as [ − ], is adjusted with respect to the power, and the upper limit, is equal to VOC. In the proposed algorithm narrowing the upper and lower limit decreases the scanning time and scans the GMPP around the defined limits in a precise way.

Overview of Soft Computing-Based MPPT
Soft computing (SC) based MPPT algorithms are fully digital and are firmware-based algorithms. These algorithms are designed using computer coding or programming. In short, SC MPPT is an assemblage of intelligent, adjustable, and flexible problem-solving methods to exploit the ease with which indistinctness attains controllability, robustness, and low-cost solutions. A significant feature of the soft-computing method is the flexibility of its algorithms, which allows the development of robust MPPT schemes. It is good and very effective in dealing with multi-constraints problems in solar PV optimization. Because of the abrupt variations in environmental conditionmostly solar irradiance and temperature-the PV characteristic curve shows a non-linear, timevarying maximum power point (MPP) problem. Some of the key parameters of SC which are considered during design and processing for solving multi-mode MPPT optimization problems are briefly described as follows.

Soft Computing MPPT Generalized Processes
The SC-based maximum power point tracking process can be categorized into four key processes, namely, initialization, reproduction, selection, and the stopping criterion. At the first level of the initialization step, the population size with ( ) number of candidates is generated. At the second level of the SC process, which is reproduction, the descendants are produced from parents

Overview of Soft Computing-Based MPPT
Soft computing (SC) based MPPT algorithms are fully digital and are firmware-based algorithms. These algorithms are designed using computer coding or programming. In short, SC MPPT is an assemblage of intelligent, adjustable, and flexible problem-solving methods to exploit the ease with which indistinctness attains controllability, robustness, and low-cost solutions. A significant feature of the soft-computing method is the flexibility of its algorithms, which allows the development of robust MPPT schemes. It is good and very effective in dealing with multi-constraints problems in solar PV optimization. Because of the abrupt variations in environmental condition-mostly solar irradiance and temperature-the PV characteristic curve shows a non-linear, time-varying maximum power point (MPP) problem. Some of the key parameters of SC which are considered during design and processing for solving multi-mode MPPT optimization problems are briefly described as follows.

Soft Computing MPPT Generalized Processes
The SC-based maximum power point tracking process can be categorized into four key processes, namely, initialization, reproduction, selection, and the stopping criterion. At the first level of the initialization step, the population size with (n) number of candidates is generated. At the second level of the SC process, which is reproduction, the descendants are produced from parents which are carefully chosen from the first step of initialization through the articulated equation, according to the type of soft-computing technique, which is selected for particular PV design and weather conditions. Finally, the selection phase is the informed route for picking the appropriate population number (n) to persist for the subsequent generation. The reproduction and selection processes are repetitive until a defined or required ending condition is met. Finally, the stopping criterion phase of soft computing-based MPPT algorithms is used to trigger conditions that halt the algorithm. This happens when one or more pre-defined conditions become true.

Initialization
In soft computing-based MPPT methods, the keyword population is referred to as the number of elements (n); each element serves as an impending solution of the system. A smaller population size leads to a poor MPP tracking solution; on the other hand, an outsized population increases the processing time, which tends to decrease the efficiency of the SC method. Therefore, a balance is obligatory to attain reliable results with an equitable number of recapitulations. Numerous methods to select population size are acclaimed in [18,19].

Reproduction
Reproduction is considered a vital phase in SC processing, as it distinguishes the capability of the algorithm to yield the subsequent population generation. In the first phase, the selected population is titled the parent; the instant and subsequent population which is produced through the reproduction process is called the descendants. Soft computing-based algorithms like Particle Swarm Optimization (PSO), Ant Colony Optimization (ACO), and Cuckoo Search (CS) are established on animal or insect social behavior. They apply precise reproduction operatives: for example, PSO uses particle velocity and CS uses Lévy flight to produce the population. On the other hand, evolutionary-based algorithms like Genetic Algorithm (GA), Differential Evolution (DE), and Extremum Seeking (ES) produce the population by using natural genetic evolution. They use genetic operators such as crossover, also called recombination, and mutation. The crossover exchanges some parts of two individuals, while the mutation operator changes the value of a randomly chosen individual.

Selection
Selection is the procedure to distinguish the finest members of the population for the subsequent generation. It is grounded on the accomplishment of measures set by the fitness function. The selection should be taken keeping in mind that it converges to the global optimal solution deprived of having to sacrifice too much convergence speed. There exist selection schemes proposed in the literature, described in [20,21].

Stopping Criterion
The stopping criterion is the last phase of soft computing-based MPPT algorithms, with the terminating condition that halts the algorithm. It happens when one or more pre-defined conditions become true. The most frequently used stopping criteria are the following:

Bayesian Network (BN) Method
The BN method is also known as the probabilistic neural network method. In this method, MPP is determined based on random variables probability. Because of the soft computing algorithm in this method, multidimensional MPPT based on the combination of two or more algorithms can be easily configured as depicted in Figure 17, which makes it more efficient and precise in tracking the correct direction towards the MPP point [56,57].

Bayesian Network (BN) Method
The BN method is also known as the probabilistic neural network method. In this method, MPP is determined based on random variables probability. Because of the soft computing algorithm in this method, multidimensional MPPT based on the combination of two or more algorithms can be easily configured as depicted in Figure 17, which makes it more efficient and precise in tracking the correct direction towards the MPP point [56,57]. For every matching node, it assigns the value of 1, and to non-matching nodes, 0. In this way, the probability is applied to all the best-known nodes to determine the MPP point [60].

Non-Linear Predictor (NLP) Method
The non-linear predictor algorithm determines the MPP based on certain predictions. The predictor function is used for selected I-V and P-V curves, which need to be exploited. However, in most cases, a P-V curve is considered for prediction [61]. In a non-linear predictor method, it utilizes several previous duty cycle inputs and their corresponding power data points to determine the MP point by using a prediction function. As depicted in Figure 18, D1, D2, and D3 are the previously used duty cycles corresponding with the P1, P2, and P3 PV curve maximum power (MP) points during the first round. Thereafter the new duty cycle Dm1 is found by the predictor and the power Pm1 at Dm1 is calculated as at point A. The Pm1 and Pmpp of the P-V curve do not match, so the new duty cycle Dm2 is predicted to find out Pm2 at Dm2, which also does not match Pmpp at point B. In this way, the prediction process is repeated again and again until it predicts the accurate duty cycle Dm, which determines the Pm to match the MPP [62,63].
The main feature of the non-linear predictor method is its ease of implementation and very fast convergence with excellent efficiency under rapidly changing irradiance and temperature. However, under partial shading conditions, this method is not competent enough to determine the MPP by calculating the Dm values, because the predictor does not represent multiple peaks. For every matching node, it assigns the value of 1, and to non-matching nodes, 0. In this way, the probability is applied to all the best-known nodes to determine the MPP point [60].

Non-Linear Predictor (NLP) Method
The non-linear predictor algorithm determines the MPP based on certain predictions. The predictor function is used for selected I-V and P-V curves, which need to be exploited. However, in most cases, a P-V curve is considered for prediction [61]. In a non-linear predictor method, it utilizes several previous duty cycle inputs and their corresponding power data points to determine the MP point by using a prediction function. As depicted in Figure 18, D 1 , D 2 , and D 3 are the previously used duty cycles corresponding with the P 1 , P 2 , and P 3 PV curve maximum power (MP) points during the first round. Thereafter the new duty cycle D m1 is found by the predictor and the power P m1 at D m1 is calculated as at point A. The P m1 and P mpp of the P-V curve do not match, so the new duty cycle D m2 is predicted to find out P m2 at D m2, which also does not match P mpp at point B. In this way, the prediction process is repeated again and again until it predicts the accurate duty cycle D m , which determines the P m to match the MPP [62,63].
The main feature of the non-linear predictor method is its ease of implementation and very fast convergence with excellent efficiency under rapidly changing irradiance and temperature. However, under partial shading conditions, this method is not competent enough to determine the MPP by calculating the D m values, because the predictor does not represent multiple peaks. Energies 2020, 13

Ant Colony Optimization (ACO) Method
Different researchers have reported on the ant colony optimization method with different MPPT techniques for tracking the true GMPP [64][65][66][67][68][69][70][71]. ACO is another swarm optimization technique that is based on ants' shortest path seeking phenomenon toward their colony [69]. Nowadays, ACO is frequently applied in conjunction with different MPPT techniques to determine the GMPP under frequently changing weather conditions, because of its advantageous ability to run continuously to observe changes in real time with only one pair of voltage and current sensors. It is also guaranteed to track the GMPP under non-uniform and partially shaded conditions. Furthermore, it has fast convergence speed, its convergence is independent of the initial conditions, and no knowledge of PV array characteristics is required.

Cuckoo Search (CS) Method
The cuckoo search method is inspired by the obligate brood reproduction approach. In this process, cuckoo birds lay and hide their eggs in different nests of other birds for breeding, and the laid eggs' probability of discovery by other birds is =∈ [0,1]. In this case, either the egg could be recognized by other birds who will throw it out from their nests or change the nests, or, if these eggs are not recognized and not destroyed by host birds, the cuckoo will grow and become a mature bird [72][73][74]. The concept of CS is very similar to the P&O method using particles, but in the CS method step-sizes are characterized by the Lévy flight law ( = ) [75][76][77], where is the flight length and λ is the variance. Since 1 > λ > 3, y has infinite variance. In the CS metho,d to determine the GP point, two appropriate defined variables, (i) PV array voltage i.e., ( = 1,2, . . . ), where is the total number of sample points, and (ii) the step-size of the sample, defined with , are selected to find the true GP point. Finally, the fitness of maximum power depends on the fitness curve function , where = ( ). By following a Lévy flight, new voltage samples are generated according to Equation (26).
In Figure 19, CS MPP tracking under partial shading conditions is depicted where different GMPP and LMPP points are marked. The cuckoo search process consists of three samples denoted by the variables , , and with (green, red, and yellow) color coding. At the first iteration, Y 0 is considered to be the nearest point to MPP. Thus, X 0 and Z 0 are forced to move towards Y 0 . However, in the second iteration, Z 2 reaches the best possible GP point. Therefore, the Lévy flight allows the local samples X and Y to leave their existing location and move towards the Z 2 to reach GMPP [78].

Ant Colony Optimization (ACO) Method
Different researchers have reported on the ant colony optimization method with different MPPT techniques for tracking the true GMPP [64][65][66][67][68][69][70][71]. ACO is another swarm optimization technique that is based on ants' shortest path seeking phenomenon toward their colony [69]. Nowadays, ACO is frequently applied in conjunction with different MPPT techniques to determine the GMPP under frequently changing weather conditions, because of its advantageous ability to run continuously to observe changes in real time with only one pair of voltage and current sensors. It is also guaranteed to track the GMPP under non-uniform and partially shaded conditions. Furthermore, it has fast convergence speed, its convergence is independent of the initial conditions, and no knowledge of PV array characteristics is required.

Cuckoo Search (CS) Method
The cuckoo search method is inspired by the obligate brood reproduction approach. In this process, cuckoo birds lay and hide their eggs in different nests of other birds for breeding, and the laid eggs' probability of discovery by other birds is p a =∈ [0, 1]. In this case, either the egg could be recognized by other birds who will throw it out from their nests or change the nests, or, if these eggs are not recognized and not destroyed by host birds, the cuckoo will grow and become a mature bird [72][73][74]. The concept of CS is very similar to the P&O method using particles, but in the CS method step-sizes are characterized by the Lévy flight law y = l −λ [75][76][77], where l is the flight length and λ is the variance. Since 1 > λ > 3, y has infinite variance. In the CS method, to determine the GP point, two appropriate defined variables, (i) PV array voltage i.e., Vi(i = 1, 2, . . . n), where n is the total number of sample points, and (ii) the step-size of the sample, defined with α, are selected to find the true GP point. Finally, the fitness of maximum power depends on the fitness curve function J, where J = f (V). By following a Lévy flight, new voltage samples are generated according to Equation (26).
In Figure 19, CS MPP tracking under partial shading conditions is depicted where different GMPP and LMPP points are marked. The cuckoo search process consists of three samples denoted by the variables X, Y, and Z with (green, red, and yellow) color coding. At the first iteration, Y 0 is considered to be the nearest point to MPP. Thus, X 0 and Z 0 are forced to move towards Y 0 . However, in the second iteration, Z 2 reaches the best possible GP point. Therefore, the Lévy flight allows the local samples X and Y to leave their existing location and move towards the Z 2 to reach GMPP [78].

Fibonacci Search (FS) Method
Fibonacci search is also known as the line search method, based on Fibonacci for optimization with a one-variable function. This search method works on a divide and conquer principle; the process iteratively limits and moves the searching range to reach an ideal point in the range [79,80]. The Fibonacci search number is defined as: Based on Equation (27), the Fibonacci numbers are calculated as: and are the two restricted Fibonacci sequence numbers used in this method, where is the last term in the order, where the direction of line search shifting is determined by the value of the function at two checkpoints in the range. The method restricts search range to determine the MPP. The FS method for limiting and shifting the optimal hold point in the range is illustrated in Figure  20, where the variables and are the distance between two breakpoints and the association between and is:

Fibonacci Search (FS) Method
Fibonacci search is also known as the line search method, based on Fibonacci for optimization with a one-variable function. This search method works on a divide and conquer principle; the process iteratively limits and moves the searching range to reach an ideal point in the range [79,80]. The Fibonacci search number is defined as: Based on Equation (27), the Fibonacci numbers are calculated as: c 1 and c N are the two restricted Fibonacci sequence numbers used in this method, where c N is the last term in the order, where the direction of line search shifting is determined by the value of the function at two checkpoints in the range. The method restricts search range to determine the MPP. The FS method for limiting and shifting the optimal hold point in the range is illustrated in Figure 20, where the variables a i and b i are the distance between two breakpoints and the association between a i and b i is: Energies 2020, 13, 3256 19 of 37 Figure 19. Cuckoo search under partial shading conditions [78].

Fibonacci Search (FS) Method
Fibonacci search is also known as the line search method, based on Fibonacci for optimization with a one-variable function. This search method works on a divide and conquer principle; the process iteratively limits and moves the searching range to reach an ideal point in the range [79,80]. The Fibonacci search number is defined as: Based on Equation (27), the Fibonacci numbers are calculated as: and are the two restricted Fibonacci sequence numbers used in this method, where is the last term in the order, where the direction of line search shifting is determined by the value of the function at two checkpoints in the range. The method restricts search range to determine the MPP. The FS method for limiting and shifting the optimal hold point in the range is illustrated in Figure  20, where the variables and are the distance between two breakpoints and the association between and is: Figure 20. Fibonacci search technique searching process [80]. According to Figure 20, when the condition |b k − a k | ≤ δ or f (b k ) − f (a k ) ≤ ε is justified, the FS is terminated. Where δ and ε are the fixed tolerances, when there is an abrupt change in solar insolation, the optimal obtained point may be distracted from its direction and move outward from the search range. Therefore, the search limit must be maintained to protract the swing confined within the same track. Afterward, the next reiteration direction is decided and is moved either in the right or left direction of the search point depending on which is the swing of the output power.

Particle Swarm Optimization (PSO) Method
Particle swarm optimization is a stochastic optimal algorithm inspired by the social behavior of the birds flocking and fish schooling life mechanism to find food and travel together [81]. In the PSO method, many cooperative sources, also known as particles, are used to track the right path, where each source exchanges its information obtained in its respective search process, as depicted in Figure 21 [82,83]. The position of the right path is influenced by the best source in a neighborhood P best or the best solution found by all the particles in the entire population G best . The best position is identified by using Equation (30) x t+1 where v i is the velocity component to represent the MPPT step-size. The value of v i is calculated by following Equation (31).
where v t+1 i is the velocity of the i-th swarm, w is the learning factor, and c 1 , c 2 , r 1 , and r 2 are the position constant and random number respectively. According to Figure 20, when the condition | − | ≤ | ( ) − ( )| ≤ is justified, the FS is terminated. Where and are the fixed tolerances, when there is an abrupt change in solar insolation, the optimal obtained point may be distracted from its direction and move outward from the search range. Therefore, the search limit must be maintained to protract the swing confined within the same track. Afterward, the next reiteration direction is decided and is moved either in the right or left direction of the search point depending on which is the swing of the output power.

Particle Swarm Optimization (PSO) Method
Particle swarm optimization is a stochastic optimal algorithm inspired by the social behavior of the birds flocking and fish schooling life mechanism to find food and travel together [81]. In the PSO method, many cooperative sources, also known as particles, are used to track the right path, where each source exchanges its information obtained in its respective search process, as depicted in Figure  21 [82,83]. The position of the right path is influenced by the best source in a neighborhood Pbest or the best solution found by all the particles in the entire population Gbest. The best position is identified by using Equation (30) = + (30) where is the velocity component to represent the MPPT step-size. The value of is calculated by following Equation (31).
where is the velocity of the i-th swarm, is the learning factor, and , , r1, and r2 are the position constant and random number respectively. P best, i Figure 21. Movement of particles in a particle swarm optimization method [82,84].
In this method, each source follows two basic rules to track the MPP, either (i) follow the best and successful source of practical shared information or (ii) move towards the suitable and best conditions according to previous information. This way, each source ultimately evolves to or close to the optimal solution [85]. Figure 21. Movement of particles in a particle swarm optimization method [82,84].
In this method, each source follows two basic rules to track the MPP, either (i) follow the best and successful source of practical shared information or (ii) move towards the suitable and best conditions Energies 2020, 13, 3256 21 of 37 according to previous information. This way, each source ultimately evolves to or close to the optimal solution [85].

Fuzzy Logic Control (FLC) Method
In fuzzy logic control, a set of multiple logics is used to determine the MPP point with the comparison of different binary logics with the two-state condition: it could be either false or true [9,[86][87][88][89][90]. FLC is suitable for nonlinear control because it does not use any multifaceted equations. The performance of fuzzy logic completely depends on the parameters of membership functions and the rules. However, there is no strict scheme to establish fuzzy parameters precisely to track MPP. The design of FLC and its performance, therefore, depends on the expertise of the developer. FLC is developed by following Equations (32) and (33).
In Figure 22, fuzzy logic control design is depicted, which comprises the four basic operating principles of FLC method: (i) fuzzification, (ii) knowledge base, (iii) inference engine, (iv) defuzzification. The fuzzification block is used to change input data points into appropriate binary values with the help of the membership function, while the knowledge base block contains a databank of desired linguistic explanations and the control regulations set. The inference engine comprehends the FLC based on action generated by the information from the control regulations and the linguistic variable explanations. Finally, the defuzzification block converts a contingent output into a non-fuzzy control action [91].

Fuzzy Logic Control (FLC) Method
In fuzzy logic control, a set of multiple logics is used to determine the MPP point with the comparison of different binary logics with the two-state condition: it could be either false or true [9,[86][87][88][89][90]. FLC is suitable for nonlinear control because it does not use any multifaceted equations. The performance of fuzzy logic completely depends on the parameters of membership functions and the rules. However, there is no strict scheme to establish fuzzy parameters precisely to track MPP. The design of FLC and its performance, therefore, depends on the expertise of the developer. FLC is developed by following Equation (32 and 33).
In Figure 22, fuzzy logic control design is depicted, which comprises the four basic operating principles of FLC method: (i) fuzzification, (ii) knowledge base, (iii) inference engine, (iv) defuzzification. The fuzzification block is used to change input data points into appropriate binary values with the help of the membership function, while the knowledge base block contains a databank of desired linguistic explanations and the control regulations set. The inference engine comprehends the FLC based on action generated by the information from the control regulations and the linguistic variable explanations. Finally, the defuzzification block converts a contingent output into a non-fuzzy control action [91].

Artificial Neural Network (ANN) Method
ANN is motivated by biological neural networks (BNN), which is used for the assessment of an approximate generally unknown large number of input functions. In a maximum power point tracking system, ANN is best suited to the approximation of non-linear systems, where they give good results as compared to other traditional computational MPPT methods [88,[92][93][94][95]. ANN-based MPPT contains a huge number of interlocked processing elements, also known as neurons or nodes, that are organized in layers. The configuration of a feed-forward ANN is depicted in Figure 23; it consists of an input layer, one or several hidden layers, and an output layer.

Artificial Neural Network (ANN) Method
ANN is motivated by biological neural networks (BNN), which is used for the assessment of an approximate generally unknown large number of input functions. In a maximum power point tracking system, ANN is best suited to the approximation of non-linear systems, where they give good results as compared to other traditional computational MPPT methods [88,[92][93][94][95]. ANN-based MPPT contains a huge number of interlocked processing elements, also known as neurons or nodes, that are organized in layers. The configuration of a feed-forward ANN is depicted in Figure 23; it consists of an input layer, one or several hidden layers, and an output layer.  In feed-forward ANN configuration, more or less all the nodes of each layer are linked to all the nodes of the contiguous layers employing synaptic weights [91].

Extremum Seeking (ES) Method
The extremum seeking technique uses the ripples of the switching converter to evaluate the slope of the voltage-power curve and sinusoidal perturbation, as illustrated in Figure 24. Where the non-linear input-output map is given, if a sinusoidal signal of little amplitude is added to the input signal , the output signal oscillates around its average value. Using this slope's values, ES tracks the MPP of the PV system [96,97]. This technique is operated with an algorithm that seeks the minimum or maximum of a nonlinear plot. A system run by the extremum seeking method auto oscillates around the optimum to track the MPP successfully [98].
The purpose of ES is to strengthen the operating point as close as possible to the optimal value.  In feed-forward ANN configuration, more or less all the nodes of each layer are linked to all the nodes of the contiguous layers employing synaptic weights [91].

Extremum Seeking (ES) Method
The extremum seeking technique uses the ripples of the switching converter to evaluate the slope of the voltage-power curve and sinusoidal perturbation, as illustrated in Figure 24. Where the non-linear input-output map is given, if a sinusoidal signal of little amplitude is added to the input signal x, the output signal y oscillates around its average value. Using this slope's values, ES tracks the MPP of the PV system [96,97]. This technique is operated with an algorithm that seeks the minimum or maximum of a nonlinear plot. A system run by the extremum seeking method auto oscillates around the optimum to track the MPP successfully [98].  In feed-forward ANN configuration, more or less all the nodes of each layer are linked to all the nodes of the contiguous layers employing synaptic weights [91].

Extremum Seeking (ES) Method
The extremum seeking technique uses the ripples of the switching converter to evaluate the slope of the voltage-power curve and sinusoidal perturbation, as illustrated in Figure 24. Where the non-linear input-output map is given, if a sinusoidal signal of little amplitude is added to the input signal , the output signal oscillates around its average value. Using this slope's values, ES tracks the MPP of the PV system [96,97]. This technique is operated with an algorithm that seeks the minimum or maximum of a nonlinear plot. A system run by the extremum seeking method auto oscillates around the optimum to track the MPP successfully [98].
The purpose of ES is to strengthen the operating point as close as possible to the optimal value.
The purpose of ES is to strengthen the operating point as close as possible to the optimal value.

Chaotic Search (CS) Method
In the chaotic search method, PV voltage V PV and power P PV are selected for an optimization variable and fitness function [18]. The optimization is performed in a superior way to the blindfold random search method by selecting single or multiple variables. The main characteristics of the CS method are its randomness, dynamicity, sensitivity, and regularity in tracking the MPP under non-linear conditions [99,100]. In the chaos search algorithm, a single carrier search is not sufficient to perform optimization to determine the MPP. Therefore, the dual-carrier CS search method is used, which improves system efficiency, robustness, and precision. The logistic mapping of the dual-carrier chaotic search method is followed according to: where, n = 1, 2, . . . . . . , N. The two optimization methods are: where a and b are two defined variables for an initial mapping search to determine the MPP points as depicted in Figure 25.

Chaotic Search (CS) Method
In the chaotic search method, PV voltage VPV and power PPV are selected for an optimization variable and fitness function [18]. The optimization is performed in a superior way to the blindfold random search method by selecting single or multiple variables. The main characteristics of the CS method are its randomness, dynamicity, sensitivity, and regularity in tracking the MPP under nonlinear conditions [99,100]. In the chaos search algorithm, a single carrier search is not sufficient to perform optimization to determine the MPP. Therefore, the dual-carrier CS search method is used, which improves system efficiency, robustness, and precision. The logistic mapping of the dual-carrier chaotic search method is followed according to: where, = 1,2, … … , . The two optimization methods are: where and are two defined variables for an initial mapping search to determine the MPP points as depicted in Figure 25.
According to Figure 25, when the output power varies between lower and upper limits as denoted by the searching points ( ), ( ), and ( ), the two lower points ( ) ( ) are designated as endpoints to narrow the dual chaotic searching area. Therefore, the search area gradually gets smaller and smaller, and halts the searching when it reaches less than or equal to the According to Figure 25, when the output power varies between lower and upper limits as denoted by the searching points P Y 0 2 , P x 0 2 , and P Y 0 3 , the two lower points P Y 0 3 and P Y 0 2 are designated as endpoints to narrow the dual chaotic searching area. Therefore, the search area gradually gets smaller Energies 2020, 13, 3256 24 of 37 and smaller, and halts the searching when it reaches less than or equal to the set threshold value. The foremost difference between CS and other soft computing MPPT methods is that in the chaotic method, MPP search commences randomly in the selected region as described in the above Figure 25. In this way, the search at both PV ends forces a faster convergence by a fast narrowing process because of the dual search process, which guarantees the tracking of multiple maximum power points.

Differential Evolution (DE) Method
Differential evolution is a stochastic-based evolutionary algorithm belonging to the genetic algorithm (GA) family. The DE method determines the MPP by creating and maintaining the number of sample points based on its population optimization algorithm [101]. The working principle of DE is almost the same as GA, where it uses mutation as a search and selection engine to determine the MPP toward the prospective region as depicted in Figure 26 by following five steps [102].
Energies 2020, 13, 3256 24 of 37 set threshold value. The foremost difference between CS and other soft computing MPPT methods is that in the chaotic method, MPP search commences randomly in the selected region as described in the above Figure 25. In this way, the search at both PV ends forces a faster convergence by a fast narrowing process because of the dual search process, which guarantees the tracking of multiple maximum power points.

Differential Evolution (DE) Method
Differential evolution is a stochastic-based evolutionary algorithm belonging to the genetic algorithm (GA) family. The DE method determines the MPP by creating and maintaining the number of sample points based on its population optimization algorithm [101]. The working principle of DE is almost the same as GA, where it uses mutation as a search and selection engine to determine the MPP toward the prospective region as depicted in Figure 26 by following five steps [102].
The DE method is used for both dynamic modeling of PV modules and MPPT designing, and has three key features: (i) it is capable of determining the correct GMPP regardless of the initial PV parameter values, (ii) it has fast convergence, and (iii) it is easy to implement with few control parameters [101].

Genetic Algorithm (GA) Method
The genetic algorithm is a metaheuristic search optimization method based on biological evolution principles and categories in the evolutionary algorithm family, which produces solutions to optimize the problems using techniques inspired by natural evolution. In GA, chromosomes or genotypes are used as an input parameter for MPP searching and optimization purposes. In the case of PV MPPT, the chromosome parameters could be VPV or duty cycle where they need to be defined in either a binary or a real system with their length limit. A larger number of chromosomes will increase the processing time, but has the advantage of determining an accurate MPP.
Genetic algorithms work on three steps: (i) selection, (ii) crossover, and (iii) mutation. In the selection process, chromosomes are chosen from the current generation's population to be inserted into the next level of the population according to fitness level. The PV equation is used for the fitness Figure 26. Differential evolution algorithm flow [18,102].
The DE method is used for both dynamic modeling of PV modules and MPPT designing, and has three key features: (i) it is capable of determining the correct GMPP regardless of the initial PV parameter values, (ii) it has fast convergence, and (iii) it is easy to implement with few control parameters [101].

Genetic Algorithm (GA) Method
The genetic algorithm is a metaheuristic search optimization method based on biological evolution principles and categories in the evolutionary algorithm family, which produces solutions to optimize the problems using techniques inspired by natural evolution. In GA, chromosomes or genotypes are used as an input parameter for MPP searching and optimization purposes. In the case of PV MPPT, the chromosome parameters could be V PV or duty cycle where they need to be defined in either a binary or a real system with their length limit. A larger number of chromosomes will increase the processing time, but has the advantage of determining an accurate MPP.
Genetic algorithms work on three steps: (i) selection, (ii) crossover, and (iii) mutation. In the selection process, chromosomes are chosen from the current generation's population to be inserted into the next level of the population according to fitness level. The PV equation is used for the fitness function. Afterward, a new chromosome is developed by using the crossover process with the combination of two first-and second-generation chromosomes. Finally, the mutation is used to maintain the genetic diversity of the generation until the stochastic variability of the genetic algorithm is achieved. Usually, GA is used in conjunction with other evolutionary and soft computing algorithms for optimization purposes: for example, in [103] GA with ANN, in [90] GA with FLC, and in [104] GA with PSO are used.

Simple Moving Voltage Average (SMVA) Method
A new method for MPPT optimization named simple moving voltage average was discussed in [7,105]. The proposed method is used for recuperating oscillatory effects such as ripples in solar PV output voltage under non-uniform solar irradiance. Figure 27 shows the configuration of the PV system with the proposed method, where X(n) and Y(n) are the input and output signals of the system and (N) is the magnitude of the moving average buffer, with a defined number of samples. The buffer holds the samples coming from X(n) as an input signal, computes them following the averaging method and generates the output signal Y(n), as depicted in Figure 26. function. Afterward, a new chromosome is developed by using the crossover process with the combination of two first-and second-generation chromosomes. Finally, the mutation is used to maintain the genetic diversity of the generation until the stochastic variability of the genetic algorithm is achieved. Usually, GA is used in conjunction with other evolutionary and soft computing algorithms for optimization purposes: for example, in [103] GA with ANN, in [90] GA with FLC, and in [104] GA with PSO are used.

Simple Moving Voltage Average (SMVA) Method
A new method for MPPT optimization named simple moving voltage average was discussed in [7,105]. The proposed method is used for recuperating oscillatory effects such as ripples in solar PV output voltage under non-uniform solar irradiance. Figure 27 shows the configuration of the PV system with the proposed method, where X(n) and Y(n) are the input and output signals of the system and (N) is the magnitude of the moving average buffer, with a defined number of samples. The buffer holds the samples coming from X(n) as an input signal, computes them following the averaging method and generates the output signal Y(n), as depicted in Figure 26. In Figure 28 the output signal Y(n) of the proposed method is given, where fluctuated (noisy) input signals are smoothed by using Equation (37), with 10 and 20 buffer sample points. It is witnessed that as the buffer sample size increases (the parameter N), the output Y(n) receives a more stable and smooth signal [106].  In Figure 28 the output signal Y(n) of the proposed method is given, where fluctuated (noisy) input signals are smoothed by using Equation (37), with 10 and 20 buffer sample points. It is witnessed that as the buffer sample size increases (the parameter N), the output Y(n) receives a more stable and smooth signal [106]. function. Afterward, a new chromosome is developed by using the crossover process with the combination of two first-and second-generation chromosomes. Finally, the mutation is used to maintain the genetic diversity of the generation until the stochastic variability of the genetic algorithm is achieved. Usually, GA is used in conjunction with other evolutionary and soft computing algorithms for optimization purposes: for example, in [103] GA with ANN, in [90] GA with FLC, and in [104] GA with PSO are used.

Simple Moving Voltage Average (SMVA) Method
A new method for MPPT optimization named simple moving voltage average was discussed in [7,105]. The proposed method is used for recuperating oscillatory effects such as ripples in solar PV output voltage under non-uniform solar irradiance. Figure 27 shows the configuration of the PV system with the proposed method, where X(n) and Y(n) are the input and output signals of the system and (N) is the magnitude of the moving average buffer, with a defined number of samples. The buffer holds the samples coming from X(n) as an input signal, computes them following the averaging method and generates the output signal Y(n), as depicted in Figure 26. In Figure 28 the output signal Y(n) of the proposed method is given, where fluctuated (noisy) input signals are smoothed by using Equation (37), with 10 and 20 buffer sample points. It is witnessed that as the buffer sample size increases (the parameter N), the output Y(n) receives a more stable and smooth signal [106].

Gauss-Newton (GN) Method
The Gauss-Newton method is also known as the Newton-Raphson method. In [107] this method was reported to exhibit faster convergence as compared to the steepest descent and hill-climbing techniques. The GN method uses a root-finding algorithm [108], in which the first and second derivatives of PV power P PV are used to determine the direction and estimate the number of iterations of convergence by solving the following equation: The advantage of root-finding algorithms is their iterative approach to tracking the MPP. This is not a model-based technique; for example, PV module parameters, such as Rp or R S , are required to be identified or estimated. The root-finding algorithm is a completely general approach that searches for the zero crossing of a given function-any given function used as the input for the algorithm [109,110].

Grasshopper-Optimized Fuzzy Logic (GOFL)
In [111], a novel grasshopper-optimized (GO) MPPT based on adaptive fuzzy logic was discussed. The GO algorithm is used to tune the membership function (MF) scaling factors of fuzzy logic control and to handle uncertainties in irradiances and temperature. The schematic diagram of the GO method with adaptive FLC is depicted in Figure 29.

Gauss-Newton (GN) Method
The Gauss-Newton method is also known as the Newton-Raphson method. In [107] this method was reported to exhibit faster convergence as compared to the steepest descent and hill-climbing techniques. The GN method uses a root-finding algorithm [108], in which the first and second derivatives of PV power PPV are used to determine the direction and estimate the number of iterations of convergence by solving the following equation: The advantage of root-finding algorithms is their iterative approach to tracking the MPP. This is not a model-based technique; for example, PV module parameters, such as Rp or RS, are required to be identified or estimated. The root-finding algorithm is a completely general approach that searches for the zero crossing of a given function-any given function used as the input for the algorithm [109,110].

Grasshopper-Optimized Fuzzy Logic (GOFL)
In [111], a novel grasshopper-optimized (GO) MPPT based on adaptive fuzzy logic was discussed. The GO algorithm is used to tune the membership function (MF) scaling factors of fuzzy logic control and to handle uncertainties in irradiances and temperature. The schematic diagram of the GO method with adaptive FLC is depicted in Figure 29. The GO algorithm is used to track the GMPP with the duty cycle of the boost converter of the PV system, where PV voltage (VPV) and current (IPV) are given as inputs to the boost converter to calculate the power (PPV) of the system and are considered equal to the value of k. Now, because of initial changes in PPV after initializing the system, the GO controller starts tracking and increases or decreases the duty cycle. In addition, the new IPV and VPV are measured to calculate the new power PPV (k ± 1). Based on the previous and current data on PV power, the controller decides to increase or decrease the duty cycle. This process of tracking continues until the GMPP is reached. A flowchart of the GO method is given in Figure 30. The GO algorithm is used to track the GMPP with the duty cycle of the boost converter of the PV system, where PV voltage (V PV ) and current (I PV ) are given as inputs to the boost converter to calculate the power (P PV ) of the system and are considered equal to the value of k. Now, because of initial changes in P PV after initializing the system, the GO controller starts tracking and increases or decreases the duty cycle. In addition, the new I PV and V PV are measured to calculate the new power P PV (k ± 1). Based on the previous and current data on PV power, the controller decides to increase or decrease the duty cycle. This process of tracking continues until the GMPP is reached. A flowchart of the GO method is given in Figure 30.

Discussion and Comparative Analysis
In the literature, many maximum power point tracking techniques can be found. This paper discussed a wide range of literature presented on MPPT techniques under non-uniform (shading) solar irradiance conditions. These techniques can be classified into two main collections: one is conventional (online), and the other consists of soft computing MPPT techniques. Both MPPT techniques have the same aim of optimizing the PV system output power regardless of non-uniform irradiance or partial shading conditions. In this section, the discussion focuses on the following factors: the capability to track the GMPP, convergence speed, design complexity, and sensitivity to environmental changes. In Tables 2 and 3, all the techniques discussed in this paper are surmised based on the aforementioned properties. Furthermore, in Tables 4 and 5, features of all the MPPT techniques are gathered for the quick and easy understanding of the readers.

Discussion and Comparative Analysis
In the literature, many maximum power point tracking techniques can be found. This paper discussed a wide range of literature presented on MPPT techniques under non-uniform (shading) solar irradiance conditions. These techniques can be classified into two main collections: one is conventional (online), and the other consists of soft computing MPPT techniques. Both MPPT techniques have the same aim of optimizing the PV system output power regardless of non-uniform irradiance or partial shading conditions. In this section, the discussion focuses on the following factors: the capability to track the GMPP, convergence speed, design complexity, and sensitivity to environmental changes. In Tables 2 and 3, all the techniques discussed in this paper are surmised based on the aforementioned properties. Furthermore, in Tables 4 and 5, features of all the MPPT techniques are gathered for the quick and easy understanding of the readers.      • Can handle all possible abnormal conditions, improves efficiency and convergence speed, and reduces steady-state oscillations 4.1. Capability to Track the GMPP As the solar PV system does not receive uniform solar irradiance even between very close locations at a short time scale, there are also chances of partial shading that could occur due to any unavoidable circumstances. These conditions could be a cause of the formation of multiple LMPPs on the I-V and P-V characteristic curves, which affect the tracking efficiency of the MPPT. Conventional MPPT algorithms are not good at tracking the GMPP under non-uniform and shading conditions, while stochastic and soft computing-based MPPT algorithms are prepared with the competency to track the GMPP over multiple LMPPs.

Convergence Speed
An efficient maximum power point tracking algorithm should have the ability to converge to the required current and voltage with good speed and accuracy, irrespective of steady or drastic changes in solar irradiance. Comparatively, traditional maximum power point tracking takes more time to converge to the GMPP as compared to the soft computing techniques. Moreover, the soft computing algorithms converge the GMPP with minimal or negligible oscillation.

Design Complexity
The selection of a suitable maximum power point tracking because of its design complexity for a particular PV system is considered one of the most important factors. The complexity of the MPPT technique depends on how accurately the algorithm searches for the true GMPP in the presence of different LMPPs; otherwise, the maximum solar energy is not harvested by the PV system. In addition, the configuration and implementation of the MPPT also depend on user knowledge in handling the device; some users are good at dealing with analog circuits while other prefer digital circuits. However, stochastic and soft computing-based maximum power point tracking algorithms are instigated in digital form, which requires experts in computer programming and software.

Sensitivity
A good maximum power point tracking algorithm must have enough sensitivity to operate under any condition and atmospheric changes. It must have the capability to react speedily and track the GMPP of the particular PV system at the given condition.

Conclusions
Because of the abundant availability of sunlight, solar PV is considered the most promising source of energy in the renewable power generation system. However, it has certain limitations such as weather intermittency, low efficiency, and high upfront cost. Therefore, to retrieve the maximum power from the PV system under non-uniform and shading conditions, MPPT is used as a power electronics interface. So far, extensive research has been done on enhancing the efficiency of MPPT power extraction from the PV system under different weather conditions. However, it has always been challenging to choose the right MPPT for the particular PV system's configurations and conditions. For this purpose, in this review, we have discussed and analyzed the most important and recent techniques presented in the literature, revealing the features of each technique under non-uniform shading conditions. After the appropriate assessments of all studies, a summary table was developed, which gives an overview of the results based on the sensor used, complexity, application, and convergence speed.
After the assessment of all the online and soft-computing methods, it was concluded that most of the conventional MPPT algorithms are good for tracking GMPP under uniform solar irradiance conditions but fail to obtain accurate GMPP under rapidly changing and partial shading conditions. However, soft computing algorithms are fast and accurate in tracking GMPP under partial shading and rapidly changing solar irradiance conditions. However, they are complex algorithms and, therefore, difficult to implement using embedded technologies.