evox.algorithms.so.de_variants.de¶
模块内容¶
类¶
差分进化(DE)算法用于优化。 |
API¶
- class evox.algorithms.so.de_variants.de.DE(pop_size: int, lb: torch.Tensor, ub: torch.Tensor, base_vector: Literal[best, rand] = 'rand', num_difference_vectors: int = 1, differential_weight: float | torch.Tensor = 0.5, cross_probability: float = 0.9, mean: torch.Tensor | None = None, stdev: torch.Tensor | None = None, device: torch.device | None = None)[源代码]¶
基础:
evox.core.Algorithm差分进化(DE)算法用于优化。
Class Methods
__init__: 使用给定的参数初始化 DE 算法,包括种群大小、边界、变异策略和其他超参数。init_step: 执行种群适应度的初始评估,并进入第一次优化步骤。step:执行DE算法的单个优化步骤,包括变异、交叉和选择过程。
请注意,
evaluate方法在这个类中未定义。它预计由Problem类或其他外部组件提供。初始化
使用给定的参数初始化 DE 算法。
- 参数:
pop_size -- 种群大小。
lb -- 搜索空间的下界。必须是一个一维张量。
ub -- 搜索空间的上界。必须是一个一维张量。
base_vector -- 用于变异的基础向量类型。可以是 "best" 或 "rand"。默认值为 "rand"。
num_difference_vectors -- 在变异中使用的差异向量的数量。必须至少为 1 且小于种群大小的一半。默认为 1。
differential_weight -- 施加于差异向量的差异权重 (F)。可以是浮点数或张量。默认为 0.5。
cross_probability -- 交叉概率(CR)。默认为 0.9。
mean -- 用于使用正态分布初始化种群的均值。默认值为 None。
stdev -- 用于用正态分布初始化种群的标准差。默认为 None。
device -- 用于张量计算的设备。默认为 None。