Ultra 0.9.4
Loading...
Searching...
No Matches
ultra::de::numerical_refinement_backend Struct Reference

Public Member Functions

template<Evaluator E>
requires NumericalOptimisable<evaluator_individual_t<E>>
std::optional< evaluator_fitness_t< E > > operator() (evaluator_individual_t< E > &ind, const E &eva, const parameters::refinement_parameters &params) const

Member Function Documentation

◆ operator()()

template<Evaluator E>
requires NumericalOptimisable<evaluator_individual_t<E>>
std::optional< evaluator_fitness_t< E > > ultra::de::numerical_refinement_backend::operator() ( evaluator_individual_t< E > & ind,
const E & eva,
const parameters::refinement_parameters & params ) const
inline

Refines the tunable scalar parameters of ind.

Parameters
[in,out]indindividual whose scalar parameters are refined
[in]evaevaluator used to score candidate solutions
[in]paramsrefinement configuration parameters
Returns
improved fitness if refinement succeeded; empty std::optional otherwise

The optimiser extracts a decision vector from ind, performs numerical optimisation over a bounded region around the current parameter values, and writes the best solution back into ind.

If ind exposes no optimisable parameters, this function has no effect.


The documentation for this struct was generated from the following file: