ribs.emitters.opt.EvolutionStrategyBase¶
- class ribs.emitters.opt.EvolutionStrategyBase(sigma0, solution_dim, batch_size=None, seed=None, dtype=<class 'numpy.float64'>)[source]¶
Base class for evolution strategy optimizers for use with emitters.
The basic usage is:
Initialize the optimizer and reset it.
Repeatedly:
Request new solutions with
ask()
Rank the solutions in the emitter (better solutions come first) and pass the indices back with
tell()
.Use
check_stop()
to see if the optimizer has reached a stopping condition, and if so, callreset()
.
- Parameters
Methods
ask
(lower_bounds, upper_bounds)Samples new solutions from the Gaussian distribution.
check_stop
(ranking_values)Checks if the optimizer should stop and be reset.
reset
(x0)Resets the optimizer to start at x0.
tell
(ranking_indices, num_parents)Passes the solutions back to the optimizer.
- abstract ask(lower_bounds, upper_bounds)[source]¶
Samples new solutions from the Gaussian distribution.
- Parameters
lower_bounds (float or np.ndarray) – scalar or (solution_dim,) array indicating lower bounds of the solution space. Scalars specify the same bound for the entire space, while arrays specify a bound for each dimension. Pass -np.inf in the array or scalar to indicated unbounded space.
upper_bounds (float or np.ndarray) – Same as above, but for upper bounds (and pass np.inf instead of -np.inf).
- abstract check_stop(ranking_values)[source]¶
Checks if the optimizer should stop and be reset.
- Parameters
ranking_values (np.ndarray) – Array of objective values of the solutions, sorted in the same order that the solutions were sorted when passed to tell().
- Returns
True if any of the stopping conditions are satisfied.
- abstract reset(x0)[source]¶
Resets the optimizer to start at x0.
- Parameters
x0 (np.ndarray) – Initial mean.
- abstract tell(ranking_indices, num_parents)[source]¶
Passes the solutions back to the optimizer.
- Parameters
ranking_indices (array-like of int) – Indices that indicate the ranking of the original solutions returned in
ask()
.num_parents (int) – Number of top solutions to select from the ranked solutions.