sampling.design.generate_uniform_design

sampling.design.generate_uniform_design(bounds, n_design, seed=None)

Generate a uniform random experimental design.

Generates n_design points uniformly distributed within the specified bounds. This function is compatible with SpotOptim’s random number handling.

Parameters

Name Type Description Default
bounds Union[List[Tuple[float, float]], np.ndarray] Design space bounds. List of (lower, upper) tuples for each dimension. required
n_design int Number of design points to generate. required
seed Optional[Union[int, Generator]] Random seed or generator. Defaults to None. None

Returns

Name Type Description
np.ndarray np.ndarray: Generated design points of shape (n_design, n_dim).

Examples

>>> import numpy as np
>>> from spotoptim.sampling.design import generate_uniform_design
>>> bounds = [(-5, 5), (0, 10)]
>>> X = generate_uniform_design(bounds, n_design=5, seed=42)
>>> X.shape
(5, 2)
>>> np.all((X >= [-5, 0]) & (X <= [5, 10]))
True