evomo.problems.numerical#

Submodules#

Classes#

DTLZ1

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

DTLZ2

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

DTLZ3

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

DTLZ4

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

DTLZ5

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

DTLZ6

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

DTLZ7

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

LSMOP1

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

LSMOP2

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

LSMOP3

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

LSMOP4

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

LSMOP5

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

LSMOP6

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

LSMOP7

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

LSMOP8

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

LSMOP9

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

MAF1

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF2

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF3

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF4

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF5

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF6

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF7

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF8

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF9

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF10

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF11

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF12

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF13

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF14

The MAF benchmark test suite for evolutionary many-objective optimization.

MAF15

The MAF benchmark test suite for evolutionary many-objective optimization.

WFG1

Base class for the Walking Fish Group benchmark problems.

WFG2

Base class for the Walking Fish Group benchmark problems.

WFG3

Base class for the Walking Fish Group benchmark problems.

WFG4

Base class for the Walking Fish Group benchmark problems.

WFG5

Base class for the Walking Fish Group benchmark problems.

WFG6

Base class for the Walking Fish Group benchmark problems.

WFG7

Base class for the Walking Fish Group benchmark problems.

WFG8

Base class for the Walking Fish Group benchmark problems.

WFG9

Base class for the Walking Fish Group benchmark problems.

ZDT1

The ZDT test suite for multiobjective optimization.

ZDT2

The ZDT test suite for multiobjective optimization.

ZDT3

The ZDT test suite for multiobjective optimization.

ZDT4

The ZDT test suite for multiobjective optimization.

ZDT6

The ZDT test suite for multiobjective optimization.

Package Contents#

class evomo.problems.numerical.DTLZ1(d: int = 7, m: int = 3, ref_num: int = 1000)#

Bases: DTLZ

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.

Override the setup method to initialize the parameters

evaluate(X: torch.Tensor) → torch.Tensor#

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.

class evomo.problems.numerical.DTLZ2(d: int = 12, m: int = 3, ref_num: int = 1000)#

Bases: DTLZ

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.

Override the setup method to initialize the parameters

evaluate(X: torch.Tensor) → torch.Tensor#

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()#

Return the Pareto front for the problem.

Returns:

A tensor representing the Pareto front.

class evomo.problems.numerical.DTLZ3(d: int = 12, m: int = 3, ref_num: int = 1000)#

Bases: DTLZ2

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.

Override the setup method to initialize the parameters

evaluate(X: torch.Tensor) → torch.Tensor#

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.

class evomo.problems.numerical.DTLZ4(d: int = 12, m: int = 3, ref_num: int = 1000)#

Bases: DTLZ2

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.

Override the setup method to initialize the parameters

evaluate(X: torch.Tensor) → torch.Tensor#

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.

class evomo.problems.numerical.DTLZ5(d: int = 12, m: int = 3, ref_num: int = 1000)#

Bases: DTLZ

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.

Override the setup method to initialize the parameters

evaluate(X: torch.Tensor) → torch.Tensor#

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()#

Return the Pareto front for the problem.

Returns:

A tensor representing the Pareto front.

class evomo.problems.numerical.DTLZ6(d: int = 12, m: int = 3, ref_num: int = 1000)#

Bases: DTLZ

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.

Override the setup method to initialize the parameters

evaluate(X: torch.Tensor) → torch.Tensor#

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()#

Return the Pareto front for the problem.

Returns:

A tensor representing the Pareto front.

class evomo.problems.numerical.DTLZ7(d: int = 21, m: int = 3, ref_num: int = 1000)#

Bases: DTLZ

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.

Override the setup method to initialize the parameters

evaluate(X: torch.Tensor) → torch.Tensor#

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()#

Return the Pareto front for the problem.

Returns:

A tensor representing the Pareto front.

class evomo.problems.numerical.LSMOP1(d=None, m=None, ref_num=1000)#

Bases: LSMOP

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

References:
[1] R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, “Test Problems for Large-Scale

Multiobjective and Many-Objective Optimization,” IEEE Transactions on Cybernetics, vol. 47, no. 12, pp. 4108-4121, 2017. Available: https://ieeexplore.ieee.org/abstract/document/7553457

Parameters:
  • d – number of decision variables

  • m – number of objectives

  • ref_num – number of reference points, defaults to 1000

class evomo.problems.numerical.LSMOP2(d=None, m=3, ref_num=1000)#

Bases: LSMOP

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

References:
[1] R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, “Test Problems for Large-Scale

Multiobjective and Many-Objective Optimization,” IEEE Transactions on Cybernetics, vol. 47, no. 12, pp. 4108-4121, 2017. Available: https://ieeexplore.ieee.org/abstract/document/7553457

Parameters:
  • d – number of decision variables

  • m – number of objectives

  • ref_num – number of reference points, defaults to 1000

class evomo.problems.numerical.LSMOP3(d=None, m=None, ref_num=1000)#

Bases: LSMOP

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

References:
[1] R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, “Test Problems for Large-Scale

Multiobjective and Many-Objective Optimization,” IEEE Transactions on Cybernetics, vol. 47, no. 12, pp. 4108-4121, 2017. Available: https://ieeexplore.ieee.org/abstract/document/7553457

Parameters:
  • d – number of decision variables

  • m – number of objectives

  • ref_num – number of reference points, defaults to 1000

class evomo.problems.numerical.LSMOP4(d=None, m=None, ref_num=1000)#

Bases: LSMOP

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

References:
[1] R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, “Test Problems for Large-Scale

Multiobjective and Many-Objective Optimization,” IEEE Transactions on Cybernetics, vol. 47, no. 12, pp. 4108-4121, 2017. Available: https://ieeexplore.ieee.org/abstract/document/7553457

Parameters:
  • d – number of decision variables

  • m – number of objectives

  • ref_num – number of reference points, defaults to 1000

class evomo.problems.numerical.LSMOP5(d=None, m=None, ref_num=1000)#

Bases: LSMOP

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

References:
[1] R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, “Test Problems for Large-Scale

Multiobjective and Many-Objective Optimization,” IEEE Transactions on Cybernetics, vol. 47, no. 12, pp. 4108-4121, 2017. Available: https://ieeexplore.ieee.org/abstract/document/7553457

Parameters:
  • d – number of decision variables

  • m – number of objectives

  • ref_num – number of reference points, defaults to 1000

class evomo.problems.numerical.LSMOP6(d=None, m=None, ref_num=1000)#

Bases: LSMOP5

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

References:
[1] R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, “Test Problems for Large-Scale

Multiobjective and Many-Objective Optimization,” IEEE Transactions on Cybernetics, vol. 47, no. 12, pp. 4108-4121, 2017. Available: https://ieeexplore.ieee.org/abstract/document/7553457

Parameters:
  • d – number of decision variables

  • m – number of objectives

  • ref_num – number of reference points, defaults to 1000

class evomo.problems.numerical.LSMOP7(d=None, m=None, ref_num=1000)#

Bases: LSMOP5

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

References:
[1] R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, “Test Problems for Large-Scale

Multiobjective and Many-Objective Optimization,” IEEE Transactions on Cybernetics, vol. 47, no. 12, pp. 4108-4121, 2017. Available: https://ieeexplore.ieee.org/abstract/document/7553457

Parameters:
  • d – number of decision variables

  • m – number of objectives

  • ref_num – number of reference points, defaults to 1000

class evomo.problems.numerical.LSMOP8(d=None, m=None, ref_num=1000)#

Bases: LSMOP5

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

References:
[1] R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, “Test Problems for Large-Scale

Multiobjective and Many-Objective Optimization,” IEEE Transactions on Cybernetics, vol. 47, no. 12, pp. 4108-4121, 2017. Available: https://ieeexplore.ieee.org/abstract/document/7553457

Parameters:
  • d – number of decision variables

  • m – number of objectives

  • ref_num – number of reference points, defaults to 1000

class evomo.problems.numerical.LSMOP9(d=None, m=None, ref_num=1000)#

Bases: LSMOP

The LSMOP test suite for large-scale multiobjective and many-objective optimization.

References:
[1] R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, “Test Problems for Large-Scale

Multiobjective and Many-Objective Optimization,” IEEE Transactions on Cybernetics, vol. 47, no. 12, pp. 4108-4121, 2017. Available: https://ieeexplore.ieee.org/abstract/document/7553457

Parameters:
  • d – number of decision variables

  • m – number of objectives

  • ref_num – number of reference points, defaults to 1000

class evomo.problems.numerical.MAF1(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF2(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF3(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF4(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF5(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF6(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF7(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF8(d=2, m=10, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

points#
evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF9(d=2, m=10, ref_num=1000, device: torch.device | None = None)#

Bases: MAF8

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF10(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF11(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF10

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

class evomo.problems.numerical.MAF12(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF13(d=5, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF14(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

sublen#
len#
evaluate(X: torch.Tensor)#
class evomo.problems.numerical.MAF15(d=None, m=3, ref_num=1000, device: torch.device | None = None)#

Bases: MAF14

The MAF benchmark test suite for evolutionary many-objective optimization.

References:
[1] R. Cheng, M. Li, Y. Tian, X. Zhang, S. Yang, Y. Jin, and X. Yao, “A benchmark test suite

for evolutionary many-objective optimization,” Complex & Intelligent Systems, vol. 3, no. 1, pp. 67-81, 2017. Available: https://link.springer.com/article/10.1007/s40747-017-0039-7

Initialize the MAF problem instance.

Parameters:
  • d – The dimensionality of the problem (number of decision variables). If None, it is set to m + 9.

  • m – The number of objectives for the problem. Default is 3.

  • ref_num – The reference number for evaluating the problem, default is 1000.

  • device – The device to perform computations on (e.g., CPU or GPU). If None, the default device is used.

evaluate(X: torch.Tensor)#
class evomo.problems.numerical.WFG1(d: int | None = None, m: int = 3, ref_num: int = 1000, k: int | None = None)#

Bases: WFG

Base class for the Walking Fish Group benchmark problems.

Decision variables follow the PlatEMO scale: lower = 0 and upper = [2, 4, ..., 2*d]. The position parameter k defaults to m - 1 and should be a multiple of m - 1.

evaluate(X: torch.Tensor) → torch.Tensor#
pf() → torch.Tensor#
class evomo.problems.numerical.WFG2(d: int | None = None, m: int = 3, ref_num: int = 1000, k: int | None = None)#

Bases: WFG

Base class for the Walking Fish Group benchmark problems.

Decision variables follow the PlatEMO scale: lower = 0 and upper = [2, 4, ..., 2*d]. The position parameter k defaults to m - 1 and should be a multiple of m - 1.

evaluate(X: torch.Tensor) → torch.Tensor#
pf() → torch.Tensor#
class evomo.problems.numerical.WFG3(d: int | None = None, m: int = 3, ref_num: int = 1000, k: int | None = None)#

Bases: WFG2

Base class for the Walking Fish Group benchmark problems.

Decision variables follow the PlatEMO scale: lower = 0 and upper = [2, 4, ..., 2*d]. The position parameter k defaults to m - 1 and should be a multiple of m - 1.

evaluate(X: torch.Tensor) → torch.Tensor#
pf() → torch.Tensor#
class evomo.problems.numerical.WFG4(d: int | None = None, m: int = 3, ref_num: int = 1000, k: int | None = None)#

Bases: WFG

Base class for the Walking Fish Group benchmark problems.

Decision variables follow the PlatEMO scale: lower = 0 and upper = [2, 4, ..., 2*d]. The position parameter k defaults to m - 1 and should be a multiple of m - 1.

evaluate(X: torch.Tensor) → torch.Tensor#
class evomo.problems.numerical.WFG5(d: int | None = None, m: int = 3, ref_num: int = 1000, k: int | None = None)#

Bases: WFG

Base class for the Walking Fish Group benchmark problems.

Decision variables follow the PlatEMO scale: lower = 0 and upper = [2, 4, ..., 2*d]. The position parameter k defaults to m - 1 and should be a multiple of m - 1.

evaluate(X: torch.Tensor) → torch.Tensor#
class evomo.problems.numerical.WFG6(d: int | None = None, m: int = 3, ref_num: int = 1000, k: int | None = None)#

Bases: WFG

Base class for the Walking Fish Group benchmark problems.

Decision variables follow the PlatEMO scale: lower = 0 and upper = [2, 4, ..., 2*d]. The position parameter k defaults to m - 1 and should be a multiple of m - 1.

evaluate(X: torch.Tensor) → torch.Tensor#
class evomo.problems.numerical.WFG7(d: int | None = None, m: int = 3, ref_num: int = 1000, k: int | None = None)#

Bases: WFG

Base class for the Walking Fish Group benchmark problems.

Decision variables follow the PlatEMO scale: lower = 0 and upper = [2, 4, ..., 2*d]. The position parameter k defaults to m - 1 and should be a multiple of m - 1.

evaluate(X: torch.Tensor) → torch.Tensor#
class evomo.problems.numerical.WFG8(d: int | None = None, m: int = 3, ref_num: int = 1000, k: int | None = None)#

Bases: WFG

Base class for the Walking Fish Group benchmark problems.

Decision variables follow the PlatEMO scale: lower = 0 and upper = [2, 4, ..., 2*d]. The position parameter k defaults to m - 1 and should be a multiple of m - 1.

evaluate(X: torch.Tensor) → torch.Tensor#
class evomo.problems.numerical.WFG9(d: int | None = None, m: int = 3, ref_num: int = 1000, k: int | None = None)#

Bases: WFG

Base class for the Walking Fish Group benchmark problems.

Decision variables follow the PlatEMO scale: lower = 0 and upper = [2, 4, ..., 2*d]. The position parameter k defaults to m - 1 and should be a multiple of m - 1.

evaluate(X: torch.Tensor) → torch.Tensor#
class evomo.problems.numerical.ZDT1(n)#

Bases: ZDT

The ZDT test suite for multiobjective optimization.

This suite of benchmark functions is commonly used to evaluate the performance of multiobjective evolutionary algorithms.

References:
[1] E. Zitzler, K. Deb, and L. Thiele, “Comparison of Multiobjective Evolutionary Algorithms:

Empirical Results,” in Evolutionary Computation, vol. 8, no. 2, pp. 173-195, 2000. Available: https://ieeexplore.ieee.org/abstract/document/6787994

Initialize the ZDT problem instance.

Parameters:
  • n – The dimensionality of the problem (number of variables).

  • ref_num – The reference number for evaluating the problem, default is 100.

class evomo.problems.numerical.ZDT2(n)#

Bases: ZDT

The ZDT test suite for multiobjective optimization.

This suite of benchmark functions is commonly used to evaluate the performance of multiobjective evolutionary algorithms.

References:
[1] E. Zitzler, K. Deb, and L. Thiele, “Comparison of Multiobjective Evolutionary Algorithms:

Empirical Results,” in Evolutionary Computation, vol. 8, no. 2, pp. 173-195, 2000. Available: https://ieeexplore.ieee.org/abstract/document/6787994

Initialize the ZDT problem instance.

Parameters:
  • n – The dimensionality of the problem (number of variables).

  • ref_num – The reference number for evaluating the problem, default is 100.

pf()#
class evomo.problems.numerical.ZDT3(n)#

Bases: ZDT

The ZDT test suite for multiobjective optimization.

This suite of benchmark functions is commonly used to evaluate the performance of multiobjective evolutionary algorithms.

References:
[1] E. Zitzler, K. Deb, and L. Thiele, “Comparison of Multiobjective Evolutionary Algorithms:

Empirical Results,” in Evolutionary Computation, vol. 8, no. 2, pp. 173-195, 2000. Available: https://ieeexplore.ieee.org/abstract/document/6787994

Initialize the ZDT problem instance.

Parameters:
  • n – The dimensionality of the problem (number of variables).

  • ref_num – The reference number for evaluating the problem, default is 100.

pf()#
class evomo.problems.numerical.ZDT4(n)#

Bases: ZDT

The ZDT test suite for multiobjective optimization.

This suite of benchmark functions is commonly used to evaluate the performance of multiobjective evolutionary algorithms.

References:
[1] E. Zitzler, K. Deb, and L. Thiele, “Comparison of Multiobjective Evolutionary Algorithms:

Empirical Results,” in Evolutionary Computation, vol. 8, no. 2, pp. 173-195, 2000. Available: https://ieeexplore.ieee.org/abstract/document/6787994

Initialize the ZDT problem instance.

Parameters:
  • n – The dimensionality of the problem (number of variables).

  • ref_num – The reference number for evaluating the problem, default is 100.

class evomo.problems.numerical.ZDT6(n)#

Bases: ZDT

The ZDT test suite for multiobjective optimization.

This suite of benchmark functions is commonly used to evaluate the performance of multiobjective evolutionary algorithms.

References:
[1] E. Zitzler, K. Deb, and L. Thiele, “Comparison of Multiobjective Evolutionary Algorithms:

Empirical Results,” in Evolutionary Computation, vol. 8, no. 2, pp. 173-195, 2000. Available: https://ieeexplore.ieee.org/abstract/document/6787994

Initialize the ZDT problem instance.

Parameters:
  • n – The dimensionality of the problem (number of variables).

  • ref_num – The reference number for evaluating the problem, default is 100.

pf()#