Real-Time Genetic Algorithms-Based MPPT: Study and Comparison (Theoretical an Experimental) with Conventional Methods

Abstract: Maximum Power Point Tracking (MPPT) methods are used in photovoltaic (PV) systems to continually maximize the PV array output power, which strongly depends on both solar radiation and cell temperature. The PV power oscillations around the maximum power point (MPP) resulting from the conventional methods and complexity of the non-conventional ones are convincing reasons to look for novel MPPT methods. This paper deals with simple Genetic Algorithms (GAs) based MPPT method in order to improve the convergence, rapidity, and accuracy of the PV system. The proposed method can also efficiently track the global MPP, which is very useful for partial shading. At first, a review of the algorithm is given, followed with many test examples; then, a comparison by means Matlab/Simulink© (R2009b) is conducted between the proposed MPPT and, the popular Perturb and Observe (PO) and Incremental Conductance (IC) techniques. The results show clearly the superiority of the proposed controller. Indeed, with the proposed algorithm, oscillations around the MPP are dramatically minimized, a better stability is observed and increase in the output power efficiency is obtained. All these results are experimentally validated by a test bench developed at LIAS laboratory (Poitiers University, Poitiers, France) using real PV panels and a PV emulator which allows one to define a profile insolation model. In addition, the proposed method permits one to perform the test of linearity between the optimal current Imp (current at maximum power) and the short-circuit current Isc, and between the optimal voltage Vmp and open-circuit voltage Voc, so the current and voltage factors can be easily obtained with our algorithm.


Introduction
PV energy has been widely used during recent years because of its advantages, the growth in the world demand of energy, and the lowering of the PV panels' cost [1].
The PV output power efficiency is low and can be even lower if the panels do not operate at their MPP, but this changes with atmospheric conditions (insolation and temperature) so it is very important to ensure the panels operate around that point.
Many methods are used to track the MPP, they can be divided in two groups: conventional and non-conventional methods. The conventional methods are widely used (such as Perturb and Observe (PO) [2,3], Incremental Conductance (IC) [4,5]) because they are simple and easy to implement. But, both the PO and IC methods result in oscillation of power around the MPP because the perturbation remains even when the system operates at MPP. This problem can be reduced by decreasing the step of the duty cycle. But in this case, the algorithm will track the MPP slowly in response to changing Power derivation allows one to track the MPP with the real direction because dP/dV informs us about the operating point ( Figure 1b) at the right or the left of MPP. The derivation of power can be written: dP dV = d(I·V) dV = V· dI dV + I, so at MPP we can write: We can see that the MPP is given by comparing the incremental and instantaneous conductance: This algorithm can rapidly follow the variation of atmospheric conditions, but by trying to obtain dP/dV = 0 makes it sensitive to the perturbations.
We can see that the MPP is given by comparing the incremental and instantaneous conductance: This algorithm can rapidly follow the variation of atmospheric conditions, but by trying to obtain dP/dV = 0 makes it sensitive to the perturbations.

The Linear Method
This method [8,9] assumes a linear relation between the optimal current I (current at maximum power) and the short-circuit current I , and between the optimal voltage V and opencircuit voltage V , so we can write: where M and M are constants. Using a pilot cell, one can measure I and V and find the MPP. This method is very simple and gives acceptable results, however the two factors are not a constant because of the nonlinear cell model.

The Proposed Method
MPPT techniques try to track the optimum point corresponding to the maximum PV power, this point is defined by an optimum current Imp (current at maximum power). By using GAs, one can find this current and keep PV panels working around the maximum power. Figure 2 depicts the GAsbased MPPT PV system.
The main idea is to perform genetic transformations (Selection, crossover, mutation, and insertion) on a population of individuals in order to finally obtain an optimal individual corresponding to the maximum of a function (fitness function) [18]. The following flow chart ( Figure 3) shows the steps of the algorithm:

The Linear Method
This method [8,9] assumes a linear relation between the optimal current I mp (current at maximum power) and the short-circuit current I sc , and between the optimal voltage V mp and open-circuit voltage V oc , so we can write: where M c and M V are constants. Using a pilot cell, one can measure I sc and V oc and find the MPP. This method is very simple and gives acceptable results, however the two factors are not a constant because of the nonlinear cell model.

The Proposed Method
MPPT techniques try to track the optimum point corresponding to the maximum PV power, this point is defined by an optimum current I mp (current at maximum power). By using GAs, one can find this current and keep PV panels working around the maximum power. Figure 2 depicts the GAs-based MPPT PV system.
The main idea is to perform genetic transformations (Selection, crossover, mutation, and insertion) on a population of individuals in order to finally obtain an optimal individual corresponding to the maximum of a function (fitness function) [18]. The following flow chart ( Figure 3) shows the steps of the algorithm:

Initialization
In our Algorithm, the initial population is a binary matrix which is randomly created. It contains N individuals (photovoltaic current) coded on S bits: With: I max = I sc = 111 … 11 The effect of the number of bits (S) and the population length (N) is discussed on Section 4. The created population will be evaluated according to the power (fitness) of each individual.

Evaluation
The evaluation is a very important operation; it ensures the survival of an optimal individual. This can be done by the fitness function (it is a positive function and the individual is optimized for the maximum value of its fitness function). In our case, the fitness function is simply the PV power, so the optimal individual gives the maximum power. An evaluation of each individual (PV current) is given according to the corresponding power:

Initialization
In our Algorithm, the initial population is a binary matrix which is randomly created. It contains N individuals (photovoltaic current) coded on S bits: With: I max = I sc = 111 … 11 The effect of the number of bits (S) and the population length (N) is discussed on Section 4. The created population will be evaluated according to the power (fitness) of each individual.

Evaluation
The evaluation is a very important operation; it ensures the survival of an optimal individual. This can be done by the fitness function (it is a positive function and the individual is optimized for the maximum value of its fitness function). In our case, the fitness function is simply the PV power, so the optimal individual gives the maximum power. An evaluation of each individual (PV current) is given according to the corresponding power:

Initialization
In our Algorithm, the initial population is a binary matrix which is randomly created. It contains N individuals (photovoltaic current) coded on S bits: The effect of the number of bits (S) and the population length (N) is discussed on Section 4. The created population will be evaluated according to the power (fitness) of each individual.

Evaluation
The evaluation is a very important operation; it ensures the survival of an optimal individual. This can be done by the fitness function (it is a positive function and the individual is optimized for the maximum value of its fitness function). In our case, the fitness function is simply the PV power, so the optimal individual gives the maximum power. An evaluation of each individual (PV current) is given according to the corresponding power: The cell model, shown by the circuit in Figure 4, is used to evaluate the power of each individual (fitness function), where Rp and Rs are the series and parallel resistances of the cell, respectively [19,20]. The cell model, shown by the circuit in Figure 4, is used to evaluate the power of each individual (fitness function), where Rp and are the series and parallel resistances of the cell, respectively [19,20]. Usually the value of Rp is very high, so the equation for the output current can be given by: with: where: I: Output current (A); V : Output Voltage (V); Id: Current through the intrinsic diode; Iph: Cell photocurrent; Irs: Cell reverse saturation current; q: The charge of an electron; k: Bolzmann's constant; A: The p-n junction ideality factor; T: Cell temperature (K); Rs: Series resistances of the cell (Ω).
Making the approximation that Iph ≈ Isc where Isc is short-circuit current, (5) becomes: where: At open circuit: I = 0 and V = Voc, with Voc is open-circuit voltage; Using (7), we can write: Using (7) and (9), the output voltage equation of the cell will be: Finally, the power equation can be given with (4) and (10): Using this equation, power (fitness function) is calculated for each individual and this value will be used in genetic operations to create a new population (generation) and this one will be inserted in the parent population according to their fitness function.

Genetic Operations
Genetic operations are the base of GAs; they do not exclude probability theories, but they give very interesting results. These operations are: 1. Selection: Select, with a rate Tsel (%), a part of the population corresponding to the optimum fitness; in nature, only the individuals more adapted to the environment will survive. The roulette wheel selection method is used. 2. Crossover: After selection, natural reproduction is performed by crossing pairs of individuals.  Usually the value of Rp is very high, so the equation for the output current can be given by: with: where: I: Output current (A); V: Output Voltage (V); I d : Current through the intrinsic diode; I ph : Cell photocurrent; I rs : Cell reverse saturation current; q: The charge of an electron; k: Bolzmann's constant; A: The p-n junction ideality factor; T: Cell temperature (K); Rs: Series resistances of the cell (Ω). Making the approximation that I ph ≈ I sc where Isc is short-circuit current, (5) becomes: where: At open circuit: I = 0 and V = V oc , with V oc is open-circuit voltage; Using (7), we can write: Using (7) and (9), the output voltage equation of the cell will be: Finally, the power equation can be given with (4) and (10): Using this equation, power (fitness function) is calculated for each individual and this value will be used in genetic operations to create a new population (generation) and this one will be inserted in the parent population according to their fitness function.

Genetic Operations
Genetic operations are the base of GAs; they do not exclude probability theories, but they give very interesting results. These operations are:

1.
Selection: Select, with a rate T sel (%), a part of the population corresponding to the optimum fitness; in nature, only the individuals more adapted to the environment will survive. The roulette wheel selection method is used.

2.
Crossover: After selection, natural reproduction is performed by crossing pairs of individuals.

Insertion:
The new population will be integrated to the old one to replace individuals with the minimum fitness function, so a new generation contains the same number of individuals.

Program Termination
The program creates new optimal individuals. It ends after a set number of iterations, so we obtain a constant execution time. Many tests were performed to choose an iteration number that balances optimal results and processing time.

Test of the Algorithm
The algorithm is implemented as an embedded function on Matlab/Simulink ® using parameters of the "Conergy PowerPlus 214P" polycrystalline photovoltaic solar panel module. The inputs of the algorithm are V oc and I sc ( Figure 5), so there is no need to use temperature and insolation sensors. Instead, two pilot cells are used. Temperature and insolation affect V oc and I sc , respectively. By measuring these parameters, the algorithm tracks the MPP even with rapid variation of climatic conditions. The algorithm gives the real MPP. We can see in Figure 6a the evolution of power with generations; the MPP (217.1 W) is given after 10 generations. This point is shown on Figure 6b and it

3.
Mutation: After crossover, we apply a mutation, with small probability Pm (for example: the probability of parents with blue eyes to have a child with brown eyes).

Insertion:
The new population will be integrated to the old one to replace individuals with the minimum fitness function, so a new generation contains the same number of individuals.

Program Termination
The program creates new optimal individuals. It ends after a set number of iterations, so we obtain a constant execution time. Many tests were performed to choose an iteration number that balances optimal results and processing time.

Test of the Algorithm
The algorithm is implemented as an embedded function on Matlab/Simulink ® using parameters of the "Conergy PowerPlus 214P" polycrystalline photovoltaic solar panel module. The inputs of the algorithm are V oc and I sc ( Figure 5), so there is no need to use temperature and insolation sensors. Instead, two pilot cells are used. Temperature and insolation affect V oc and I sc , respectively. By measuring these parameters, the algorithm tracks the MPP even with rapid variation of climatic conditions. The algorithm gives the real MPP. We can see in Figure 6a the evolution of power with generations; the MPP (217.1 W) is given after 10 generations. This point is shown on Figure 6b and it

4.
Insertion: The new population will be integrated to the old one to replace individuals with the minimum fitness function, so a new generation contains the same number of individuals.

Program Termination
The program creates new optimal individuals. It ends after a set number of iterations, so we obtain a constant execution time. Many tests were performed to choose an iteration number that balances optimal results and processing time.

Test of the Algorithm
The algorithm is implemented as an embedded function on Matlab/Simulink ® using parameters of the "Conergy PowerPlus 214P" polycrystalline photovoltaic solar panel module. The inputs of the algorithm are V oc and I sc ( Figure 5), so there is no need to use temperature and insolation sensors. Instead, two pilot cells are used. Temperature and insolation affect V oc and I sc , respectively. By measuring these parameters, the algorithm tracks the MPP even with rapid variation of climatic conditions.

Insertion:
The new population will be integrated to the old one to replace individuals with the minimum fitness function, so a new generation contains the same number of individuals.

Program Termination
The program creates new optimal individuals. It ends after a set number of iterations, so we obtain a constant execution time. Many tests were performed to choose an iteration number that balances optimal results and processing time.

Test of the Algorithm
The algorithm is implemented as an embedded function on Matlab/Simulink ® using parameters of the "Conergy PowerPlus 214P" polycrystalline photovoltaic solar panel module. The inputs of the algorithm are V oc and I sc ( Figure 5), so there is no need to use temperature and insolation sensors. Instead, two pilot cells are used. Temperature and insolation affect V oc and I sc , respectively. By measuring these parameters, the algorithm tracks the MPP even with rapid variation of climatic conditions.   The algorithm gives the real MPP. We can see in Figure 6a the evolution of power with generations; the MPP (217.1 W) is given after 10 generations. This point is shown on Figure 6b and it is the real MPP.
The algorithm is tested by changing the matrix dimensions (Number of individuals N ind and bits number S), with Selection rate: T sel = 0.8; Crossover rate: T rcm = 0.8; Mutation Probability: P m = 0.01.   Figure 8a,b shows fitness function evolution for each generation using 8 bits and 32 bits, respectively. With a larger bits number, we get greater accuracy but slower convergence. However, the variation of power obtained with a small bits number is more important.    Figure 8a,b shows fitness function evolution for each generation using 8 bits and 32 bits, respectively. With a larger bits number, we get greater accuracy but slower convergence. However, the variation of power obtained with a small bits number is more important.   Figure 8a,b shows fitness function evolution for each generation using 8 bits and 32 bits, respectively. With a larger bits number, we get greater accuracy but slower convergence. However, the variation of power obtained with a small bits number is more important.   Figure 8a,b shows fitness function evolution for each generation using 8 bits and 32 bits, respectively. With a larger bits number, we get greater accuracy but slower convergence. However, the variation of power obtained with a small bits number is more important.

Simulation Tests
To test the algorithm under climatic variation, the Simulink block of GAs-based MPPT is inserted in the PV system ( Figure 9).

Simulation Tests
To test the algorithm under climatic variation, the Simulink block of GAs-based MPPT is inserted in the PV system ( Figure 9). An irradiation model is applied (Figure 10a) to the PV generator. Figure 10b shows the PV power evolution using GAs-based MPPT, one can observe the rapid response of the algorithm to the variation in insolation.  Figure 11 shows PV output power evolution using GAs (red curve) and PO (green curve). Zooming in on the graph exposes the difference between the two methods ( Figure 12). An irradiation model is applied (Figure 10a) to the PV generator. Figure 10b shows the PV power evolution using GAs-based MPPT, one can observe the rapid response of the algorithm to the variation in insolation.

Simulation Tests
To test the algorithm under climatic variation, the Simulink block of GAs-based MPPT is inserted in the PV system ( Figure 9). An irradiation model is applied (Figure 10a) to the PV generator. Figure 10b shows the PV power evolution using GAs-based MPPT, one can observe the rapid response of the algorithm to the variation in insolation.  Figure 11 shows PV output power evolution using GAs (red curve) and PO (green curve). Zooming in on the graph exposes the difference between the two methods ( Figure 12).  Figure 11 shows PV output power evolution using GAs (red curve) and PO (green curve). Zooming in on the graph exposes the difference between the two methods ( Figure 12). The Figure 12a illustrates the response time of the two controllers. One can notice that the GAsbased MPPT ensures better rapidity than the PO technique: 1.010 s with the proposed method compared to 1.025 s with PO. The observable power oscillations (Figure 12b) are much greater with the PO method. Oscillations are about 3% of the power with PO and less than 0.1% with the proposed algorithm, so less power is lost and more stability is guaranteed.  Figure 13 shows PV output power evolution with time and variable insolation by using GAsbased MPPT (red curve) and IC controller (blue curve) with duty increment ∆D = 0.02. The two methods track the MPP but the rapidity of the proposed method is clearly better than the IC method ( Figure 14a). Also, the power oscillation around the MPP is minimized (Figure 14b).
If the ∆D value is increased, tracking will be faster but the oscillations will be more sizeable. The Figure 12a illustrates the response time of the two controllers. One can notice that the GAs-based MPPT ensures better rapidity than the PO technique: 1.010 s with the proposed method compared to 1.025 s with PO. The observable power oscillations (Figure 12b) are much greater with the PO method. Oscillations are about 3% of the power with PO and less than 0.1% with the proposed algorithm, so less power is lost and more stability is guaranteed. The Figure 12a illustrates the response time of the two controllers. One can notice that the GAsbased MPPT ensures better rapidity than the PO technique: 1.010 s with the proposed method compared to 1.025 s with PO. The observable power oscillations (Figure 12b) are much greater with the PO method. Oscillations are about 3% of the power with PO and less than 0.1% with the proposed algorithm, so less power is lost and more stability is guaranteed.  Figure 13 shows PV output power evolution with time and variable insolation by using GAsbased MPPT (red curve) and IC controller (blue curve) with duty increment ∆D = 0.02. The two methods track the MPP but the rapidity of the proposed method is clearly better than the IC method ( Figure 14a). Also, the power oscillation around the MPP is minimized (Figure 14b).
If the ∆D value is increased, tracking will be faster but the oscillations will be more sizeable.  Figure 13 shows PV output power evolution with time and variable insolation by using GAs-based MPPT (red curve) and IC controller (blue curve) with duty increment ∆D = 0.02. The two methods track the MPP but the rapidity of the proposed method is clearly better than the IC method ( Figure 14a). Also, the power oscillation around the MPP is minimized (Figure 14b).
If the ∆D value is increased, tracking will be faster but the oscillations will be more sizeable.

Experimental Tests
Experimental work was performed in the LIAS laboratory (Laboratoire d'Informatique et d'Automatique pour les Systèmes) of Poitiers University, France (Figure 15a). GAs-based, PO, and IC MPPT algorithms are implemented on a real-time interface (dSPACE1005) [21] which is inserted in a real PV system with 3 panels (Figure 15b).
All data and results (I pv , V pv , PV power, duty cycle . . . ) are collected in real-time from dSPACE1005 using the ControlDesk ® package. The step of measurements is 5 × 10 −5 s so we get continuous experimental curves.

Comparing GAs and IC
Experimental duty cycle evolution with the proposed algorithm and IC algorithm is shown on Figure 16, with duty increment ∆D = 0.01 (Figure 16a) and ∆D = 0.02 (Figure 16b) of the IC algorithm.
It is clear that the duty cycle is more stable with the proposed algorithm. With the IC algorithm the duty cycle oscillates between 0.29 and 0.34 with ∆D = 0.01, and between 0.27 and 0.37 with ∆D = 0.02, which causes oscillation of power while with the proposed method the duty cycle is practically constant. One can say that with GAs, the duty cycle is constant and the PV output power is stable and thus the problem of power oscillation is solved.
Oscillation of duty in the IC method is less important with ∆D = 0.01 than with ∆D = 0.02 but this will decrease the response time (see next section). Kivimäki et al. [22,23] discussed perturbation frequency (limited by the combined energy conversion system settling time) and perturbation step size (must be high enough to differentiate system response from that caused by irradiation variation). With the proposed algorithm, the problem of limitation in step size is not present because the MPP is not tracked point by point (as it is with the IC and PO methods). Figure 16, with duty increment ΔD = 0.01 (Figure 16a) and ΔD = 0.02 (Figure 16b) of the IC algorithm.
It is clear that the duty cycle is more stable with the proposed algorithm. With the IC algorithm the duty cycle oscillates between 0.29 and 0.34 with ΔD = 0.01, and between 0.27 and 0.37 with ΔD = 0.02, which causes oscillation of power while with the proposed method the duty cycle is practically constant. One can say that with GAs, the duty cycle is constant and the PV output power is stable and thus the problem of power oscillation is solved.
Oscillation of duty in the IC method is less important with ΔD = 0.01 than with ΔD = 0.02 but this will decrease the response time (see next section). Kivimäki et al. [22,23] discussed perturbation frequency (limited by the combined energy conversion system settling time) and perturbation step size (must be high enough to differentiate system response from that caused by irradiation variation). With the proposed algorithm, the problem of limitation in step size is not present because the MPP is not tracked point by point (as it is with the IC and PO methods). The stability of the duty cycle results in stability of the PV current ( Figure 17) and PV power (Figure 18), so we get a PV system more stable with the proposed algorithm, about 1.1% and 3.3% of power is saved, respectively, with ΔD = 0.01 and ΔD = 0.02.  The stability of the duty cycle results in stability of the PV current ( Figure 17) and PV power (Figure 18), so we get a PV system more stable with the proposed algorithm, about 1.1% and 3.3% of power is saved, respectively, with ∆D = 0.01 and ∆D = 0.02.

Comparing GAs and IC
Experimental duty cycle evolution with the proposed algorithm and IC algorithm is shown on Figure 16, with duty increment ΔD = 0.01 (Figure 16a) and ΔD = 0.02 (Figure 16b) of the IC algorithm.
It is clear that the duty cycle is more stable with the proposed algorithm. With the IC algorithm the duty cycle oscillates between 0.29 and 0.34 with ΔD = 0.01, and between 0.27 and 0.37 with ΔD = 0.02, which causes oscillation of power while with the proposed method the duty cycle is practically constant. One can say that with GAs, the duty cycle is constant and the PV output power is stable and thus the problem of power oscillation is solved.
Oscillation of duty in the IC method is less important with ΔD = 0.01 than with ΔD = 0.02 but this will decrease the response time (see next section). Kivimäki et al. [22,23] discussed perturbation frequency (limited by the combined energy conversion system settling time) and perturbation step size (must be high enough to differentiate system response from that caused by irradiation variation). With the proposed algorithm, the problem of limitation in step size is not present because the MPP is not tracked point by point (as it is with the IC and PO methods). The stability of the duty cycle results in stability of the PV current ( Figure 17) and PV power (Figure 18), so we get a PV system more stable with the proposed algorithm, about 1.1% and 3.3% of power is saved, respectively, with ΔD = 0.01 and ΔD = 0.02.   Figure 19 shows the experimental evolution of the duty cycle with both GAs-based MPPT and the PO algorithm, with duty increment ΔD = 0.01 (Figure 19a) and ΔD = 0.02 (Figure 19b) of the PO algorithm. Even if the climatic conditions are stable (conditions of experimental tests) the duty oscillates, while with the proposed controller the duty cycle is stable. This stability can also be seen  Figure 19 shows the experimental evolution of the duty cycle with both GAs-based MPPT and the PO algorithm, with duty increment ∆D = 0.01 (Figure 19a) and ∆D = 0.02 (Figure 19b) of the PO algorithm. Even if the climatic conditions are stable (conditions of experimental tests) the duty oscillates, while with the proposed controller the duty cycle is stable. This stability can also be seen in the PV current ( Figure 20).  Figure 19 shows the experimental evolution of the duty cycle with both GAs-based MPPT and the PO algorithm, with duty increment ΔD = 0.01 (Figure 19a) and ΔD = 0.02 (Figure 19b) of the PO algorithm. Even if the climatic conditions are stable (conditions of experimental tests) the duty oscillates, while with the proposed controller the duty cycle is stable. This stability can also be seen in the PV current ( Figure 20). The evolution of the output PV power with the two methods is shown in Figure 21. The goal of obtaining a stable power is guaranteed with the proposed algorithm and about 1.3% and 3.2% power is saved, respectively, with ΔD = 0.01 and ΔD = 0.02.  The evolution of the output PV power with the two methods is shown in Figure 21. The goal of obtaining a stable power is guaranteed with the proposed algorithm and about 1.3% and 3.2% power is saved, respectively, with ∆D = 0.01 and ∆D = 0.02.  Figure 19 shows the experimental evolution of the duty cycle with both GAs-based MPPT and the PO algorithm, with duty increment ΔD = 0.01 (Figure 19a) and ΔD = 0.02 (Figure 19b) of the PO algorithm. Even if the climatic conditions are stable (conditions of experimental tests) the duty oscillates, while with the proposed controller the duty cycle is stable. This stability can also be seen in the PV current ( Figure 20). The evolution of the output PV power with the two methods is shown in Figure 21. The goal of obtaining a stable power is guaranteed with the proposed algorithm and about 1.3% and 3.2% power is saved, respectively, with ΔD = 0.01 and ΔD = 0.02.  The experimental results confirm the simulated results and prove the stability of GAs-based MPPT compared to the conventional methods. One can see clearly less variation of power with the proposed algorithm, and therefore better efficiency. This is due to a stable reference (optimal current), whereas oscillations result from the variation in the duty cycle when using the PO and IC methods even under constant climatic conditions. We can further reduce ΔD but the tracking of MPP becomes slow. The experimental results confirm the simulated results and prove the stability of GAs-based MPPT compared to the conventional methods. One can see clearly less variation of power with the proposed algorithm, and therefore better efficiency. This is due to a stable reference (optimal current), whereas oscillations result from the variation in the duty cycle when using the PO and IC methods even under constant climatic conditions. We can further reduce ∆D but the tracking of MPP becomes slow.

Experimental Tests with PV Emulator
A PV emulator realized by Kadri et al. [24,25] in the LIAS laboratory (Figure 22b) allowed us to define an irradiance profile changing (Figure 22a). It is based on a programmable DC power supply GEN300-11 (voltage range: 0-300 V, current range: 0-11 A, maximum output power: 3300 W) so it can replace the three PV panels used.
The PV emulator is inserted in the PV system instead of the PV panels, so we can test the tracking of the MPP by the three methods with variable insolation. The experimental results confirm the simulated results and prove the stability of GAs-based MPPT compared to the conventional methods. One can see clearly less variation of power with the proposed algorithm, and therefore better efficiency. This is due to a stable reference (optimal current), whereas oscillations result from the variation in the duty cycle when using the PO and IC methods even under constant climatic conditions. We can further reduce ΔD but the tracking of MPP becomes slow.

Experimental Tests with PV Emulator
A PV emulator realized by Kadri et al. [24,25] in the LIAS laboratory (Figure 22b) allowed us to define an irradiance profile changing (Figure 22a). It is based on a programmable DC power supply GEN300-11 (voltage range: 0-300 V, current range: 0-11 A, maximum output power: 3300 W) so it can replace the three PV panels used.
The PV emulator is inserted in the PV system instead of the PV panels, so we can test the tracking of the MPP by the three methods with variable insolation.

Comparing GAs and IC
With the insolation profile defined previously, the next figures show the evolution duty cycle ( Figure 23) and PV power ( Figure 24) with both GAs-based MPPT and the IC method.

Comparing GAs and IC
With the insolation profile defined previously, the next figures show the evolution duty cycle ( Figure 23) and PV power ( Figure 24) with both GAs-based MPPT and the IC method. The power evolution with the proposed method (red curve) is clearly more stable and faster than with the IC method (blue curve). The power evolution with the proposed method (red curve) is clearly more stable and faster than with the IC method (blue curve). The power evolution with the proposed method (red curve) is clearly more stable and faster than with the IC method (blue curve). Less oscillations of the duty cycle and power are obtained with ΔD = 0.01 but the MPP is tracked faster with ΔD = 0.02 . For example, the maximum of insolation is given at t = 5.0 s (Figure 22a). With the proposed algorithm the MPP is tracked at t = 5.4 s, while with IC method the MPP is obtained at t = 8.7 s and t = 7.3 s, with ΔD = 0.01 and ΔD = 0.02, respectively. Therefore, the GAs method rapidly tracks the MPP (red curve) and solves the problem of power oscillation around it.

Comparing GAs and PO
Under the same conditions, tests are made for the PO method and the results of duty cycle and power evolution of both the GAs-based MPPT and PO methods are shown in the following figures (Figures 25 and 26, respectively). Here too, the stability and rapidity of the proposed method is proven.
The problem of choosing a good duty cycle increment is not exposed with the proposed algorithm and the experimental results prove a nice stability of the controller with good rapidity. Less oscillations of the duty cycle and power are obtained with ∆D = 0.01 but the MPP is tracked faster with ∆D = 0.02. For example, the maximum of insolation is given at t = 5.0 s (Figure 22a). With the proposed algorithm the MPP is tracked at t = 5.4 s, while with IC method the MPP is obtained at t = 8.7 s and t = 7.3 s, with ∆D = 0.01 and ∆D = 0.02, respectively. Therefore, the GAs method rapidly tracks the MPP (red curve) and solves the problem of power oscillation around it.

Comparing GAs and PO
Under the same conditions, tests are made for the PO method and the results of duty cycle and power evolution of both the GAs-based MPPT and PO methods are shown in the following figures (Figures 25 and 26, respectively). Here too, the stability and rapidity of the proposed method is proven.
The problem of choosing a good duty cycle increment is not exposed with the proposed algorithm and the experimental results prove a nice stability of the controller with good rapidity.

Verification of the Linear Method of MPPT
In order to verify Equation (2), the proposed algorithm is used to determine the optimal current Imp for different values of Isc. The results are shown in Table 1. The current factor can be assumed to be constant Mc ≈ 0.94. This linearity is shown in Figure 27a.

Verification of the Linear Method of MPPT
In order to verify Equation (2), the proposed algorithm is used to determine the optimal current Imp for different values of Isc. The results are shown in Table 1. The current factor can be assumed to be constant Mc ≈ 0.94. This linearity is shown in Figure 27a.

Verification of the Linear Method of MPPT
In order to verify Equation (2), the proposed algorithm is used to determine the optimal current Imp for different values of I sc . The results are shown in Table 1. The current factor can be assumed to be constant M c ≈ 0.94. This linearity is shown in Figure 27a. By the same way, Table 2 shows the optimal voltage V mp for different values of V oc . The voltage factor M v is not totally constant and the real V mp -V oc curve is not perfectly linear (Figure 27b). The results prove that the linear method can be used to track the MPP. Hence, the proposed algorithm can be used to rapidly calculate the current and voltage factors for any PV panel.

Conclusions
In this paper, a novel, simple and efficient GAs-based MPPT method is proposed. By using the same parameters, the concordance of simulation and experimental results prove the advantage of the proposed MPPT method to ensure rapidity and stability of the output PV power. This stability is provided by maximizing a function (fitness function), whereas the conventional methods are searching for a minimum. In addition, GAs use a global search for the optimum (useful at partial shading).
The problem of PV output power oscillation around the MPP is solved. The experimental results with the IC method, using a very small step of duty cycle (ΔD = 0.01), show duty cycle oscillation between 0.31 and 0.35 which causes oscillation of power, while the duty cycle is practically constant.
The linear method is validated by our algorithm. Even better, it can be used to calculate current and voltage factors for use with the linear MPPT method.
For perspective, the GAs-based MPPT can be used to track the MPP at partial shading because the search for the optimum is performed using a population of individuals, rather than on a pointby-point basis, so it searches for the global optimum.
Author Contributions: Fateh Krim conceived the idea of using GAs to track the MPP of PV systems and contributed to the theoretical analysis of the system; Jean-Paul Gaubert installed the experimental bench and contributed to the experiments; Slimane Hadji developed the algorithm, performed simulation and experiments, collected experimental data, and wrote the initial version of the manuscript; all the authors analyzed the results and revised the paper.

Conflicts of Interest:
The authors declare no conflict of interest.

Conclusions
In this paper, a novel, simple and efficient GAs-based MPPT method is proposed. By using the same parameters, the concordance of simulation and experimental results prove the advantage of the proposed MPPT method to ensure rapidity and stability of the output PV power. This stability is provided by maximizing a function (fitness function), whereas the conventional methods are searching for a minimum. In addition, GAs use a global search for the optimum (useful at partial shading).
The problem of PV output power oscillation around the MPP is solved. The experimental results with the IC method, using a very small step of duty cycle (∆D = 0.01), show duty cycle oscillation between 0.31 and 0.35 which causes oscillation of power, while the duty cycle is practically constant.
The linear method is validated by our algorithm. Even better, it can be used to calculate current and voltage factors for use with the linear MPPT method.
For perspective, the GAs-based MPPT can be used to track the MPP at partial shading because the search for the optimum is performed using a population of individuals, rather than on a point-by-point basis, so it searches for the global optimum.