# Differential Evolution: A Survey and Analysis
## 1 Introduction  
Optimization algorithms are important approaches for resolving difficult optimization problems [1]. Optimization is defined as the procedure of discovery that provides the minimum or maximum value of a function \(f(x)\)[2, 3]. There are many reasons that make these problems difficult to solve. First, we cannot perform a comprehensive search if the problem domain space is too large. Second, the evaluation function is noisy or varies with time, generating a series of solutions instead of a single solution. Third, sometimes the constraints prevent arriving at a possible solution such that the optimization approach is the only solution [4]. The mathematical representation for the optimization involves finding an \(X^{*}=[x_{1}^{*},x_{2}^{*},x_{N}^{*}]\in D^{N}=D_{1}\cap D_{2}\cap\ldots\cap D _{N}\), where  
\[f_{i}^{min}(X^{*})\leq f_{i}^{min}(X)\forall_{X}=[x_{1}x_{2} \ldots x_{N}]\in D^{N},1\leq i\leq N_{f^{min}}\] \[f_{i}^{max}(X^{*})\geq f_{i}^{max}(X)\forall_{X}=[x_{1}x_{2} \ldots x_{N}]\in D^{N},1\leq i\leq N_{f^{max}}\]  
where \(X^{*}\) is the optimal solution in the \(N\)-dimensional search space \(D^{N}\), \(N\) is the dimension of the optimization (the number of optimization parameters) and \(f_{i}^{\min}\) and \(f_{i}^{\max}\) are the objective functions. Differential evolution (DE) is a stochastic algorithm for solving numerical continuous optimization problems. Since its inception, the DE algorithm has become a powerful global optimizer. Developed by [PERSON] in 1994, DE is a promising optimization algorithm that converges to the real optimum without using significant amounts of resources. Furthermore, its performance was validated in the evolutionary domain by the IEEE Conference on Evolutionary Computation (CEC) in 1996 [5]. More recently, different versions of DE have secured the top ranks in many competitions between evolutionary algorithms (EAs) by the IEEE CEC conference series ([[http://www.ntu.edu.sg/home/epnsugan/index_files/cec-benchmarking.htm](http://www.ntu.edu.sg/home/epnsugan/index_files/cec-benchmarking.htm)]([http://www.ntu.edu.sg/home/epnsugan/index_files/cec-benchmarking.htm](http://www.ntu.edu.sg/home/epnsugan/index_files/cec-benchmarking.htm))). However, an impressive number of different DE algorithms have been introduced by the research community over the past decades. To understand all the improvements that have been made to DE, a theoretical study and relative analysis of differentenhancements are presented in this paper. Because various DE algorithms involving different techniques are comprehensively discussed, the main motivation behind this survey is to deepen understanding of the characteristics of different DE strategies, with the goal of benefiting from the various approaches. In fact, understanding how to combine these DEs harmoniously and their underlying concepts could be crucial to attaining effective designs or improving the performance of DE algorithms in particular or any optimization algorithms in general. Moreover, the literature shows that no single algorithm has been demonstrated to be effective for various applications. Thus, this study may provide a roadmap through which developers may gain a full understanding of this field. DE algorithms are different from EA algorithms that shape offspring by mixing solutions with a difference factor rate of selected individual vectors and they are an alternative to recombining individuals through a probabilistic scheme. In fact, the differential mutation strategy is the main component that distinguishes DE from other population algorithms. Applying the mutation to all candidates defines an exploration rule based on other candidate solutions. Therefore, the mutation strategy enhances a population's capability for discovering new promising offspring based on the current distribution of solutions within the domain space [6]. Ideally, the performance of DE is based on two major components: the chosen strategy and the control parameters.