Differential evolution

This algorithm was designed by R. Storm and K. Princ in the late nineties of the twentieth century. Differential evolution is similar to genetic algorithms. Alghorithm runs in cycles, called generations. Goal is to breed the best population, which contains the best individual, then the best solution of an optimalization problem.

Description of the differential evolution alghorithm:

Parameters description:

1.Setting the parameters
2.Creation of the population - it is created by generating set of prototype individuals.
3.Start the generation cycle – Internal cycle in the generation, for each individual is made evolutionary cycle in next step. The sellected individual is called active individual.
4.Evolutionary cycle – three individuals are randomly selected from the population to make the crossing. It computes differential vector by subtracting first two selected idividuals. This vector is multiplied by mutation constant and it is added to the third individual, this creates a noise vector. Active individual and noise vector are used for preparation of test vector. Cost function value of test vector is compared to cost function value of active idividual, the best wins and is choosed to new population.
5.Saving the best solution – the best individual is choosed from the actual population, it is used for for benchmarking the development of populations.
6.Termination – If the number of generation is reached the algorithms is terminated, else it continues with step 3.
Parameter Description Recommended Value
F Mutation constant [0,2]
CR Step crossing [0,1]
NP Population size 10D, where D is dimension of the cost function
Specimen Data type and value interval of model individual Depends on the cost function
Generace Cycles of cultivation population Depends on the cost function