Skip to content

Commit

Permalink
refactor: add support for teams to search class
Browse files Browse the repository at this point in the history
Issue #11
  • Loading branch information
morinim committed Apr 27, 2024
1 parent eda639c commit 29b49c0
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 40 deletions.
38 changes: 0 additions & 38 deletions src/kernel/gp/src/search.cc

This file was deleted.

5 changes: 3 additions & 2 deletions src/kernel/gp/src/search.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,16 @@ class basic_search : public ultra::search<ES, E>
}; // class basic_search


template<IndividualOrTeam P = gp::individual>
class search
{
public:
using individual_t = gp::individual;
using individual_t = P;
using fitness_t = double;

search(problem &p, metric_flags m = metric_flags::nothing);

search_stats<individual_t, fitness_t> run(unsigned = 1);
search_stats<P, fitness_t> run(unsigned = 1);

private:
// *** Private data members ***
Expand Down
21 changes: 21 additions & 0 deletions src/kernel/gp/src/search.tcc
Original file line number Diff line number Diff line change
Expand Up @@ -347,4 +347,25 @@ bool basic_search<ES, E>::is_valid() const
return ultra::search<ES, E>::is_valid();
}

template<IndividualOrTeam P>
search<P>::search(problem &p, metric_flags m) : prob_(p), metrics_(m)
{
}

template<IndividualOrTeam P>
search_stats<P, typename search<P>::fitness_t> search<P>::run(unsigned n)
{
if (prob_.classification())
{
return {};
}
else
{
basic_search<alps_es, rmae_evaluator<P>> reg_search(
prob_, rmae_evaluator<P>(prob_.data()), metrics_);

return reg_search.run(n);
}
}

#endif // include guard

0 comments on commit 29b49c0

Please sign in to comment.