RastriginRotated#
- class RastriginRotated(n_dim: int = 10, instance: int = 1, objective: str = 'minimize', modifiers: List[BaseModifier] | None = None, memory: bool = False, collect_data: bool = True, callbacks: Callable | List[Callable] | None = None, catch_errors: Dict[type, float] | None = None)[source]#
f15: Rastrigin Function (Rotated).
Rotated version of the Rastrigin function. The rotation breaks separability.
Properties: - Highly multimodal (~10^D local optima) - Non-separable - Regular structure
- __call__(params: Dict[str, Any] | ndarray | list | tuple | None = None, **kwargs)[source]#
Evaluate the objective function.
- Args:
params: Parameter values as dict, array, list, or tuple **kwargs: Parameters as keyword arguments (only with dict input)
- Returns:
The objective function value
- batch(X: ArrayLike) ArrayLike[source]#
Evaluate multiple parameter sets in a single call.
- Parameters:
X (ArrayLike) – 2D array of shape (n_points, n_dim) where each row is a parameter set.
- Returns:
1D array of shape (n_points,) with evaluation results.
- Return type:
ArrayLike
- Raises:
NotImplementedError – If the function does not implement _batch_objective.
ValueError – If X has wrong number of dimensions or wrong n_dim.
- f_pen(x: ndarray) float[source]#
Boundary penalty function.
Penalizes solutions outside [-5, 5]^D.
- Parameters:
x (np.ndarray) – Input vector.
- Returns:
Penalty value (0 if within bounds).
- Return type:
- lambda_alpha(alpha: float) ndarray[source]#
Generate diagonal conditioning matrix with condition number alpha.
- Parameters:
alpha (float) – Condition number (ratio of largest to smallest eigenvalue).
- Returns:
Diagonal matrix of shape (n_dim, n_dim).
- Return type:
np.ndarray
- pure(params: Dict[str, Any] | ndarray | list | tuple | None = None, **kwargs)[source]#
Evaluate the function without modifiers.
Returns the true (deterministic) function value, bypassing any configured modifiers. Does not update search_data, n_evaluations, or callbacks. Ignores memory caching.
- property search_space: Dict[str, Any][source]#
Search space for this function (read-only public API).
- t_asy(x: ndarray, beta: float) ndarray[source]#
Apply asymmetry transformation T_asy^beta.
Breaks symmetry by applying different scaling to positive values.
- Parameters:
x (np.ndarray) – Input vector.
beta (float) – Asymmetry parameter.
- Returns:
Transformed vector.
- Return type:
np.ndarray