Genetic algorithms: better in discrete spaces
Differential evolution: better in continual (eg. numerical) space, for discrete problems with rounding / limits / penalization of values
Metaheuristic algorithm with individuals represented as vectors, distributed over search space, over time they converge to the same solution
Algorithm:
- Generate population of agents
- While not satisfied:
- Compute fitness of agents
- Select reproduction candidates using fitness
- Create new agents by combining candidates
- Replace old agents with new ones
1. Mutation
Generate trial vectors - mutation step size represented by difference between individuals
Distance and direction information from current population guide search process:
- differences are large in beginning bigger step size (exploring)
- differences are smaller towards the end smaller step size (exploiting)
2. Crossover
Generate offspring, the better one (parent or child) survives, … crossover scheme
Control parameters
Scaling vector F: smaller smaller step size (exploit / maintain diverstiy)
Recombination/crossover probability CR: higher more variation in new populations (faster convergence / search robustness)
Population size: based on number of dimensions
Notation DE/x/y/z
x ... vector to be mutated:
- rand: randomly chosen from population
- best: best from current population
- current-to-best: linear combination of current and best
- pbest: randomly chosen from the best
y ... number of difference vectors used
z ... crossover scheme:
- bin: change each dimension independently from others
- exp: change connected sequence of dimensions
- arithmetic recombination
(L-)SHADE
Idea: record history of successful parameters and sample from it for future generations
SHADE … DE/current-to-best/1/bin with archive and adaptive parameters and
- archive includes points which were replaced by trial points, maximum size adjusted each generation
- … randomly chosen from of best points of population
- … randomly chosen from population and archive
L-SHADE … SHADE with linear reduction of population size over generations limit maximal allowed number of fitness calls