key: cord-0052173-8q7a4ja4 authors: Katoch, Sourabh; Chauhan, Sumit Singh; Kumar, Vijay title: A review on genetic algorithm: past, present, and future date: 2020-10-31 journal: Multimed Tools Appl DOI: 10.1007/s11042-020-10139-6 sha: bd35004b715ac966cd94a397b520c4d1f2e85925 doc_id: 52173 cord_uid: 8q7a4ja4 In this paper, the analysis of recent advances in genetic algorithms is discussed. The genetic algorithms of great interest in research community are selected for analysis. This review will help the new and demanding researchers to provide the wider vision of genetic algorithms. The well-known algorithms and their implementation are presented with their pros and cons. The genetic operators and their usages are discussed with the aim of facilitating new researchers. The different research domains involved in genetic algorithms are covered. The future research directions in the area of genetic operators, fitness function and hybrid algorithms are discussed. This structured review will be helpful for research and graduate teaching. In the recent years, metaheuristic algorithms are used to solve real-life complex problems arising from different fields such as economics, engineering, politics, management, and engineering [113] . Intensification and diversification are the key elements of metaheuristic algorithm. The proper balance between these elements are required to solve the real-life problem in an effective manner. Most of metaheuristic algorithms are inspired from biological evolution process, swarm behavior, and physics' law [17] . These algorithms are broadly classified into two categories namely single solution and population based metaheuristic algorithm (Fig. 1) . Single-solution based metaheuristic algorithms utilize single candidate solution and improve this solution by using local search. However, the solution obtained from single-solution based metaheuristics may stuck in local optima [112] . The well-known single-solution based metaheuristics are The main aim of this paper is two folds. First, it presents the variants of GA and their applicability in various fields. Second, it broadens the area of possible users in various fields. The various types of crossover, mutation, selection, and encoding techniques are discussed. The single-objective, multi-objective, parallel, and hybrid GAs are deliberated with their advantages and disadvantages. The multimedia applications of GAs are elaborated. The remainder of this paper is organized as follows: Section 2 presents the methodology used to carry out the research. The classical genetic algorithm and genetic operators are discussed in Section 3. The variants of genetic algorithm with pros and cons are presented in Section 4. Section 5 describes the applications of genetic algorithm. Section 6 presents the challenges and future research directions. The concluding remarks are drawn in Section 7. PRISMA's guidelines were used to conduct the review of GA [138] . A detailed search has been done on Google scholar and PubMed for identification of research papers related to GA. The important research works found during the manual search were also added in this paper. During search, some keywords such as "Genetic Algorithm" or "Application of GA" or "operators of GA" or "representation of GA" or "variants of GA" were used. The selection and rejection of explored research papers are based on the principles, which is mentioned in Table 1 . Total 27,64,792 research papers were explored on Google Scholar, PubMed and manual search. The research work related to genetic algorithm for multimedia applications were also included. During the screening of research papers, all the duplicate papers and papers published before 2007 were discarded. 4340 research papers were selected based on 2007 and duplicate entries. Thereafter, 4050 research papers were eliminated based on titles. 220 research papers were eliminated after reading of abstract. 70 research papers were left after third round of screening. 40 more research papers were discarded after full paper reading and facts found in the papers. After the fourth round of screening, final 30 research papers are selected for review. Based on the relevance and quality of research, 30 papers were selected for evaluation. The relevance of research is decided through some criteria, which is mentioned in Table 1 . The selected research papers comprise of genetic algorithm for multimedia applications, advancement of their genetic operators, and hybridization of genetic algorithm with other wellestablished metaheuristic algorithms. The pros and cons of genetic operators are shown in preceding section. In this section, the basic structure of GA and its genetic operators are discussed with pros and cons. Genetic algorithm (GA) is an optimization algorithm that is inspired from the natural selection. It is a population based search algorithm, which utilizes the concept of survival of fittest [135] . The new populations are produced by iterative use of genetic operators on individuals present in the population. The chromosome representation, selection, crossover, mutation, and fitness function computation are the key elements of GA. The procedure of GA is as follows. A population (Y) of n chromosomes are initialized randomly. The fitness of each chromosome in Y is computed. Two chromosomes say C1 and C2 are selected from the population Y according to the fitness value. The single-point crossover operator with crossover probability (C p ) is applied on C1 and C2 to produce an offspring say O. Thereafter, uniform mutation operator is applied on produced offspring (O) with mutation probability (M p ) to generate O′. The new offspring O′ is placed in new population. The selection, crossover, and mutation operations will be repeated on current population until the new population is complete. The mathematical analysis of GA is as follows [126] : GA dynamically change the search process through the probabilities of crossover and mutation and reached to optimal solution. GA can modify the encoded genes. GA can evaluate multiple individuals and produce multiple optimal solutions. Hence, GA has better global search capability. The offspring produced from crossover of parent chromosomes is probable to abolish the admirable genetic schemas parent chromosomes and crossover formula is defined as [126] : where g is the number of generations, and G is the total number of evolutionary generation set by population. It is observed from Eq.(1) that R is dynamically changed and increase with increase in number of evolutionary generation. In initial stage of GA, the similarity between individuals is very low. The value of R should be low to ensure that the new population will not destroy the excellent genetic schema of individuals. At the end of evolution, the similarity between individuals is very high as well as the value of R should be high. According to Schema theorem, the original schema has to be replaced with modified schema. To maintain the diversity in population, the new schema keep the initial population during the early stage of evolution. At the end of evolution, the appropriate schema will be produced to prevent any distortion of excellent genetic schema [65, 75] . Algorithm 1 shows the pseudocode of classical genetic algorithm. Algorithm 1: Classical Genetic Algorithm (GA) GAs used a variety of operators during the search process. These operators are encoding schemes, crossover, mutation, and selection. Figure 2 depicts the operators used in GAs. For most of the computational problems, the encoding scheme (i.e., to convert in particular form) plays an important role. The given information has to be encoded in a particular bit string [121, 183] . The encoding schemes are differentiated according to the problem domain. The well-known encoding schemes are binary, octal, hexadecimal, permutation, value-based, and tree. Binary encoding is the commonly used encoding scheme. Each gene or chromosome is represented as a string of 1 or 0 [187] . In binary encoding, each bit represents the characteristics of the solution. It provides faster implementation of crossover and mutation operators. However, it requires extra effort to convert into binary form and accuracy of algorithm depends upon the binary conversion. The bit stream is changed according the problem. Binary encoding scheme is not appropriate for some engineering design problems due to epistasis and natural representation. In octal encoding scheme, the gene or chromosome is represented in the form of octal numbers (0-7). In hexadecimal encoding scheme, the gene or chromosome is represented in the form of hexadecimal numbers (0-9, A-F) [111, 125, 187] . The permutation encoding scheme is generally used in ordering problems. In this encoding scheme, the gene or chromosome is represented by the string of numbers that represents the position in a sequence. In value encoding scheme, the gene or chromosome is represented using string of some values. These values can be real, integer number, or character [57] . This encoding scheme can be helpful in solving the problems in which more complicated values are used. As binary encoding may fail in such problems. It is mainly used in neural networks for finding the optimal weights. In tree encoding, the gene or chromosome is represented by a tree of functions or commands. These functions and commands can be related to any programming language. This is very much similar to the representation of repression in tree format [88] . This type of encoding is generally used in evolving programs or expressions. Table 2 shows the comparison of different encoding schemes of GA. Selection is an important step in genetic algorithms that determines whether the particular string will participate in the reproduction process or not. The selection step is sometimes also known as the reproduction operator [57, 88] . The convergence rate of GA depends upon the selection pressure. The well-known selection techniques are roulette wheel, rank, tournament, boltzmann, and stochastic universal sampling. Roulette wheel selection maps all the possible strings onto a wheel with a portion of the wheel allocated to them according to their fitness value. This wheel is then rotated randomly to select specific solutions that will participate in formation of the next generation [88] . However, it suffers from many problems such as errors introduced by its stochastic nature. De Jong and Brindle modified the roulette wheel selection method to remove errors by introducing the concept of determinism in selection procedure. Rank selection is the modified form of Roulette wheel selection. It utilizes the ranks instead of fitness value. Ranks are given to them according to their fitness value so that each individual gets a chance of getting selected according to their ranks. Rank selection method reduces the chances of prematurely converging the solution to a local minima [88] . Tournament selection technique was first proposed by Brindle in 1983. The individuals are selected according to their fitness values from a stochastic roulette wheel in pairs. After selection, the individuals with higher fitness value are added to the pool of next generation [88] . In this method of selection, each individual is compared with all n-1 other individuals if it reaches the final population of solutions [88] . Stochastic universal sampling (SUS) is an extension to the existing roulette wheel selection method. It uses a random starting point in the list of individuals from a generation and selects the new individual at evenly spaced intervals [3] . It gives equal chance to all the individuals in getting selected for participating in crossover for the next generation. Although in case of Travelling Salesman Problem, SUS performs well but as the problem size increases, the traditional Roulette wheel selection performs relatively well [180] . Boltzmann selection is based on entropy and sampling methods, which are used in Monte Carlo Simulation. It helps in solving the problem of premature convergence [118] . The probability is very high for selecting the best string, while it executes in very less time. However, there is a possibility of information loss. It can be managed through elitism [175] . Elitism selection was proposed by K. D. Jong (1975) for improving the performance of Roulette wheel selection. It ensures the elitist individual in a generation is always propagated to the next generation. If the individual having the highest fitness value is not present in the next generation after normal selection procedure, then the elitist one is also included in the next generation automatically [88] . The comparison of above-mentioned selection techniques are depicted in Table 3 . Crossover operators are used to generate the offspring by combining the genetic information of two or more parents. The well-known crossover operators are single- In a single point crossover, a random crossover point is selected. The genetic information of two parents which is beyond that point will be swapped with each other [190] . Figure 3 shows the genetic information after swapping. It replaced the tail array bits of both the parents to get the new offspring. In a two point and k-point crossover, two or more random crossover points are selected and the genetic information of parents will be swapped as per the segments that have been created [190] . Figure 4 shows the swapping of genetic information between crossover points. The middle segment of the parents is replaced to generate the new offspring. In a uniform crossover, parent cannot be decomposed into segments. The parent can be treated as each gene separately. We randomly decide whether we need to swap the gene with the same location of another chromosome [190] . Figure 5 depicts the swapping of individuals under uniform crossover operation. Partially matched crossover (PMX) is the most frequently used crossover operator. It is an operator that performs better than most of the other crossover operators. The partially matched (mapped) crossover was proposed by D. Goldberg and R. Lingle [66] . Two parents are choose for mating. One parent donates some part of genetic material and the corresponding part of other parent participates in the child. Once this process is completed, the left out alleles are copied from the second parent [83] . Figure 6 depicts the example of PMX. Order crossover (OX) was proposed by Davis in 1985. OX copies one (or more) parts of parent to the offspring from the selected cut-points and fills the remaining space with values other than the ones included in the copied section. The variants of OX are proposed by different researchers for different type of problems. OX is useful for ordering problems [166] . However, it is found that OX is less efficient in case of Travelling Salesman Problem [140] . Precedence preserving crossover (PPX) preserves the ordering of individual solutions as present in the parent of offspring before the application of crossover. The offspring is initialized to a string of random 1's and 0's that decides whether the individuals from both parents are to be selected or not. In [169] , authors proposed a modified version of PPX for multi-objective scheduling problems. Shuffle crossover was proposed by Eshelman et al. [20] to reduce the bias introduced by other crossover techniques. It shuffles the values of an individual solution before the crossover and unshuffles them after crossover operation is performed so that the crossover point does not introduce any bias in crossover. However, the utilization of this crossover is very limited in the recent years. Reduced surrogate crossover (RCX) reduces the unnecessary crossovers if the parents have the same gene sequence for solution representations [20, 139] . RCX is based on the assumption that GA produces better individuals if the parents are sufficiently diverse in their genetic composition. However, RCX cannot produce better individuals for those parents that have same composition. Cycle crossover was proposed by Oliver [140] . It attempts to generate an offspring using parents where each element occupies the position by referring to the position of their parents [140] . In the first cycle, it takes some elements from the first parent. In the second cycle, it takes the remaining elements from the second parent as shown in Fig. 7 . Table 4 shows the comparison of crossover techniques. It is observed from Table 4 that single and k-point crossover techniques are easy to implement. Uniform crossover is suitable for large subsets. Order and cycle crossovers provide better exploration than the other crossover techniques. Partially matched crossover provides better exploration. The performance of partially matched crossover is better than the other crossover techniques. Reduced surrogate and cycle crossovers suffer from premature convergence. Mutation is an operator that maintains the genetic diversity from one population to the next population. The well-known mutation operators are displacement, simple inversion, and scramble mutation. Displacement mutation (DM) operator displaces a substring of a given individual solution within itself. The place is randomly chosen from the given substring for displacement such that the resulting solution is valid as well as a random displacement mutation. There are variants of DM are exchange mutation and insertion mutation. In Exchange mutation and insertion mutation operators, a part of an individual solution is either exchanged with another part or inserted in another location, respectively [88] . The simple inversion mutation operator (SIM) reverses the substring between any two specified locations in an individual solution. SIM is an inversion operator that reverses the randomly selected string and places it at a random location [88] . The scramble mutation (SM) operator places the elements in a specified range of the individual solution in a random order and checks whether the fitness value of the recently generated solution is improved or not [88] . Table 5 shows the comparison of different mutation techniques. Table 6 shows the best combination of encoding scheme, mutation, and crossover techniques. It is observed from Table 6 that uniform and single-point crossovers can be used with most of encoding and mutation operators. Partially matched crossover is used with inversion mutation and permutation encoding scheme provides the optimal solution. Various variants of GA's have been proposed by researchers. The variants of GA are broadly classified into five main categories namely, real and binary coded, multiobjective, parallel, chaotic, and hybrid GAs. The pros and cons of these algorithms with their application has been discussed in the preceding subsections. Based on the representation of chromosomes, GAs are categorized in two classes, namely binary and real coded GAs. The binary representation was used to encode GA and known as binary GA. The genetic operators were also modified to carry out the search process. Payne and Glen [153] developed a binary GA to identify the similarity among molecules. They used binary representation for position of molecule and their conformations. However, this method has high computational complexity. Longyan et al. [203] investigated three different method for wind farm design using binary GA (BGA). Their method produced better fitness value and farm efficiency. Shukla et al. [185] utilized BGA for feature subset selection. They used mutual information maximization concept for selecting the significant features. BGAs suffer from Hamming cliffs, uneven schema, and difficulty in achieving precision [116, 199] . Real-coded GAs (RGAs) have been widely used in various real-life applications. The representation of chromosomes is closely associated with real-life problems. The main advantages of RGAs are robust, efficient, and accurate. However, RGAs suffer from premature convergence. Researchers are working on RGAs to improve their performance. Most of RGAs are developed by modifying the crossover, mutation and selection operators. Crossover operators The searching capability of crossover operators are not satisfactory for continuous search space. The developments in crossover operators have been done to enhance their performance in real environment. Wright [210] presented a heuristics crossover that was applied on parents to produce off-spring. Michalewicz [135] proposed arithmetical crossover operators for RGAs. Deb and Agrawal [34] developed a real-coded crossover operator, which is based on characteristics of single-point crossover in BGA. The developed crossover operator named as simulated binary crossover (SBX). SBX is able to overcome the Hamming cliff, precision, and fixed mapping problem. The performance of SBX is not satisfactory in two-variable blocked function. Eshelman et al. [53] utilized the schemata concept to design the blend crossover for RGAs. The unimodal normal distribution crossover operator (UNDX) was developed by Ono et al. [144] . They used ellipsoidal probability distribution to generate the offspring. Kita et al. [106] presented a multi-parent UNDX (MP-UNDX), which is the extension of [144] . However, the performance of RGA with MP-UNDX is much similar to UNDX. Deep and Thakur [39] presented a Laplace crossover for RGAs, which is based on Laplacian distribution. Chuang et al. [27] developed a direction based crossover to further explore the all possible search directions. However, the search directions are limited. The heuristic normal distribution crossover operator was developed by Wang et al. [207] . It generates the cross-generated offspring for better search operation. However, the better individuals are not considered in this approach. Subbaraj et al. [192] proposed Taguchi self-adaptive RCGA. They used Taguchi method and simulated binary crossover to exploit the capable offspring. Mutation operators Mutation operators generate diversity in the population. The two main challenges have to tackle during the application of mutation. First, the probability of mutation operator that was applied on population. Second, the outlier produced in chromosome after mutation process. Michalewicz [135] presented uniform and non-uniform mutation operators for RGAs. Michalewicz and Schoenauer [136] [38] presented a novel mutation operator based on power law and named as power mutation. Das and Pratihar [30] presented direction-based exponential mutation operator. They used direction information of variables. Tang and Tseng [196] presented a novel mutation operator for enhancing the performance of RCGA. Their approach was fast and reliable. However, it stuck in local optima for some applications. Deb et al. [35] developed polynomial mutation that was used in RCGA. It provides better exploration. However, the convergence speed is slow and stuck in local optima. Lucasius et al. [129] proposed a real-coded genetic algorithm (RCGA). It is simple and easy to implement. However, it suffers from local optima problem. Wang et al. [205] developed multi-offspring GA and investigated their performance over single point crossover. Wang et al. [206] stated the theoretical basis of multioffspring GA. The performance of this method is better than non-multi-offspring GA. Pattanaik et al. [152] presented an improvement in the RCGA. Their method has Here, two off-springs (Pand Q) are generated. X and Y are individuals. β is a variable whose value lies in the interval of [0, ∞) [53] Blend crossover Offspring P is generated from parents X and Y from interval δ is a variable whose value lies in the interval of [0, 1] [135] Arithmetic crossover Geometric crossover Arithmetic crossover where e k , k = 1, …, n − 1 are orthogonal bases that perpendicular to d. x P is the midpoint and d is difference vector. μ is a random vale taken from normal distribution and ψ k are n-1 random values follows a normal distribution. D is the length from parent 3 to perpendicular line. [39] Laplace crossover Where a and b are variables. The default values of a and b are 0 and 1, respectively. u is random variable. better convergence speed and quality of solution. Wang et al. [208] proposed multioffspring RCGA with direction based crossover for solving constrained problems. Table 7 shows the mathematical formulation of genetic operators in RGAs. Multiobjective GA (MOGA) is the modified version of simple GA. MOGA differ from GA in terms of fitness function assignment. The remaining steps are similar to GA. The main motive of multiobjective GA is to generate the optimal Pareto Front in the objective space in such a way that no further enhancement in any fitness function without disturbing the other fitness functions [123] . Convergence, diversity, and coverage are main goal of multiobjective GAs. The multiobjective GAs are broadly categorized into two categories namely, Pareto-based, and decomposition-based multiobjective GAs [52] . These techniques are discussed in the preceding subsections. The concept of Pareto dominance was introduced in multiobjective GAs. Fonseca and Fleming [56] developed first multiobjective GA (MOGA). The niche and decision maker concepts were proposed to tackle the multimodal problems. However, MOGA suffers from parameter tuning problem and degree of selection pressure. Horn et al. [80] proposed a niched Pareto genetic algorithm (NPGA) that utilized the concept of tournament selection and Pareto dominance. Srinivas and Deb [191] developed a non-dominated sorting genetic algorithm (NSGA). However, it suffers from lack of elitism, need of sharing parameter, and high computation complexity. To alleviate these problems, Deb et al. [36] developed a fast elitist non-dominated sorting genetic algorithm (NSGA-II). The performance of NSGA-II may be deteriorated for many objective problems. NSGA-II was unable to maintain the diversity in Pareto-front. To alleviate this problem, Luo et al. [130] introduced a dynamic crowding distance in NSGA-II. Coello and Pulido [28] developed a multiobjective micro GA. They used an archive for storing the non-dominated solutions. The performance of Paretobased approaches may be deteriorated in many objective problems [52] . Decomposition-based MOGAs decompose the given problem into multiple subproblems. These subproblems are solved simultaneously and exchange the solutions among neighboring subproblems [52] . Ishibuchi and Murata [84] developed a multiobjective genetic local search (MOGLS). In MOGLS, the random weights were used to select the parents and local search for their offspring. They used generation replacement and roulette wheel selection method. Jaszkiewicz [86] modified the MOGLS by utilizing different selection mechanisms for parents. Murata and Gen [141] proposed a cellular genetic algorithm for multiobjective optimization (C-MOGA) that was an extension of MOGA. They added cellular structure in MOGA. In C-MOGA, the selection operator was performed on the neighboring of each cell. C-MOGA was further extended by introducing an immigration procedure and known as CI-MOGA. Alves and Almeida [11] developed a multiobjective Tchebycheffs-based genetic algorithm (MOTGA) that ensures convergence and diversity. Tchebycheff scalar function was used to generate non-dominated solution set. Patel et al. [151] proposed a decomposition based MOGA (D-MOGA). They integrated opposition based learning in D-MOGA for weight vector generation. D-MOGA is able to maintain the balance between diversity of solutions and exploration of search space. The motivation behind the parallel GAs is to improve the computational time and quality of solutions through distributed individuals. Parallel GAs are categorized into three broad categories such as master-slave parallel GAs, fine grained parallel GAs, and multi-population coarse grained parallel Gas [70] . In master-slave parallel GA, the computation of fitness functions is distributed over the several processors. In fine grained GA, parallel computers are used to solve the real-life problems. The genetic operators are bounded to their neighborhood. However, the interaction is allowed among the individuals. In coarse grained GA, the exchange of individuals among sub-populations is performed. The control parameters are also transferred during migration. The main challenges in parallel GAs are to maximize memory bandwidth and arrange threads for utilizing the power of GPUs [23] . Table 8 shows the comparative analysis of parallel GAs in terms of hardware and software. The wellknown parallel GAs are studied in the preceding subsections. The large number of processors are utilized in master-slave parallel GA (MS-PGA) as compared to other approaches. The computation of fitness functions may be increased by increasing the number of processors. Hong et al. [79] used MS-PGA for solving data mining problems. Fuzzy rules are used with parallel GA. The evaluation of fitness function was performed on slave machines. However, it suffers from high computational time. Sahingzo [174] implemented MS-PGA for UAV path finding problem. The genetic operators were executed on processors. They used multicore CPU with four cores. Selection and fitness evaluation was done on slave machines. MS-PGA was applied on traffic assignment problem in [127] . They used thirty processors to solve this problem at National University of Singapore. Yang et al. [213] developed a web-based parallel GA. They implemented the master slave version of NSGA-II in distributed environment. However, the system is complex in nature. In last few decades, researchers are working on migration policies of fine grained parallel GA (FG-PGA). Porta et al. [161] utilized clock-time for migration frequency, which is independent of generations. They used non-uniform structure and static configuration. The best solution was selected for migration and worst solution was replaced with migrant solution. Kurdi [115] used adaptive migration frequency. The migration procedure starts until there is no change in the obtained solutions after ten successive generations. The non-uniform and dynamic structure was used. In [209] , local best solutions were synchronized and formed a global best solutions. The global best solutions were transferred to all processors for father execution. The migration frequency depends upon the number of generation. They used uniform structure with fixed configuration. Zhang et al. [220] used parallel GA to solve the set cover problem of wireless networks. They used divide-andconquer strategy to decompose the population into sub-populations. Thereafter, the genetic operators were applied on local solutions and Kuhn-Munkres was used to merge the local solutions. Pinel et al. [158] proposed a GraphCell. The population was initialized with random values and one solution was initialized with Min-min heuristic technique. 448 processors were used to implement the proposed approach. However, coarse grained parallel GAs are less used due to complex in nature. The hybrid parallel GAs are widely used in various applications. Shayeghi et al. [182] proposed a pool-based Birmingham cluster GA. Master node was responsible for managing global population. Slave node selected the solutions from global population and executed it. 240 processors are used for computation. Roberge et al. [170] used hybrid approach to optimize switching angle of inverters. They used four different strategies for fitness function computation. Nowadays, GPU, cloud, and grid are most popular hardware for parallel GAs [198] . The main drawback of GAs is premature convergence. The chaotic systems are incorporated into GAs to alleviate this problem. The diversity of chaos genetic algorithm removes premature convergence. Crossover and mutation operators can be replaced with chaotic maps. Tiong et al. [197] integrated the chaotic maps into GA for further improvement in accuracy. They used six different chaotic maps. The performance of Logistic, Henon and Ikeda chaotic GA performed better than the classical GA. However, these techniques suffer from high computational complexity. Ebrahimzadeh and Jampour [48] used Lorenz chaotic for genetic operators of GA to eliminate the local optima problem. However, the proposed approach was unable to find relationship between entropy and chaotic map. Javidi and Hosseinpourfard [87] utilized two chaotic maps namely logistic map and tent map for generating chaotic values instead of random selection of initial population. The proposed chaotic GA performs better than the GA. However, this method suffers from high computational complexity. Fuertes et al. [60] integrated the entropy into chaotic GA. The control parameters are modified through chaotic maps. They investigated the relationship between entropy and performance optimization. Chaotic systems have also used in multiobjective and hybrid GAs. Abo-Elnaga and Nasr [5] integrated chaotic system into modified GA for solving Bi-level programming problems. Chaotic helps the proposed algorithm to alleviate local optima and enhance the convergence. Tahir et al. [193] presented a binary chaotic GA for feature selection in healthcare. The chaotic maps were used to initialize the population and modified reproduction operators were applied on population. Xu et al. [115] proposed a chaotic hybrid immune GA for spectrum allocation. The proposed approach utilizes the advantages of both chaotic and immune operator. However, this method suffers from parameter initialization problem. Genetic Algorithms can be easily hybridized with other optimization methods for improving their performance such as image denoising methods, chemical reaction optimization, and many more. The main advantages of hybridized GA with other methods are better solution quality, better efficiency, guarantee of feasible solutions, and optimized control parameters [51] . It is observed from literature that the sampling capability of GAs is greatly affected from population size. To resolve this problem, local search algorithms such as memetic algorithm, Baldwinian, Lamarckian, and local search have been integrated with GAs. This integration provides proper balance between intensification and diversification. Another problem in GA is parameter setting. Finding appropriate control parameters is a tedious task. The other metaheuristic techniques can be used with GA to resolve this problem. Hybrid GAs have been used to solve the issues mentioned in the preceding subsections [29, 137, 186] . GAs have been integrated with local search algorithms to reduce the genetic drift. The explicit refinement operator was introduced in local search for producing better solutions. El-Mihoub et al. [54] established the effect of probability of local search on the population size of GA. Espinoza et al. [50] investigated the effect of local search for reducing the population size of GA. Different search algorithms have been integrated with GAs for solving real-life applications. In complex and high-dimensional problems, the genetic operators of GA generate infeasible solutions. PMX crossover generates the infeasible solutions for order-based problems. The distance preserving crossover operator was developed to generate feasible solutions for travelling salesman problem [58] . The gene pooling operator instead of crossover was used to generate feasible solution for data clustering [19] . Konak and Smith [108] integrated a cut-saturation algorithm with GA for designing the communication networks. They used uniform crossover to produce feasible solutions. There is a possibility to replace the genetic operators which are mentioned in Section 3.2 with other search techniques. Leng [122] developed a guided GA that utilizes the penalties from guided local search. These penalties were used in fitness function to improve the performance of GA. Headar and Fukushima [74] used simplex crossover instead of standard crossover. The standard mutation operator was replaced with simulated annealing in [195] . The basic concepts of quantum computing are used to improve the performance of GAs. The heuristic crossover and hill-climbing operators can be integrated into GA for solving three-matching problem. The control parameters of GA play a crucial role in maintaining the balance between intensification and diversification. Fuzzy logic has an ability to estimate the appropriate control parameters of GA [167] . Beside this, GA can be used to optimize the control parameters of other techniques. GAs have been used to optimize the learning rate, weights, and topology of neutral networks [21] . GAs can be used to estimate the optimal value of fuzzy membership in controller. It was also used to optimize the control parameters of ACO, PSO, and other metaheuristic techniques [156] . The comparative analysis of well-known GAs are mentioned in Table 9 . Genetic Algorithms have been applied in various NP-hard problems with high accuracy rates. There are a few application areas in which GAs have been successfully applied. GA is an efficient metaheuristic for solving operation management (OM) problems such as facility layout problem (FLP), supply network design, scheduling, forecasting, and inventory control. Datta et al. [32] utilized GA for solving single row facility layout problem (SRFLP). For SRFLP, the modified crossover and mutation operators of GA produce valid solutions. They applied GA to large sized problems that consists of 60-80 instances. However, it suffers from parameter dependency problem. Sadrzadeh [173] proposed GA for multi-line FLP have multi products. The facilities were clustered using mutation and heuristic operators. The total cost obtained from the proposed GA was decreased by 7.2% as compared to the other algorithms. Wu et al. [211] implemented hierarchical GA to find out the layout of cellular manufacturing system. However, the performance of GA is greatly affected from the genetic operators. Aiello et al. [7] proposed MOGA for FLP. They used MOGA on the layout of twenty different departments. Palomo-Romero et al. [148] proposed an island model GA to solve the FLP. The proposed technique maintains the population diversity and generates better solutions than the existing techniques. However, this technique suffers from improper migration strategy that can be utilized for improving the population. GA and its variants has been successfully applied on FLP [103, 119, 133, 201] . GA shows the superior performance for solving the scheduling problems such as job-shop scheduling (JSS), integrated process planning and scheduling (IPPS), etc. [119] . To improve the performance in the above-mentioned areas of scheduling, researchers developed various genetic representation [12, 159, 215] , genetic operators, and hybridized GA with other methods [2, 67, 147, 219] . Besides the scheduling, inventory control plays an important role in OM. Backordering and lost sales are two main approaches for inventory control [119] . Hiassat et al. [76] utilized the location-inventory model to find out the number and location of warehouses. Various design constraints have been added in the objective functions of GA and its variants for solving inventory control problem []. Forecasting is an important component for OM. Researchers are working on forecasting of financial trading, logistics demand, and tourist arrivals. GA has been hybridized with support vector regression, fuzzy set, and neural network (NN) to improve their forecasting capability [22, 78, 89, 178, 214] . Supply network design greatly affect the operations planning and scheduling. Most of the research articles are focused on capacity constraints of facilities [45, 184] . Multi-product multi-period problems increases the complexity of supply networks. To resolve the above-mentioned problem, GA has been hybridized with other techniques [6, 45, 55, 188, 189] . Multi-objective GAs are also used to optimize the cost, profit, carbon emissions, etc. [184, 189] . GAs have been applied in various fields of multimedia. Some of well-known multimedia fields are encryption, image processing, video processing, medical imaging, and gaming. Due to development in multimedia applications, images, videos and audios are transferred from one place to another over Internet. It has been found in literature that the images are more error prone during the transmission. Therefore, image protection techniques such as encryption, watermarking and cryptography are required. The classical image encryption techniques require the input parameters for encryption. The wrong selection of input parameters will generate inadequate encryption results. GA and its variants have been used to select the appropriate control parameters. Kaur and Kumar [96] developed a multi-objective genetic algorithm to optimize the control parameters of chaotic map. The secret key was generated using beta chaotic map. The generated key was use to encrypt the image. Parallel GAs were also used to encrypt the image [97] . The main image processing tasks are preprocessing, segmentation, object detection, denoising, and recognition. Image segmentation is an important step to solve the image processing problems. Decomposing/partitioning an image requires high computational time. To resolve this problem, GA is used due to their better search capability [26, 102] . Enhancement is a technique to improve the quality and contrast of an image. The better image quality is required to analyze the given image. GAs have been used to enhance natural contrast and magnify image [40, 64, 99] . Some researchers are working on hybridization of rough set with adaptive genetic algorithm to merge the noise and color attributes. GAs have been used to remove the noise from the given image. GA can be hybridized with fuzzy logic to denoise the noisy image. GA based restoration technique can be used to remove haze, fog and smog from the given image [8, 110, 146, 200] . Object detection and recognition is a challenging issue in realworld problem. Gaussian mixture model provides better performance during detection and recognition process. The control parameters are optimized through GA [93] . Video segmentation has been widely used in pattern recognition, and computer vision. There are some critical issues that are associated with video segmentation. These are distinguishing object from the background and determine accurate boundaries. GA can be used to resolve these issues [9, 105] . GAs have been implemented for gesture recognition successfully by Chao el al. [81] used GA for gesture recognition. They applied GAs and found an accuracy of 95% in robot vision. Kaluri and Reddy [91] proposed an adaptive genetic algorithm based method along with fuzzy classifiers for sign gesture recognition. They reported an improved recognition rate of 85% as compared to the existing method that provides 79% accuracy. Beside the gesture recognition, face recognition play an important role in criminal identification, unmanned vehicles, surveillance, and robots. GA is able to tackle the occlusion, orientations, expressions, pose, and lighting condition [69, 95, 109] . Genetic algorithms have been applied in medical imaging such as edge detection in MRI and pulmonary nodules detection in CT scan images [100, 179] . In [120] , authors used a template matching technique with GA for detecting nodules in CT images. Kavitha and Chellamuthu [179] used GA based region growing method for detecting the brain tumor. GAs have been applied on medical prediction problems captured from pathological subjects. Sari and Tuna [176] used GA used to solve issues arises in biomechanics. It is used to predict pathologies during examination. Ghosh and Bhattachrya [62] implemented sequential GA with cellular automata for modelling the coronavirus disease 19 (COVID-19) data. GAs can be applied in parallel mode to find rules in biological datasets [31] . The authors proposed a parallel GA that runs by dividing the process into small sub-generations and evaluating the fitness of each individual solution in parallel. Genetic algorithms are used in medicine and other related fields. Koh et al. [61] proposed a genetic algorithm based method for evaluation of adverse effects of a given drug. GAs have been applied on various problems that are related to precision agriculture. The main issues are crop yield, weed detection, and improvement in farming equipment. Pachepsky and Acock [145] implemented GA to analyze the water capacity in soil using remote sensing images. The crop yield can be predicted through the capacity of water present in soil. The weed identification was done through GA in [142] . They used aerial image for classification of plants. In [124] , color image segmentation was used to discriminate the weed and plant. Peerlink et al. [154] determined the appropriate rate of fertilizer for various portions of agriculture field. They GA for determining the nitrogen in wheat field. The energy requirements in water irrigation systems can be optimized by viewing it as a multi-objective optimization problem. The amount of irrigation required and thus power requirements change continuously in a SMART farm. Therefore, GA can be applied in irrigation systems to reduce the power requirements [33] . GAs have been successfully used in games such as gomoku. In [202] , the authors shown that the GA based approach finds the solution having the highest fitness than the normal tree based methods. However, in real-time strategy based games, GA based solutions become less practical to implement [82] . GAs have been implemented for path planning problems considering the environment constraints as well as avoiding the obstacles to reach the given destination. Burchardt and Salomon [18] described an implementation for path planning for soccer games. GA can encode the path planning problems via the coordinate points of a twodimensional playing field, hence resulting in a variable length solution. The fitness function in path planning considers length of path as well as the collision avoiding terms for soccer players. Due to adaptive, scalable, and easy implementation of GA, it has been used to solve the various issues of wireless networking. The main issues of wireless networking are routing, quality of service, load balancing, localization, bandwidth allocation and channel assignment [128, 134] . GA has been hybridized with other metaheuristics for solving the routing problems. Hybrid GA not only producing the efficient routes among pair of nodes, but also used for load balancing [24, 212] . Nowadays, multimedia applications require Quality-of-Service (QoS) demand for delay and bandwidth. Various researchers are working on GAs for QoS based solutions.GA produces optimal solutions for complex networks [49] . Roy et al. [172] proposed a multi-objective GA for multicast QoS routing problem. GA was used with ACO and other search algorithms for finding optimal routes with desired QoS metrics. Load balancing is another issue in wireless networks. Scully and Brown [177] used MicroGAs and MacroGAs to distribute the load among various components of networks. He et al. [73] implemented GA to determine the balance load in wireless sensor networks. Cheng et al. [25] utilized distributed GA with multipopulation scheme for load balancing. They used load balancing metric as a fitness function in GA. The process of determining the location of wireless nodes is called as localization. It plays an important role in disaster management and military services. Yun et al. [216] used GA with fuzzy logic to find out the weights, which are assigned according to the signal strength. Zhang et al. [218] hybridized GA with simulated annealing (SA) to determine the position of wireless nodes. SA is used as local search to eliminate the premature convergence. The appropriate bandwidth allocation is a complex task. GAs and its variants have been developed to solve the bandwidth allocation problem [92, 94, 107] . GAs were used to investigate the allocation of bandwidth with QoS constraints. The fitness function of GAs may consists of resource utilization, bandwidth distribution, and computation time [168] . The channel allocation is an important issue in wireless networks. The main objective of channel allocation is to simultaneously optimize the number of channels and reuse of allocated frequency. Friend et al. [59] used distributed island GA to resolve the channel allocation problem in cognitive radio networks. Zhenhua et al. [221] implemented a modified immune GA for channel assignment. They used different encoding scheme and immune operators. Pinagapany and Kulkarni [157] developed a parallel GA to solve both static and dynamic channel allocation problem. They used decimal encoding scheme. Table 10 summarizes the applications of GA and its variants. In this section, the main challenges faced during the implementation of GAs are discussed followed by the possible research directions. Despite the several advantages, there are some challenges that need to be resolved for future advancements and further evolution of genetic algorithms. Some major challenges are given below: Initial population is always considered as an important factor for the performance of genetic algorithms. The size of population also affects the quality of solution [160] . The researchers argue that if a large population is considered, then the algorithm takes more computation time. However, the small population may lead to poor solution [155] . Therefore, finding the appropriate population size is always a challenging issue. Harik and Lobo [71] investigated the population using self-adaption method. They used two approaches such as (1) use of selfadaption prior to execution of algorithm, in which the size of population remains the same and (2) in which the self-adaption used during the algorithm execution where the population size is affected by fitness function. Premature convergence is a common issue for GA. It can lead to the loss of alleles that makes it difficult to identify a gene [15] . Premature convergence states that the result will be suboptimal if the optimization problem coincides too early. To avoid this issue, some researchers suggested that the diversity should be used. The selection pressure should be used to increase the diversity. Selection pressure is a degree which favors the better individuals in the initial population of GA's. If selection pressure (SP1) is greater than some selection [194, 216, 218] Bandwidth allocation GA, Distributed GA, GA + Local search, GA + Greedy Algorithms, MOGA [92, 94, 107, 168] Channel assignment MOGA, Parallel GA, Distributed Island GA [59, 157, 221] pressure (SP2), then population using SP1 should be larger than the population using SP2. The higher selection pressure can decrease the population diversity that may lead to premature convergence [71] . Convergence property has to be handled properly so that the algorithm finds global optimal solution instead of local optimal solution (see Fig. 8 ). If the optimal solution lies in the vicinity of an infeasible solution, then the global nature of GA can be combined with local nature of other algorithms such as Tabu search and local search. The global nature of genetic algorithms and local nature of Tabu search provide the proper balance between intensification and diversification. Fitness function is the driving force, which plays an important role in selecting the fittest individual in every iteration of an algorithm. If the number of iterations are small, then a costly fitness function can be adjusted. The number of iterations increases may increase the computational cost. The selection of fitness function depends upon the computational cost as well as their suitability. In [46] , the authors used Davies-Bouldin index for classification of documents. Crossover and mutation operators are the integral part of GAs. If the mutation is not considered during evolution, then there will be no new information available for evolution. If crossover is not considered during evolution, then the algorithm can result in local optima. The degree of these operators greatly affect the performance of GAs [72] . The proper balance between these operators are required to ensure the global optima. The probabilistic nature cannot determine the exact degree for an effective and optimal solution. GAs require a particular encoding scheme for a specific problem. There is no general methodology for deciding whether the particular encoding scheme is suitable for any type of Fig. 8 Local and global optima [149] real-life problem. If there are two different problems, then two different encoding schemes are required. Ronald [171] suggested that the encoding schemes should be designed to overwhelm the redundant forms. The genetic operators should be implemented in a manner that they are not biased towards the redundant forms. GAs have been applied in different fields by modifying the basic structure of GA. The optimality of a solution obtained from GA can be made better by overcoming the current challenges. Some future possibilities for GA are as follows: 1) There should be some way to choose the appropriate degree of crossover and mutation operators. For example Self-Organizing GA adapt the crossover and mutation operators according to the given problem. It can save computation time that make it faster. 2) Future work can also be considered for reducing premature convergence problem. Some researchers are working in this direction. However, it is suggested that new methods of crossover and mutation techniques are required to tackle the premature convergence problem. 3) Genetic algorithms mimic the natural evolution process. There can be a possible scope for simulating the natural evolution process such as the responses of human immune system and the mutations in viruses. 4) In real-life problems, the mapping from genotype to phenotype is complex. In this situation, the problem has no obvious building blocks or building blocks are not adjacent groups of genes. Hence, there is a possibility to develop novel encoding schemes to different problems that does not exhibit same degree of difficulty. This paper presents the structured and explained view of genetic algorithms. GA and its variants have been discussed with application. Application specific genetic operators are discussed. Some genetic operators are designed for representation. However, they are not applicable to research domains. The role of genetic operators such as crossover, mutation, and selection in alleviating the premature convergence is studied extensively. The applicability of GA and its variants in various research domain has been discussed. Multimedia and wireless network applications were the main attention of this paper. The challenges and issues mentioned in this paper will help the practitioners to carry out their research. There are many advantages of using GAs in other research domains and metaheuristic algorithms. The intention of this paper is not only provide the source of recent research in GAs, but also provide the information about each component of GA. It will encourage the researchers to understand the fundamentals of GA and use the knowledge in their research problems. An efficient parallel genetic algorithm solution for vehicle routing problem in cloud implementation of the intelligent transportation systems Airline flight schedule planning under competition Reliability-aware genetic scheduling algorithm in grid environment Multiobjectives ga-based QoS routing protocol for mobile ad hoc network Modified evolutionary algorithm and chaotic search for Bilevel programming problems A genetic algorithm for supply chain configuration with new product development A multi objective genetic algorithm for the facility layout problem based upon slicing structure encoding Effective hybrid genetic algorithm for removing salt and pepper noise Segmenting video frame images using genetic algorithms Solving non-linear optimization problems using parallel genetic algorithm MOTGA: A multiobjective Tchebycheff based genetic algorithm for the multidimensional knapsack problem Hybrid genetic algorithm for the open capacitated arc routing problem A parallel genetic algorithm framework for transportation planning and logistics management A genetic algorithm-Taguchi based approach to inventory routing problem of a single perishable product with transshipment Proceedings of the first international conference on genetic algorithms and their applications State of art in genetic algorithms for agricultural systems Swarm intelligence: from natural to artificial systems Implementation of path planning using genetic algorithms on Mobile robots Evolving fuzzy prototypes for efficient data clustering Shuffle crossover and mutual information Hybridisation of neural networks and a genetic algorithm for friction compensation Forecasting holiday daily tourist flow based on seasonal support vector regression with adaptive genetic algorithm Parallel genetic algorithms with GPU computing. Impact on Intelligent Logistics and Manufacturing Multi-population genetic algorithms with immigrants scheme for dynamic shortest path routing problems in mobile ad hoc networks. Applications of evolutionary computation Dynamic genetic algorithms for the dynamic load balanced clustering problem in mobile ad hoc net-works Soft computing approaches for image segmentation: a survey A simple and efficient real-coded genetic algorithm for constrained optimization A micro-genetic algorithm for multiobjective optimization Hybrid genetic algorithm: an optimization tool A direction-based exponential mutation operator for real-coded genetic algorithm Discovering interesting rules from biological data using parallel genetic algorithm Single row facility layout problem using a permutation-based genetic algorithm Energy cost optimization in irrigation system of smart farm by using genetic algorithm Simulated binary crossover for continuous search space Analysing mutation schemes for real-parameter genetic algorithms A fast and elitist multiobjective genetic algorithm: NSGA-II Quadratic approximation based hybrid genetic algorithm for function optimization A new mutation operator for real coded genetic algorithms A new crossover operator for real coded genetic algorithms A survey on nature-inspired optimization algorithms and their application in image enhancement domain Spotted hyena optimizer: A novel bio-inspired based metaheuristic technique for engineering applications Emperor penguin optimizer: A bio-inspired algorithm for engineering problems Seagull optimization algorithm: theory and its applications for large-scale industrial engineering problems A genetic algorithm for the design of a fuzzy controller for active queue management A hybrid genetic algorithm based heuristic for an integrated supply chain problem An automatic document classifier system based on genetic algorithm and taxonomy Ant colony optimization -artificial ants as a computational intelligence technique Chaotic genetic algorithm based on Lorenz chaotic system for optimization problems. I.J. Intelligent Systems and Applications Intelligent Systems and Applications A multi-objective genetic algorithm based approach for energy efficient qos-routing in two-tiered wireless sensor net-works Performance of hybrid genetic algorithms incorporating local search Hybrid genetic algorithms: A review A tutorial on multiobjective optimization: fundamentals and evolutionary methods Biases in the crossover landscape Performance evaluation and population size reduction for self adaptive hybrid genetic algorithm (SAHGA) A genetic algorithm to optimize the total cost and service level for justin-time distribution in a supply chain Genetic algorithms for multiobjective optimization: formulation, discussion and generalization Genetic operators for sequencing problems New genetic local search operators for the traveling salesman problem Architecture and performance of an island genetic algorithm-based cognitive network Chaotic genetic algorithm and the effects of entropy in performance optimization The applications of genetic algorithms in medicine A data-driven understanding of COVID-19 dynamics using sequential genetic algorithm based probabilistic cellular automata A fast parallel genetic algorithm based approach for community detection in large networks Comparative analysis of evolutionary algorithms for image enhancement Genetic algorithm in search. Optimization and Machine Learning Alleles, loci and the traveling salesman problem A hybrid genetic approach for solving an integrated multi-objective operating room planning and scheduling problem A hybrid genetic algorithm for the traveling salesman problem with drone FPGA implementation of 2D cross-correlation for real-time 3D tracking of deformable surfaces Parallel genetic algorithms: a useful survey A parameter-less genetic algorithm Choosing mutation and crossover ratios for genetic algorithms-A review with a new dynamic approach Load-balanced CDS construction in wireless sensor networks via genetic algorithm Simplex coding genetic algorithm for the global optimization of nonlinear functions Peer-to-peer based parallel genetic algorithm A genetic algorithm approach for location-inventory-routing problem with perishable products Adaptation in natural and artificial systems. The U SVR with hybrid chaotic genetic algorithms for tourism demand forecasting An effective parallel approach for genetic-fuzzy data mining A niched Pareto genetic algorithm for multiobjective optimization Efficient face and gesture recognition techniques for robot control Application and Comparison of Particle Swarm Optimization and Genetic Algorithm in Strategy Defense Game Genetic algorithm for traveling salesman problem with modified cycle crossover operator A multi-objective genetic local search algorithm and its application to flowshop scheduling Hybrid optimization technique using exchange market and GA Genetic local search for multi-objective combinatorial optimization Chaos genetic algorithm instead genetic algorithm Selection methods for genetic algorithms Modified genetic algorithm-based feature selection combined with pre-trained deep neural network for demand forecasting in outpatient department Research on text feature clustering based on improved parallel genetic algorithm Sign gesture recognition using modified region growing algorithm and adaptive genetic fuzzy classifier A hybrid genetic algorithm/variable neighborhood search approach to maximizing residual bandwidth of links for route planning. Artificial evolution Intelligent object recognition in underwater images using evolutionary-based Gaussian mixture model and shape matching A call admission control scheme using genetic algorithms A face-tracking system to detect falls in the elderly Beta chaotic map based image encryption using genetic algorithm Parallel non-dominated sorting genetic algorithm-II-based image encryption technique Fourier-Mellin moment-based intertwining map for image encryption An analytic review on image enhancement techniques based on soft computing approach. Sensors and Image Processing Brain tumour segmentation from MRI image using genetic algorithm with fuzzy initialisation and seeded modified region growing (GFSMRG) method Particle swarm optimization Color image segmentation using genetic algorithm with aggregation-based clustering validity index (CVI) Solving a multi-floor layout design model of a dynamic cellular manufacturing system by an efficient genetic algorithm Genetic algorithms for video segmentation Automatic video segmentation using genetic algorithms The multi-parent unimodal normal distribution crossover for realcoded genetic algorithms Designing a distributed algorithm for bandwidth allocation with a genetic algorithm A hybrid genetic algorithm approach for backbone design of communication networks Face recognition systems: A survey Image restoration by using evolutionary technique to Denoise Gaussian and impulse noise Encoding schemes in genetic algorithm An astrophysics-inspired grey wolf algorithm for numerical optimization and its application to engineering design problems Parameter adaptive harmony search algorithm for unimodal and multimodal optimization problems A recent survey on image watermarking techniques and its application in e-governance An effective new island model genetic algorithm for job shop scheduling problem Learning Bayesian network structures by searching for the best ordering with genetic algorithms Genetic algorithms for the travelling salesman problem: a review of representations and operators Entropy-Boltzmann selection in the genetic algorithms A review of applications of genetic algorithms in operations management Automated detection of pulmonary nodules in helical CT images based on an improved template-matching technique Study on encoding schemes in compact genetic algorithm for the continuous numerical problems Guided genetic algorithm Many-objective evolutionary algorithms: A survey color image segmentation with genetic algorithm for in-field weed sensing A new binary encoding scheme in genetic algorithm for solving the capacitated vehicle routing problem Mathematical modeling analysis of genetic algorithms under schema theorem Speed-based toll design for cordon-based congestion pricing scheme Optimal routing and traffic scheduling for multihop cellular networks using genetic algorithm Applications of genetic algorithms in chemometrics Dynamic crowding distance -a new diversity maintenance strategy for MOEAs. ICNC '08, Fourth Int An approach for evolving transformation sequences using hybrid genetic algorithms Balanced crossover operators in genetic algorithms Dynamic facility layout problem based on flexible bay structure and solving by genetic algorithm Genetic algorithms in wireless networking: techniques, applications, and issues Genetic algorithms + data structures = evolution programs Evolutionary algorithms for constrained parameter optimization problems A novel hybrid genetic algorithm for unconstrained and constrained function optimization. In bio-inspired computing for information retrieval applications Preferred reporting items for systematic reviews and meta-analyses: the PRISMA statement Crossover and mutation operators of genetic algorithms Unraveling travelling salesman problem by genetic algorithm using mcrossover operator Cellular genetic algorithm for multi-objective optimization Individual leaf extractions from young canopy images using gustafsonkessel clustering and a genetic algorithm Routing algorithm using mobile agents and genetic algorithm A real-coded genetic algorithm for functional optimization using unimodal normal distribution crossover Stochastic imaging of soil parameters to assess variability and uncertainty of crop yield estimates An approach based on hybrid genetic algorithm applied to image denoising problem A computer application for a bus body assembly line using genetic algorithms An island model genetic algorithm for unequal area facility layout problems possibilities, obstacles and challenges of genetic algorithm in manufacturing cell formation A genetic algorithm for the vendor-managed inventory routing problem with lost sales Decomposition based multi-objective genetic algorithm (DMOGA) with opposition based learning Improved real coded genetic algorithm for dynamic economic dispatch Molecular recognition using a binary genetic system Optimal Design of Experiments for precision agriculture using a genetic algorithm Bayesian optimization algorithm, population sizing, and time to convergence Using genetic algorithms to optimize ACS-TSP Solving channel allocation problem in cellular radio networks using genetic algorithm Solving very large instances of the scheduling of independent tasks problem on the GPU A genetic algorithm-based approach for solving the resourcesharing and scheduling problem Genetic programming: optimal population sizes for varying complexity problems High performance genetic algorithm for land use planning A new hybrid genetic algorithm for job shop scheduling problem A framework for prediction using rough set and real coded genetic algorithm A rule based classification for vegetable production using rough set and genetic algorithm A comparative study of genetic algorithm and neural network computing techniques over feature selection, In advances in distributed computing and machine learning New operators of genetic algorithms for traveling salesman problem Fuzzy evolutionary cellular automata A hybrid genetic algorithm for routing optimization in ip networks utilizing bandwidth and delay metrics Improved precedence preservation crossover for multiobjective job shop scheduling problem Strategies to accelerate harmonic minimization in multilevel inverters using a parallel genetic algorithm on graphical processing unit Robust encoding in genetic algorithms: a survey of encoding issues An efficient multi-objective qos-routing algorithm for wireless multicasting A genetic algorithm with the heuristic procedure to solve the multi-line layout problem Generation of Bezier curve-based flyable trajectories for multi-UAV systems with parallel genetic algorithm Review of selection methods in genetic algorithms Prediction of pathological subjects using genetic algorithms Wireless LAN load balancing with genetic algorithms Modeling, forecasting and trading the EUR exchange rates with hybrid rolling genetic algorithms-support vector regression forecast combinations Improvement of edge-tracking methods using genetic algorithm and neural network Solving the traveling salesman problem through genetic algorithm with new variation order crossover Evaluation of accidental death records using hybrid genetic algorithm Pool-BCGA: A parallelised generationfree genetic algorithm for the ab initio global optimisation of nano alloy clusters A new encoding scheme for solving job shop problems by genetic algorithm Multi-objective optimization for a closed-loop network design problem using an improved genetic algorithm A new hybrid feature subset selection framework based on binary genetic algorithm and information theory Real coded genetic algorithm operators embedded in gravitational search algorithm for continuous optimization Introduction to genetic algorithm, 1st edn A hybrid particle swarm optimization and genetic algorithm for closedloop supply chain network design in large-scale networks Fuzzy multi-objective sustainable and green closedloop supply chain network design A comparison on the performance of crossover techniques in video game Multi-objective function optimization using non-dominated sorting genetic algorithms Enhancement of self-adaptive real-coded genetic algorithm using Taguchi method for economic dispatch problem A novel binary chaotic genetic algorithm for feature selection and its utility in affective computing and healthcare Using micro-genetic algorithms to improve localization in wireless sensor networks System identification and linearisation using genetic algorithms with simulated annealing Adaptive directed mutation for real-coded genetic algorithms A comparative analysis of various chaotic genetic algorithms for multimodal function optimization Parallel multi-objective metaheuristics for smart communications in vehicular networks Crossover operators in genetic algorithms: a review A hybrid self-constrained genetic algorithm (HSGA) for digital image Denoising based on PSNR improvement A tool for solving stochastic dynamic facility layout problems with stochastic demand using either a genetic algorithm or modified backtracking search algorithm Evolving gomoku Solver by Genetic Algorithm Different approaches of applying single-objective binary genetic algorithm on the wind farm design Toward accurate localization and high recognition performance for noisy iris images Multi-offspring genetic algorithm and its application to the traveling salesman problem Multi-child genetic algorithm based on two-point crossover Improvement analysis and application of real-coded genetic algorithm for solving constrained optimization problems An improved real-coded genetic algorithm using the Heuristical Normal distribution and direction-based crossover Fog orchestration for internet of things services Genetic algorithms for real parameter optimization. In Foundations of genetic algorithms A genetic algorithm for cellular manufacturing design and layout Genetic algorithms with immigrants and memory schemes for dynamic shortest path routing problems in mobile ad hoc networks High throughput computing based distributed genetic algorithm for building energy consumption optimization A short-term load forecasting model of natural gas based on optimized genetic algorithm and improve BR neural network Hybrid genetic bees algorithm applied to single machine scheduling with earliness and tardiness penalties A soft computing approach to localization in wireless sensor networks Solving the optimization of physical distribution routing problem with hybrid genetic algorithm Localization algorithm for wireless sensor network based on genetic simulated annealing algorithm A simulation-based genetic algorithm approach for remanufacturing process planning and scheduling Kuhn-Munkres parallel genetic algorithm for the set cover problem and its application to large-scale wireless sensor networks A modified immune genetic algorithm for channel assignment problems in cellular radio networks Publisher's note Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations