piglot.optimisers.query.QueryOptimiser

class QueryOptimiser(objective: Objective, param_list_file: str, reference_point: list[float] | None = None, nadir_scale: float = 0.1)[source]

Bases: Optimiser

Query optimiser.

Methods

optimise

Optimiser for the outside world.

update_mo_data

Get the partitioning of the observations in multi-objective optimisation.

optimise(n_iter: int, parameters: ~piglot.parameter.ParameterSet, output_dir: str, stop_criteria: ~piglot.optimiser.StoppingCriteria = <piglot.optimiser.StoppingCriteria object>, verbose: bool = True) Tuple[float, ndarray]

Optimiser for the outside world.

Parameters

objectiveObjective

Objective function to optimise.

n_iterint

Maximum number of iterations.

parametersParameterSet

Set of parameters to optimise.

output_dirstr

Whether to write output to the output directory, by default None.

stop_criteriaStoppingCriteria

List of stopping criteria, by default none attributed.

verbosebool

Whether to output progress status, by default True.

Returns

float

Best observed objective value.

np.ndarray

Observed optimum of the objective.

update_mo_data(parameters: ndarray, observations: ndarray) Tuple[float, int][source]

Get the partitioning of the observations in multi-objective optimisation.

Parameters

parametersnp.ndarray

Array of parameters.

observationsnp.ndarray

Array of observations.

Returns

Tuple[float, int]

Hypervolume and number of non-dominated points.