Non Uniform Mutation
class NonUniformMutation(var b: Double = DEFAULT_B, var bigK: Int = DEFAULT_K, var p3: Double = DEFAULT_P3) : NgaMutationIfc(source)
Non-uniform (Michalewicz) mutation (§A.9): each coordinate is, with probability p3, perturbed by Δ(k, y) = y · U(0,1) · max(0.005, (1 − k/K)^b), where k is the current generation, y is the distance to the chosen bound, and the perturbation direction (toward the upper or lower bound) is chosen with equal probability. The step shrinks as the generation count k approaches bigK, focusing the search late in the run.
Parameters
b
the shape exponent controlling the annealing rate; must be > 0 (default 1.5)
big K
the generation horizon K over which the step anneals; must be >= 1 (default 50)
p3
the per-coordinate mutation probability; must be in 0,1 (default 0.328)
Properties
Functions
Link copied to clipboard
Returns a mutated copy of point.