All other vectors are replaced with the results from application of eight operators that either mutate single vectors or cross two or more vectors. The eight operators are listed in Table 1. These include, but are not limited to, the implementations of the operators, the pseudorandom number generator, the rules for selecting individuals for reproduction and replacement, and memory management. In uniform mutation , boundary mutation and non-uniform mutation , a single element of the selected vector is chosen at random. Uniform mutation changes the value of the element to a value chosen from the uniform distribution on the interval between the lower and upper bounds specified for the element.
Boundary mutation replaces the element with one of the bounds.
Non-uniform mutation shrinks the element toward one of the bounds, with the amount of shrinkage decreasing as the generation count approaches the specified maximum number. Heuristic crossover uses two vectors, x and y , to produce a vector located at a random increment from x in a direction pointing away from y . Polytope crossover computes one vector which is a convex combination of as many vectors as there are parameters. The input vectors are selected with replacement from the current population. Multiple point simple crossover computes two vectors from two input vectors by replacing a randomly selected set of elements with convex combinations of the input vectors' values for those elements.