trieste.objectives#

This package contains examples of popular objective functions used in (Bayesian) optimization.

Submodules#

Package Contents#

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(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.

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.

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.

gen_pareto_optimal_points: GenParetoOptimalPoints#

Function to generate Pareto optimal points, given the number of points and an optional random number seed.

class SingleObjectiveMultifidelityTestProblem[source]#

Bases: trieste.objectives.single_objectives.SingleObjectiveTestProblem

Convenience container class for synthetic single-objective test functions, including the global minimizers and minimum.

num_fidelities: int#

The number of fidelities of test function

fidelity_search_space: trieste.space.TaggedProductSearchSpace#

The search space including fidelities

Ackley5[source]#

The Ackley test function over \([0, 1]^5\). This function has many local minima and a global minima. See https://www.sfu.ca/~ssurjano/ackley.html for details. Note that we rescale the original problem, which is typically defined over [-32.768, 32.768].

Branin[source]#

The Branin-Hoo function over \([0, 1]^2\). See [PWG13] for details.

ConstrainedScaledBranin[source]#

The rescaled Branin-Hoo function with a combination of linear and nonlinear constraints on the search space.

GramacyLee[source]#

The Gramacy & Lee function, typically evaluated over \([0.5, 2.5]\). See [GL12] for details.

Hartmann3[source]#

The Hartmann 3 test function over \([0, 1]^3\). This function has 3 local and one global minima. See https://www.sfu.ca/~ssurjano/hart3.html for details.

Hartmann6[source]#

The Hartmann 6 test function over \([0, 1]^6\). This function has 6 local and one global minima. See https://www.sfu.ca/~ssurjano/hart6.html for details.

Levy8[source]#

Convenience function for the 8-dimensional levy() function. Taken from https://www.sfu.ca/~ssurjano/levy.html

LogarithmicGoldsteinPrice[source]#

A logarithmic form of the Goldstein-Price function, with zero mean and unit variance over \([0, 1]^2\). See [PWG13] for details.

Michalewicz2[source]#

Convenience function for the 2-dimensional michalewicz() function with steepness 10. Taken from https://arxiv.org/abs/2003.09867

Michalewicz5[source]#

Convenience function for the 5-dimensional michalewicz() function with steepness 10. Taken from https://arxiv.org/abs/2003.09867

Michalewicz10[source]#

Convenience function for the 10-dimensional michalewicz() function with steepness 10. Taken from https://arxiv.org/abs/2003.09867

class ObjectiveTestProblem[source]#

Convenience container class for synthetic objective test functions.

property dim: int#

The input dimensionality of the test function

property bounds: list[list[float]]#

The input space bounds of the test function

name: str#

The test function name

objective: Callable[[trieste.types.TensorType], trieste.types.TensorType]#

The synthetic test function

search_space: trieste.space.Box#

The (continuous) search space of the test function

Rosenbrock4[source]#

The Rosenbrock function, rescaled to have zero mean and unit variance over \([0, 1]^4. See :cite:`Picheny2013\) for details. This function (also known as the Banana function) is unimodal, however the minima lies in a narrow valley.

ScaledBranin[source]#

The Branin-Hoo function, rescaled to have zero mean and unit variance over \([0, 1]^2\). See [PWG13] for details.

Shekel4[source]#

The Shekel test function over \([0, 1]^4\). This function has ten local minima and a single global minimum. See https://www.sfu.ca/~ssurjano/shekel.html for details. Note that we rescale the original problem, which is typically defined over [0, 10]^4.

SimpleQuadratic[source]#

A trivial quadratic function over \([0, 1]^2\). Useful for quick testing.

class SingleObjectiveTestProblem[source]#

Bases: ObjectiveTestProblem

Convenience container class for synthetic single-objective test functions, including the global minimizers and minimum.

minimizers: trieste.types.TensorType#

The global minimizers of the test function.

minimum: trieste.types.TensorType#

The global minimum of the test function.

Trid10[source]#

The Trid function with dimension 10.