Welcome to Evolving Distribution Objects

In one word

EDO is an extension of EO oriented toward Estimation-of-Distribution-like Algorithms.

You can search for advanced features by browsing the modules page.


EDO is an extension of EO, that facilitate the design and implementation of stochastic search metaheuristics. It is based on the assumption that those algorithms are updating a probability distribution, that is used to generate a sample (a population, in EO) of solutions (individuals, in EO).

Basically, EDO decompose the variation operators of EO in a set of sub-operators that are binded by a distribution. Thus, most of the representation-independent operators of EO can be used in EDO algorithms.

Apart from choosing which distribution he want to use as a model, the user is not supposed to directly manipulate it. Using the same approach than within EO, the user has just to indicate what he want to use, without having to bother how he want to use it.

On the designer side, it is still possible to implement specific operators without having to change other ones.

The two main operators are the Estimators, that builds a given distribution according to a population and the Samplers that builds a population according to a distribution. There is also Modifiers that are here to change arbitrarily the parameters of a distribution, if necessary.

 All Classes Functions Variables Typedefs