13#if !defined(ULTRA_EVOLUTION_SUMMARY_H)
14#define ULTRA_EVOLUTION_SUMMARY_H
31template<Indiv
idual I, Fitness F>
36 using on_new_best_callback_t = ultra::on_new_best_callback_t<I, F>;
52 [[nodiscard]]
unsigned stagnation()
const;
56 [[nodiscard]]
bool save(std::ostream &)
const;
69 mutable ignore_copy<std::shared_mutex> mutex_ {};
76 [[nodiscard]] data data_snapshot()
const;
80 on_new_best_callback_t on_new_best_callback_ {};
Definition evolution_status.h:36
evolution_status< I, F > starting_status()
Definition evolution_summary.h:40
summary & on_new_best(on_new_best_callback_t)
Definition evolution_summary.h:70
unsigned last_improvement() const
Definition evolution_summary.h:156
void set_best_fitness(F)
Definition evolution_summary.h:128
scored_individual< I, F > best() const
Definition evolution_summary.h:147
bool save(std::ostream &) const
Definition evolution_summary.h:208
void clear()
Definition evolution_summary.h:25
std::chrono::milliseconds elapsed
Time elapsed from evolution beginning.
Definition evolution_summary.h:62
unsigned generation
Definition evolution_summary.h:66
bool update_if_better(scored_individual< I, F >)
Definition evolution_summary.h:99
bool load(std::istream &, const problem &)
Definition evolution_summary.h:172
Definition scored_individual.h:48