Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <clause.h>
Public Member Functions | |
Watcher ()=default | |
Watcher (SatClause *c, Literal b, int i=2) | |
Public Attributes | |
Literal | blocking_literal |
int32_t | start_index |
SatClause * | clause |
Contains, for each literal, the list of clauses that need to be inspected when the corresponding literal becomes false.
|
default |
Literal operations_research::sat::ClauseManager::Watcher::blocking_literal |
SatClause* operations_research::sat::ClauseManager::Watcher::clause |
int32_t operations_research::sat::ClauseManager::Watcher::start_index |
Optimization. An index in the clause. Instead of looking for another literal to watch from the start, we will start from here instead, and loop around if needed. This allows to avoid bad quadratic corner cases and lead to an "optimal" complexity. See "Optimal Implementation of Watched Literals and more General Techniques", Ian P. Gent.