Maximum Power Point Tracking of PV Systems under Partial Shading Conditions Based on Opposition-Based Learning Firefly Algorithm

This work presents an alternative to the conventional photovoltaic maximum power point tracking (MPPT) methods, by using an opposition-based learning firefly algorithm (OFA) that improves the performance of the Photovoltaic (PV) system both in the uniform irradiance changes and in partial shading conditions. The firefly algorithm is based on fireflies’ search for food, according to which individuals emit progressively more intense glows as they approach the objective, attracting the other fireflies. Therefore, the simulation of this behavior can be conducted by solving the objective function that is directly proportional to the distance from the desired result. To implement this algorithm in case of partial shading conditions, it was necessary to adjust the Firefly Algorithm (FA) parameters to fit the MPPT application. These parameters have been extensively tested, converging satisfactorily and guaranteeing to extract the global maximum power point (GMPP) in the cases of normal and partial shading conditions analyzed. The precise adjustment of the coefficients was made possible by visualizing the movement of the particles during the convergence process, while opposition-based learning (OBL) was used with FA to accelerate the convergence process by allowing the particle to move in the opposite direction. The proposed algorithm was simulated in the closest possible way to authentic operating conditions, and variable irradiance and partial shading conditions were implemented experimentally for a 60 [W] PV system. A two-stage PV grid-connected system was designed and deployed to validate the proposed algorithm. In addition, a comparison between the performance of the Perturbation and Observation (P&O) method and the proposed method was carried out to prove the effectiveness of this method over the conventional methods in tracking the GMPP.


Introduction
The exponential growth of the world population has been accompanied by an increase in the consumption of electrical energy and in the levels of environmental pollution. In this context, solar energy is a promising alternative for generating electrical energy without a significant environmental impact; hence, research and new investments into the use of solar energy are of vital importance. The main research topics in solar energy applications are to improve the efficiency of the systems converting solar energy into electricity, and the efficiency of the electronic equipment utilizing and processing solar power [1].
The generation of electrical energy from solar energy by means of photovoltaic panels (PV) has numerous advantages. However, the efficiency levels of the conversion process are still low, with a maximum recorded efficiency of 25%, using silicon cells [2]. In addition, Different photovoltaic panels have different characteristics; thus, the neural network is trained for a specific panel and periodically re-trained due to meteorological changes. In addition, the aging of the panels also requires re-training the MPPT algorithm.
All the aforementioned methods are applicable in uniform solar irradiance. However, depending on the climatic conditions or the place where the PV array is installed, a condition such as partial shading may occur. Partial shading can be caused by natural conditions or any other situation in which there is an obstruction in the passage of sunlight, with light reaching only part of a PV array. When this PV array makes use of devices such as bypass diodes, in the event of partial shading, its power-voltage (P-V) output characteristic curve has multiple points of maximum power, being classified as a global maximum point (GMPP) and other local maximum points (LMPP), resulting in the inability of conventional MPPT techniques to distinguish such MPP, which implies energy losses in the PV system [19].
On this point, meta-heuristic optimization methods were proposed in the literature to address the problems associated with partial shading in PV systems. MPPT techniques based on particle swarm optimization (PSO), gray wolf optimization (GWO), ant colony optimizer (ACO) and simulated annealing (SA) have been presented in [20][21][22][23][24][25][26][27][28][29][30]. It is important to mention that, although they guarantee the search for the GMPP, the metaheuristic methods have random behaviors in transients, increasing the time of convergence to the GMPP; in addition, during any abrupt change in climatic conditions, the search for the GMPP can be re-started randomly, producing large oscillations which can affect system performance.
The classifications of the MPPT techniques are summarized as shown in Table 1. This work thus presents an MPPT technique based on the opposition-based learning firefly algorithm (OFA), a bio-inspired algorithm, which can outperform the other metaheuristic algorithms. In order to evaluate the performance of the OFA MPPT algorithm, different partial shading patterns were used to investigate the efficacy of this method in extracting the GMPP under all these varying pattern conditions. A comparison was also made between the OFA, FA and the traditional P&O method MPPT algorithm. The performance comparisons of the various methods were undertaken, firstly, under standard test conditions and, secondly, under conditions of partial shading.

PV Model
The equivalent circuit of an ideal photovoltaic cell is given by a current source (Ipv) connected in parallel with a diode (through which the I d current flows), where the diode represents the cell structure in the dark [31]. However, the association of photovoltaic cells to form a PV panel results in a series R s resistance and parallel R sh resistance in the equivalent circuit, which represent, respectively, the equivalent series resistance and the equivalent parallel resistance of the associated cells ( Figure 1). firefly algorithm (OFA), a bio-inspired algorithm, which can ou heuristic algorithms. In order to evaluate the performance of th different partial shading patterns were used to investigate the e extracting the GMPP under all these varying pattern conditions made between the OFA, FA and the traditional P&O method M formance comparisons of the various methods were undertaken test conditions and, secondly, under conditions of partial shadin

PV Model
The equivalent circuit of an ideal photovoltaic cell is given connected in parallel with a diode (through which the Id curren represents the cell structure in the dark [31]. However, the as cells to form a PV panel results in a series Rs resistance and par equivalent circuit, which represent, respectively, the equivalent equivalent parallel resistance of the associated cells ( Figure 1). The output current IL generated by a cell or photovoltaic p the voltage generated VL, due to the characteristics of the semico its manufacture. The current IL is the result of the current of th exponential characteristic, subtracted from the current Iph, which by the incident light, as can be observed by the nodal analysi Thus, the equation that describes the I-V curve that represe cell is [31]  The output current I L generated by a cell or photovoltaic panel varies according to the voltage generated V L , due to the characteristics of the semiconductor material used in its manufacture. The current I L is the result of the current of the diode I d , which has an exponential characteristic, subtracted from the current I ph , which is the current generated by the incident light, as can be observed by the nodal analysis of the circuit shown in Figure 2, disregarding the current passing through R sh .
Thus, the equation that describes the I-V curve that represents an ideal photovoltaic cell is [31] I L = I ph − I d (1) in which the I pv current generated by the incident light is given by  A PV module is subject to partial shading conditions when irradiation levels are not uniform in PV modules, as shown in Figure 3. Among the main consequences of partial shading in the PV arrangement are: losses due to heating and the appearance of several peaks in the PV curve, which directly affect the output power efficiency, as shown in Figure 4. For the losses due to heating in the PV arrangement, bypass and blocking diodes are used as a solution. Partial shading on a PV panel, whose PV cells are in series, transforms the shaded cells into charges for the other cells that act as sources. This causes the appearance of reverse currents, generating hot spots in the module and damaging it. Thus, it is normal to connect an antiparallel bypass diode to the PV cells. The bypass diode deflects the current from the PV cell, avoiding hot spots, and therefore limits the heat dissipation in the shaded cells.  and I d represents Shockley's equation, which describes the general characteristics of a semiconductor diode [32]: where I o -leakage current or reverse saturation of the diode [A]; q-electron charge (1.60217646 × 10 −19 C); k-Boltzmann constant (1.3806503 × 10 −23 J/K); T-junction temperature p-n [K]; A-diode ideality factor (1 ≤ to ≤2).
The addition of the R sh and R S parameters to obtain the equivalent circuit of a real photovoltaic panel results in the addition of additional terms to Equation (1): where N S is the number of cells connected in series and V t is the panel thermal voltage given by The panel temperature T is different from the ambient temperature (T amb ), and can be calculated by where NOCT is the normal cell operating temperature when the irradiation is 800 W/m 2 and the ambient temperature is 20 • C. The voltage and current levels generated by a photovoltaic panel vary according to solar irradiation conditions, temperature, time, day of the year, the orientation of the panels, panel inclination, geographic latitude and shading, among other factors. The electrical power P provided by photovoltaic panels is given by the multiplication of V by I and varies mainly according to solar irradiation (G) and temperature (T), as shown in Equations (2)-(5) and as shown in Figure 2a,b.
A PV module is subject to partial shading conditions when irradiation levels are not uniform in PV modules, as shown in Figure 3. Among the main consequences of partial shading in the PV arrangement are: losses due to heating and the appearance of several peaks in the PV curve, which directly affect the output power efficiency, as shown in Figure 4. For the losses due to heating in the PV arrangement, bypass and blocking diodes are used as a solution. Partial shading on a PV panel, whose PV cells are in series, transforms the shaded cells into charges for the other cells that act as sources. This causes the appearance of reverse currents, generating hot spots in the module and damaging it. Thus, it is normal to connect an antiparallel bypass diode to the PV cells. The bypass diode deflects the current from the PV cell, avoiding hot spots, and therefore limits the heat dissipation in the shaded cells. A PV module is subject to partial shading conditions whe uniform in PV modules, as shown in Figure 3. Among the m shading in the PV arrangement are: losses due to heating and peaks in the PV curve, which directly affect the output power ure 4. For the losses due to heating in the PV arrangement, b are used as a solution. Partial shading on a PV panel, whose P forms the shaded cells into charges for the other cells that act appearance of reverse currents, generating hot spots in the mod it is normal to connect an antiparallel bypass diode to the PV flects the current from the PV cell, avoiding hot spots, and the pation in the shaded cells.  The bypass diode method is the strategy most used in commercial devices. Although it manages to adequately deal with the phenomenon of hot spots and to preserve the life of the modules, there is still a serious problem related to the deformation of the P-V curve. This aspect is illustrated in Figure 4, in which the energy recovery provided by the method is observed, as well as the distortion of the P-V curve. In addition, it can be seen that, due to the distortion of the power curve, traditional MPPT methods such as P&O and IC are inefficient in this situation, as they can easily get lost in any of the several LMPPs, hence the need for more appropriate strategies to address this problem. of the modules, there is still a serious problem related to This aspect is illustrated in Figure 4, in which the energy is observed, as well as the distortion of the P-V curve. I to the distortion of the power curve, traditional MPPT inefficient in this situation, as they can easily get lost i the need for more appropriate strategies to address thi

Firefly Algorithm
The FA is a recently studied population-based sta behavior of insects such as fireflies. Flashing lights are and each species has a unique flashing pattern. This pat possible prey, while the rhythm, the speed and the dur characteristics used for communication between indiv species, females can observe the signs of bioluminesce patterns of other species, allowing them to attract male In the FA algorithm, introduced by [33,34], the flashin mechanisms of communication between individuals of the flashes of light and their intensity are associated w tion to be optimized. For simplicity, three basic rules w of the algorithm: (a) fireflies are attracted to each other tion is proportional to intensity and decreases as the increases, so fireflies of lesser brightness are attracted b the intensity of the flash is determined by the value o

Firefly Algorithm
The FA is a recently studied population-based static heuristic, inspired by the social behavior of insects such as fireflies. Flashing lights are produced through thermal flashes, and each species has a unique flashing pattern. This pattern is used for mating or to attract possible prey, while the rhythm, the speed and the duration of the flash constitute a set of characteristics used for communication between individuals of the same kind. In some species, females can observe the signs of bioluminescence and even imitate the flashing patterns of other species, allowing them to attract males of other species to serve as food. In the FA algorithm, introduced by [33,34], the flashing patterns are used to simulate the mechanisms of communication between individuals of the same species. In this algorithm, the flashes of light and their intensity are associated with the value of the objective function to be optimized. For simplicity, three basic rules were considered in the elaboration of the algorithm: (a) fireflies are attracted to each other regardless of gender; (b) the attraction is proportional to intensity and decreases as the distance between two individuals increases, so fireflies of lesser brightness are attracted by fireflies of greater brightness; (c) the intensity of the flash is determined by the value of the objective function to be optimized, that is, The attraction is β proportional to the intensity of the flash. However, given that light is absorbed by the medium, the intensity decreases with the distance from the source. Considering a medium with a constant absorption coefficient γ, one can calculate the attraction between two adjacent fireflies using any decreasing monotone function, as shown in the following generalized model. Ideally, the light emitted by a source should be visible at any distance with the same intensity as that emitted. However, as the distance between the source and the observer increases, the intensity of the visible light decreases. This effect can be described by the law of the inverse of the square of the distance, presented in Equation (7) [34]: Sustainability 2021, 13, 2656 8 of 18 In Equation (7), I(r) is the light intensity seen by the observer at a distance r from the source and Is is the light intensity at the source.
Another factor that also influences the light intensity seen by the observer is the absorption of light by the air, which also varies depending on the distance. This effect can be described by Equation (8).
In Equation (8), γ is the air absorption coefficient, a factor that determines the convergence of the algorithm, being able to assume values in the interval [0; ∞].
The attractiveness must be a monotonically decreasing function, being formulated according to the behavior of the light intensity in relation to the distance, considering the absorption of the air. Therefore, the attraction existing between a pair of fireflies can be formulated based on Equation (8), being given by Equation (9) [35]: In Equation (9), β 0 is the attractiveness at r = 0, being one of the parameters of the algorithm. For most problems, β 0 = 1 can be used [35]. In turn, the distance between two fireflies i and j in positions x i and x j is given by Equation (10): where x i;k is the k-th element of the spatial coordinate xi of the i-th particle and d is the number of dimensions. To determine the movement of firefly i in the direction of firefly j with greater brightness, Equation (10) is used [36]: As in the other optimization methods, the firefly method optimizes a search that can be found in an n-dimensional space, even though the search for the GMPP is one-dimensional.
There are countless works involving the FA algorithm in solving different optimization problems such as: the synchronization of sensors in a network [37], power system stabilizers [38], the wireless network design [39], the optimization of mathematical functions [40], the resolution of an inverse problem of heat conduction, the treatment of optimization problems with the presence of reliability [41], structural optimization with mixed variables [42], the optimization of energy distribution systems [43], the design of mechanical systems [44], the selection of parameters in mechanical processes [45] and the optimization of shapes and sizes of mechanical structures [46].
Using FA in solving optimization problems overcomes the problem of having a large number of optimization algorithms which have constant parameters during the search process. Optimization algorithms with constant parameters affect the efficiency of the search in the real-time optimization process. In this context, the proposed method uses variable parameters with the ability to search in the opposite direction. Moreover, FA can always be able to find the optimal global solution for engineering systems.
In the firefly algorithm, there is no step to calculate the comparative individual aptitude values. Therefore, the particles do not return to their original position when no benefits result from their first move, always then moving again towards their closest best neighbor. To overcome this drawback, the opposition-based learning method allows FA to search for the optimal point in the opposite direction of the current search. Figure 5 shows the flowchart for the firefly optimization method, where V PV is the measured PV voltage, V PV _ MPP is the voltage at the maximum power point and P PV is the PV power.

Opposition-Based Learning Method (OBL)
The OBL was used as an easy implementation technique allowing the bio-inspired algorithms to search for the optimal point in the opposite direction of the last search. The basic idea of this technique is that when performing a local search in one direction, it is important to also consider what lies in the opposite direction [47,48]. In this way, the OBL method allows us to improve the quality of the solution and preserve the diversity of the swarm. The OBL approach is based on the concept of the opposite number, defined by Equation (12):

Opposition-Based Learning Method (OBL)
The OBL was used as an easy implementation technique allowing the bio-inspired algorithms to search for the optimal point in the opposite direction of the last search. The basic idea of this technique is that when performing a local search in one direction, it is important to also consider what lies in the opposite direction [47,48]. In this way, the OBL method allows us to improve the quality of the solution and preserve the diversity of the swarm. The OBL approach is based on the concept of the opposite number, defined by Equation (12) x is an actual number defined in the range [a; b] andx is the opposite number of x. This stage is also valid for N-dimensional points x i defined in the range [a i ; b i ], i = 1; 2; . . . ; N.
The OBL technique was used with genetic algorithms in which the concept of antigene accelerates the search process. In this sense, OBL was also applied to artificial neural networks with the same idea of inverting the network weight in the training of artificial neural networks, and this improved the results [39]. Recently, the OBL technique has also been applied to different applications and different optimization methods such as differential evolution algorithms (DE) [49], optimization by ant colony [50] and PSO [42,51].
In the OFA, the opposite value of x i in Equation (10) is calculated for all values from i = 1 to N and then the best solution of x i and x opposite is used to find the V pv_MPP shown in the flowchart in Figure 6.

= + ×
x is an actual number defined in the range [a; b] and is the opposi This stage is also valid for N-dimensional points xi defined in the range [a N.
The OBL technique was used with genetic algorithms in which the c gene accelerates the search process. In this sense, OBL was also applied to networks with the same idea of inverting the network weight in the train neural networks, and this improved the results [39]. Recently, the OBL tech been applied to different applications and different optimization methods ential evolution algorithms (DE) [49], optimization by ant colony [50] and In the OFA, the opposite value of xi in Equation (10) is calculated for i = 1 to N and then the best solution of xi and xopposite is used to find the Vpv_M flowchart in Figure 6.

System Description
The block diagram of the actual PV grid-connected system studied shown in Figure 7. The system consists of a 60 Wp PV panel, which is co DC-AC inverter by a boost converter. The DC-AC conversion is performed and the inverter is joined to the grid by a connection filter. The inverter reg link voltage and adjusts the power factor of the sinusoidal output curren controller consists of two loops in which the outer loop is the DC-link vol and the inner is the output current controller. The boost converter controls power to track the maximum power point, by adjusting the PV voltage t point. The MPPT algorithm generates a reference current Vpv* that is then controller to maintain the PV array's output voltage to the optimum value agrams of the boost converter and inverter controllers are shown in Figure   Figure 6. Opposition-based learning process, OBL-FA.

System Description
The block diagram of the actual PV grid-connected system studied in this paper is shown in Figure 7. The system consists of a 60 Wp PV panel, which is connected to the DC-AC inverter by a boost converter. The DC-AC conversion is performed by the inverter, and the inverter is joined to the grid by a connection filter. The inverter regulates the DC-link voltage and adjusts the power factor of the sinusoidal output current to unity. The controller consists of two loops in which the outer loop is the DC-link voltage controller, and the inner is the output current controller. The boost converter controls the PV output power to track the maximum power point, by adjusting the PV voltage to the optimum point. The MPPT algorithm generates a reference current V pv * that is then applied to a PI controller to maintain the PV array's output voltage to the optimum value. The block diagrams of the boost converter and inverter controllers are shown in Figure 8a

Experimental Results
To evaluate the performance of the firefly method, an experimental setup was implemented using DSpace (Microlabbox) and utilizing the PLL algorithms, the DC-link voltage controller and the DC-DC and DC-AC current (PI) controllers of the PV system, as shown in Figure 9 [52]. Insulated Gate Bipolar Transistor (IGBT) modules (SK40GB 123, SEMIKRON) with their respective drivers make up the complete bridge inverter connected to the network. The switching frequencies of the inverter, as well as the DC-DC boost converter, were fixed at 10 kHz. In addition, current (LEM LA 100-P) and voltage (LEM LV 25-P) transducers were used to measure the current and voltage quantities.

Experimental Results
To evaluate the performance of the firefly method, an experimental setup was implemented using DSpace (Microlabbox) and utilizing the PLL algorithms, the DC-link voltage controller and the DC-DC and DC-AC current (PI) controllers of the PV system, as shown in Figure 9 [52]. Insulated Gate Bipolar Transistor (IGBT) modules (SK40GB 123, SEMIKRON) with their respective drivers make up the complete bridge inverter connected to the network. The switching frequencies of the inverter, as well as the DC-DC boost converter, were fixed at 10 kHz. In addition, current (LEM LA 100-P) and voltage (LEM LV 25-P) transducers were used to measure the current and voltage quantities.

Experimental Results
To evaluate the performance of the firefly method, an experimental setup was implemented using DSpace (Microlabbox) and utilizing the PLL algorithms, the DC-link voltage controller and the DC-DC and DC-AC current (PI) controllers of the PV system, as shown in Figure 9 [52]. Insulated Gate Bipolar Transistor (IGBT) modules (SK40GB 123, SEMIKRON) with their respective drivers make up the complete bridge inverter connected to the network. The switching frequencies of the inverter, as well as the DC-DC boost converter, were fixed at 10 kHz. In addition, current (LEM LA 100-P) and voltage (LEM LV 25-P) transducers were used to measure the current and voltage quantities. Figure 8 demonstrates the experimental setup. The MPPT algorithms were evaluated under three different operating conditions o the PV system. In the first (Criteria 1), the irradiance level was kept constant, while unde the second and third conditions (Criteria 2 and 3), the PV array operated in conditions o partial shading. Figure 10 shows the P-V characteristic curves for Criteria 1, Criteria 2 and Criteria 3, respectively. The MPPT algorithms were evaluated under three different operating conditions of the PV system. In the first (Criteria 1), the irradiance level was kept constant, while under the second and third conditions (Criteria 2 and 3), the PV array operated in conditions of partial shading. Figure 10 shows the P-V characteristic curves for Criteria 1, Criteria 2 and Criteria 3, respectively. Figure 11 illustrates the PV voltage, current and power during constant irradiance conditions. From the PV array characteristics, it can be seen that all MPPT methods achieved a GMPP of 48 [W]. The OFA algorithm presented the shortest convergence time, as shown in Figure 11a. When FA was used alone, the convergence time increased due to the continuous search for the GMPP, as shown in Figure 11b. The P&O algorithm took longer to reach the MPPT point and suffered from continuous oscillations around the MPP, as shown in Figure 11c.  Figure 11 illustrates the PV voltage, current and power during constant irradiance conditions. From the PV array characteristics, it can be seen that all MPPT methods achieved a GMPP of 48 [W]. The OFA algorithm presented the shortest convergence time, as shown in Figure 11a. When FA was used alone, the convergence time increased due to the continuous search for the GMPP, as shown in Figure 11b. The P&O algorithm took longer to reach the MPPT point and suffered from continuous oscillations around the MPP, as shown in Figure 11c. Table 2 summarizes the experimental results involving the three MPPT algorithms operating under conditions of uniform solar irradiance.  For Criteria 2, Figure 12a-c show the powers extracted from the photovoltaic array using the OFA, FA and P&O MPPT techniques, respectively. It was observed that the GMPP was almost achieved in all the MPPT methods, and of the hybrid methods, the OFA presented the fewest power oscillations and the shortest convergence time in achieving   For Criteria 2, Figure 12a-c show the powers extracted from the photovoltaic array using the OFA, FA and P&O MPPT techniques, respectively. It was observed that the GMPP was almost achieved in all the MPPT methods, and of the hybrid methods, the OFA presented the fewest power oscillations and the shortest convergence time in achieving the GMPP. The average power of the FA and P&O was slightly less than that of the OFA.  For Criteria 2, Figure 12a-c show the powers extracted from the photovoltaic array using the OFA, FA and P&O MPPT techniques, respectively. It was observed that the GMPP was almost achieved in all the MPPT methods, and of the hybrid methods, the OFA presented the fewest power oscillations and the shortest convergence time in achieving the GMPP. The average power of the FA and P&O was slightly less than that of the OFA. 10  It was also noticed that even after reaching the steady state, the MPPT-P&O method exhibited the longest convergence time and also an oscillation around the tracked power point. On the other hand, the power extracted using the MPPT-OFA method showed the smallest power oscillation of all the methods. From the experimental results, it is noticeable that OFA MPPT converged quickly to the GMPP and not to the LMPP. Table 3 summarizes the main results obtained from the experiments involving the three MPPT algorithms operating under Criteria 2. It was also noticed that even after reaching the steady state, the MPPT-P&O method exhibited the longest convergence time and also an oscillation around the tracked power point. On the other hand, the power extracted using the MPPT-OFA method showed the smallest power oscillation of all the methods. From the experimental results, it is noticeable that OFA MPPT converged quickly to the GMPP and not to the LMPP. Table 3 summarizes the main results obtained from the experiments involving the three MPPT algorithms operating under Criteria 2. The OFA method uses random variables with the ability to reverse the search direction by the OBL algorithm to scan the curve of the PV array, converging to points close to the GMPP.
The powers extracted for Criteria 3, shown in Figure 13a-c, show that the MPPT-P&O method tracked a local maximum point, E, with a power of 21.5 W. The MPPT-OFA method was able to track the maximum global power available in the photovoltaic array, whose approximate power was 29 W. The OFA method uses random variables with the ability to reverse the search direction by the OBL algorithm to scan the curve of the PV array, converging to points close to the GMPP.
The powers extracted for Criteria 3, shown in Figure 13a-c, show that the MPPT-P&O method tracked a local maximum point, E, with a power of 21.5 W. The MPPT-OFA method was able to track the maximum global power available in the photovoltaic array, whose approximate power was 29 W.    The OFA MPPT method stood out with the best overall performance, justifying the use of this algorithm. The advantage of applying this combined optimization technique is that it can determine the tracking performed by the random search approaching the tracked point of the GMPP, thus increasing the effectiveness of the algorithm. In addition, the algorithm is able to keep GMPP tracked even with small changes in climatic conditions since there is scope for the random search to restart, which is not possible through techniques based only on meta-heuristic optimization. Thus, losses are minimized, and the performance of the algorithm becomes superior.   The OFA MPPT method stood out with the best overall performance, justifying the use of this algorithm. The advantage of applying this combined optimization technique is that it can determine the tracking performed by the random search approaching the tracked point of the GMPP, thus increasing the effectiveness of the algorithm. In addition, the algorithm is able to keep GMPP tracked even with small changes in climatic conditions since there is scope for the random search to restart, which is not possible through techniques based only on meta-heuristic optimization. Thus, losses are minimized, and the performance of the algorithm becomes superior.

Conclusions
This paper presented an opposition-based learning firefly-based (OFA) MPPT algorithm for extracting the maximum power from photovoltaic arrays. The MPPT implementation does not require sensors over and above those used by the control structure. The proposed MPPT was also analyzed under various levels of irradiance, and under partial shading conditions. The efficiency of the algorithm presented was validated by comparison with the FA and P&O algorithms. From the results obtained using the real experimental system, it was demonstrated that the OFA MPPT algorithm was able to quickly converge to the GMPP when the photovoltaic arrangement was operating in standard conditions, as well as when it was subjected to partial shading conditions. The efficiency of the OFA in searching the MPP was always close to 100% in all the patterns tested, with a power oscillation of less than 1%. Using FA without the ability to search in the opposite direction affected the efficiency, which was about 99.8% during uniform irradiance and became 99% during partial shading. The P&O method a exhibited high efficiency of 99.6% under conditions of uniform irradiance and became 74.2% under partial shading conditions, when the MPPT was stuck in an LMPP. Another advantage of the OFA MPPT method lies in the algorithm's ability to refine the MPPT scan and thus achieve the GMPP very quickly. In addition, the OFA was able to search for the GMPP during small variations in solar irradiance, without the need to perform a completely new search on the characteristic curve of the PV arrangement. Thus, the OFA MPPT algorithm showed reduced power oscillations under steady-state conditions and greater tracking efficiency in the search for the GMPP. In this way, the proposed MPPT reached the MPP quickly, accurately and without adding costs to the PV systems. Data Availability Statement: The used or generated data and the result of this study are available upon request from the corresponding author.