piglot.optimisers.random_search.PureRandomSearch
- class PureRandomSearch(objective: Objective, sampling='uniform', seed=1)[source]
Bases:
ScalarOptimiserPure Random Search optimiser.
Three sampling methods for generating random numbers are available: - Uniform distribution. - Normal distribution, centered around the best value, and with decreasing standard deviation throughout the iterative process. - Sampling based on the Sobol sequence (requires scipy >= 1.7).
Methods
- _optimise(self, func, n_dim, n_iter, bound, init_shot):
Solves the optimization problem
Methods
Optimiser for the outside world.
- 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.