1#ifndef PRUNING_LIMITED_PRUNING_H
2#define PRUNING_LIMITED_PRUNING_H
4#include "downward/pruning_method.h"
6namespace limited_pruning {
7class LimitedPruning :
public PruningMethod {
8 std::shared_ptr<PruningMethod> pruning_method;
9 const double min_required_pruning_ratio;
10 const int num_expansions_before_checking_pruning_ratio;
11 int num_pruning_calls;
12 bool is_pruning_disabled;
15 prune(
const State& state, std::vector<OperatorID>& op_ids)
override;
18 explicit LimitedPruning(
19 const std::shared_ptr<PruningMethod>& pruning,
20 double min_required_pruning_ratio,
21 int expansions_before_checking_pruning_ratio,
22 utils::Verbosity verbosity);
23 virtual void initialize(
const std::shared_ptr<AbstractTask>&)
override;