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
[trieste.space.SearchSpaceType
]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.
- gen_pareto_optimal_points: GenParetoOptimalPoints[source]#
Function to generate Pareto optimal points, given the number of points and an optional random number seed.
- 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[trieste.space.Box] [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[trieste.space.Box] [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[trieste.space.Box] [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.