Skip to main content

NSGA2Tensor

Module: opytimizer.optimizers.multi_objective.evolutionary.nsga2

Tensorized NSGA-II, following the general tensorization methodology of:

Z. Liang, H. Li, N. Yu, K. Sun, and R. Cheng, "Bridging Evolutionary Multiobjective Optimization and GPU Acceleration via Tensorization," IEEE Trans. Evol. Comput., vol. 30, no. 1, pp. 420-434, Feb. 2026.

Constructor​

NSGA2Tensor(params: 'dict' = None, crossover_operator=None, mutation_operator=None) -> 'None'

Parameters​

ParameterTypeDefaultDescription
paramsdictNone—
crossover_operatorNone—
mutation_operatorNone—

Methods​

compile​

compile(self, space: '_MultiObjectiveTensorSpace') -> 'None'

Compiles additional information that is used by this optimizer.

This method is called before the optimization procedure and makes sure that the additional variable is available as a property.

Parameters​

ParameterTypeDefaultDescription
space_MultiObjectiveTensorSpace—

evaluate​

evaluate(self, space: '_MultiObjectiveTensorSpace', function) -> 'None'

Evaluates the search space according to the objective function.

Parameters​

ParameterTypeDefaultDescription
space_MultiObjectiveTensorSpaceA Space object that will be evaluated.
functionA Function object serving as an objective function.

update​

update(self, space: '_MultiObjectiveTensorSpace', function) -> 'None'

Updates the agents' position array.

As each child has a different procedure of update, you will need to implement it directly on its class.

Parameters​

ParameterTypeDefaultDescription
space_MultiObjectiveTensorSpace—
function—