sampling.design.generate_grid_design

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

Generates a regular grid design.

Points are generated by creating a regular grid where the number of points per dimension is derived from n_design (floor(n_design^(1/n_dim))).

Note: The actual number of points returned might be less than n_design if n_design is not a perfect power of n_dim.

Parameters

Name Type Description Default
bounds Union[List[Tuple[float, float]], np.ndarray] Design space bounds. required
n_design int The target number of points. Used to determine points per dimension. required
seed Optional[Union[int, Generator]] Unused, kept for API consistency. None

Returns

Name Type Description
np.ndarray np.ndarray: A 2D array of shape (points_per_dim^n_dim, n_dim) with grid points.

Examples

>>> import numpy as np
>>> from spotoptim.sampling.design import generate_grid_design
>>> bounds = [(0, 1), (0, 1)]
>>> X = generate_grid_design(bounds, n_design=25) # 5^2 = 25
>>> X.shape
(25, 2)