Ultra 0.9.4
Loading...
Searching...
No Matches
ultra::parameters::refinement_parameters Struct Reference

Parameters controlling numerical optimisation of GP individuals. More...

#include <parameters.h>

Classes

struct  de_numerical_refinement_parameters

Public Attributes

struct ultra::parameters::refinement_parameters::de_numerical_refinement_parameters de
double fraction {0.01}
unsigned stagnation_threshold {10}
unsigned cooldown {5}
 Number of generations to wait after a refinement attempt.
unsigned tournament_size {0}
bool messages {true}

Detailed Description

Parameters controlling numerical optimisation of GP individuals.

Member Data Documentation

◆ fraction

double ultra::parameters::refinement_parameters::fraction {0.01}

Fraction of refinement tournament draws.

Determines how many tournament draws are performed from the refinement population. The value is in the range [0, 1]: 0.0 disables refinement, while 1.0 performs one draw per individual in the refinement population.

Draws are with replacement, but duplicate coordinates are discarded before refinement, so each individual is refined at most once per refinement phase.

◆ messages

bool ultra::parameters::refinement_parameters::messages {true}

If true, allow refinement backends to print progress and summary messages.

Remarks
Evolution-driven refinement disables backend messages because progress reporting is handled by the outer evolution loop, avoiding interleaved output during parallel refinement.

◆ stagnation_threshold

unsigned ultra::parameters::refinement_parameters::stagnation_threshold {10}

Number of generations without improvement before refinement is attempted.

◆ tournament_size

unsigned ultra::parameters::refinement_parameters::tournament_size {0}

Tournament size used to select candidates for refinement.

A value of 1 selects candidates uniformly at random. Larger values increasingly favour fitter individuals. A value of 0 reuses evolution.tournament_size.

Remarks
This is separate from evolution.tournament_size because refinement and parent selection may need different selection pressures.
Tournament participants are evaluated before refinement. Large values may therefore increase runtime, especially with expensive or stateful evaluators.

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