SMT-RAT
24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
Settings.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
smtrat-cadcells/representation/heuristics.h
>
4
#include <
smtrat-coveringng/FormulaEvaluationComplexity.h
>
5
#include <
smtrat-coveringng/VariableOrdering.h
>
6
#include <
smtrat-mcsat/variableordering/VariableOrdering.h
>
7
8
namespace
smtrat::qe::coverings
{
9
struct
DefaultSettings
{
10
// Variable ordering
11
static
constexpr
covering_ng::variables::VariableOrderingHeuristics
variable_ordering_heuristic
=
covering_ng::variables::VariableOrderingHeuristics::GreedyMaxUnivariate
;
12
13
// Projection operator
14
using
op
=
cadcells::operators::Mccallum<cadcells::operators::MccallumSettingsComplete>
;
15
static
constexpr
cadcells::representation::CellHeuristic
cell_heuristic
=
cadcells::representation::BIGGEST_CELL
;
16
static
constexpr
cadcells::representation::CoveringHeuristic
covering_heuristic
=
cadcells::representation::BIGGEST_CELL_COVERING_MIN_TDEG
;
17
static
constexpr
covering_ng::SamplingAlgorithm
sampling_algorithm
=
covering_ng::SamplingAlgorithm::LOWER_UPPER_BETWEEN_SAMPLING_AVOID_RAN
;
18
19
// Implicant computation
20
struct
formula_evaluation
{
21
using
Type
=
covering_ng::formula::GraphEvaluation
;
22
static
auto
create
(
cadcells::datastructures::Projections
& proj) {
23
auto
fe_implicant_ordering =
covering_ng::formula::complexity::sotd
;
24
std::size_t fe_results = 1;
25
auto
fe_constraint_ordering =
covering_ng::formula::complexity::min_tdeg
;
26
bool
fe_stop_evaluation_on_conflict =
false
;
27
bool
fe_preprocess =
true
;
28
bool
fe_postprocess =
false
;
29
auto
fe_boolean_exploration =
covering_ng::formula::GraphEvaluation::PROPAGATION
;
30
return
Type
(proj, fe_implicant_ordering, fe_results, fe_constraint_ordering, fe_stop_evaluation_on_conflict, fe_preprocess, fe_postprocess, fe_boolean_exploration);
31
}
32
};
33
};
34
}
// namespace smtrat::qe::coverings
FormulaEvaluationComplexity.h
smtrat::cadcells::datastructures::Projections
Encapsulates all computations on polynomials.
Definition:
projections.h:46
smtrat::covering_ng::formula::GraphEvaluation
Definition:
FormulaEvaluationGraph.h:76
smtrat::covering_ng::formula::GraphEvaluation::PROPAGATION
@ PROPAGATION
Definition:
FormulaEvaluationGraph.h:79
heuristics.h
smtrat::cadcells::representation::CellHeuristic
CellHeuristic
Definition:
heuristics.h:10
smtrat::cadcells::representation::BIGGEST_CELL
@ BIGGEST_CELL
Definition:
heuristics.h:11
smtrat::cadcells::representation::CoveringHeuristic
CoveringHeuristic
Definition:
heuristics.h:15
smtrat::cadcells::representation::BIGGEST_CELL_COVERING_MIN_TDEG
@ BIGGEST_CELL_COVERING_MIN_TDEG
Definition:
heuristics.h:16
smtrat::covering_ng::formula::complexity::min_tdeg
bool min_tdeg(cadcells::datastructures::Projections &proj, const cadcells::datastructures::PolyConstraint &a, const cadcells::datastructures::PolyConstraint &b)
Definition:
FormulaEvaluationComplexity.h:179
smtrat::covering_ng::formula::complexity::sotd
bool sotd(cadcells::datastructures::Projections &proj, const boost::container::flat_set< cadcells::datastructures::PolyConstraint > &a, const boost::container::flat_set< cadcells::datastructures::PolyConstraint > &b)
Dolzmann et al 2004.
Definition:
FormulaEvaluationComplexity.h:141
smtrat::covering_ng::variables::VariableOrderingHeuristics
VariableOrderingHeuristics
Possible heuristics for variable ordering.
Definition:
VariableOrdering.h:17
smtrat::covering_ng::variables::GreedyMaxUnivariate
@ GreedyMaxUnivariate
Definition:
VariableOrdering.h:18
smtrat::covering_ng::SamplingAlgorithm
SamplingAlgorithm
Definition:
Sampling.h:6
smtrat::covering_ng::SamplingAlgorithm::LOWER_UPPER_BETWEEN_SAMPLING_AVOID_RAN
@ LOWER_UPPER_BETWEEN_SAMPLING_AVOID_RAN
smtrat::qe::coverings
Definition:
qe.cpp:12
VariableOrdering.h
VariableOrdering.h
smtrat::cadcells::operators::Mccallum
Definition:
operator_mccallum.h:22
smtrat::qe::coverings::DefaultSettings::formula_evaluation
Definition:
Settings.h:20
smtrat::qe::coverings::DefaultSettings::formula_evaluation::Type
covering_ng::formula::GraphEvaluation Type
Definition:
Settings.h:21
smtrat::qe::coverings::DefaultSettings::formula_evaluation::create
static auto create(cadcells::datastructures::Projections &proj)
Definition:
Settings.h:22
smtrat::qe::coverings::DefaultSettings
Definition:
Settings.h:9
smtrat::qe::coverings::DefaultSettings::covering_heuristic
static constexpr cadcells::representation::CoveringHeuristic covering_heuristic
Definition:
Settings.h:16
smtrat::qe::coverings::DefaultSettings::cell_heuristic
static constexpr cadcells::representation::CellHeuristic cell_heuristic
Definition:
Settings.h:15
smtrat::qe::coverings::DefaultSettings::sampling_algorithm
static constexpr covering_ng::SamplingAlgorithm sampling_algorithm
Definition:
Settings.h:17
smtrat::qe::coverings::DefaultSettings::variable_ordering_heuristic
static constexpr covering_ng::variables::VariableOrderingHeuristics variable_ordering_heuristic
Definition:
Settings.h:11
smtrat-qe
coverings
Settings.h
Generated by
1.9.1