evox.algorithms.mo.nsga2
¶
模块内容¶
类¶
一个面向多目标优化问题的非支配排序遗传算法 II(NSGA-II)的张量化实现。 |
API¶
- class evox.algorithms.mo.nsga2.NSGA2(pop_size: int, n_objs: int, lb: torch.Tensor, ub: torch.Tensor, selection_op: Optional[Callable] = None, mutation_op: Optional[Callable] = None, crossover_op: Optional[Callable] = None, device: torch.device | None = None)[源代码]¶
基础:
evox.core.Algorithm
一个面向多目标优化问题的非支配排序遗传算法 II(NSGA-II)的张量化实现。
- 参考文献:
[1] K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, "A fast and elitist multiobjective genetic algorithm: NSGA-II," IEEE Transactions on Evolutionary Computation, vol. 6, no. 2, pp. 182-197, 2002. Available: https://ieeexplore.ieee.org/document/996017
[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
初始化
初始化 NSGA-II 算法。
- 参数:
pop_size -- 种群大小。
n_objs -- 优化问题中的目标函数数量。
lb -- 决策变量的下界(1D 张量)。
ub -- 决策变量的上界(1D 张量)。
selection_op -- 进化策略的选择操作(可选)。
mutation_op -- 基因突变操作,该选项的缺省值是
polynomial_mutation
,如果未提供,则使用默认值 (可选)。crossover_op -- 交叉操作,如果未提供(可选),默认为 simulated_binary。
device -- 计算应该运行的设备(可选)。默认为 PyTorch 的默认设备。