Search Techniques
A search technique is associated with each simulation when the
simulation dictionary is added to the MOOP
object.
This technique is used for generating simulation data prior to the
first iteration of ParMOO, so that the initial surrogate models can
be fit.
For most search techniques, it is highly recommended that you supply the following optional hyperparameter keys/values:
search_budget (int)
: specifies how many samples will be generated for this simulation.
from parmoo import searches
Available search techniques are as follows:
Latin Hypercube Sampling
Implementations of the GlobalSearch class.
This module contains implementations of the GlobalSearch ABC, which are based on the Latin hypercube design.
- The classes include:
LatinHypercube
– Latin hypercube sampling
- class searches.latin_hypercube.LatinHypercube(m, lb, ub, hyperparams)
Implementation of a Latin hypercube search.
This GlobalSearch strategy uses a Latin hypercube design to sample in the design space.
- __init__(m, lb, ub, hyperparams)
Constructor for the LatinHypercube GlobalSearch class.
- Parameters:
m (int) – The number of simulation outputs (unused by this class).
lb (numpy.ndarray) – A 1d array of lower bounds for the design region. The number of design variables is inferred from the dimension of lb.
ub (numpy.ndarray) – A 1d array of upper bounds for the design region. The dimension must match ub.
hyperparams (dict) –
A dictionary of hyperparameters for the LatinHypercube design. It may contain:
search_budget (int): The sim eval budget for the search
- Returns:
A new LatinHypercube object.
- Return type:
- startSearch(lb, ub)
Begin a new Latin hypercube sampling.
- Parameters:
lb (numpy.ndarray) – A 1d array of lower bounds for the design region. The dimension must match n.
ub (numpy.ndarray) – A 1d array of upper bounds for the design region. The dimension must match n.
- Returns:
A 2d array, containing the list of design points to be evaluated.
- Return type:
np.ndarray
- resumeSearch()
Resume a previous Latin hypercube sampling.
- Returns:
A 2d array, containing the list of design points to be evaluated.
- Return type:
np.ndarray