A Maximum Power Point Tracking Method Based on a Modified Grasshopper Algorithm Combined with Incremental Conductance

The partial shading of photovoltaic (PV) modules due to clouds or blocking objects, such as buildings or tree leaves, is a common problem for photovoltaic systems. To address this, maximum power point tracking (MPPT) is implemented to find the global maximum power point (GMPP). In this paper, a new hybrid MPPT is proposed that combines a modified grasshopper optimization algorithm (GOA) with incremental conductance (IC). In the first stage, the proposed modified GOA is implemented to find a suitable tracking area where the GMPP is located. Then the system moves to the second stage by implementing IC to get the correct GMPP. IC is a fast-performing and reliable algorithm. By combining GOA and IC, the proposed method can find the GMPP accurately with a short tracking time. Various experimental results show that the proposed method yields the highest tracking efficiency and lowest tracking time compared to some of the state-of-the-art MPPT algorithms, such as particle swarm and modified firefly optimizations.


Introduction
To help reduce the adverse effects of fossil fuels, renewable energy has grown rapidly worldwide. One kind of renewable energy is solar energy providing abundant resources and emission-free. The solar energy can be categorized into concentrated solar power (CSP) and photovoltaics (PVs). CSP employs solar thermal power to generate electricity. Technically, CSP converts solar irradiation to heat power during the daytime, retains the heat into thermal energy storage, and generates the required electricity [1]. On the other hand, PVs directly alter the solar irradiation to electricity without any heat conversion. This benefit attracts the residential users to install PV, instead of CSP, as PV offers more economical technology. Consequently, PV has grown proportionately as the cost of producing and installing has declined [2]. In 2019, PV installations reached 646.8 GW of electricity generation.
Nevertheless, a common problem for PV systems is partial shading on the PV modules due to clouds or blocking objects, such as buildings or tree leaves. Under partial shading conditions (PSCs), the shaded modules operate in reverse bias and act as a burden, limiting the performance of the unshaded module and causing hotspot problems. Although bypass diodes are used to minimize this effect, their implementation causes the current-voltage and power-voltage (P-V) curves to change from uniform to non-uniform, leading to multiple peaks [3]. To increase the efficiency, a PV system is required to track the global maximum power point (GMPP).
The weakness of conventional maximum power point tracking (MPPT) algorithms (e.g., perturb and observe (P&O) [4], incremental conductance (IC) [5], and golden section search (GSS) [6]) is that they are easily trapped in local maxima, as they generally use a deterministic approach to track the maximum point. Those aforementioned methods will lead to power loss and low efficiency. To overcome this issue, efforts have been made to develop strategic approaches to minimize the negative effects of partial shading, namely hardware and advanced control algorithms.
A hardware approach modifies the system architecture to deal with PSCs. Examples of this strategy are the power electronic equalizer (to ensure that all substrings operate at the same voltage level during PSCs) [7], the multilevel DC-link inverter system (allows each module to be controlled separately) [8], distributed MPPT architecture (each module has its own controls) [9], and adaptive or dynamic reconfiguration of the PV module (an approach based on shading patterns) [10]. However, these approaches are generally complex and expensive.
The second strategy relies on advanced controls to alleviate the problems of PSCs. In order to track the global maximum power point (GMPP), most advanced control algorithms are based on artificial intelligence (AI). AI is generally associated with computer algorithms that exhibit some form of intelligence, which include neural networks, fuzzy logic, expert systems, and swarm intelligence, among others. Although their performance is good, the accuracy of neural networks [11] is highly dependent on the volume of training data and requires large and complex computational efforts to ensure the accuracy and reliability of the MPPT. Moreover, because fuzzy logic [12] and expert system controllers [13] are largely dependent on the designer's experience and prior knowledge of the PV characteristics under various PSCs, it is difficult to generalize the system design.
To solve MPPT under PSCs, swarm intelligence methods with simple computational efforts have been developed. Researchers began developing swarm intelligence methods or meta-heuristic algorithms for MPPT to solve the partial shading problem without knowing the shapes of the PV characteristic curves.
Chen et al. [14] were among the first to demonstrate that swarm based MPPT is able to improve the tracking performance. Miyatake et al. [15] have shown that particle swarm optimization (PSO)-based MPPT can outperform conventional methods such as hill-climbing and Fibonacci search method under PSCs. Titri et al. [16] proposed an MPPT method based on the ant colony optimization algorithm, which saves on the computation time and performs excellent tracking capability. Ahmed et al. [17] have implemented a cuckoo search-based MPPT and have shown to have improved tracking performance and created higher efficiency, as compared to P&O and PSO methods. Sundareswaran et al. [18] implemented the firefly algorithm (FA) for MPPT under PSC and showed that it has better tracking performance than PSO and P&O. Teshome et al. [19] have modified the FA for better tracking speed. Tey et al. [20] proposed a bat algorithm (BA)-based MPPT for rapid convergence towards the GMPP. Liao et al. [21] have recently published a paper on an improved BA for faster tracking and better efficiency. Mohanty et al. [22] implemented grey wolf optimization (GWO) for MPPT to overcome the limitations such as lower tracking efficiency, steady-state oscillations, and transients, as encountered in P&O techniques. Sundareswaran, et al. [23] have implemented the artificial bee colony (ABC) to obtain global maxima under PSCs. Bhukya et al. [24] have used the grasshopper optimization algorithm (GOA) to optimize the scaling factors of fuzzy logic control for better MPPT. Moreover, a GOA-based MPPT method has also been implemented in [25] to deal with various PSCs. GOA is a recently developed meta-heuristic algorithm, known for its robust feature in handling various optimization problems [26]. Nevertheless, since the meta-heuristic approaches employ random variable to escape from trapping in a local optimum, the final convergent point will be different every time the algorithm is executed, even though the same initial values are used. To avoid such a problem, it is better to first use a metaheuristic approach to locate the area where the GMPP is located, and then use a deterministic method to pinpoint the exact GMPP. This can ensure the repeatability of the MPPT algorithm.
In this paper, a new hybrid MPPT is proposed by combining a modified GOA with IC. In the first stage, the proposed modified GOA is implemented to find a suitable tracking area where the GMPP Energies 2020, 13, 4329 3 of 18 is located. Then the system moves to the second stage by implementing IC to get the correct GMPP. IC is a reliable, fast-performing algorithm. By combining GOA and IC, the proposed method can find GMPP accurately with a short tracking time.
The remainder of this paper is organized as follows: Section 2 briefly reviews GOA and IC. Section 3 describes the proposed MPPT algorithm. Section 4 experimentally compares the performance of the proposed algorithm with some of the state-of-the-art MPPT algorithms (i.e., PSO [15] and the modified firefly algorithm (MFA) [19]) to show its superiority. Section 5 provides conclusions.

Review of Grasshopper Optimization Algorithm
Mimicking the behavior of the grasshopper, GOA has two phases in determining food sources, namely nymphs (young grasshoppers) and adults, as illustrated in Figure 1. The nymph or larval phase moves slowly with small steps, which can be regarded as the exploitation stage. The adult phase (adulthood) has responsive movements and large steps, which can be regarded as the exploration stage.
Energies 2020, 13, x FOR PEER REVIEW 3 of 19 In this paper, a new hybrid MPPT is proposed by combining a modified GOA with IC. In the first stage, the proposed modified GOA is implemented to find a suitable tracking area where the GMPP is located. Then the system moves to the second stage by implementing IC to get the correct GMPP. IC is a reliable, fast-performing algorithm. By combining GOA and IC, the proposed method can find GMPP accurately with a short tracking time.
The remainder of this paper is organized as follows: Section 2 briefly reviews GOA and IC. Section 3 describes the proposed MPPT algorithm. Section 4 experimentally compares the performance of the proposed algorithm with some of the state-of-the-art MPPT algorithms (i.e., PSO [15] and the modified firefly algorithm (MFA) [19]) to show its superiority. Section 5 provides conclusions.

Review of Grasshopper Optimization Algorithm
Mimicking the behavior of the grasshopper, GOA has two phases in determining food sources, namely nymphs (young grasshoppers) and adults, as illustrated in Figure 1. The nymph or larval phase moves slowly with small steps, which can be regarded as the exploitation stage. The adult phase (adulthood) has responsive movements and large steps, which can be regarded as the exploration stage. GOA can be mathematically modeled as Equation (1) [26]: where i X is i-th grasshopper's position, i S is social interaction of the i-th grasshopper, i G is the i-th grasshopper's gravity force, and i A shows the influence of the wind on the i-th grasshopper.
The social interactions between grasshoppers can be modeled by Equation (2) [26]: where ij d is the distance between the i-th and the j-th grasshopper, and ij  GOA can be mathematically modeled as Equation (1) [26]: where X i is i-th grasshopper's position, S i is social interaction of the i-th grasshopper, G i is the i-th grasshopper's gravity force, and A i shows the influence of the wind on the i-th grasshopper. The social interactions between grasshoppers can be modeled by Equation (2) [26]: where d ij is the distance between the i-th and the j-th grasshopper, and s is a function that shows the strength of the social force which is calculated by Equation (3) [26]: where f is the coefficient of attraction intensity, and l is the length coefficient of interest. f and l factors represent the attraction and repulsion force functions on the individual grasshopper to reach the "comfortable zone", which means the grasshoppers have converged. G i can be expressed by Equation (4) [26]: where g is the gravitational constant (g = 10 m /s 2 ) andê g is a unit vector towards Earth's core. The negative sign indicates the force of the grasshopper as opposed to Earth's gravitational force.
The influence of the wind on the i-th grasshopper can be defined by Equation (5) [26]: where u is a hovering constant andê w is a unit vector that shows the direction of the wind. Note that movements of the young grasshoppers are highly dependent on the direction of the wind because they do not have wings. Combining Equations (2), (4), and (5) yields [26]: Since Equation (6) is complicated for MPPT implementation, it can be simplified by assuming the wind direction is always towards the target and the gravity force is ignored, as given in Equation (7) [26]: where ub d is the upper limit in the D-th dimension, lb d is the lower limit, and T d is the target solution, which is the best value so far and updated with iteration. T d carries the same meaning as the global best in PSO. Note that there are two identical c's in Equation (7), which physically have two meanings. The first c constant resembles the inertial weight (w) in PSO, while the second c constant reduces the attraction, comfort, and repulsive zones between particles. c is defined in Equation (8): where c max is the maximum value, c min is the minimum value, l is the current iteration, and L is the maximum iteration. Hence, the value of c decreases with increasing iteration.
To improve GOA's accuracy in finding GMPP, Akash Saxena et al. [27] added some randomness in GOA. The authors referred to their method as enhanced chaotic GOA (ECGOA). This random parameter x l is added to c, and, according to [27], the value of x l is within different ranges for the following four cases: where L is the maximum iteration; N min m and N max m are constant values, which are chosen to be 0.1 and 2, respectively.
Energies 2020, 13, 4329 Figure 2 shows the pseudo-code of ECGOA. ECGOA commences by creating random solutions. The particles then update their positions according to Equation (8). The best target valueT d is updated on each iteration. In addition, c is updated iteratively by utilizing the chaotic sequence value x l with a random value and is calculated by Equations (9)-(12) depending on the obtained value of x l . The distance between grasshopper agents is normalized to get the value of social interaction S i according to Equation (3). This position is updated iteratively until the final criteria are met. The best position and fitness of the target is finally used as the best estimate of the global maxima.
The main problem with ECGOA is that calculating the grasshopper's social interactions (S i ) is highly dependent on the distance between the position of other grasshoppers. The S i calculation is based on the fact that each grasshopper must calculate its distance between other grasshoppers according to Equation (2), as illustrated in Figure 3. Determination of S i involves calculating the distance between one grasshopper and all other grasshoppers, leading to long tracking times.

Review of Incremental Conductance (IC)
The IC algorithm operates based on the fact that the maximum power point occurs when the ratio of change of power and voltage is equal to zero, as represented by Equation (13)  agent 5 S12 S13 S14 S15 S1 = S12 + S13 + S14 + S15

Review of Incremental Conductance (IC)
The IC algorithm operates based on the fact that the maximum power point occurs when the ratio of change of power and voltage is equal to zero, as represented by Equation (13) (9), (10), (11), or (12) for each search agent Normalize the distance between garsshopper using (2) Update the position of search agent by (7)  agent 5 S12 S13 S14 S15 S1 = S12 + S13 + S14 + S15

Review of Incremental Conductance (IC)
The IC algorithm operates based on the fact that the maximum power point occurs when the ratio of change of power and voltage is equal to zero, as represented by Equation (13) [5]: Energies 2020, 13, 4329 6 of 18 Substituting P = VI into Equation (13) yields [5]: Thus, the MPP is reached when the ratio of change in conductance (incremental conductance) is equal to the negative of the instantaneous conductance as described by the following equation [5]: As shown in Figure 4, the operating points at the left and right sides are dP /dV > 0 and dP /dV < 0, respectively. The operating points of the left and right side of MPP can be described by [5]: As a deterministic algorithm, IC has the advantage of fast-tracking performance, but it tends to be trapped in local maxima under PSCs.
As a deterministic algorithm, IC has the advantage of fast-tracking performance, but it tends to be trapped in local maxima under PSCs.

ECGOA with Arithmetic Mean
The problem of calculating i S is that each grasshopper must calculate the distance with other individual grasshoppers according to Equation (2). Consequently, we propose to calculate the distance between the position of a grasshopper and the arithmetic mean of the positions of all grasshoppers, as illustrated in Figure 5. Hence, Equation (3) is modified into Equation (18): . javg x is represented by the following equation: Finally, Equation (8) is modified into:

ECGOA with Arithmetic Mean
The problem of calculating S i is that each grasshopper must calculate the distance with other individual grasshoppers according to Equation (2). Consequently, we propose to calculate the distance between the position of a grasshopper and the arithmetic mean of the positions of all grasshoppers, as illustrated in Figure 5. Hence, Equation (3) is modified into Equation (18): where d ijavg is the distance between the i-th grasshopper and the average coordinates of the grasshopper, x javg is represented by the following equation: Finally, Equation (8) is modified into: Energies 2020, 13, 4329 Finally, Equation (8) is modified into:  agent 5 S1 = S1avg S1javg Figure 5. Calculation of S i in ECGOA arithmetic mean.

Combination of the ECGOA with Arithmetic Mean and IC
The proposed algorithm combines the proposed modified GOA (i.e., ECGOA with arithmetic mean) and IC to reap the advanced benefits of each algorithm. At the start, ECGOA with arithmetic mean is used to find the correct region of the GMPP position. Then, the algorithm switches to the IC algorithm after the correct region is obtained. The transition from ECGOA with arithmetic mean to the IC algorithm occurs when the position of each searching agent (V i ) has a distance to the target T d lower than the minimum distance (d min ). The flowchart of the proposed method is presented in Figure 6.

Combination of the ECGOA with Arithmetic Mean and IC
The proposed algorithm combines the proposed modified GOA (i.e., ECGOA with arithmetic mean) and IC to reap the advanced benefits of each algorithm. At the start, ECGOA with arithmetic mean is used to find the correct region of the GMPP position. Then, the algorithm switches to the IC algorithm after the correct region is obtained. The transition from ECGOA with arithmetic mean to the IC algorithm occurs when the position of each searching agent   i V has a distance to the target d T lower than the minimum distance   min d . The flowchart of the proposed method is presented in Figure 6.    Figures 7 and 8 show a tracking process example from the proposed method which shows the transition between the ECGOA with arithmetic mean and IC. The proposed method is used to track a multiple-peak P-V curve with V GMPP = 189.3V and GMPP = 226.42W. Figure 7 depicts how all the particles approach the GMPP. In the initial state, all particles are spread away from each other with an initial value v 0 i . Using the ECGOA with arithmetic mean, the particles start to approach the GMPP. The detailed parameters values for each iteration cycle are summarized in Table 1. At the end of the second iteration, some particles are close enough to GMPP, and all the switching requirements are fulfilled (T d − V i < d min ). The system then is switched to IC with an initial tracking area marked as the grey region in Figure 7. After the transition, the tracking is continued using the IC and the values of the parameters are listed in Table 2. The tracking area will be shrunk iteratively until the GMPP is found. By using the transition strategy introduced in this work, the meta-heuristic and deterministic MPPT algorithms can be combined successfully.  Figure 7 depicts how all the particles approach the GMPP. In the initial state, all particles are spread away from each other with an initial value 0 i v . Using the ECGOA with arithmetic mean, the particles start to approach the GMPP. The detailed parameters values for each iteration cycle are summarized in Table 1. At the end of the second iteration, some particles are close enough to GMPP, and all the switching requirements

Tracking Example of the Proposed Method
The system then is switched to IC with an initial tracking area marked as the grey region in Figure 7. After the transition, the tracking is continued using the IC and the values of the parameters are listed in Table 2. The tracking area will be shrunk iteratively until the GMPP is found. By using the transition strategy introduced in this work, the meta-heuristic and deterministic MPPT algorithms can be combined successfully.   Figure 7 depicts how all the particles approach the GMPP. In the initial state, all particles are spread away from each other with an initial value 0 i v . Using the ECGOA with arithmetic mean, the particles start to approach the GMPP. The detailed parameters values for each iteration cycle are summarized in Table 1. At the end of the second iteration, some particles are close enough to GMPP, and all the switching requirements The system then is switched to IC with an initial tracking area marked as the grey region in Figure 7. After the transition, the tracking is continued using the IC and the values of the parameters are listed in Table 2. The tracking area will be shrunk iteratively until the GMPP is found. By using the transition strategy introduced in this work, the meta-heuristic and deterministic MPPT algorithms can be combined successfully.

Particles
Iteration Cycle Note 0-th 1st * All transition requirements are satisfied after the first iteration cycle:

Static Case Studies
The experimental setup was carried out to evaluate the effectiveness of the proposed method, PSO, and MFA. The block diagram of the experimental setup is depicted in Figure 9. The main components consist of a PV array emulator, a DC-DC converter, the MPPT controller, a load, and a DC source.

Static Case Studies
The experimental setup was carried out to evaluate the effectiveness of the proposed method, PSO, and MFA. The block diagram of the experimental setup is depicted in Figure 9. The main components consist of a PV array emulator, a DC-DC converter, the MPPT controller, a load, and a DC source.   Figure 10 shows the experimental setup. The PV array is implemented by a programmable PV Emulator ETS 600/8, manufactured by AMETEK, which can mimic the output of the PV installation under PSCs. The controller is implemented in a 32-bit digital signal processor (DSP-TMS320F28035). The DC-DC converter topology is an interleaved boost converter, aiming to reduce ripple currents. Its output is connected to a resistive load which is regulated by a programmable DC Voltage Source (Chroma 620120P-600-8).
under PSCs. The controller is implemented in a 32-bit digital signal processor (DSP-TMS320F28035). The DC-DC converter topology is an interleaved boost converter, aiming to reduce ripple currents. Its output is connected to a resistive load which is regulated by a programmable DC Voltage Source (Chroma 620120P-600-8). Six different P-V curves with different GMPP, shown in Figure 11a-f, were tested to validate the performance of the proposed method. These P-V curves were obtained from the one-diode model (ODM) [28] with the modeling characteristic curve arranged in series. The effect of partial shading was caused by different irradiance values in each cell, resulting in P-V curves with multiple peaks.

Oscilloscope Agilent technologies
To find the GMPPs on all curves, we compared the proposed method with the PSO algorithm and MFA. All these algorithms were evaluated in terms of tracking times and tracking efficiencies. Tracking time evaluation reveals the speed of the algorithm in finding GMPP. The tracking efficiency evaluation indicates the effectiveness of the algorithm for obtaining GMPP compared to an ideal GMPP.
The number of particles or agents assigned for each algorithm was five. The number of particles or agents has to be carefully selected in order to satisfy the accuracy and computational time. All their initial positions were assigned as 10%, 30%, 50%, 70%, and 90% of the open-circuit voltage.
The parameters for PSO were taken from [29], which have been validated for the best performance for a five-particle system, while the MFA parameters were extracted from [19]. Table 3 lists the values of the parameter used in all methods. Six different P-V curves with different GMPP, shown in Figure 11a-f, were tested to validate the performance of the proposed method. These P-V curves were obtained from the one-diode model (ODM) [28] with the modeling characteristic curve arranged in series. The effect of partial shading was caused by different irradiance values in each cell, resulting in P-V curves with multiple peaks.   To find the GMPPs on all curves, we compared the proposed method with the PSO algorithm and MFA. All these algorithms were evaluated in terms of tracking times and tracking efficiencies. Tracking The number of particles or agents assigned for each algorithm was five. The number of particles or agents has to be carefully selected in order to satisfy the accuracy and computational time. All their initial positions were assigned as 10%, 30%, 50%, 70%, and 90% of the open-circuit voltage.
The parameters for PSO were taken from [29], which have been validated for the best performance for a five-particle system, while the MFA parameters were extracted from [19]. Table 3 lists the values of the parameter used in all methods. Table 3. Algorithm parameters.

No
Method Parameters Finally, since all three algorithms are meta-heuristic methods, they are run multiple times to obtain the statistical results. Tables 4 and 5 show the average tracking efficiencies and times with standard deviations for all static cases. From these tables, it is clear that all methods yield tracking efficiencies above 99%. Nevertheless, the averaged tracking efficiencies for all cases of the proposed method are the highest. Moreover, the standard deviations are also the smallest. It can be seen that the proposed method takes the shortest time to attain the GMPP. This is followed by MFA and PSO. Moreover, both the proposed method and MFA exhibit small power fluctuations whereas PSO yields the worst power variations during the tracking process.
Finally, since all three algorithms are meta-heuristic methods, they are run multiple times to obtain the statistical results. Tables 4 and 5 show the average tracking efficiencies and times with standard deviations for all static cases. From these tables, it is clear that all methods yield tracking efficiencies above 99%. Nevertheless, the averaged tracking efficiencies for all cases of the proposed method are the highest. Moreover, the standard deviations are also the smallest.
In terms of tracking time, there are significant differences between these three methods, which are listed as follows:     In terms of tracking time, there are significant differences between these three methods, which are listed as follows: • In curve 1, the proposed method is 3.96% faster than MFA and 16.02% faster than PSO • In curve 2, the proposed method is 45.55% faster than MFA and 61.36% faster than PSO • In curve 3, the proposed method is 47.28% faster than MFA and 63.58% faster than PSO • In curve 4, the proposed method is 17.59% faster than MFA and 50.31% faster than PSO • In curve 5, the proposed method is 20.30% faster than MFA and 32.91% faster than PSO • In curve 6, the proposed method is 44.67% faster than MFA and 59.71% faster than PSO Consequently, the proposed method can significantly improve the convergence time for attaining the GMPP.

Dynamic Case Studies
In this case, the continuous dynamic tracking capability was tested for the proposed method. The range of power level was made varied, starting from 344.78 W (uniform PV curve, i.e., Curve 1) to 128.38 W (curve 3). The shaded pattern changing sequence is shown in Figure 13, where the change in the shaded pattern shows the change in system irradiance level every 5 s. This scenario illustrates the dynamic performance when the level of P pv changes from high to low. To achieve this scenario, the following constraint was used to detect whether the GMPP has changed: where P GMPP,last is the GMPP power at the previous operating point. ∆P is set at 5%. If such a condition is met, the MPPT algorithm will re-initiate the searching agent to find a new GMPP. Figure 14a-c shows the power trajectories for the proposed method, MFA, and PSO when tracking the shaded patterns in Figure 13. One may observe that, similar to the static cases, the proposed method takes the least time to settle to the steady-state when tracking different power levels. Moreover, the proposed method yields the least power fluctuations during transients. The dynamic tracking efficiency, η d , is defined in Equation (22): where ∆T i is the period when V pv,i and I pv,i are sampled using the MPPT algorithm. ∆T j is the period when GMPP th,j is ideally obtained. Consequently, the sooner the algorithm reaches the GMPP for each shaded case and the smaller the power variations, the higher the value of η d . Table 6 lists the values where , GMPP last P is the GMPP power at the previous operating point. P  is set at 5%. If such a condition is met, the MPPT algorithm will re-initiate the searching agent to find a new GMPP.   Figure 13. One may observe that, similar to the static cases, the proposed method takes the least time to settle to the steady-state when tracking different power levels. Moreover, the proposed method yields the least power fluctuations during transients. The dynamic tracking efficiency, d  , is defined in Equation (22) GMPP is ideally obtained. Consequently, the sooner the algorithm reaches the GMPP for each shaded case and the smaller the power variations, the higher the value of d  . Table   6 lists the values of d  for Figure 14. It can be clearly seen that the proposed method has the highest efficiency among all methods.

Conclusions
This paper proposes a hybrid algorithm that combines the proposed modified GOA and the well-known IC method for maximum power point tracking for a photovoltaic system. Experimental results show that this algorithm has the fastest tracking time and highest efficiency compared to some of the state-of-the-art MPPT algorithms, such as MFA and PSO.

Conclusions
This paper proposes a hybrid algorithm that combines the proposed modified GOA and the well-known IC method for maximum power point tracking for a photovoltaic system. Experimental results show that this algorithm has the fastest tracking time and highest efficiency compared to some of the state-of-the-art MPPT algorithms, such as MFA and PSO.