Ultra 0.9.4
Loading...
Searching...
No Matches
evolution_callbacks.h
Go to the documentation of this file.
1
12
13#if !defined(ULTRA_EVOLUTION_CALLBACKS_H)
14#define ULTRA_EVOLUTION_CALLBACKS_H
15
16#include "kernel/evaluator.h"
17#include "kernel/parameters.h"
18
19#include <functional>
20
21namespace ultra
22{
23
24template<Individual I> class layered_population;
25template<Individual I, Fitness F> struct scored_individual;
26template<Individual I, Fitness F> class summary;
27
28template<Individual I, Fitness F>
29using after_generation_callback_t =
30 std::function<void(const layered_population<I> &, const summary<I, F> &)>;
31
32template<Individual I, Fitness F>
33using on_new_best_callback_t =
34 std::function<void (const scored_individual<I, F> &)>;
35
45template<Evaluator E>
47 std::function<std::optional<evaluator_fitness_t<E>>(
48 evaluator_individual_t<E> &, const E &,
50
51using shake_function_callback_t = std::function<evaluation_context(unsigned)>;
52
53} // namespace ultra
54
55#endif // include guard
Definition layered_population.h:41
Definition evolution_summary.h:33
evaluation_context
Definition evaluation_context.h:28
std::function< std::optional< evaluator_fitness_t< E > >( evaluator_individual_t< E > &, const E &, const parameters::refinement_parameters &)> refinement_callback_t
Definition evolution_callbacks.h:46
Parameters controlling numerical optimisation of GP individuals.
Definition parameters.h:203
Definition scored_individual.h:48