saealib.CrossoverSBX

class saealib.CrossoverSBX(crossover_rate, eta)[source]

Bases: Crossover

Simulated Binary Crossover (SBX) operator.

Parameters:
  • crossover_rate (float)

  • eta (float)

crossover_rate

Crossover rate.

Type:

float

eta

Distribution index. Larger values produce offspring closer to parents.

Type:

float

Methods

__init__

Initialize SBX crossover operator.

crossover

Execute SBX crossover.

Method Details

CrossoverSBX.__init__(crossover_rate, eta)[source]

Initialize SBX crossover operator.

Parameters:
  • crossover_rate (float) – Crossover rate.

  • eta (float) – Distribution index.

CrossoverSBX.crossover(p, rng=Generator(PCG64) at 0x7FC89BB73220)[source]

Execute SBX 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