evox.operators.crossover.differential_evolution

模块内容

函数

DE_differential_sum

计算差分演化中的差异向量总和。

DE_binary_crossover

在差分演化中执行二进制交叉。

DE_exponential_crossover

在差分演化中执行指数交叉。

DE_arithmetic_recombination

在演化算法中进行差分进化的算术重组。

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][源代码]

计算差分演化中的差异向量总和。

参数:
  • diff_padding_num -- padding差异向量的数量。

  • num_diff_vectors -- 变异过程中使用的差异向量的数量。

  • index -- 当前个体的索引。

  • population -- 种群张量。

返回:

差分总和和第一个差分向量的索引。

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

在差分演化中执行二进制交叉。

参数:
  • mutation_vector -- 种群中每个个体的变异向量。

  • current_vector -- 每个个体在种群中的当前向量。

  • CR -- 每个个体的交叉概率。

返回:

每个个体交叉后的试验向量。

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

在差分演化中执行指数交叉。

参数:
  • mutation_vector -- 种群中每个个体的变异向量。

  • current_vector -- 每个个体在种群中的当前向量。

  • CR -- 每个个体的交叉概率。

返回:

每个个体交叉后的试验向量。

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

在演化算法中进行差分进化的算术重组。

参数:
  • mutation_vector -- 种群中每个个体的变异向量。

  • current_vector -- 每个个体在种群中的当前向量。

  • K -- 每个个体的系数。

返回:

每个个体重组后的试验向量。