Single and Multi-layer Solar Cell Thickness Optimization With Genetic Algorithm (Energies 2020)
Conventional solar cells are predominately designed similar to a stacked structure. Optimizing the layer thicknesses in this stack structure is crucial to extract the best efficiency of the solar cell. The commonplace method used in optimization simulations, such as for optimizing the optical spacer layers' thicknesses, is the parameter sweep. Our experiments show that the introduction of genetic algorithm based method results in a significantly faster and accurate search method when compared to brute-force parameter sweep method in both single and multi-layer optimization. While other sweep methods can also outperform the brute-force method, they do not consistently exhibit 100% accuracy in the optimized results like our genetic algorithm. Our best case scenario was observed to utilize 57.9 method.READ FULL TEXT VIEW PDF
Single and Multi-layer Solar Cell Thickness Optimization With Genetic Algorithm (Energies 2020)
Simulations of optoelectronic devices have helped to understand and design better optimized structure with efficiencies nearing the theoretical maximum Piprek et al. (2003); Andreani et al. (2019); Conkey et al. (2012); Zhang et al. (2009). They have aided in discovering complex nanostructures for efficient light trapping and guiding Wang et al. (2013); Gouvea et al. (2019); Jafar-Zanjani et al. (2018); Mueller et al. (2014); Tsai et al. (2015)
. Simulations have reduced the time it takes for the researchers to find the optimized device structure. However, the most common way to obtain results over a large range of a parameter’s values is through a parameter sweep method. This brute-force method is ineffective in most cases where the user only requires the end optimized device structure. Genetic algorithm (GA) is an optimization algorithm in artificial intelligence based on Darwin’s evolution and natural selection theory, in which the fittest outcome survivesDarwin (2004); Man et al. (1996). This algorithm sets an environment with a random population and a function, which is called the fitness function, that scores each individual of that population. The environment then selects individuals to become the parents of the next generation through a selection process. The next generation of individuals (children of the previous generation’s parents) is obtained via a crossover method. Similar to natural mutation in genes of the offspring, the new generation’s individuals can also suffer mutation in their genes. After a number of generations, the population converges to the individuals representing the optimal solution.
In this article, we have demonstrated the optimization of an organic solar cell through the optimization of the optical spacer layers. Traditionally, finite difference time domain (FDTD) method was used to simulate the ideal short circuit current density () of the solar cell through the Lumerical, FDTD solutions software Vincent et al. (2018, 2017). Parameter sweep or brute-force method was used to vary the thickness of the optical spacer layers of the solar cell. At the optimized layer thicknesses, the solar cell will be observed to have the highest output. Although not computationally intensive for a single layer optimization, the number of simulations expand as in Eq. (1) for multi-layer optimization problems.
where is the total number of simulations and , , and are the number of simulations performed for layers 1, 2, and 3, respectively.
To alleviate the brute-force method’s limitations, we propose the use of GA. This article then aims to heuristically assert the hypothesis that GA is a more efficient approach than brute-force algorithms in tasks such as optimizing optoelectronic device structures.
Fig. 1 shows the device structure that was constructed in Lumerical, FDTD solutions. It consists of a 150 nm indium tin oxide (ITO) and a 100 nm aluminum (Al) electrodes. The active layer, poly (3-hexylthiophene) (P3HT): indene- bisadduct (ICBA), was designed to be 200 nm. The charge transport layers, zinc oxide (ZnO) and Molybdenum oxide (MoOx), also act as optical spacer layers and are variable quantities in our simulation. The simulation setup details is published elsewhere Vincent et al. (2018, 2017). To simulate the ideal , internal quantum efficiency was assumed.
Using the software’s parameter sweep option, we simulated our device structure according to three sections. The first section optimized only the ZnO layer, while keeping the MoOx layer at 10 nm thickness. The second simulation section consists of optimizing only the MoOx layer, while the ZnO layer was fixed at 30 nm. Our final section optimized both optical spacer layers together. In order to make a 2 layer optimization problem similar to that of the single layer optimization, we replaced the optical spacers’ thickness combinations with a label, effectively converting a 3D data to a 2D data. The label number is given by .The results of the brute-force method are provided in Fig. 2, respectively.
In order to alleviate the computational and time inefficiencies of brute-force method, we took inspiration in Darwin’s natural selection theory and proposed the use of genetic algorithm Man et al. (1996) for our optimization problem. Consider there’s a random population and their adaptability to the environment given by a fitness function. In our optimization problem, the fitness function was to maximize output from the FDTD simulation. Each population contains a number of individual chromosomes, which in turn consists of an array of bits called genes. Different selection methods are used to choose certain chromosomes in each generation (see Section 2.2.1) in order to reproduce off-springs using a crossover method (see Section 2.2.2
). To further mimic biology, there is also a probability that a chromosome might suffer mutation, which is provided by the mutation rate, which allows the algorithm to escape local minima in the data. In the end, the fittest members of the population prevail, meaning that the algorithm converges to the optimal solution.
A step-by-step of the works of the genetic algorithm is shown in Algorithm 1. The initial population of size is randomly selected from the search space, which in our case is the maximum and minimum thickness of the optical spacer layers. The first iteration of the algorithm then starts. For each population value, the GA calls the FDTD software to simulate and extract the result. The fitness function () is applied to all individuals in the population and ranked from the highest to the lowest. A selection method is then applied taking into consideration each chromosome and their respective fitness score. After selecting the parents responsible for the next generation, they reproduce in order to obtain the next generation, step detailed in Algorithm 2. Note that in our algorithm, the fittest individual in the current generation is cloned to be part of the next generation. The current generation is then updated with the next generation, with the algorithm continuing until the maximum number of generations has been reached.
As for the reproduction algorithm, detailed in Algorithm 2, the first step is to allocate an empty array for the new population. The second step is to select two parents to produce children. Due to the crossover method used and mutation ratio, the same parents are able to reproduce different children. The new population is then updated with the new children obtained through crossover and mutation.
Four selection methods were examined in this work: random, tournament, roulette wheel, and breeder. For better clarity of the following explanations, the fittest individual means the individual with highest fitness score, since our problem is a maximization problem.
This is the simplest selection method since it does not incorporate a selection criteria. This method consists of randomly selecting individuals to be the next generation’s parents, with no regards to the fitness function. Because of this Monte-Carlo-like approach, it can take very long for the algorithm to converge.
Tournament Selection Fang and Li (2010) samples individuals with replacement from a population of and applies the fitness function to those individuals in order to select the one with best fitness score, also known as the fittest individual. One can think of this method as a battle of the fittest, where individuals face each other in tournament fashion to decide the fittest. The fittest individuals from each tournament round will then constitute the parents responsible for forming the next generation.
Roulette Wheel Selection (RWS) Jebari and Madiafi (2013) is a popular way of parent selection in which individuals have a fitness-proportionate probability of being selected. In that way, if an individual is very fit, it has a higher chance of being chosen, otherwise their chance is lower.
Breeder Selection Mühlenbein and Schlierkamp-Voosen (1993) follows the same strategy used for breeding animals and plants, where the goal is to preserve certain desired properties from the parents in their children. This is achieved by conserving the genetic material from the fittest individuals while still giving some mutation leeway by adding a few random individuals (lucky few) to the mix of parents for the next generation.
Crossover is the reproduction method in genetic algorithms, and it consists of choosing the parts of each parent that will be present in their child. In this work we use what is called a uniform crossover, shown in Fig 3. In this type of crossover, each bit is chosen from one of the parents with probability of 0.5. The advantage of this method is that the same parents are able to form a large number of children with a more diverse set of genes.
This genetic operator is used to ensure genetic diversity within a group of individuals and to ensure the algorithm doesn’t converge to a local minimum. The mutation operator works by flipping bits in a chromosome according to a mutation probability, as shown in Fig. 4.
In this section we aim to further explain our algorithm’s suitability with respect to its complexity. In brute-force, the total simulation count increases with respect to the solar cell’s layers which are thickness optimized, as shown previously in Eq. (1). In Big-O notation, which represents the upper bound for time complexity in an algorithm, the brute-force method has algorithmic complexity as in Eq. (2):
where is the number of layers and is the number of fitness function evaluations for a layer. In other words, the complexity increases exponentially with the number of layers, and that can be very expensive as that number grows.
Our goal is to efficiently optimize layer thickness in devices composed of a single layer and multiple layers alike. Thus our choice of genetic algorithms. GA is able to converge to an optimal solution by evaluating less individuals than the brute-force method. However, in the classical approach, the same individual might be evaluated multiple times. To prevent this redundancy from happening, we implement GA with dynamic programming. In this approach, there’s a dynamic dictionary, also called lookup table, that serves as memory to store the already evaluated individuals and their respective fitness scores. The dictionary is said to be dynamic because it may change size if the algorithm receives an individual whose fitness score hasn’t been calculated yet. This approach is illustrated with an example in Fig. 5, where in every generation, or iteration, the algorithm searches the memory for a desired individual. If this individual has already been computed, its fitness score can simply be used by the algorithm. Otherwise, the fitness function is evaluated and the lookup table is updated.
Since GA is a stochastic algorithm, we calculated the average number of simulations required by the GA and its standard deviation from 5,000 repeated runs per section. The accuracy of the data discussed below are all, which means that all the 5,000 runs converged to the optimal solution. We have discussed three sections below: single layer - ZnO thickness optimization, single layer - MoOx thickness optimization, and multiple layers - concurrent ZnO and MoOx thickness optimization.
For the single ZnO optical spacer layer optimization, we fixed the MoOx layer thickness as 10 nm. We applied the brute-force and the genetic algorithm to our task and solved it within the same thickness limits of 0 to 80 nm. The best , which is also the fitness value, was obtained when the ZnO thickness was optimized to 30 nm (as shown in Fig. 1(a)). We have compared the total number of simulations and their respective accuracies for different selection methods. The initial population size, generations count, and mutation probability were the factors that were iterated in order to find the conditions that would use the least number of simulations to optimize the device structure. The population size was varied from 10 to 80 in increments of 10, the generation count from 10 to 100 in increments of 10, and the mutation probability from 5 to 100 in increments of 5. While the brute-force method required 81 simulations in total, the number of simulations required by the genetic algorithm was dependent on the selection method and initialization parameters used. The initialization parameters which provided the least average number of simulations from the 5,000 simulations, while keeping the accuracy at , is provided in Table 1.
|Brute-force method: Number of simulations = 81|
|Optimized ZnO thickness = 30 nm|
|Mutation prob (%)||80||15||60||75|
Figure 6 presents the accuracy distribution over different initialization parameters. It was observed that the best result was obtained while using tournament selection model with the population size of 70, generation count of 30, and mutation probability of . It required simulations to reach the optimal solution. Although the GA algorithm was observed to produce only a reduction of in the number of simulations required, this was mainly due to two optimal result points in the data. Since the device with a 24 nm ZnO layer thickness exhibited a of 116.62 and the one with the optimal 30 nm ZnO layer thickness exhibited a near same of 116.67 , the algorithm took longer to converge at the optimal structure. In a practical scenario, however, if both the above mentioned structures were regarded as optimal, the algorithm would converge with high accuracy with much lesser number of simulations.
For the MoOx optical spacer single layer optimization, the ZnO thickness was fixed at 30 nm. The brute-force method required 31 simulations to determine the optimized layer thickness of 8 nm (Fig. 1(b)). For finding the best initialization parameter combination, we varied the population size from 5 to 20 in increments of 5, the generation count from 10 to 100 in increments of 10, and the mutation probability from 5 to 100 in increments of 5. The best case results for each selection model is provided in Table 2.
|Brute-force method: Number of simulations = 31|
|Optimized MoOx thickness = 8 nm|
|Mutation prob (%)||80||75||75||80|
It was observed that while the roulette method was able to utilize less number of simulations to determine the optimal MoOx thickness, the other methods required nearly the same number of simulations as the brute-force method. We hypothesize that the roulette method’s preferential weighing of the fittest model aided in the convergence to the optimal solution faster. Figure 7 presents the accuracy distribution for the optimum initializing parameter values.
As mentioned earlier, multi-layer optimization can take a large number of simulations. The computational and time cost required to run these simulations are expensive. GA can be utilized in order to refine the optimization process to take as less simulations as required. The ZnO layer thickness was incremented by 1 nm from 0 to 80 nm, while the same thickness increment was done from 0 to 30 nm for the MoOx layer. The brute-force method utilized 2,511 simulations to find the optimized optical spacer layer thicknesses of 24 nm ZnO and 8 nm MoOx. We converted the 3D Fig. 2(c) to a 2D Fig. 2(d) by applying labels for each ZnO and MoOx thickness combination. Thus, we have 2,511 labels and the GA algorithm was applied to determine the label pointing to the optimal result. The population size that was varied from 500 to 1,500 in increments of 500, the generation count from 10 to 100 in increments of 10, and the mutation probability from 10 to 100 in increments of 10. Table 3 presents the result from multi-layer optimization.
|Brute-force method: Number of simulations = 2,511|
|Optimized ZnO thickness = 24 nm, Optimized MoOx thickness = 8 nm|
|Mutation prob (%)||10||90||20||50|
Figure 8 presents a reduction in the number of simulations required by the roulette selection method to obtain the optimal solution. As the complexity became higher, having more randomness in the population through a high mutation probability rate aided constructively to reduce the number of simulations required. Due to this, the roulette selection method was able to show a best average number of simulation count of from 5,000 repetitive runs.
We have presented that the genetic algorithm can perform better than the conventional parameter sweep used in simulations. In our best case scenario, it exhibited no loss in accuracy, while outperforming the brute-force method by up to
with the correct initialization parameters. In the worst case scenario, the GA utilized the same number of simulations as the brute-force method, demonstrating that it cannot be outperformed by brute-force. The GA is dependent on its initialization parameters and the selection method chosen. This article does not discuss on an automated way to assign these parameters as it is not in its research scope. However, the results suggest that there is possibility for greatly refining the parameter sweep method through the use of evolutionary algorithms as shown with both single and multi-layer optimization of the solar cell structure.
This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Science and ICT (2018R1D1A3B07049992/ 2018R1A2B6008815), and also by the BK21 Plus project funded by the Ministry of Education, Korea (21A20131600011). This work was also supported by MOTIE (Ministry of Trade, Industry & Energy) (project number 10063474). This work was also supported by the NRF grant funded by the Korea government (MSIT)(No. 2017R1A4A1015565).
A review of tournament selection in genetic programming. In International Symposium on Intelligence Computation and Applications, pp. 181–192. Cited by: §2.2.1.
Origins of hole traps in hydrogenated nanocrystalline and amorphous silicon revealed through machine learning. Phys. Rev. B 89, pp. 115202. Cited by: §1.