saealib.CrossoverUniform¶
- class saealib.CrossoverUniform(crossover_rate, swap_rate=0.5)[source]¶
Bases:
CrossoverUniform 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
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 0x7FC89BB71E00)[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