AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
pho_constraints.h
1#ifndef OPERATOR_COUNTING_PHO_CONSTRAINTS_H
2#define OPERATOR_COUNTING_PHO_CONSTRAINTS_H
3
4#include "downward/operator_counting/constraint_generator.h"
5
6#include "downward/algorithms/named_vector.h"
7
8#include "downward/pdbs/types.h"
9
10#include <memory>
11
12namespace pdbs {
13class PatternCollectionGenerator;
14}
15
16namespace operator_counting {
17class PhOConstraints : public ConstraintGenerator {
18 std::shared_ptr<pdbs::PatternCollectionGenerator> pattern_generator;
19
20 int constraint_offset;
21 std::shared_ptr<pdbs::PDBCollection> pdbs;
22
23public:
24 explicit PhOConstraints(
25 const std::shared_ptr<pdbs::PatternCollectionGenerator>& patterns);
26
27 virtual void initialize_constraints(
28 const std::shared_ptr<AbstractTask>& task,
29 lp::LinearProgram& lp) override;
30 virtual bool
31 update_constraints(const State& state, lp::LPSolver& lp_solver) override;
32};
33} // namespace operator_counting
34
35#endif