saealib.CrossoverUniform

class saealib.CrossoverUniform(crossover_rate, swap_rate=0.5)[source]

Bases: Crossover

Uniform crossover operator.

Each dimension is independently swapped between parents with probability swap_rate.

Parameters:
  • crossover_rate (float)

  • swap_rate (float)

crossover_rate

Crossover rate.

Type:

float

swap_rate

Per-dimension swap probability. Default is 0.5.

Type:

float

Methods

__init__

Initialize uniform crossover operator.

crossover

Execute uniform crossover.

Method Details

CrossoverUniform.__init__(crossover_rate, swap_rate=0.5)[source]

Initialize uniform crossover operator.

Parameters:
  • crossover_rate (float) – Crossover rate.

  • swap_rate (float, optional) – Per-dimension swap probability, by default 0.5.

CrossoverUniform.crossover(p, rng=Generator(PCG64) at 0x7FECD0E5A6C0)[source]

Execute uniform crossover.

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

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

Returns:

Offspring individuals. shape = (2, dim)

Return type:

np.ndarray