---restore content starts---
Objective
The differential evolutionary algorithm (differential evolution,de) was first proposed by Storn and Price in 1995. It is mainly used for solving real number optimization problems. This algorithm is a kind of group-based Adaptive Global optimization algorithm, which belongs to the evolutionary algorithm, because of its simple structure, easy to implement, fast convergence, strong robustness and so on, it is widely used in data mining, pattern recognition, digital filter design, artificial neural network, electromagnetics and other fields. In the first International Evolutionary Computing (ICEO) competition, held in Nagoya, Japan, in 1996, the differential evolutionary algorithm proved to be the fastest evolutionary algorithm.
As with the genetic algorithm, the difference evolutionary algorithm is a kind of optimization algorithm based on the modern intelligent theory, which guides the optimization of the search direction through the group intelligence which is generated by the mutual cooperation and competition among the individuals. The basic idea of the algorithm is: starting from a randomly generated initial population, by summing the vector difference of any two individuals in the population with the third individual to produce a new individual, and then comparing the new individual with the corresponding individual in the contemporary population, if the adaptability of the new individual is better than the current individual's adaptability, In the next generation, new individuals will be substituted for the old ones, or the old ones will still be preserved. By constantly evolving, preserving good individuals, eliminating inferior individuals and directing search to the optimal solution approximation.
Fundamentals
The de algorithm generates a population by using a floating-point vector to encode the individual. In the process of De algorithm optimization, first of all, choose two individuals from the parents to make the difference vector of the vector; Secondly, select another individual and the difference vector to sum up the experimental individuals; then, the parent and the corresponding experimental individuals are cross-manipulated to generate a new descendant individual; Finally, choose between the parent and the descendant, and save the individual to the next generation group.
Algorithm steps:
1 initialization:
2 variants
3 Crossover
4 selection
Test function:
RASTRIGR function
Parameter selection:
Algorithm pseudo-code:
Control parameters
The main control parameters of the de algorithm are: population size (NP), scaling factor (F), and crossover probability (CR).
NP mainly reflects the size of population information in the algorithm, the larger the NP value is the richer the population, but the consequence is that the computational quantity is large and not conducive to the solution. On the contrary, the restriction of population diversity is not conducive to the algorithm to obtain global optimal solution, even lead to search stagnation.
Cr mainly reflects the degree of exchange of information between the offspring and the parent and the intermediate mutants in the process of crossing. The greater the value of CR, the greater the amount of information exchanged. Conversely, if the value of CR is small, the diversity of the population will be reduced rapidly, which is not conducive to global optimization.
The effect of cr,f on the performance of the algorithm is greater, and f mainly affects the global optimization ability of the algorithm. The smaller the F, the better the algorithm to the local search ability, the greater the F algorithm can jump out of the local minimum point, but the convergence speed will be slow. In addition, F also affects the diversity of populations.
streamline the evolutionary process
The specific evolutionary process is as follows:
(1) Determine the Difference evolutionary algorithm control parameters, determine the fitness function. The control parameters of the differential evolutionary algorithm include: Population size NP, scaling factor F and hybridization probability Cr.
(2) The initial population is randomly generated.
(3) The initial population is evaluated, that is, the fitness value of each individual in the initial population is calculated.
(4) To determine whether the termination conditions or evolutionary algebra to reach the maximum. If it terminates the evolution, it will get the best individual as the optimal solution output; if not, continue.
(5) Mutation and cross operation to obtain the intermediate population.
(6) Selecting individuals in the original population and the intermediate population to obtain a new generation of population.
(7) Evolutionary algebra g=g+1, Turn step (4).
---restore content ends---
Differential Evolutionary algorithm