Variation

One of the core steps of evolutionary algorithms is transforming populations and solutions using some variation operators, like recombination or mutation. That's precisely what the variation packages contain.

Overview diagram

IVariationOperator

IVariationOperator<S extends ISolution> is the basic interface for transforming populations. Its currently sole implementation, VariationOperator, simply applies a recombination operator on the population, then a mutation one. Both are parameterized by the type of solutions they should support.

Futher reading

The variation package is split in two:

Attachments:

variation_overview.JPG (image/jpeg)