Research Article  Open Access
A Population Classification Evolution Algorithm for the Parameter Extraction of Solar Cell Models
Abstract
To quickly and precisely extract the parameters for solar cell models, inspired by simplified bird mating optimizer (SBMO), a new optimization technology referred to as population classification evolution (PCE) is proposed. PCE divides the population into two groups, elite and ordinary, to reach a better compromise between exploitation and exploration. For the evolution of elite individuals, we adopt the idea of parthenogenesis in nature to afford a fast exploitation. For the evolution of ordinary individuals, we adopt an effective differential evolution strategy and a random movement of small probability is added to strengthen the ability to jump out of a local optimum, which affords a fast exploration. The proposed PCE is first estimated on 13 classic benchmark functions. The experimental results demonstrate that PCE yields the best results on 11 functions by comparing it with six evolutional algorithms. Then, PCE is applied to extract the parameters for solar cell models, that is, the single diode and the double diode. The experimental analyses demonstrate that the proposed PCE is superior when comparing it with other optimization algorithms for parameter identification. Moreover, PCE is tested using three different sources of data with good accuracy.
1. Introduction
The rising cost of fossil fuels, atmospheric pollution, and global energy shortage have prompted the development and use of renewable energy [1, 2]. PV (photovoltaic) systems such as solar cells have recently received significant attention with characteristics of renewability, cleantype, convenience, and low noise technique [1, 3, 4]. PV systems usually operate in outdoor environment and their PV arrays are prone to deteriorate and may even undergo various faults due to harsh weather condition and aging, which greatly affect the solar energy utilization efficiency and even cause safety issues. Therefore, in order to optimize PV systems, it is crucial to evaluate the actual behavior of PV arrays in operation through accurate modeling based on experimental data. Numerous mathematical models have been proposed to clarify the characteristic of a PV system under different operating conditions. However, in practical terms, two solar cell models are the most frequently used: the single and double diode models [3, 5]. Although the double diode model can achieve more precise results than the single diode model, the ability to achieve an adequate concession between simplified and precise results in the single diode model is a more preferable option [6]. Accurate parameters of a mathematical model is crucial to simulate, estimate, and optimize solar cell systems. Therefore, it is necessary to consider parameters identification with a feasible optimization approach [7].
The techniques utilized to identify the parameters of PV models in the literature can be divided in two groups: deterministic techniques and heuristic techniques [2]. Deterministic techniques, that is, least squares [8], Lambert functions [9], and iterative curve fitting [10], force some model constraints like convexity and differentiability which must be exactly used. Thus, these deterministic methods drastically depend on initialization and can also be easy to fall into a local optimum [2]. Recently, based on the theory of reproduction and evolution of different biological populations, many heuristic technologies have been proposed to deal with the parameter estimation issues of solar cells such as particle swarm optimization (PSO) [11, 12], genetic algorithms (GA) [13–15], differential evolution (DE) [4, 16–18], pattern search (PS) [19], simulated annealing (SA) [20], harmony search (HS) [21], and artificial bee swarm optimization (ABSO) [3]. Although heuristic methods present a higher probability of obtaining a global solution in comparison with deterministic ones, they have important limits [13]. In case of GA and PSO, they maintain a trend that concentrates toward local optima, since their elitist mechanism forces premature convergence [2]. Such behavior becomes worse when the optimization algorithm faces multimodal functions. On the other hand, due to the fact that SA and HS are singlesearcher algorithms, their performance is sensitive to the starting point of the search, having a lower probability to localize the global minimum in multimodal problems than population algorithms such as GA and PSO [2]. Therefore, GA, PSO, SA, and HS present bad performance when they are applied to multimodal and noisy objective functions. Therefore, there is the possibility to yield better performance with more capable algorithms.
In biological populations, birds have around 10,000 living species, which are the most species of tetrapod vertebrates [22]. In birds, the courtship behavior is innate. During the mating season, a bird tries to find spouse(s) with good genes for raising a brood that can survive for a longer time, which is similar to that of a search for the optimal solution. To develop a more capable heuristic optimization algorithm, Askarzadeh and Rezazadeh [22] propose a bird mating optimizer (BMO). In BMO algorithm, there are four breeding strategies: monogamy, polygamy, polyandry, and promiscuity. Experimental results indicate the superior performance of BMO. However, there are two main drawbacks in BMO: (1) numerous types of birds and (2) numerous numbers of tunable parameters. To overcome these disadvantages, Askarzadeh and dos Santos Coelho [6] propose a simplified BMO algorithm (SBMO). In SBMO algorithm, all birds in the population are ranked according to their objective function values such that the bird with the best objective function value is ranked first. Then, these birds are divided into three types for breeding based on their rank. These three breeding strategies are parthenogenesis, monogamy, and polygamy, respectively. The SBMO algorithm reduces the computational complexity and yields good performance on PV modules.
However, SBMO has a disadvantage of slow convergence. Firstly, the disturbance coefficient in Type 1 (parthenogenesis) is very small, which means the exploitation space is very limited. Thus, it is not easy to find a better solution. Secondly, in Type 2 (monogamy), a female mating bird is randomly selected from Type 1. Therefore, the selected female mating bird may be not the optimal. The convergence speed of Type 2 is limited. Thirdly, Type 3 (polygamy) plays a similar role to Type 2, which means SBMO has no effective strategy to avoid trapping in a local optimum.
The parameter estimation method should be reliable, accurate, and fast, for a range of different types of cells estimation. To further improve the efficiency and reliability of parameters identification of photovoltaic models, here, we propose a new optimization technique referred to as population classification evolution (PCE) to overcome the slow convergence of SBMO. In PCE, we divide the population into two categories, that is, elite and ordinary. The elite are the parthenogenesis corresponding to the neighborhoodbased search known as the local search strategy to afford exploitation. In the elite evolution strategy, we magnify the exploitation space to accelerate convergence. In the ordinary, we employ DE mutation “DE/best/1” operator to guide an individual to be close to the global optimum. Then, a crossover operator following mutation is employed to increase the diversity of the population. In addition, we add a random movement of small probability for the evolution of ordinary individuals to further increase the diversity of the population and overcome the premature convergence. Obviously, the ordinary evolution is corresponding to the global search to afford exploration. To estimate the performance of PCE, it is first compared with five wellknown evolutional algorithms (EAs), SBMO, cuckoo search (CS), artificial bee colony (ABC), improved adaptive differential evolution (IADE), and selfadapting control parameters in differential evolution (called jDE) on 13 classic benchmark functions. And a startoftheart evolutional algorithm called generalized oppositional teaching learning based optimization (GOTLBO) is also adopted to compare with PCE. PCE has a faster convergence speed and higher accuracy than these six EAs on most benchmark functions through emulation. In addition, PCE is applied to extract the parameters of both the single and double diode model. The emulation data indicate that the proposed PCE is superior when comparing it with other parameter extraction methods. Moreover, PCE is tested using three different sources of data with good accuracy.
Organization of the remainder of the paper is as follows. For Section 2, solar cell identification is depicted. In Section 3, the SBMO algorithm is depicted. Section 4 specifies the implementation of our proposed PCE. In Section 5, PCE is estimated on 13 classic benchmark functions. Then, in Section 6, PCE is applied to extract the parameters of PV models. The conclusions are depicted in Section 7.
2. Problem Statement
2.1. Solar Cell Models
An accurate mathematical model describing the electrical characteristics of solar cells is needed in advance. Some equivalent circuit models are used to simulate the currentvoltage () behavior for solar cells, but only two models are employed in practice: the double diode model and the single diode model. In this subsection, these models are tersely discussed.
2.1.1. Double Diode Model
Under the illumination, the ideal solar cell model is a photogenerated current source that is shunted by a rectifier diode [3, 13, 21]. Figure 1 shows the equivalent circuit of the double diode model. According to Kirchhoff’s law of electric current and the Shockley equation, the relationship is formulated aswhere is the terminal current; denotes the photogenerated current; and are the first and second diode currents; and is the shunt resistor current. and denote the diffusion and saturation currents, respectively; denotes the terminal voltage; and denote the series and shunt resistances, respectively; q is the electronic charge; (K) denotes the cell temperature; is the Boltzmann constant; and denote the diffusion and recombination diode ideality factors, respectively.
This double diode model includes seven unknown parameters (, , , , , , and ) to be estimated from (1). To reflect the solar cell performance as well as that of the real system, it is crucial to acquire an accurate parameters’ identification.
2.1.2. Single Diode Model
Figure 2 shows the single diode model that is widely employed for modeling solar cells due to its simplicity. It is calculated as follows:where is reverse saturation current of diode and is the diode ideality factor.
For this model, five parameters (, , , , and ) would be estimated in (2).
2.2. Objective Function
The unknown parameters are obtained from the IV data with an optimization algorithm. In this optimization method, each solution is denoted by a vector, , where for the double diode model and for the single diode model. For expressing the objective function to be optimized, (1) and (2) are altered as follows:
During the optimization process, we adopt the RMSE as the objective function [1, 3] to reflect the difference between the real data and simulated data, which is defined bywhere N is the number of the simulated data.
For this optimization case, the objective function in (4) would be minimized.
3. The Simplified Bird Mating Optimizer
In SBMO [6], the birds are ranked according to their objective function values such that the bird with the best objective function value is ranked first. Then, these birds are divided into three types for breeding based on their rank.
Type 1. The birds of this type are called females that have better objective function values than others. The number of these birds () is determined by
For breeding, female birds employ the following expression based on the idea of parthenogenesis [6, 23–25]:where is the target vector related to the bird, is the mutant vector related to the bird’s brood, and is a random number within and it is worthwhile mentioning that the random numbers are different.
Type 2. The birds of this type are referred to as male birds. The number of these birds () is determined by
For breeding, male birds are interested in mating with one female bird:where is a target vector that is randomly selected from Type 1 for the interesting mate of the male bird.
Type 3. The birds of this type are referred to as male birds. The number of these birds () is determined by
For breeding, male birds are interested in mating with two female birds:where and are two target vectors which are randomly selected from Type 1 for the interesting mates of the male bird.
4. The Proposed Population Classification Evolution Algorithm
In PCE, all individuals in the population are ranked according to their objective function values. The population are divided into two types of evolution based on their rank as follows.
Type 1. The individuals of this type in the population are referred to as elite individuals that have better objective function values than others. The number of these elites () is determined by (5).
We employ the following expression for the evolution of elite individuals:
It is worthwhile mentioning that we modify (6) and the disturbance coefficient from (11) is larger than that of (6), which can expand the exploitation space. At the early stage of the optimization process, the larger search step would be faster to search a better solution, which can accelerate convergence.
Type 2. The individuals of this type are referred to as ordinary individuals. The number of these individuals () is determined by
The DE algorithm [26], which is primarily employed for numerical optimization problems, is a parallel direct search technology that uses NP Ddimensional vectors. In ordinary individuals, we employ the differential evolution “DE/best/1” mutation operator [27] that uses the information of the best individual in the population to guide an individual to be close to the global optimum, which helps to accelerate the convergence speed. The “DE/best/1” operator is as follows:where indexes and denote mutually different integers randomly generated from the range [1, NP]. is the bestsofar solution with the best fitness (i.e., lowest objective function value for a minimization problem) in the current population.
Although the “DE/best/1” operator can accelerate the convergence speed, another aspect should be considered. Playing a guiding role only through makes it easier to trap in a local optimum. Thus, a crossover operator following mutation is employed to increase the diversity of the population. The crossover operator is employed to generate the trial vector between and :where denotes the crossover rate, which is set from the user; denotes a uniform random number; and denotes a randomly generated index that insures that obtains at least one ingredient from .
In addition, because Type 3 plays a similar role to Type 2 in SBMO, we remove Type 3; then a random movement of small probability is added to further increase population diversity and strengthen the ability of jumping out of a local optimum for the ordinary evolution [28]. The expression of the random movement is defined as follows:where and are the initial lower bound and upper bound of the th dimension of the th vector, respectively.
Therefore, using (13), (14), and (15), the method of ordinary individuals evolution can be defined as follows:where denotes the probability of differential evolution in ordinary individuals. Here, is set to 0.9, which means the probability of the random movement is 0.1.
An optimization algorithm should be able to satisfactorily compromise between exploitation and exploration to effectively probe the search space [6]. In the proposed population classification evolution approach, the individuals in Type 1 are the neighborhoodbased search known as the local search strategy to afford exploitation. Conversely, the other individuals (Type 2) of the population move through the search space with respect to memory and randomness known as the global search to afford exploration. The random movement in Type 2 is utilized to generate a new individual, which may explore a better solution to overcome the premature convergence.
The pseudocode of the proposed PCE algorithm is summarized in Algorithm 1.

5. Simulation Experiments on Benchmark Functions
5.1. Experimental Setup
To evaluate the optimal performance of PCE, 13 widely used standard benchmark functions are applied from [1, 29]. The search space, space dimension, and optimal value of the 13 functions are listed in Table 1. belong to unimodal functions, and belong to multimodal functions.

The proposed PCE algorithm is compared with six EAs, namely, SBMO [6], CS [30], ABC [31], IADE [17], jDE [29], and GOTLBO [1]. It is worthwhile mentioning that GOTLBO [1], recently proposed by Brest et al., is efficiently utilized to identify the parameters for PV models. Table 2 lists the configuration values of tunable parameters of the mentioned algorithms with reference to the relevant literature.

To simulate the optimization performance among the different algorithms, the performance criteria are employed as follows [1]:(i)ANFES. ANFES represents the average number of objective function evaluations. It is employed to store the number of objective function evaluations when a solution x satisfying is found for each run, where is the best value and is a rather small positive constant as the required accuracy for different issues. ANFES can evaluate the convergence speed for an optimization technology.(ii)SR (Successful Rate). SR represents the number of successful runs among all runs. The successful run signifies that the algorithm can achieve before the max. number of objective function evaluations (MaxNFES) condition terminates the optimization process.
Here, the results are obtained in 50 independent runs to ensure a fair comparison for all involved algorithms. For functions , MaxNFES = 10000D, and = 10^{−8} [1, 32].
5.2. Experimental Results
Table 3 demonstrates the experimental results of seven EAs on 13 standard benchmark functions. Best, Mean, Worst, and Std. signify the best objective function value, mean objective function value, worst objective function value, and standard deviation, respectively. Table 4 shows that six EAs achieve the number of the best performances on 13 benchmark functions.
