1#ifndef OPERATOR_COUNTING_OPERATOR_COUNTING_HEURISTIC_H
2#define OPERATOR_COUNTING_OPERATOR_COUNTING_HEURISTIC_H
4#include "downward/heuristic.h"
6#include "downward/lp/lp_solver.h"
11namespace operator_counting {
12class ConstraintGenerator;
14class OperatorCountingHeuristic :
public Heuristic {
15 std::vector<std::shared_ptr<ConstraintGenerator>> constraint_generators;
16 lp::LPSolver lp_solver;
19 virtual int compute_heuristic(
const State& ancestor_state)
override;
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,
29 const std::string& description,
30 utils::Verbosity verbosity);