src.environment.problem.MOO.MOO_synthetic.dtlz_torch

Module Contents

Classes

DTLZ_Torch

Introduction

A PyTorch version of the DTLZ (Deb-Thiele-Laumanns-Zitzler) test suite for multi-objective optimization problems.

DTLZ1_Torch

DTLZ2_Torch

DTLZ3_Torch

DTLZ4_Torch

DTLZ5_Torch

DTLZ6_Torch

DTLZ7_Torch

Functions

crtup

Introduction

Generates a set of uniformly distributed reference points (weight vectors) for a given number of objectives. This function is typically used in multi-objective optimization algorithms such as NSGA-III and RVEA, where reference points are required to guide the selection process.

crtgp

Introduction

Generate a set of evenly distributed grid points in a unit hypercube of specified dimension.

This function tries to generate at most N points that are uniformly spread in a dim-dimensional unit cube [0,1]^dim by using a Cartesian grid (meshgrid) approach.

API

src.environment.problem.MOO.MOO_synthetic.dtlz_torch.crtup(n_obj, n_ref_points=1000)[source]

Introduction

Generates a set of uniformly distributed reference points (weight vectors) for a given number of objectives. This function is typically used in multi-objective optimization algorithms such as NSGA-III and RVEA, where reference points are required to guide the selection process.

Args:

  • n_obj (int): Number of objectives (i.e., the dimensionality of the reference points).

  • n_ref_points (int): Approximate number of desired reference points (default: 1000).

Returns:

  • W (np.ndarray): A 2D array of shape (n_comb, n_obj) representing the generated reference vectors.

  • n_comb (int): Actual number of generated reference vectors.

src.environment.problem.MOO.MOO_synthetic.dtlz_torch.crtgp(dim, N)[source]

Introduction

Generate a set of evenly distributed grid points in a unit hypercube of specified dimension.

This function tries to generate at most N points that are uniformly spread in a dim-dimensional unit cube [0,1]^dim by using a Cartesian grid (meshgrid) approach.

Args:

  • dim (int): Dimensionality of the grid (number of variables).

  • N (int): Maximum number of grid points to generate.

Returns:

  • grid_points (np.ndarray): A 2D array of shape (total_points, dim) representing the generated grid points.

  • total_points (int): Actual number of points generated (≤ N).

class src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ_Torch(n_var, n_obj, k=None, **kwargs)[source]

Bases: src.environment.problem.basic_problem.Basic_Problem_Torch

Introduction

A PyTorch version of the DTLZ (Deb-Thiele-Laumanns-Zitzler) test suite for multi-objective optimization problems.

Initialization

g1(X_M)[source]
g2(X_M)[source]
obj_func(X_, g, alpha=1)[source]
__str__()[source]
class src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ1_Torch(n_var=7, n_obj=3, **kwargs)[source]

Bases: src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ_Torch

obj_func(X_, g)[source]
func(x, *args, **kwargs)[source]
get_ref_set(n_ref_points=1000)[source]
class src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ2_Torch(n_var=10, n_obj=3, **kwargs)[source]

Bases: src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ_Torch

func(x, *args, **kwargs)[source]
get_ref_set(n_ref_points=1000)[source]
class src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ3_Torch(n_var=10, n_obj=3, **kwargs)[source]

Bases: src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ_Torch

func(x, *args, **kwargs)[source]
get_ref_set(n_ref_points=1000)[source]
class src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ4_Torch(n_var=10, n_obj=3, alpha=100, d=100, **kwargs)[source]

Bases: src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ_Torch

func(x, *args, **kwargs)[source]
get_ref_set(n_ref_points=1000)[source]
class src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ5_Torch(n_var=10, n_obj=3, **kwargs)[source]

Bases: src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ_Torch

func(x, *args, **kwargs)[source]
get_ref_set(n_ref_points=1000)[source]
class src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ6_Torch(n_var=10, n_obj=3, **kwargs)[source]

Bases: src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ_Torch

func(x, *args, **kwargs)[source]
get_ref_set(n_ref_points=1000)[source]
class src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ7_Torch(n_var=10, n_obj=3, **kwargs)[source]

Bases: src.environment.problem.MOO.MOO_synthetic.dtlz_torch.DTLZ_Torch

func(x, *args, **kwargs)[source]
get_ref_set(n_ref_points=1000)[source]