saealib.MutationPolynomial

class saealib.MutationPolynomial(mutation_rate, eta)[source]

Bases: Mutation

Polynomial mutation operator.

Parameters:
  • mutation_rate (float)

  • eta (float)

mutation_rate

The probability of mutating each dimension.

Type:

float

eta

Distribution index. Larger values produce smaller perturbations.

Type:

float

Methods

__init__

Initialize polynomial mutation operator.

mutate

Execute polynomial mutation.

Method Details

MutationPolynomial.__init__(mutation_rate, eta)[source]

Initialize polynomial mutation operator.

Parameters:
  • mutation_rate (float) – The probability of mutating each dimension.

  • eta (float) – Distribution index.

MutationPolynomial.mutate(p, mutate_range, rng=Generator(PCG64) at 0x7F65E9C91C40)[source]

Execute polynomial mutation.

Parameters:
  • p (np.ndarray) – Parent individual. shape = (dim,)

  • mutate_range (tuple) – Tuple of (lower_bound, upper_bound) for mutation.

  • rng (np.random.Generator, optional) – Random number generator, by default np.random.default_rng()

Returns:

Mutated individual.

Return type:

np.ndarray