An evolutionary algorithm searches for the global optima of a multi-parameter problem.
A common use for this algorithm is the optimization of Machine Learning (ML) model hyper-parameters. These are the settings that the drive the learning rate and accuracy of the model.
In search of the optimal configuration, particles in the swarm travel the parameter space.
The best configuration has the highest accuracy and lowest training time- these are the values used to calculate the particle's fitness.
At the end of every iteration, the particles with the highest fitness pass on their configuration to the next swarm. Values from these configurations are randomly mixed with each other, and there is a small probability that new parameter values replace some of them.