Ultra 0.9.4
Loading...
Searching...
No Matches
ga/problem.h
Go to the documentation of this file.
1
12
13#if !defined(ULTRA_GA_PROBLEM_H)
14#define ULTRA_GA_PROBLEM_H
15
16#include "kernel/problem.h"
17#include "kernel/ga/primitive.h"
18
19namespace ultra::ga
20{
21
28class problem : public ultra::problem
29{
30public:
31 // ---- Constructors ----
32 problem() = default;
33 problem(std::size_t, const interval<int> &);
34 explicit problem(const std::vector<interval<int>> &);
35
36 [[nodiscard]] std::size_t parameters() const noexcept;
37
38 template<symbol_set::weight_t = symbol_set::default_weight>
41};
42
51template<symbol_set::weight_t W>
53 symbol::category_t category)
54{
55 return sset.insert<integer, W>(itval, category);
56}
57
58} // namespace ultra::ga
59
60#endif // include guard
Definition ga/primitive.h:28
std::size_t parameters() const noexcept
Definition ga/problem.cc:63
integer * insert(const interval< int > &, symbol::category_t=symbol::undefined_category)
Definition ga/problem.h:52
static constexpr category_t undefined_category
Sentinel value indicating that the category has not yet been assigned.
Definition symbol.h:61
unsigned category_t
Definition symbol.h:55
Definition interval.h:37
Definition problem.h:26