evox.problems.numerical.dtlz#

模块内容#

#

DTLZTestSuit

用于多目标优化中DTLZ测试套件问题的基类。

DTLZ1

DTLZ2

DTLZ3

DTLZ4

DTLZ5

DTLZ6

DTLZ7

API#

class evox.problems.numerical.dtlz.DTLZTestSuit(d: int = None, m: int = None, ref_num: int = 1000)[源代码]#

Bases: evox.core.Problem

用于多目标优化中DTLZ测试套件问题的基类。

继承此类以实现特定的DTLZ问题变体。

参数:
  • d -- 决策变量的数量。

  • m -- 目标数量。

  • ref_num -- 问题中使用的参考点数量。

初始化

重写 setup 方法以初始化参数。

abstract evaluate(X: torch.Tensor) torch.Tensor[源代码]#

抽象方法用于评估给定决策变量的目标值。

参数:

X -- 形状为 (n, d) 的张量,其中 n 是解的数量,d 是决策变量的数量。

返回:

表示每个解的目标值的张量,以形状 (n, m) 表示。

pf()[源代码]#

返回问题的帕累托前沿。

返回:

表示帕累托前沿的张量。

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

Bases: evox.problems.numerical.dtlz.DTLZTestSuit

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

Bases: evox.problems.numerical.dtlz.DTLZTestSuit

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

Bases: evox.problems.numerical.dtlz.DTLZ2

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

Bases: evox.problems.numerical.dtlz.DTLZ2

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

Bases: evox.problems.numerical.dtlz.DTLZTestSuit

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

Bases: evox.problems.numerical.dtlz.DTLZTestSuit

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

Bases: evox.problems.numerical.dtlz.DTLZTestSuit

evaluate(X: torch.Tensor) torch.Tensor[源代码]#
pf()[源代码]#