1#ifndef PROBFD_HEURISTICS_OCCUPATION_MEASURE_HEURISTIC_H
2#define PROBFD_HEURISTICS_OCCUPATION_MEASURE_HEURISTIC_H
4#include "probfd/heuristics/lp_heuristic.h"
5#include "probfd/task_evaluator_factory.h"
11class ConstraintGenerator;
25 std::shared_ptr<occupation_measures::ConstraintGenerator>
26 constraint_generator_;
30 std::shared_ptr<ProbabilisticTask> task,
31 std::shared_ptr<FDRCostFunction> task_cost_function,
33 lp::LPSolverType solver_type,
34 std::shared_ptr<occupation_measures::ConstraintGenerator>
35 constraint_generator);
38 void update_constraints(
const State& state)
const;
39 void reset_constraints(
const State& state)
const;
42class OccupationMeasureHeuristicFactory :
public TaskEvaluatorFactory {
43 const utils::Verbosity verbosity_;
44 const lp::LPSolverType lp_solver_type_;
45 const std::shared_ptr<occupation_measures::ConstraintGenerator>
49 OccupationMeasureHeuristicFactory(
50 utils::Verbosity verbosity,
51 lp::LPSolverType lp_solver_type,
52 const std::shared_ptr<occupation_measures::ConstraintGenerator>&
55 std::unique_ptr<FDREvaluator> create_evaluator(
56 std::shared_ptr<ProbabilisticTask> task,
57 std::shared_ptr<FDRCostFunction> task_cost_function)
override;
Base class for heuristics based on linear programming.
Definition lp_heuristic.h:24
Implements an occupation measure heuristic built from the specified LP constraints.
Definition occupation_measure_heuristic.h:21
This namespace contains heuristic implementations.
Definition additive_cartesian_heuristic.h:19
Namespace dedicated to occupation measure heuristic base classes.
Definition occupation_measure_heuristic.h:10