|
| StructuredBVA (int _id, unsigned long maxReplacements, bool shuffleTies) |
| Constructor.
|
|
| ~StructuredBVA () |
| Destructor.
|
|
unsigned int | getVariablesCount () override |
| Get the current number of variables.
|
|
void | setSolverInterrupt () override |
| Interrupt resolution, solving cannot continue until interrupt is unset.
|
|
void | unsetSolverInterrupt () override |
| Remove the SAT solving interrupt request.
|
|
SatResult | solve (const std::vector< int > &cube={}) override |
| Solve the formula with a given cube.
|
|
void | addInitialClauses (const std::vector< simpleClause > &clauses, unsigned int nbVariables) override |
| Add a list of initial clauses to the formula.
|
|
void | loadFormula (const char *filename) override |
| Load formula from a given dimacs file.
|
|
void | printStatistics () override |
| Print solver statistics.
|
|
std::vector< simpleClause > | getSimplifiedFormula () override |
| Get the simplified formula after preprocessing.
|
|
PreprocessorStats | getPreprocessorStatistics () |
| Get statistics about the preprocessing.
|
|
int | getDivisionVariable () |
| Get a variable suitable for search splitting.
|
|
void | addClause (ClauseExchangePtr clause) |
| Add a permanent clause to the formula.
|
|
void | addClauses (const std::vector< ClauseExchangePtr > &clauses) |
| Add a list of permanent clauses to the formula.
|
|
void | diversify (const SeedGenerator &getSeed=[](SolverInterface *s) { return s->getSolverId();}) |
| Diversify the preprocessor's behavior.
|
|
void | updateAdjacencyMatrix (int var) |
|
unsigned int | getThreeHopHeuristic (int lit1, int lit2) |
|
int | leastFrequentLiteral (simpleClause &clause, int lit) |
|
void | setTieBreakHeuristic (SBVATieBreak tieBreak) |
|
void | releaseMemory () |
| Release memory used by the preprocessor.
|
|
void | restoreModel (std::vector< int > &model) override |
| Restore the model by removing added clauses.
|
|
int | threeHopTieBreak (const std::vector< int > &ties, const int currentLit) |
|
int | mostOccurTieBreak (const std::vector< int > &ties, const int currentLit) |
|
int | leastOccurTieBreak (const std::vector< int > &ties, const int currentLit) |
|
int | randomTieBreak (const std::vector< int > &ties, const int currentLit) |
|
std::vector< int > | getModel () override |
| Return the model in case of SAT result.
|
|
| PreprocessorInterface (PreprocessorAlgorithm algo, int id) |
| Constructor for PreprocessorInterface.
|
|
virtual void | printWinningLog () |
| Print the winning log.
|
|
bool | isInitialized () |
| Check if the solver is initialized.
|
|
void | setInitialized (bool value) |
| Set the initialization status of the solver.
|
|
SolverAlgorithmType | getAlgoType () |
| Get the algorithm type of the solver.
|
|
unsigned int | getSolverTypeId () |
| Get the solver type ID.
|
|
void | setSolverTypeId (unsigned int typeId) |
| Set the solver type ID.
|
|
unsigned int | getSolverId () |
| Get the solver ID.
|
|
void | setSolverId (unsigned int id) |
| Set the solver ID.
|
|
unsigned int | getSolverTypeCount () const |
| Get the current count of instances of this object's most-derived type.
|
|
| SolverInterface (SolverAlgorithmType algoType, int solverId) |
| Constructor for SolverInterface.
|
|
virtual | ~SolverInterface () |
| Virtual destructor for SolverInterface.
|
|
Structured Binary Variable Addition (SBVA) preprocessing algorithm.
This class implements the Structured BVA preprocessing technique for SAT solving. It is based on the original implementation from https://github.com/hgarrereyn/SBVA, reorganized and adapted for this solver framework.