Evolutionary algorithms and their applications to engineering problems

The main focus of this paper is on the family of evolutionary algorithms and their real-life applications. We present the following algorithms: genetic algorithms, genetic programming, differential evolution, evolution strategies, and evolutionary programming. Each technique is presented in the pseudo-code form, which can be used for its easy implementation in any programming language. We present the main properties of each algorithm described in this paper. We also show many state-of-the-art practical applications and modifications of the early evolutionary methods. The open research issues are indicated for the family of evolutionary algorithms.


Introduction
These days, in the area of soft computing research we can observe a strong pressure to search for new optimization techniques which are based on nature. Figure 1 presents some approaches in optimization techniques with a concentration on evolutionary approaches. Today, the whole family of evolutionary optimization algorithms is referred to as evolutionary computation (EC) algorithms. In the evolutionary computation domain, we can mention the following main algorithms: the genetic algorithm (GA) [1], genetic programming (GP) [2], differential evolution (DE) [3], the evolution strategy (ES) [4], and evolutionary programming (EP) [5]. Each of these techniques has many different varieties and is used in many different industrial applications.
This paper is a state-of-the-art paper which topic is connected mainly with evolutionary algorithms (EAs) such as GA, GP, DE, ES, and EP. (In the other paper [6], we have presented swarm intelligence algorithms (SIAs) such as ant colony optimization (ACO), particle swarm optimization (PSO), and others in which social collaboration between agents exist.) The other nature-based methods, like family of physical algorithms (e.g., simulated annealing, extremal optimization, harmony search, cultural algorithm, gravitational search, river formation dynamics, black hole algorithm), or family of plant intelligence algorithms (e.g., flower pollination algorithm, invasive weed optimization, paddy field algorithm, artificial plant optimization algorithm, photosynthetic algorithm, plant growth optimization, rooted tree optimization), are not considered here due to their less popularity.
The aim of this paper is to present a short overview of the practical applications of evolutionary algorithms (EAs). The paper is the complement to [6] where a state of the art of industrial (real-life) applications of swarm intelligence is presented. The paper is organized as follows. In Sect. 2, we briefly present the main EAs, namely genetic algorithm, genetic programming, differential evolution, evolution strategies, and evolutionary programming. Section 3 describes the various uses of the considered methods in selected areas. Finally, recent advances and the current trends of the EAs are described.

Genetic algorithms
The genetic algorithm (GA) [1] is one of the oldest and most known optimization techniques, which are based on nature. In the GA, the search for solution space imitates the natural process which takes place in the environment, and the Darwinian theory of species evolution is taken into consideration. In GAs, we have a population of individuals; each, called a chromosome, represents a potential solution to the problem. The problem being solved is defined by the objective function. Depending on how ''good'' the given individual is fitted to the objective function, the value which represents its quality is attributed to it. This value is referred to as the fitness of the individual, and it is a main evaluating factor. Highly valued individuals have a better chance to be selected to the new generation of the population. In GAs, we have three operators: selection (a new population of individuals is created based on the fitness values of individuals from the previous generation), crossover (typically parts of individuals are exchanged between two individuals selected to the crossover), and mutation (the values of particular genes are changed randomly). Algorithm 1 presents the standard GA in the pseudo-code form (for more details see [7]).
Many modifications of the standard GA have been developed; some of them are listed in Table 1.

Genetic programming
Genetic programming (GP) [2] is relatively new; it is a specialized form of a GA which operates on very specific types of solution, using modified genetic operators. The GP was developed by Koza [2] as an attempt to find the way for the automatic generation of the program codes when the evaluation criteria for their proper operation is known. Because the searched solution is a program, the evolved potential solutions are coded in the form of trees instead of linear chromosomes (of bits or numbers) widespread in GAs. As GP differs from GA the used coding schema, the main loop of GP is the same as in Algorithm 1. Of course, the genetic operators are specialized for working on trees, e.g., crossover as exchanging the subtrees, mutation as a change of node or leaf. Some modifications of the GP are shown in Table 1.

Differential evolution algorithm
The differential evolution (DE) is a type of evolutionary algorithm useful mainly for the function optimization in continuous search space. Although a version of DE algorithm for combinatorial problems has also been discussed [51], the principal version of the DE algorithm was  discussed by Storn and Price [3]. The main advantages of DE over a traditional GA are: It is easy to use, and it has efficient memory utilization, lower computational complexity (it scales better when handling large problems), and a lower computational effort (faster convergence) [52]. The standard DE procedure is shown in Algorithm 2. Presented there DE optimizes the problem with n decision variables. Parameter F scales the values added to the particular decision variables (mutation), and CR parameter represents the crossover rate [52] (x i;j is the value of jth decision variable stored in ith individual in the population). More detailed information on how the parameters should be tuned can be found in [53]. The main idea of the DE algorithm is connected with computing the difference between two individuals chosen randomly from the population. (The DE determines the function gradient within a given area-not at a single point.) Therefore, the DE algorithm prevents the solution of sticking at a local extreme of the optimized function [52]. Twenty years of DE development resulted in many modifications. Some of them are shortly presented in Table 1.

Evolution strategies
The evolution strategies (ESs) are different when compared to the GAs, mainly in the selection procedure. In the GA, the next generation is created from the parental population by choosing individuals depending on their fitness value, keeping a constant size of the population. In the ES, a temporary population is created; it has the different size than the parental population (depending on the assumed parameters k and l).

Evolution strategy ES(1 1 1)
It is the oldest approach; only one individual x is evolved. The initial individual x is randomly generated. In each iteration, only one new individual y is created. The crossover operator does not exist, and the mutation operator creates the individual y by adding a randomly generated number to each gene of the individual x. The normal distribution N with a mean value equal to zero and a standard deviation equal to one is used. The value of ith gene in the individual y is computed as follows: where r is a parameter which determines the range of the mutation. Based on the fitness value of individuals x and y, the better one is selected for the new generation and becomes a new individual x. Parameter r undergoes adaptation by the so-called rule of 1/5 successes. According to this rule, the best results are obtained when the relation R between successful mutations and all mutations is equal to 1/5. When during k successive generations, the relation R is higher than 1/5, then the value of the r parameter is increased. When the relation R is lower than 1/5, then the value of the r parameter is decreased. The r parameter does not change when the relation R is equal to 1/5 [7]. This is an extension of the ES(1 ? 1). The ES(l þ k) has a self-adaptive mutation range, which replaces the 1/5 success rule implemented in ES(1 ? 1). In the ES(l þ k), each individual in the population contains additional chromosome r, consisting of values of standard deviation for each gene. These values are used during mutation procedure. The crossover operator operates before the mutation. Both chromosomes (consisting of the value of variables, and of the value of r parameters) undergo mutation and crossover processes [7]. Algorithm 3 presents the pseudo-code of the ES(l þ k).

ES(l,k) evolution strategy
This type of the ES is used more often than ES(l þ k). The operation of both algorithms is almost identical. The only one difference is that in the ES(l; k), the new population P(t) is created using only the best individuals from the ''children'' population M(t). In this case, l has to be greater than k. Such selection gives the advantage of ES(l; k) over the ES(l þ k); in the latter, the population can be dominated by one individual which is much better than others and the values of standard deviations r are not well tuned. The ES(l; k) does not have this disadvantage because the individuals from the parental population Pðt À 1Þ are not copied to the new generation P(t) [7]. The pseudo-code of the ES(l; k) is almost the same as Algorithm 3. The only one difference is line 10; here, it is: ''10: select l the best individuals to population P(t) from the population M(t).'' Today, the covariance matrix adaptation evolution strategy (CMA-ES) is perceived as a state-of-the-art ES [54,55]. Several variants of CMA-ES were developed [55] to enhance the efficiency or robustness of the method by different techniques. In the CMA-ES algorithm, the adaptation of the population size or other parameters was presented in papers [56]. The CMA-ES algorithm employs global weighted recombination for both, strategy and object variables, adapts the full covariance matrix for mutation and, in general, is based on the scheme of the ES(l; k). The CMA-ES algorithm can handle poorly scaled functions, and its performance remains invariant under rotation of the search space [54]. Some modifications of ESs are mentioned in Table 2.

Evolutionary programming
Evolutionary programming (EP) was developed as a tool for discovering the grammar of the unknown language. However, EP became more popular when it was proposed as the numerical optimization technique. The EP is similar to the ES(l þ k), but with one essential difference [7]. In EP, the new population of individuals is created by mutating every individual from the parental population, while in the ES(l þ k), every individual has the same probability to be selected to the temporary population on which the genetic operations are performed. In the EP, the mutation is based on the random perturbation of the values of the particular genes of the mutated individual. The newly created and the parental populations are the same sizes (l ¼ k). Finally, the new generation of the population is created using the ranking selection of the individuals from both, the parental and the mutated populations. The pseudo-code of the standard EP method is presented in Algorithm 4. EP, like other evolutionary methods, has many modifications. Some of them are listed in Table 2.

Evolutionary algorithms: problems and challenges
EAs are a very interesting research area. There are many open research problems such as: control of the balance between the exploration and exploitation properties; the self-adaptive (or adaptive) control of steering parameters; reducing the number of CMA-ES algorithm parameters; introducing new selection schemes; and increasing their effectiveness. The latter is important especially in the area of evolutionary design and in evolvable hardware. Also, new more efficient techniques for constraint handling are needed.
Additionally, more investigation into the application of EAs to dynamic optimization problems, to the optimization in noisy and non-stationary environments, and to multiobjective optimization problems (especially with a large number of decision variables) is required. Also, further research is needed in the population size adaptation in different optimization scenarios. Novel strategies should be developed to deal with expensive problems more competitively. Among these matters, there is the open question of constraint handling in EAs specifically to solve engineering optimization problems. As we know, the constraint handling methods can be classified into six main categories: penalty methods, methods evolving in the feasible region, methods using parallel population approaches, methods based on the assumption of superiority of feasible individuals, methods using multi-objective optimization techniques, and hybrid methods. Of course, each of these categories can be divided into several subcategories. The taxonomy of the constraint handling techniques with EAs can be found in the paper [77] by Petrowski et al. If we want to use the proper constraint handling method in EAs for real-world application, we should find the answer to the several questions such as is the objective function defined in the unfeasible domain (if not, the penalization methods cannot be used, for example): are there any active what is the nature of the constraints? (if only one of the constraints is a nonlinear inequality, the methods for linear constraints are excluded). Moreover, in the real-world application of EAs with constraint handling techniques the effectiveness of a method is often dominated by two other decision criteria such as complexity and difficulty of implementation. Currently, penalty methods, feasibility rules, and stochastic ranking methods are used in realworld applications very often due to their simplicity [77]. Therefore, as we can see, there is no general approach for handling the constraints with EAs able to deal with any real-world problem, so the research on constraint handling techniques in EAs for real-world application is still a hot topic.
In EAs, there are many open research problems, which are discussed in more detail in [53,78].
Despite these weaknesses, we observe the growing popularity of EAs (please see Figs Table 3.
We believe that over the next few years researchers will focus on the above areas.

Evolutionary algorithms in real-life problems
Similar to swarm intelligence algorithms [6], a major reason is a growing demand for smart optimization methods in many business and engineering activities. EAs are suitable mainly for optimization, scheduling, planning, design, and management problems. These kinds of problems are everywhere, in investments, production, distribution, and so forth. If we analyze, the results obtained from the WoS database (popularity of only ten first WoS categories for each method-for more detailed information see Table 4), we can see that the EAs methods are mainly used in the area such as: • Engineering electrical electronics, • Computer science artificial intelligence, • Computer science theory methods, • Computer science interdisciplinary applications, • Automation control system, • Computer science information systems, • Operations research management science.
When in WoS we will select a field Highly Cited in Field, we can see that the highly cited papers (in which EA methods are used) are from the following industry areas for the particular EA methods: Therefore, in this paper, we will concentrate only on the real-world applications of particular EA methods in above areas of industry. In the next subsections, the abbreviation of industry area will be given in parenthesis after reference number to currently discussed paper.

Genetic algorithms in real-life problems
The GAs are a universal optimization tool. Using GAs, we can solve constrained optimization problems, multimodal optimization problems, continuous optimization problems, combinatorial optimization problems, and multi-objective optimization problems. Thus, there is a wide range of realworld applications of GAs. In this short section, we show only a few of them. The paper [79] (EF) by Lv et al. presents the solar array layout optimization problem which is solved by GA. The presented numerical method is based on rotating model of a stratospheric airship to optimize the solar array layout. The results demonstrate that the proposed method is helpful in the preparation stage for installing large area flexible solar arrays. Also, it is shown that due to solar array optimization the output power of solar panel is significantly improved.
In paper [80] (EF) by Ma et al., the optimization model based on the GA, developed to reduce the energy consumption of high-sulfur natural gas purification process, is presented. A case study was performed in a high-sulfur natural gas purification plant with the capacity of 300 Á 10 4 N m 3 =d. The results demonstrate that the energy consumption of the purification plant was reduced by 12.7%.
In [81] (EEE), Yin et al. report a GA-inspired strategy designed and incorporated in the sequential evolutionary filter. Due to this strategy, the resampling used in most of existing particle filters is not necessary, and the particle diversity can be maintained. The experimental results show that the proposed sequential evolutionary filter offers better state estimation results than three other comparative filters.
The authors of [82] (EEE) investigate the pros and cons of hybridization of a GA and local search on the basis of a hard practical and up-to-date problem, namely the routing and spectrum allocation of multi-cast flows (RSA/M) in elastic optical networks (EONs). They proposed an efficient optimization method for solving the RSA/M problem in EONs. The proposed method outperformed all other competing methods. Additionally, introduction of Baldwin effects helped to preserve the population diversity in GA.
In the paper [83] (ORMS), the local-inventory-routing model for perishable products is presented. The proposed model integrates the three levels of a decision in the supply chain such as the number and location of required warehouses, the inventory level at each retailer, and the routes traveled by each vehicle. It is shown that the model developed in this paper is NP-hard; therefore, the authors develop a GA-based approach to solve this problem efficiently. It is shown that presented approach achieves a high-quality near-optimal solution in reasonable time.
The paper [84] (ORMS) by Ramos et al. presents new container loading algorithm with load balance, weight limit, and stability constraints which use a load distribution diagrams. This algorithm is based on multi-population biased random-key GA, with a new fitness function that takes static and loads balance into account. Due to incorporate weight balance goal with stability guaranteed by full base support and by the mechanical equilibrium conditions, the proposed approach is very effective. GA Genetic algorithm, GP genetic programming, DE differential evolution, ES evolution strategy, EP evolutionary programming, ALL sum of the papers for all listed algorithms in given area of applications In [85] (EC) by Yan et al., a framework to determine the investment plan to strengthen a railway system to earthquake hazard is proposed. This framework consists of four parts. In the third part, an investment optimization model is formulated, and in part four, this model is solved using GA. The proposed approach has been applied to the real Chinese railway system. The obtained results show that the presented framework is more responsive to the earthquake impact on railway system compared to topology-based methods.
In the paper [86] (EC) by Ascione et al., the multiobjective optimization of operating cost for space conditioning and thermal comfort to achieve a high level of building energy performance is presented. The main objective of proposed GA is to optimize the hourly set point temperatures with a day-ahead horizon, based on a forecast of weather conditions and occupancy profile. In comparison with the standard control strategy, the presented approach generates a reduction of operating cost up to 56%.
In [87] (EC) by Lin et al., a time-optimal train running reference curve is designed with least time-consuming, but highest energy consumption, and it is optimized by adding multi-point coasting control to realize energy saving with a relative rise in time. Multi-population GA is adopted to solve this multi-point combinatorial optimization problem. Simulation results, based on real line condition and train parameters of Shanghai line 7, demonstrate the advancement of multi-point coasting control with the proposed approach.
In [88] (EC), the application of GA to minimization of average delay for an urban signalized intersection under the oversaturated condition is presented. Relieving urban traffic congestion is an urgent call for traffic engineering. One of the key solutions to reduce congestion is the effectiveness of traffic signalization. The current traffic signal control system is not fully optimized for handling the oversaturated condition. Simulation results show that GA is able to control the traffic signals for minimizing the average delay to 55 s/vehicle.
Zhang et al. [89] (EEE) use the flexible GA for node placement problems. Node placement problems are encountered in various engineering fields, e.g., the deployment of radio-frequency identification systems or wireless sensor networks. The flexible GA with variable length encoding, subarea-swap crossover, and Gaussian mutation is able to adjust the number of nodes and their corresponding properties automatically. Experimental results show that the flexible GA offers higher performance than existing tools for solving node placement problems.
In the paper [90] (EF) by Reddy, the scheduling problem considering the hybrid generation system is presented. The new strategy based on GA for the optimal scheduling problem taking into account the impact of uncertainties in the wind, solar photovoltaic modules with batteries, and load demand forecast is proposed. From simulation results (for IEEE 30 and 300 bus test systems), it can be noticed that with a marginal increase in the cost of day-ahead generation schedule, a significant reduction in real-time mean adjustment cost is obtained.

Genetic programming in real-life problems
The GP possesses many practical applications.
In [91] (ACS) et al. the handwriting character recognition system for inertial-sensor-equipped pens is presented. In this system, the characteristic function is calculated for each character using a GP algorithm. The experimental results show that the performance of the proposed method is superior to that one of the state-of-the-art works in the area of recognizing Persian/Arabic handwriting characters.
Bagatur and Onen [92] (WR) propose novel models for the prediction of flood routing in natural channels using the gene expression programming (GEP) algorithm, which is one of the extensions of GP algorithm. The GEP method makes use of few hydrologic parameters such as inflow, outflow, and time. The performance of the proposed models is evaluated by two goodness-of-fit measures. The proposed GEP models are tested for the three datasets taken from the literature. It is proved that the GEP models show superior performance to the other solution techniques based on the Muskingum model.
In the paper [93] (EF) by Abkenar et al., an intelligent fuel cell (FC) power management strategy is proposed. The main objective of the proposed approach is to improve FC performance at different operating points without employing DC/DC interfacing converters. A hybrid allelectric ships (AES) driveline model using GP is utilized to formulate operating FC voltage based on the load current, FC air, and fuel flow rates. The proposed approach maintains FC performance and reduces fuel consumption, and therefore ensures the optimal power sharing between the FC and the lithium-ion battery in AES application.
The authors of [94] (EC) use GP algorithm to develop models to predict the deterioration of pavement distress of the urban road network. Five models for the prediction of pavement distress progression such as cracking, raveling, pothole, rutting, and roughness are created. In order to obtain a training dataset, and validation dataset, the real data from the roads of Patiala City, Punjab, India, have been collected. It was shown that GP models predict with high accuracy for pavement distress and help the decision makers for adequate and timely fund allocations for the preservation of the urban road network.

Differential evolution in real-life problems
The DE algorithm also found many real-world applications.
In [95] (EF), Ramli et al. present an application of multiobjective SaDE algorithm for optimal sizing of a photovoltaic (PV)/wind/diesel hybrid microgrid system (HMS) with battery storage. The multi-objective optimization is used to analyze the loss of power supply probability, the cost of electricity, and the renewable factor in relation to HMS cost and reliability. The proposed approach is tested using three case studies involving differing house numbers for the city Yanbu, Saudi Arabia. The results obtained are useful in investigating optimal scheduling of HMS components and can be used as a power reference for the economic operation of PV and wind turbine generators.
Yao et al. [96] (EF) use a multi-objective DE algorithm for optimizing a novel combined cooling, heating, and power-based compressed air energy storage system. The system combines a gas engine, ammonia-water absorption refrigeration system, and supplemental heat exchangers. The proposed optimization technique is used to find a trade-off between the overall exergy efficiency and the total specific cost of final product. The best trade-off solution which was selected possesses a total product unit cost of 20.54 cent/kWh and an overall exergy efficiency of 53.04%.
In the paper [97] (ACS) by Wang et al., the DE algorithm is applied for wind farm layout optimization with the aim of maximizing the power output. Due to a new encoding mechanism in DE, the dimension of the search space is reduced to two, and a crucial parameter (i.e., the population size) is eliminated. In comparison with seven other methods, the proposed approach is able to obtain the best overall performance, in terms of the power output and execution time.
The authors of [98] (EEE) investigate the problem of linear dipole array synthesis. Dynamic DE algorithm is proposed for synthesizing shaped power pattern by using element rotation and phase optimization for a linear dipole array. Based on two experiments for synthesizing flattop and cosecant squared pattern, the effectiveness and advantages of the proposed approach were verified in comparison with the phase-only optimization and the amplitude-phase joint optimization.
Tian et al. [99] (EC) use a multi-objective hybrid DE?PSO algorithm in order to create a set of Pareto solutions for the problem of dual-objective scheduling of rescue vehicles to distinguish forest fires. The novel multiobjective scheduling model to handle forest fires subject to limited rescue vehicles constraints, in which a fire spread model is introduced into this problem to better describe practical forestry fire is presented. Results show that the proposed approach is able to quickly produce satisfactory Pareto solutions in comparison with GA and PSO algorithms.

Evolution strategies in real-life problems
Studying the literature, we can find fewer papers with the real-life applications of ESs than those with GAs. Below we shortly present some of them.
The paper [100] (CBT) by Hasancebi presents ES integrated parallel optimization algorithm to minimize the total member weight in each test steel frame. Steel frames with various beam-column connection and bracing configuration are considered for comparative cost analyzes. Three multi-story buildings are chosen (10, 20, and 30-story buildings) as examples for numerical verification of proposed method. The results collected are utilized to reach certain recommendations regarding the selection of economically feasible frames for the design of multi-story steel buildings.
In [101] (EF), Fadda et al. consider the usage of electric batteries in order to mitigate it. In energy distribution systems, uncertainty is the single major cause of power outages; therefore, the authors propose intelligent battery able to maximize its lifetime while guaranteeing to satisfy all the electric demand peaks. The battery exploits a customized steady-state ES to dynamically adapt its recharge strategy to changing environments. Experimental results on both synthetic and real data demonstrate the efficacy of the proposed approach.
In the paper [102] (EC) by Ogidan et al., the enhanced non-dominated sorting ES algorithm that uses a specialized operator to guide the algorithm toward known sanitary sewer overflows (SSOs) locations is presented. The main objectives of the proposed method are the maximization of SSO reduction and minimization of rehabilitation cost. The proposed method was tested in an existing network in the eastern San Antonio Water System network. The presented approach improves the convergence rate by approximately 70% over the tested alternative algorithms.
The authors of [103] (EEE) investigate the problem of wireless sensor fault diagnosis based on fusion data analysis. The fault diagnosis model is proposed based on the hierarchical belief rule-based model, and the CMA-ES algorithm is used to optimize the initial parameters of the proposed model. In order to validation of presented approach, a case study based on Intel laboratory dataset of sensors is designed. The experiments prove the effectiveness of the proposed method in comparison with back propagation neural network model and the fuzzy expert system.
In the paper [104] (EEE), the problem of subsurface inverse profiling of a 2-D inhomogeneous buried dielectric target is presented and solved using proposed iterative optimization method which is based on CMA-ES algorithm. In relation to the results obtained using EP and PSO, the results obtained using CMA-ES significantly outperform the other two optimization techniques in the inhomogeneous imagining.
The paper [105] (EEE) by Emadi et al. presents CMA-ES algorithm for tasks scheduling in the cloud computing environment. The need for planning the scheduling of the user's jobs is an important challenge in the field of cloud computing. The causes are manifold; the most important are: ever-increasing advancements of information technology, an increase in applications and user needs for these applications with high quality, also the popularity of cloud computing among user, and rapid growth of them during recent years. The results obtained indicate that presented algorithm, led to a reduction in execution time of all tasks, compared to the shortest processing time algorithm, longest processing time algorithm, and GA and PSO algorithms.

Evolutionary programming in real-life problems
In the literature, we can find the applications of EP in many different areas. However, in WoS the number of papers in which EP algorithm is used is decreasing since the 2013 year. Below we shortly present some of them. The paper [106] (TST) by Yan et al. presents bi-subgroup self-adaptive EP algorithm for seeking the Pareto optimal solution of the multi-objective function of the hybrid electric vehicle (HEV) and the best degree of hybrid (DOH) for this vehicle. In the proposed algorithm, the evolution of Cauchy operator and Gauss operator are parallel performed with different mutation strategies. Moreover, the Gauss operator owns the ability of self-adaptation according to the variation of adaptability function. The simulation results show that the optimal DOH is equal to 0.311 for given HEV. Also, the validity of simulating method was proved, and the fuel saving effect was consistent with authors' expectations.
In the paper [107] (CBT) by Gao, a new evolutionary neural network whose architecture and connection weights simultaneously evolve is proposed. This neural network is based on immunized EP algorithm and is used in the novel inverse back analysis for underground engineering. As a numerical example, an underground roadway of the Huainan coal mine in China is chosen for the verification of the accuracy of the presented inverse back analysis. The results obtained show that using the proposed method, the computed displacements agree with the measured ones. Therefore, it is demonstrated that the new inverse back analysis method is a high-performance method for usage in underground engineering.
Jiang et al. [108] (EC) use EP algorithm to find weights and the threshold value in the neural network which is applied to the traffic signal light control. According to the historical traffic flow data of a crossroad, the next node's traffic flow data are predicted. Due to predicted data, the traffic signal light frequency can be re-adjusted in order to improve traffic congestion and other traffic problems. The results obtained show that the connection of EP algorithm with the neural network has a good effect on traffic signal light optimization.
The authors of [109] (CSSE) propose a novel approach to navigate over 3-D terrain using best viewpoints. The concept of viewpoint entropy is exploited for best view determination, and greedy n-best view selection is used for visibility calculation. In order to connect the calculated viewpoints, the authors use an EP algorithm for the traveling salesman problem. It was shown that the computed and planned viewpoints reduce human effort when used as starting points for scene tour. The proposed method was tested on real terrain and road network datasets.
3.6 Which EA should be used for a given problem?
What lesson for a potential user of evolutionary computation emerges from the above overview? The question is simple, but the answer is hard. All discussed methods are from the same family-evolutionary approaches to optimization problems. The principal question could be: Which of the discussed methods is suitable for the given problem?
Expanding the answer to all heuristic methods in general, not just evolutionary algorithms, the best answer seems to be: take the method you know best, you can define your problem well in terms required by this method, you understand the sensitivity of this method to parameters, you can fine-tune this method. Let us see, for example, on energy fuels area. Numerous evolutionary approaches are applied within this scope. It is not possible to indicate one of them as the best for this particular subject. The similar situation is with other areas of industry. As we can see, the literature on the evolutionary algorithms in general and in their industrial applications is plentiful, but very rarely this literature concerns applications that have been used in practice. Following [110], we can say that the theory does not support the practice; there is a big gap between theory and practice. Theoretical results on properties such as convergence, diversity, exploration, exploitation, deceptiveness, and epistasis are not useful enough for practice. Significant topics from the practice point of view are constraint and noise handling methods, robustness, or multi-objective optimization. The progress in the above matters is also observed; however, these methods are tested mainly on simple silo problems or standard sets of numerical functions, so their usefulness to practitioners working on EA-based software applications is very limited.
It is worth mentioning that the real usefulness of EAs could be not only in industry. The spectacular achievement of EA is presented in [111]. The artificial intelligence system, with the use of EA, the first time discovered a new theory, namely a mechanism of planar regeneration. The remarkable ability of these small worms to regenerate body parts made them a research model in human regenerative medicine.

Summary and future trends
As it is shown in this paper, the evolutionary algorithms are a popular research domain. Each year many new modifications of these algorithms are proposed. Some of these modifications are shortly described in Tables 1 and 2. The EAs are applied to solve many industry problems. When we cannot use a dedicated algorithm for a given problem, one of the EAs will be a good choice. Of course, we must remember about specific issues the user can face when dealing with EAs. Here, we can mention two main problems. First of this problem is a premature convergence (the population converging to a suboptimal solution instead of an optimal one). We can solve this problem by introducing the mechanism which will provide a lower transfer rate of the genetic material between individuals-the whole population is divided into several subpopulations (so-called islands) and periodically migrate an individual between islands [15]. Another solution of the premature convergence problem is a cooperation of EAs with branch and bound algorithm endowed with interval propagation techniques, as it was shown in [112]. The second problem is related to the optimal trade-off between exploration and exploitation properties of EA. One of the solutions to this problem is control of the level of selection pressure [113]. We can do this by introducing specialized genetic operators which will guarantee high population diversity at the start of the algorithm operation (high exploration propertysmall exploitation property) and a low population diversity at the end of the algorithm operation (low exploration property-high exploitation property). A survey about exploration and exploitation in EAs can be found in [114].
As future trends in EAs, we can mention some main directions. The first of current trend is a hybridization of two or more algorithms to obtain better results. Currently, in the literature, we can find an increasing number of papers where hybrid algorithms are presented. Also, many researchers work on modifications of EAs to improve their computational performance. In many recently published papers, we can find modifications of GA [22,23,115,116], GP [31,32,117,118], DE [48,49,119,120], ES [64,65], and EP [74,75]. An interesting domain of future research in EAs is also memetic algorithms. The term memetic algorithm is widely used as a synergy of the evolutionary algorithm or any other population-based approach with separate local search techniques as the Nelder-Mead method. We can find very interesting information about future trends in EAs in the paper [121] written by Eiben et al. As one of the future trends in EAs, the authors point out the increasing interest in applying EAs to embodied or embedded systems, that is, employing evolution in populations for which the candidate solutions are controllers or drivers that implement the operational strategy for some situated entities, and are evaluated within the context of some rich, dynamic environment: not for what they are, but for what they do. Finally, there is another one important issue especially in the industrial application of EA methods. Very often in real-world problems, we must optimize a function in a high-dimensional domain. This process usually is very complex and takes a lot of computational time. Therefore, in real applications, the EAs designed for this type of problems should be designed to be implemented easily to run in parallel (or easy to run in GPU) to reduce their computational time. A greater effort in this feature should be in future proposals because this could be a crucial feature to decide whether an algorithm is useful in real applications. Some research in the area of EAs can be connected with the so-called surrogate models (computationally cheaper models of real-world problems) which can be used in the place of full fitness evaluation, and that refine those models through occasional full evaluations of individuals in the population [121]. Also, very often industry problems have many objectives. In tandem with algorithmic advances, the interactive evolutionary algorithms are used to increase the efficiency of EAs in multiobjective optimization [121]. As we know, each engineering problem is defined by the different objective function and has a different landscape of search space. The values of EAs parameters which are ''good'' in one problem cannot be sufficient in another one. Therefore, searching for new techniques in such area as automated tuning and adaptive parameter control is still a hot topic in EAs. Another important issue in the industrial application of EA methods is a proper definition of an objective function. The industrial problems are very complex. Therefore, a definition of a good mathematical model (good objective function for EAs) for a given industry process is also a very demanding task. The ''quality'' of the chosen objective function will have a great influence on the results obtained using EA methods. The next issue which we want to mention in discussing is repeatability of the EA methods. As we know, the EAs are stochastic techniques. Each time the EA method is run, a different result can be obtained. Therefore, the main focus should be on ensuring repeatability of the results generated by EA techniques. This issue is very important for application on EA methods in industry.
In summary, we believe that in the future, new evolutionary algorithms will be developed, and the research problems connected with evolutionary algorithms will always be a hot topic for researchers.

Compliance with ethical standards
Conflict of interest In the present work, we have not used any material from previously published. So we have no conflict of interest.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons. org/licenses/by/4.0/.