## Evolution programming algorithm

The objective of the evolution programming algorithm is to maximize the adequacy of a collection of candidate solutions in the context of an objective function of the domain. This objective is pursued by using an adaptive model with substitutes for evolutionary processes, in particular hereditary (reproduction with variation) in competition. The representation used for the candidate solutions can be directly evaluated by a cost or objective function of the domain.

The representation of candidate solutions should be domain specific, such as real numbers for continuous optimization of functions. The sample size (BoutSize) for tournament selection during competition is generally between 5% and 10% for population size. Scalable programming traditionally uses only the mutation operator to create new candidate solutions from existing candidate solutions. The crossover operator used in some other evolutionary algorithms is not used in evolutionary programming. Evolutionary programming is interested in the link between parent and child candidate solutions and is not interested in substitutes for genetic mechanisms.

Optimization of continuous functions is a popular application for this approach, where real-value representations are used with a Gaussian-based mutation operator. The mutation-specific parameters used in applying the algorithm to continuous optimization of functions can be adapted in conjunction with the candidate solutions.