evox.algorithms.mo.hype

模块内容

HypE

HypE算法的张量化版本。

函数

API

evox.algorithms.mo.hype.cal_hv(fit: torch.Tensor, ref: torch.Tensor, pop_size: int, n_sample: int)[源代码]
class evox.algorithms.mo.hype.HypE(pop_size: int, n_objs: int, lb: torch.Tensor, ub: torch.Tensor, n_sample: int = 10000, selection_op: Optional[Callable] = None, mutation_op: Optional[Callable] = None, crossover_op: Optional[Callable] = None, device: torch.device | None = None)[源代码]

基础: evox.core.Algorithm

HypE算法的张量化版本。

参考文献:

[1] J. Bader and E. Zitzler, "HypE: An algorithm for fast hypervolume-based many-objective optimization," Evolutionary Computation, vol. 19, no. 1, pp. 45-76, 2011. Available: https://direct.mit.edu/evco/article-abstract/19/1/45/1363/HypE-An-Algorithm-for-Fast-Hypervolume-Based-Many

[2] Z. Liang, H. Li, N. Yu, K. Sun, 和 R. Cheng, "Bridging Evolutionary Multiobjective Optimization and GPU Acceleration via Tensorization," IEEE Transactions on Evolutionary Computation, 2025. Available: https://ieeexplore.ieee.org/document/10944658

初始化

初始化 HypE 算法。

参数:
  • pop_size -- 种群大小。

  • n_objs -- 优化问题中的目标函数数量。

  • lb -- 决策变量的下界(1D 张量)。

  • ub -- 决策变量的上界(1D 张量)。

  • n_sample -- 用于计算超体积的样本数量(可选)。

  • selection_op -- 进化策略的选择操作(可选)。

  • mutation_op -- 基因突变操作,该选项的缺省值是 polynomial_mutation,如果未提供,则使用默认值 (可选)。

  • crossover_op -- 交叉操作,如果未提供(可选),默认为 simulated_binary。

  • device -- 计算应该运行的设备(可选)。默认为 PyTorch 的默认设备。

init_step()[源代码]

执行工作流的初始化步骤。

调用算法的 init_step 如果被重写;否则,将调用其 step 方法。

step()[源代码]

执行工作流的优化步骤。