desdeo_emo.recombination
This module provides implementations of various crossover and mutation operators.
Submodules
desdeo_emo.recombination.BoundedPolynomialMutation
desdeo_emo.recombination.SimulatedBinaryCrossover
desdeo_emo.recombination.SinglePointCrossoverMutation
desdeo_emo.recombination.biogp_mutation
desdeo_emo.recombination.biogp_xover
desdeo_emo.recombination.evodn2_xover_mutation
desdeo_emo.recombination.evonn_xover_mutation
Package Contents
Classes
Simulated binary crossover. |
|
Simple single point crossover and mutation. |
|
Simple single point crossover and mutation. |
- class desdeo_emo.recombination.BioGP_xover(probability_crossover: float = 0.9, probability_standard: float = 0.5)[source]
- do(pop, mating_pop_ids)
- class desdeo_emo.recombination.BP_mutation(lower_limits: numpy.ndarray, upper_limits: numpy.ndarray, ProM: float = None, DisM: float = 20)[source]
- do(offspring: numpy.ndarray)
Conduct bounded polynomial mutation. Return the mutated individuals.
- Parameters:
offspring (np.ndarray) – The array of offsprings to be mutated.
- Returns:
The mutated offsprings
- Return type:
np.ndarray
- class desdeo_emo.recombination.EvoDN2Recombination(evolver: BaseEA, ProC: float = 0.8, ProM: float = 0.3, mutation_strength: float = 1.0)[source]
- do(pop, mating_pop_ids: list = None)
- class desdeo_emo.recombination.EvoNNRecombination(evolver: BaseEA, ProC: float = 0.8, ProM: float = 0.3, mutation_strength: float = 1.0, mutation_type: str = 'gaussian')[source]
- do(pop, mating_pop_ids: list = None)
- class desdeo_emo.recombination.SBX_xover(ProC: float = 1, DisC: float = 30)[source]
Simulated binary crossover.
- Parameters
- ProCfloat, optional
[description], by default 1
- DisCfloat, optional
[description], by default 30
- do(pop: numpy.ndarray, mating_pop_ids: list = None) numpy.ndarray
- Consecutive members of mating_pop_ids are crossed over
in pairs. Example: if mating_pop_ids = [0, 2, 3, 6, 5] then the individuals are crossover as: [0, 2], [3, 6], [5, 0]. Note: if the number of elements is odd, the last individual is crossed over with the first one.
- Parameters:
pop (np.ndarray) – Array of all individuals
mating_pop_ids (list, optional) –
- Indices of population members to mate, by default None, which shuffles and
mates whole population
- Returns:
The offspring produced as a result of crossover.
- Return type:
np.ndarray
- class desdeo_emo.recombination.SinglePoint_Xover(ProC: float = 1, DisC: float = 30)[source]
Simple single point crossover and mutation.
- Parameters
- ProCfloat, optional
[description], by default 1
- DisCfloat, optional
[description], by default 30
- crossover(ind_0, ind_1)
Single point crossover. :param ind_0: individual_0 :param ind_1: individual_1
- Ret:
new_0, new_1: the individuals generatd after crossover.
- mutation(indi)
Simple mutation. Arg:
indi: individual to mutation.
- do(pop: numpy.ndarray, mating_pop_ids: list = None) numpy.ndarray
- Consecutive members of mating_pop_ids are crossed over
in pairs. Example: if mating_pop_ids = [0, 2, 3, 6, 5] then the individuals are crossover as: [0, 2], [3, 6], [5, 0]. Note: if the number of elements is odd, the last individual is crossed over with the first one.
- Parameters:
pop (np.ndarray) – Array of all individuals
mating_pop_ids (list, optional) –
- Indices of population members to mate, by default None, which shuffles and
mates whole population
- Returns:
The offspring produced as a result of crossover.
- Return type:
np.ndarray
- class desdeo_emo.recombination.SinglePoint_Mutation(ProC: float = 1, DisC: float = 30)[source]
Simple single point crossover and mutation.
- Parameters
- ProCfloat, optional
[description], by default 1
- DisCfloat, optional
[description], by default 30
- mutation(indi)
Simple mutation. Arg:
indi: individual to mutation.
- do(offspring: numpy.ndarray)
- Consecutive members of mating_pop_ids are crossed over
in pairs. Example: if mating_pop_ids = [0, 2, 3, 6, 5] then the individuals are crossover as: [0, 2], [3, 6], [5, 0]. Note: if the number of elements is odd, the last individual is crossed over with the first one.
- Parameters:
pop (np.ndarray) – Array of all individuals
mating_pop_ids (list, optional) –
- Indices of population members to mate, by default None, which shuffles and
mates whole population
- Returns:
The offspring produced as a result of crossover.
- Return type:
np.ndarray