evox.algorithms.mo.hype
¶
Module Contents¶
Classes¶
The tensorized version of HypE algorithm. |
Functions¶
API¶
- evox.algorithms.mo.hype.cal_hv(fit: torch.Tensor, ref: torch.Tensor, pop_size: int, n_sample: int)[source]¶
- 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)[source]¶
Bases:
evox.core.Algorithm
The tensorized version of HypE algorithm.
- References:
[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, and R. Cheng, “Bridging Evolutionary Multiobjective Optimization and GPU Acceleration via Tensorization,” IEEE Transactions on Evolutionary Computation, 2025. Available: https://ieeexplore.ieee.org/document/10944658
Initialization
Initializes the HypE algorithm.
- Parameters:
pop_size – The size of the population.
n_objs – The number of objective functions in the optimization problem.
lb – The lower bounds for the decision variables (1D tensor).
ub – The upper bounds for the decision variables (1D tensor).
n_sample – The number of samples for hypervolume calculation (optional).
selection_op – The selection operation for evolutionary strategy (optional).
mutation_op – The mutation operation, defaults to
polynomial_mutation
if not provided (optional).crossover_op – The crossover operation, defaults to
simulated_binary
if not provided (optional).device – The device on which computations should run (optional). Defaults to PyTorch’s default device.