evox.problems.numerical.dtlz

Module Contents

Classes

DTLZ

Base class for DTLZ test suite problems in multi-objective optimization.

DTLZ1

DTLZ2

DTLZ3

DTLZ4

DTLZ5

DTLZ6

DTLZ7

API

class evox.problems.numerical.dtlz.DTLZ(d: int = None, m: int = None, ref_num: int = 1000)[source]

Bases: evox.core.Problem

Base class for DTLZ test suite problems in multi-objective optimization.

Inherit this class to implement specific DTLZ problem variants.

Parameters:
  • d – Number of decision variables.

  • m – Number of objectives.

  • ref_num – Number of reference points used in the problem.

Initialization

Override the setup method to initialize the parameters

abstract evaluate(X: torch.Tensor) torch.Tensor[source]

Abstract method to evaluate the objective values for given decision variables.

Parameters:

X – A tensor of shape (n, d), where n is the number of solutions and d is the number of decision variables.

Returns:

A tensor of shape (n, m) representing the objective values for each solution.

pf()[source]

Return the Pareto front for the problem.

Returns:

A tensor representing the Pareto front.

class evox.problems.numerical.dtlz.DTLZ1(d: int = 7, m: int = 3, ref_num: int = 1000)[source]

Bases: evox.problems.numerical.dtlz.DTLZ

evaluate(X: torch.Tensor) torch.Tensor[source]
class evox.problems.numerical.dtlz.DTLZ2(d: int = 12, m: int = 3, ref_num: int = 1000)[source]

Bases: evox.problems.numerical.dtlz.DTLZ

evaluate(X: torch.Tensor) torch.Tensor[source]
pf()[source]
class evox.problems.numerical.dtlz.DTLZ3(d: int = 12, m: int = 3, ref_num: int = 1000)[source]

Bases: evox.problems.numerical.dtlz.DTLZ2

evaluate(X: torch.Tensor) torch.Tensor[source]
class evox.problems.numerical.dtlz.DTLZ4(d: int = 12, m: int = 3, ref_num: int = 1000)[source]

Bases: evox.problems.numerical.dtlz.DTLZ2

evaluate(X: torch.Tensor) torch.Tensor[source]
class evox.problems.numerical.dtlz.DTLZ5(d: int = 12, m: int = 3, ref_num: int = 1000)[source]

Bases: evox.problems.numerical.dtlz.DTLZ

evaluate(X: torch.Tensor) torch.Tensor[source]
pf()[source]
class evox.problems.numerical.dtlz.DTLZ6(d: int = 12, m: int = 3, ref_num: int = 1000)[source]

Bases: evox.problems.numerical.dtlz.DTLZ

evaluate(X: torch.Tensor) torch.Tensor[source]
pf()[source]
class evox.problems.numerical.dtlz.DTLZ7(d: int = 21, m: int = 3, ref_num: int = 1000)[source]

Bases: evox.problems.numerical.dtlz.DTLZ

evaluate(X: torch.Tensor) torch.Tensor[source]
pf()[source]