AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
pho_constraints.h
1#ifndef PROBFD_OCCUPATION_MEASURES_PHO_CONSTRAINTS_H
2#define PROBFD_OCCUPATION_MEASURES_PHO_CONSTRAINTS_H
3
4#include "probfd/occupation_measures/constraint_generator.h"
5
6#include "probfd/pdbs/types.h"
7
8#include <memory>
9
10// Forward Declarations
11class State;
12
13namespace lp {
14struct LPVariable;
15class LPConstraint;
16class LPSolver;
17} // namespace lp
18
19namespace probfd::pdbs {
20class PatternCollectionGenerator;
21}
22
24
25class PHOGenerator : public ConstraintGenerator {
26 std::shared_ptr<pdbs::PatternCollectionGenerator> generator_;
27 std::shared_ptr<pdbs::PPDBCollection> pdbs_;
28
29public:
30 explicit PHOGenerator(
31 std::shared_ptr<pdbs::PatternCollectionGenerator> generator);
32
33 void initialize_constraints(
34 const std::shared_ptr<ProbabilisticTask>& task,
35 const std::shared_ptr<FDRCostFunction>& task_cost_function,
36 lp::LinearProgram& lp) final;
37
38 void update_constraints(const State& state, lp::LPSolver& solver) final;
39 void reset_constraints(const State& state, lp::LPSolver& solver) final;
40};
41
42} // namespace probfd::occupation_measures
43
44#endif // PROBFD_OCCUPATION_MEASURES_PHO_CONSTRAINTS_H
Namespace dedicated to occupation measure heuristic base classes.
Definition occupation_measure_heuristic.h:10
Namespace dedicated to probabilistic pattern databases.
Definition gzocp_heuristic.h:16