trieste.objectives.multi_objectives
#
This module contains synthetic multi-objective functions, useful for experimentation.
Module Contents#
-
class
GenParetoOptimalPoints
[source]# Bases:
typing_extensions.Protocol
A Protocol representing a function that generates Pareto optimal points.
-
__call__
(n: int, seed: int | None = None) → trieste.types.TensorType[source]# Generate n Pareto optimal points.
- Parameters
n – The number of pareto optimal points to be generated.
seed – An integer used to create a random seed for distributions that used to generate pareto optimal points.
- Returns
The Pareto optimal points
-
-
class
MultiObjectiveTestProblem
[source]# Bases:
trieste.objectives.single_objectives.ObjectiveTestProblem
Convenience container class for synthetic multi-objective test functions, containing a generator for the pareto optimal points, which can be used as a reference of performance measure of certain multi-objective optimization algorithms.
-
vlmop2
(x: trieste.types.TensorType, d: int) → trieste.types.TensorType[source]# The VLMOP2 synthetic function.
- Parameters
x – The points at which to evaluate the function, with shape […, d].
d – The dimensionality of the synthetic function.
- Returns
The function values at
x
, with shape […, 2].- Raises
ValueError (or InvalidArgumentError) – If
x
has an invalid shape.
-
VLMOP2
(input_dim: int) → MultiObjectiveTestProblem[source]# The VLMOP2 problem, typically evaluated over \([-2, 2]^d\). The idea pareto fronts lies on -1/sqrt(d) - 1/sqrt(d) and x1=…=xdim.
See [VVL99] and [FF95] (the latter for discussion of pareto front property) for details.
- Parameters
input_dim – The input dimensionality of the synthetic function.
- Returns
The problem specification.
-
dtlz_mkd
(input_dim: int, num_objective: int) → tuple[int, int, int][source]# Return m/k/d values for dtlz synthetic functions.
-
dtlz1
(x: trieste.types.TensorType, m: int, k: int, d: int) → trieste.types.TensorType[source]# The DTLZ1 synthetic function.
- Parameters
x – The points at which to evaluate the function, with shape […, d].
m – The objective numbers.
k – The input dimensionality for g.
d – The dimensionality of the synthetic function.
- Returns
The function values at
x
, with shape […, m].- Raises
ValueError (or InvalidArgumentError) – If
x
has an invalid shape.
-
DTLZ1
(input_dim: int, num_objective: int) → MultiObjectiveTestProblem[source]# The DTLZ1 problem, the idea pareto fronts lie on a linear hyper-plane. See [DTLZ02] for details.
- Parameters
input_dim – The input dimensionality of the synthetic function.
num_objective – The number of objectives.
- Returns
The problem specification.
-
dtlz2
(x: trieste.types.TensorType, m: int, d: int) → trieste.types.TensorType[source]# The DTLZ2 synthetic function.
- Parameters
x – The points at which to evaluate the function, with shape […, d].
m – The objective numbers.
d – The dimensionality of the synthetic function.
- Returns
The function values at
x
, with shape […, m].- Raises
ValueError (or InvalidArgumentError) – If
x
has an invalid shape.
-
DTLZ2
(input_dim: int, num_objective: int) → MultiObjectiveTestProblem[source]# The DTLZ2 problem, the idea pareto fronts lie on (part of) a unit hyper sphere. See [DTLZ02] for details.
- Parameters
input_dim – The input dimensionality of the synthetic function.
num_objective – The number of objectives.
- Returns
The problem specification.