5 #include "dreal/solver/brancher.h" 6 #include "dreal/util/box.h" 7 #include "dreal/util/dynamic_bitset.h" 8 #include "dreal/util/option_value.h" 21 using Brancher = std::function<int(
22 const Box& box,
const DynamicBitset& bitset,
Box* left,
Box* right)>;
101 int nlopt_maxeval()
const;
112 enum class SatDefaultPhase {
116 RandomInitialPhase = 3
139 static constexpr
double kDefaultPrecision{0.001};
140 static constexpr
double kDefaultNloptFtolRel{1e-6};
141 static constexpr
double kDefaultNloptFtolAbs{1e-6};
142 static constexpr
int kDefaultNloptMaxEval{100};
143 static constexpr
double kDefaultNloptMaxTime{0.01};
200 SatDefaultPhase::JeroslowWang};
208 std::ostream& operator<<(std::ostream& os,
211 std::ostream& operator<<(std::ostream& os,
const Config& config);
double nlopt_ftol_abs() const
Returns absolute tolerance on function value in NLopt.
Definition: config.cc:76
OptionValue< double > & mutable_nlopt_ftol_rel()
Returns a mutable OptionValue for nlopt_ftol_rel.
Definition: config.cc:72
const Brancher & brancher() const
Returns the brancher.
Definition: config.cc:66
OptionValue< int > & mutable_number_of_jobs()
Returns a mutable OptionValue for 'number_of_jobs'.
Definition: config.cc:51
Sum type of symbolic::Expression and symbolic::Formula.
Definition: api.cc:9
bool use_polytope_in_forall() const
Returns whether it uses polytope contractors inside forall contractors.
Definition: config.cc:29
OptionValue< double > & mutable_nlopt_maxtime()
Returns a mutable OptionValue for nlopt_maxtime.
Definition: config.cc:88
bool use_local_optimization() const
Returns whether it uses local optimization algorithm in exist-forall problems.
Definition: config.cc:43
OptionValue< bool > & mutable_use_worklist_fixpoint()
Returns a mutable OptionValue for 'use_worklist_fixpoint'.
Definition: config.cc:39
int number_of_jobs() const
Returns the number of parallel jobs.
Definition: config.cc:50
OptionValue< double > & mutable_precision()
Returns a mutable OptionValue for 'precision'.
Definition: config.cc:21
OptionValue< bool > & mutable_stack_left_box_first()
Returns a mutable OptionValue for 'stack_left_box_first'.
Definition: config.cc:56
SatDefaultPhase sat_default_phase() const
Returns the default phase for SAT solver.
Definition: config.cc:90
OptionValue< SatDefaultPhase > & mutable_sat_default_phase()
Returns a mutable OptionValue for sat_default_phase.
Definition: config.cc:94
bool use_polytope() const
Returns whether it uses polytope contractors or not.
Definition: config.cc:26
OptionValue< bool > & mutable_produce_models()
Returns a mutable OptionValue for 'produce_models'.
Definition: config.cc:24
OptionValue< bool > & mutable_use_polytope_in_forall()
Returns a mutable OptionValue for 'use_polytope_in_forall'.
Definition: config.cc:32
double nlopt_ftol_rel() const
Returns relative tolerance on function value in NLopt.
Definition: config.cc:70
OptionValue< double > & mutable_nlopt_ftol_abs()
Returns a mutable OptionValue for nlopt_ftol_abs.
Definition: config.cc:78
int BranchLargestFirst(const Box &box, const DynamicBitset &active_set, Box *const left, Box *const right)
Finds the largest dimension in active_set and partitions box into two sub-boxes by branching on the c...
Definition: brancher.cc:28
OptionValue< bool > & mutable_use_polytope()
Returns a mutable OptionValue for 'use_polytope'.
Definition: config.cc:27
double precision() const
Returns the precision option.
Definition: config.cc:20
OptionValue< bool > & mutable_use_local_optimization()
Returns a mutable OptionValue for 'use_local_optimization'.
Definition: config.cc:46
bool smtlib2_compliant() const
Returns if it's smtlib2_compliant mode.
Definition: config.cc:60
double nlopt_maxtime() const
Returns the maxtime in NLopt.
Definition: config.cc:86
Represents a n-dimensional interval vector.
Definition: box.h:17
uint32_t random_seed() const
Returns the random seed.
Definition: config.cc:98
bool use_worklist_fixpoint() const
Returns whether it uses worklist-fixpoint algorithm.
Definition: config.cc:36
OptionValue< bool > & mutable_smtlib2_compliant()
Returns a mutable OptionValue for smtlib2_compliant.
Definition: config.cc:62
OptionValue< uint32_t > & mutable_random_seed()
Returns a mutable OptionValue for random_seed.
Definition: config.cc:100
bool stack_left_box_first() const
Returns whether the ICP algorithm stacks the left box first after branching.
Definition: config.cc:53
OptionValue< Brancher > & mutable_brancher()
Returns a mutable OptionValue for brancher.
Definition: config.cc:68
OptionValue< int > & mutable_nlopt_maxeval()
Returns a mutable OptionValue for nlopt_maxeval.
Definition: config.cc:84
bool produce_models() const
Returns the produce_models option.
Definition: config.cc:23