|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ISolver
This interface contains all services provided by a SAT solver.
Method Summary | |
---|---|
void |
addAllClauses(IVec<IVecInt> clauses)
Create clauses from a set of set of literals. |
IConstr |
addAtLeast(IVecInt literals,
int degree)
Create a cardinality constraint of the type "at least n of those literals must be satisfied" |
IConstr |
addAtMost(IVecInt literals,
int degree)
Create a cardinality constraint of the type "at most n of those literals must be satisfied" |
IConstr |
addBlockingClause(IVecInt literals)
Add a clause in order to prevent an assignment to occur. |
IConstr |
addClause(IVecInt literals)
Create a clause from a set of literals The literals are represented by non null integers such that opposite literals a represented by opposite values. |
void |
clearLearntClauses()
Remove clauses learned during the solving process. |
void |
expireTimeout()
Expire the timeout of the solver. |
String |
getLogPrefix()
|
SearchListener |
getSearchListener()
Get the current SearchListener. |
Map<String,Number> |
getStat()
To obtain a map of the available statistics from the solver. |
int |
getTimeout()
Useful to check the internal timeout of the solver. |
long |
getTimeoutMs()
Useful to check the internal timeout of the solver. |
boolean |
isDBSimplificationAllowed()
Indicate whether the solver is allowed to simplify the formula by propagating the truth value of top level satisfied variables. |
boolean |
isVerbose()
To know if the solver is in verbose mode (output allowed) or not. |
int |
newVar()
Deprecated. |
int |
newVar(int howmany)
Create howmany variables in the solver (and thus in the
vocabulary). |
int |
nextFreeVarId(boolean reserve)
Ask the solver for a free variable identifier, in Dimacs format (i.e. a positive number). |
void |
printStat(PrintStream out,
String prefix)
Deprecated. |
void |
printStat(PrintWriter out,
String prefix)
Display statistics to the given output writer |
boolean |
removeConstr(IConstr c)
Remove a constraint returned by one of the add method from 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 |
reset()
Clean up the internal state of the solver. |
void |
setDBSimplificationAllowed(boolean status)
Set whether the solver is allowed to simplify the formula by propagating the truth value of top level satisfied variables. |
void |
setExpectedNumberOfClauses(int nb)
To inform the solver of the expected number of clauses to read. |
void |
setLogPrefix(String prefix)
Set the prefix used to display information. |
void |
setSearchListener(SearchListener sl)
Allow the user to hook a listener to the solver to be notified of the main steps of the search process. |
void |
setTimeout(int t)
To set the internal timeout of the solver. |
void |
setTimeoutMs(long t)
To set the internal timeout of the solver. |
void |
setTimeoutOnConflicts(int count)
To set the internal timeout of the solver. |
void |
setVerbose(boolean value)
Set the verbosity of the solver |
String |
toString(String prefix)
Display a textual representation of the solver configuration. |
IVecInt |
unsatExplanation()
Retrieve an explanation of the inconsistency in terms of assumption literals. |
Methods inherited from interface org.sat4j.specs.IProblem |
---|
findModel, findModel, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, model, model, nConstraints, nVars, printInfos |
Method Detail |
---|
@Deprecated int newVar()
int newVar(int howmany)
howmany
variables in the solver (and thus in the
vocabulary).
howmany
- number of variables to create
int nextFreeVarId(boolean reserve)
reserve
- if true, the maxVarId is updated in the solver, i.e.
successive calls to nextFreeVarId(true) will return increasing
variable id while successive calls to nextFreeVarId(false)
will always answer the same.
void setExpectedNumberOfClauses(int nb)
p cnf
line is
read in dimacs formatted input file.
Note that this method is supposed to be called AFTER a call to
newVar(int)
nb
- the expected number of clauses.newVar(int)
IConstr addClause(IVecInt literals) throws ContradictionException
literals
- a set of literals
ContradictionException
- iff the vector of literals is empty or if it contains only
falsified literals after unit propagationremoveConstr(IConstr)
IConstr addBlockingClause(IVecInt literals) throws ContradictionException
literals
-
ContradictionException
boolean removeConstr(IConstr c)
c
- a constraint returned by one of the add method.
boolean removeSubsumedConstr(IConstr c)
c
- a constraint returned by one of the add method. It must be the
latest constr added to the solver.
void addAllClauses(IVec<IVecInt> clauses) throws ContradictionException
clauses
- a vector of set (VecInt) of literals in the dimacs format. The
vector can be reused since the solver is not supposed to keep
a reference to that vector.
ContradictionException
- iff the vector of literals is empty or if it contains only
falsified literals after unit propagationaddClause(IVecInt)
IConstr addAtMost(IVecInt literals, int degree) throws ContradictionException
literals
- a set of literals The vector can be reused since the solver is
not supposed to keep a reference to that vector.degree
- the degree of the cardinality constraint
ContradictionException
- iff the vector of literals is empty or if it contains more
than degree satisfied literals after unit propagationremoveConstr(IConstr)
IConstr addAtLeast(IVecInt literals, int degree) throws ContradictionException
literals
- a set of literals. The vector can be reused since the solver
is not supposed to keep a reference to that vector.degree
- the degree of the cardinality constraint
ContradictionException
- iff the vector of literals is empty or if degree literals are
not remaining unfalsified after unit propagationremoveConstr(IConstr)
void setTimeout(int t)
t
- the timeout (in s)void setTimeoutOnConflicts(int count)
count
- the timeout (in number of counflicts)void setTimeoutMs(long t)
t
- the timeout (in milliseconds)int getTimeout()
long getTimeoutMs()
void expireTimeout()
void reset()
@Deprecated void printStat(PrintStream out, String prefix)
out
- prefix
- the prefix to put in front of each lineprintStat(PrintWriter, String)
void printStat(PrintWriter out, String prefix)
out
- prefix
- the prefix to put in front of each lineMap<String,Number> getStat()
String toString(String prefix)
prefix
- the prefix to use on each line.
void clearLearntClauses()
void setDBSimplificationAllowed(boolean status)
boolean isDBSimplificationAllowed()
void setSearchListener(SearchListener sl)
sl
- a Search Listener.SearchListener getSearchListener()
boolean isVerbose()
void setVerbose(boolean value)
value
- true to allow the solver to output messages on the console,
false either.void setLogPrefix(String prefix)
prefix
- the prefix to be in front of each line of textString getLogPrefix()
IVecInt unsatExplanation()
IProblem.isSatisfiable(IVecInt)
,
IProblem.isSatisfiable(IVecInt, boolean)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |