AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
operator_counting_heuristic.h
1#ifndef OPERATOR_COUNTING_OPERATOR_COUNTING_HEURISTIC_H
2#define OPERATOR_COUNTING_OPERATOR_COUNTING_HEURISTIC_H
3
4#include "downward/heuristic.h"
5
6#include "downward/lp/lp_solver.h"
7
8#include <memory>
9#include <vector>
10
11namespace operator_counting {
12class ConstraintGenerator;
13
14class OperatorCountingHeuristic : public Heuristic {
15 std::vector<std::shared_ptr<ConstraintGenerator>> constraint_generators;
16 lp::LPSolver lp_solver;
17
18protected:
19 virtual int compute_heuristic(const State& ancestor_state) override;
20
21public:
22 OperatorCountingHeuristic(
23 const std::vector<std::shared_ptr<ConstraintGenerator>>&
24 constraint_generators,
25 bool use_integer_operator_counts,
26 lp::LPSolverType lpsolver,
27 const std::shared_ptr<AbstractTask>& transform,
28 bool cache_estimates,
29 const std::string& description,
30 utils::Verbosity verbosity);
31};
32} // namespace operator_counting
33
34#endif