evox.operators.crossover.differential_evolution

Module Contents

Functions

DE_differential_sum

Computes the difference vectors’ sum in differential evolution.

DE_binary_crossover

Performs binary crossover in differential evolution.

DE_exponential_crossover

Performs exponential crossover in differential evolution.

DE_arithmetic_recombination

Performs arithmetic recombination in differential evolution.

API

evox.operators.crossover.differential_evolution.DE_differential_sum(diff_padding_num: int, num_diff_vectors: torch.Tensor, index: torch.Tensor, population: torch.Tensor) Tuple[torch.Tensor, torch.Tensor][source]

Computes the difference vectors’ sum in differential evolution.

Parameters:
  • diff_padding_num – The number of padding difference vectors.

  • num_diff_vectors – The number of difference vectors used in mutation.

  • index – The index of current individual.

  • population – The population tensor.

Returns:

The difference sum and the index of first difference vector.

evox.operators.crossover.differential_evolution.DE_binary_crossover(mutation_vector: torch.Tensor, current_vector: torch.Tensor, CR: torch.Tensor)[source]

Performs binary crossover in differential evolution.

Parameters:
  • mutation_vector – The mutated vector for each individual in the population.

  • current_vector – The current vector for each individual in the population.

  • CR – The crossover probability for each individual.

Returns:

The trial vector after crossover for each individual.

evox.operators.crossover.differential_evolution.DE_exponential_crossover(mutation_vector: torch.Tensor, current_vector: torch.Tensor, CR: torch.Tensor)[source]

Performs exponential crossover in differential evolution.

Parameters:
  • mutation_vector – The mutated vector for each individual in the population.

  • current_vector – The current vector for each individual in the population.

  • CR – The crossover probability for each individual.

Returns:

The trial vector after crossover for each individual.

evox.operators.crossover.differential_evolution.DE_arithmetic_recombination(mutation_vector: torch.Tensor, current_vector: torch.Tensor, K: torch.Tensor)[source]

Performs arithmetic recombination in differential evolution.

Parameters:
  • mutation_vector – The mutated vector for each individual in the population.

  • current_vector – The current vector for each individual in the population.

  • K – The coefficient for each individual.

Returns:

The trial vector after recombination for each individual.