public interface ISolverService
Modifier and Type | Method and Description |
---|---|
IConstr |
addAtMostOnTheFly(int[] literals,
int degree)
Add a new pseudo cardinality constraint sum literals <= degree in the
solver.
|
IConstr |
addClauseOnTheFly(int[] literals)
Add a new clause in the SAT solver.
|
void |
backtrack(int[] reason)
Ask the SAT solver to backtrack.
|
int |
currentDecisionLevel()
To access the current decision level
|
IVec<? extends IConstr> |
getLearnedConstraints()
Read-Only access to the list of constraints learned and not deleted so
far in the solver.
|
int[] |
getLiteralsPropagatedAt(int decisionLevel)
To access the literals propagated at a specific decision level.
|
String |
getLogPrefix() |
double[] |
getVariableHeuristics()
Read-Only access to the value of the heuristics for each variable.
|
int |
nVars()
Read-Only access to the number of variables declared in the solver.
|
boolean |
removeSubsumedConstr(IConstr c)
Remove a constraint returned by one of the add method from the solver
that is subsumed by a constraint already in the solver or to be added to
the solver.
|
void |
stop()
Ask the SAT solver to stop the search.
|
void |
suggestNextLiteralToBranchOn(int l)
Suggests to the SAT solver to branch next on the given literal.
|
Lbool |
truthValue(int literal)
To access the truth value of a specific literal under current assignment.
|
void stop()
void backtrack(int[] reason)
reason
- a set of literals, in Dimacs format, currently falsified, i.e.
for (int l : reason) assert truthValue(l) == Lbool.FALSEIConstr addClauseOnTheFly(int[] literals)
literals
- a set of literals in Dimacs format.IConstr addAtMostOnTheFly(int[] literals, int degree)
literals
- a set of literals in Dimacs format.degree
- the maximal number of literals which can be satisfied.Lbool truthValue(int literal)
literal
- a Dimacs literal, i.e. a non-zero integer.int currentDecisionLevel()
int[] getLiteralsPropagatedAt(int decisionLevel)
decisionLevel
- a decision level between 0 and #currentDecisionLevel()void suggestNextLiteralToBranchOn(int l)
l
- a literal in Dimacs format.double[] getVariableHeuristics()
IVec<? extends IConstr> getLearnedConstraints()
int nVars()
boolean removeSubsumedConstr(IConstr c)
c
- a constraint returned by one of the add method. It must be the
latest constr added to the solver.String getLogPrefix()
Copyright © 2013 Centre de Recherche en Informatique de Lens (CRIL). All Rights Reserved.