|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.sat4j.minisat.core.Solver<D>
public class Solver<D extends DataStructureFactory>
The backbone of the library providing the modular implementation of a MiniSAT (Chaff) like solver.
| Field Summary | |
|---|---|
protected IVec<Constr> |
constrs
Set of original constraints. |
protected D |
dsfactory
|
ISimplifier |
EXPENSIVE_SIMPLIFICATION
|
ISimplifier |
EXPENSIVE_SIMPLIFICATION_WLONLY
|
LearnedConstraintsDeletionStrategy |
glucose
|
protected LearnedConstraintsDeletionStrategy |
learnedConstraintsDeletionStrategy
|
protected IVec<Constr> |
learnts
Set of learned constraints. |
LearnedConstraintsDeletionStrategy |
memory_based
|
static ISimplifier |
NO_SIMPLIFICATION
|
protected ICDCLLogger |
out
|
protected int |
rootLevel
S? |
ISimplifier |
SIMPLE_SIMPLIFICATION
|
protected SearchListener |
slistener
|
protected IVecInt |
trail
affectation en ordre chronologique |
protected IVecInt |
trailLim
indice des s? |
protected boolean |
undertimeout
|
protected ILits |
voc
|
| Constructor Summary | |
|---|---|
Solver(LearningStrategy<D> learner,
D dsf,
IOrder order,
RestartStrategy restarter)
creates a Solver without LearningListener. |
|
Solver(LearningStrategy<D> learner,
D dsf,
SearchParams params,
IOrder order,
RestartStrategy restarter)
|
|
Solver(LearningStrategy<D> learner,
D dsf,
SearchParams params,
IOrder order,
RestartStrategy restarter,
ICDCLLogger logger)
|
|
| 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. |
|
void |
addClause(int[] literals)
Add a new clause in the SAT solver. |
|
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. |
|
protected IConstr |
addConstr(Constr constr)
|
|
IConstr |
addExactly(IVecInt literals,
int n)
Create a cardinality constraint of the type "exactly n of those literals must be satisfied". |
|
void |
analyze(Constr confl,
Pair results)
|
|
protected void |
analyzeAtRootLevel(Constr conflict)
|
|
IVecInt |
analyzeFinalConflictInTermsOfAssumptions(Constr confl,
IVecInt assumps,
int conflictingLiteral)
Derive a subset of the assumptions causing the inconistency. |
|
boolean |
assume(int p)
|
|
void |
backtrack(int[] reason)
Ask the SAT solver to backtrack. |
|
protected void |
cancelUntil(int level)
Cancel several levels of assumptions |
|
void |
claBumpActivity(Constr confl)
Propagate activity to a constraint |
|
void |
clearLearntClauses()
Remove clauses learned during the solving process. |
|
int |
currentDecisionLevel()
To access the current decision level |
|
protected void |
decayActivities()
|
|
int |
decisionLevel()
|
|
protected IVecInt |
dimacs2internal(IVecInt in)
|
|
boolean |
enqueue(int p)
satisfies a literal |
|
boolean |
enqueue(int p,
Constr from)
satisfies a literal |
|
void |
expireTimeout()
Expire the timeout of the solver. |
|
int[] |
findModel()
Look for a model satisfying all the clauses available in the problem. |
|
int[] |
findModel(IVecInt assumps)
Look for a model satisfying all the clauses available in the problem. |
|
LearnedConstraintsDeletionStrategy |
fixedSize(int maxsize)
|
|
DataStructureFactory |
getDSFactory()
|
|
IConstr |
getIthConstr(int i)
returns the ith constraint in the solver. |
|
IVec<Constr> |
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. |
|
ICDCLLogger |
getLogger()
|
|
String |
getLogPrefix()
|
|
IOrder |
getOrder()
|
|
IVecInt |
getOutLearnt()
|
|
RestartStrategy |
getRestartStrategy()
|
|
|
getSearchListener()
Get the current SearchListener. |
|
ISimplifier |
getSimplifier()
|
|
Map<String,Number> |
getStat()
To obtain a map of the available statistics from the solver. |
|
SolverStats |
getStats()
|
|
int |
getTimeout()
Useful to check the internal timeout of the solver. |
|
long |
getTimeoutMs()
Useful to check the internal timeout of the solver. |
|
double[] |
getVariableHeuristics()
Read-Only access to the value of the heuristics for each variable. |
|
ILits |
getVocabulary()
|
|
protected void |
initStats(SolverStats myStats)
|
|
boolean |
isDBSimplificationAllowed()
Indicate whether the solver is allowed to simplify the formula by propagating the truth value of top level satisfied variables. |
|
protected boolean |
isNeedToReduceDB()
|
|
boolean |
isSatisfiable()
Check the satisfiability of the set of constraints contained inside the solver. |
|
boolean |
isSatisfiable(boolean global)
Check the satisfiability of the set of constraints contained inside the solver. |
|
boolean |
isSatisfiable(IVecInt assumps)
Check the satisfiability of the set of constraints contained inside the solver. |
|
boolean |
isSatisfiable(IVecInt assumps,
boolean global)
Check the satisfiability of the set of constraints contained inside the solver. |
|
boolean |
isSolverKeptHot()
Ask to the solver if it is in "hot" mode, meaning that the heuristics is not reset after call is isSatisfiable(). |
|
boolean |
isVerbose()
To know if the solver is in verbose mode (output allowed) or not. |
|
void |
learn(Constr c)
|
|
int[] |
model()
Si un mod? |
|
boolean |
model(int var)
Provide the truth value of a specific variable in the model. |
|
int[] |
modelWithInternalVariables()
That method is designed to be used to retrieve the real model of the current set of constraints, i.e. to provide the truth value of boolean variables used internally in the solver (for encoding purposes for instance). |
|
protected int |
nAssigns()
|
|
int |
nConstraints()
To know the number of constraints currently available in the solver. |
|
int |
newVar()
Deprecated. |
|
int |
newVar(int howmany)
Declare howmany variables in the problem (and thus in the
vocabulary), that will be represented using the Dimacs format by integers
ranging from 1 to howmany. |
|
int |
nextFreeVarId(boolean reserve)
Ask the solver for a free variable identifier, in Dimacs format (i.e. a positive number). |
|
int |
nVars()
Read-Only access to the number of variables declared in the solver. |
|
int[] |
primeImplicant()
Provide a prime implicant, i.e. a set of literal that is sufficient to satisfy all constraints of the problem. |
|
boolean |
primeImplicant(int p)
Check if a given literal is part of the prime implicant computed by the IProblem.primeImplicant() method. |
|
void |
printInfos(PrintWriter out,
String prefix)
To print additional informations regarding the problem. |
|
void |
printLearntClausesInfos(PrintWriter out,
String prefix)
|
|
void |
printStat(PrintStream out,
String prefix)
Display statistics to the given output stream Please use writers instead of stream. |
|
void |
printStat(PrintWriter out,
String prefix)
Display statistics to the given output writer |
|
Constr |
propagate()
|
|
int |
realNumberOfVariables()
Retrieve the real number of variables used in the solver. |
|
protected void |
reduceDB()
|
|
void |
registerLiteral(int p)
Tell the solver to consider that the literal is in the CNF. |
|
boolean |
removeConstr(IConstr co)
Remove a constraint returned by one of the add method from the solver. |
|
boolean |
removeSubsumedConstr(IConstr co)
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 |
setDataStructureFactory(D dsf)
Change the internal representation of the constraints. |
|
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 |
setKeepSolverHot(boolean keepHot)
Changed the behavior of the SAT solver heuristics between successive calls. |
|
void |
setLearnedConstraintsDeletionStrategy(ConflictTimer timer,
LearnedConstraintsEvaluationType evaluation)
|
|
void |
setLearnedConstraintsDeletionStrategy(LearnedConstraintsDeletionStrategy lcds)
|
|
void |
setLearnedConstraintsDeletionStrategy(LearnedConstraintsEvaluationType evaluation)
|
|
void |
setLearner(LearningStrategy<D> learner)
|
|
void |
setLogger(ICDCLLogger out)
|
|
void |
setLogPrefix(String prefix)
Set the prefix used to display information. |
|
void |
setNeedToReduceDB(boolean needToReduceDB)
|
|
void |
setOrder(IOrder h)
|
|
void |
setRestartStrategy(RestartStrategy restarter)
|
|
|
setSearchListener(SearchListener<S> sl)
Allow the user to hook a listener to the solver to be notified of the main steps of the search process. |
|
void |
setSearchParams(SearchParams sp)
|
|
void |
setSimplifier(ISimplifier simp)
Setup the reason simplification strategy. |
|
void |
setSimplifier(SimplificationType simp)
Setup the reason simplification strategy. |
|
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 |
|
boolean |
simplifyDB()
|
|
protected void |
sortOnActivity()
|
|
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. |
|
String |
toString()
|
|
String |
toString(String prefix)
Display a textual representation of the solver configuration. |
|
Lbool |
truthValue(int literal)
To access the truth value of a specific literal under current assignment. |
|
protected void |
undoOne()
|
|
IVecInt |
unsatExplanation()
Retrieve an explanation of the inconsistency in terms of assumption literals. |
|
void |
unset(int p)
Unset a unit clause. |
|
void |
varBumpActivity(int p)
Update the activity of a variable v. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected ICDCLLogger out
protected final IVec<Constr> constrs
protected final IVec<Constr> learnts
protected final IVecInt trail
protected final IVecInt trailLim
protected int rootLevel
protected ILits voc
protected volatile boolean undertimeout
protected D extends DataStructureFactory dsfactory
protected SearchListener slistener
public static final ISimplifier NO_SIMPLIFICATION
public final ISimplifier SIMPLE_SIMPLIFICATION
public final ISimplifier EXPENSIVE_SIMPLIFICATION
public final ISimplifier EXPENSIVE_SIMPLIFICATION_WLONLY
public final LearnedConstraintsDeletionStrategy memory_based
public final LearnedConstraintsDeletionStrategy glucose
protected LearnedConstraintsDeletionStrategy learnedConstraintsDeletionStrategy
| Constructor Detail |
|---|
public Solver(LearningStrategy<D> learner,
D dsf,
IOrder order,
RestartStrategy restarter)
public Solver(LearningStrategy<D> learner,
D dsf,
SearchParams params,
IOrder order,
RestartStrategy restarter)
public Solver(LearningStrategy<D> learner,
D dsf,
SearchParams params,
IOrder order,
RestartStrategy restarter,
ICDCLLogger logger)
| Method Detail |
|---|
protected IVecInt dimacs2internal(IVecInt in)
public void registerLiteral(int p)
ISolver
registerLiteral in interface ISolverp - the literal in Dimacs format that should appear in the model.public final void setDataStructureFactory(D dsf)
ICDCL
setDataStructureFactory in interface ICDCL<D extends DataStructureFactory>dsf - the internal factorypublic boolean isVerbose()
ISolver
isVerbose in interface ISolverpublic void setVerbose(boolean value)
ISolver
setVerbose in interface ISolvervalue - public <S extends ISolverService> void setSearchListener(SearchListener<S> sl)
ISolver
setSearchListener in interface ISolversl - a Search Listener.public <S extends ISolverService> SearchListener<S> getSearchListener()
ISolver
getSearchListener in interface ISolverpublic void setLearner(LearningStrategy<D> learner)
setLearner in interface ICDCL<D extends DataStructureFactory>public void setTimeout(int t)
ISolver
setTimeout in interface ISolvert - the timeout (in s)public void setTimeoutMs(long t)
ISolver
setTimeoutMs in interface ISolvert - the timeout (in milliseconds)public void setTimeoutOnConflicts(int count)
ISolver
setTimeoutOnConflicts in interface ISolvercount - the timeout (in number of counflicts)public void setSearchParams(SearchParams sp)
setSearchParams in interface ICDCL<D extends DataStructureFactory>public void setRestartStrategy(RestartStrategy restarter)
setRestartStrategy in interface ICDCL<D extends DataStructureFactory>public RestartStrategy getRestartStrategy()
getRestartStrategy in interface ICDCL<D extends DataStructureFactory>public void expireTimeout()
ISolver
expireTimeout in interface ISolverprotected int nAssigns()
public int nConstraints()
IProblem
nConstraints in interface IProblempublic void learn(Constr c)
learn in interface Learnerpublic final int decisionLevel()
@Deprecated public int newVar()
ISolver
newVar in interface ISolverpublic int newVar(int howmany)
IProblemhowmany variables in the problem (and thus in the
vocabulary), that will be represented using the Dimacs format by integers
ranging from 1 to howmany. That feature allows encodings to create
additional variables with identifier starting at howmany+1.
newVar in interface IProblemhowmany - number of variables to create
IProblem.nVars()
public IConstr addClause(IVecInt literals)
throws ContradictionException
ISolver
addClause in interface ISolverliterals - a set of literals
ContradictionException - iff the vector of literals is empty or if it contains only
falsified literals after unit propagationISolver.removeConstr(IConstr)public boolean removeConstr(IConstr co)
ISolver
removeConstr in interface ISolverco - a constraint returned by one of the add method.
public boolean removeSubsumedConstr(IConstr co)
ISolver
removeSubsumedConstr in interface ISolverco - a constraint returned by one of the add method. It must be the
latest constr added to the solver.
public void addAllClauses(IVec<IVecInt> clauses)
throws ContradictionException
ISolver
addAllClauses in interface ISolverclauses - 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 propagationISolver.addClause(IVecInt)
public IConstr addAtMost(IVecInt literals,
int degree)
throws ContradictionException
ISolver
addAtMost in interface ISolverliterals - 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 (n) of the cardinality constraint
ContradictionException - iff the vector of literals is empty or if it contains more
than degree satisfied literals after unit propagationISolver.removeConstr(IConstr)
public IConstr addAtLeast(IVecInt literals,
int degree)
throws ContradictionException
ISolver
addAtLeast in interface ISolverliterals - 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 (n) of the cardinality constraint
ContradictionException - iff the vector of literals is empty or if degree literals are
not remaining unfalsified after unit propagationISolver.removeConstr(IConstr)
public IConstr addExactly(IVecInt literals,
int n)
throws ContradictionException
ISolver
addExactly in interface ISolverliterals - a set of literals. The vector can be reused since the solver
is not supposed to keep a reference to that vector.n - the number of literals that must be satisfied
ContradictionException - iff the constraint is trivially unsatisfiable.public boolean simplifyDB()
public int[] model()
model in interface IProblemIProblem.isSatisfiable(),
IProblem.isSatisfiable(IVecInt)public boolean enqueue(int p)
UnitPropagationListener
enqueue in interface UnitPropagationListenerp - a literal
public boolean enqueue(int p,
Constr from)
UnitPropagationListener
enqueue in interface UnitPropagationListenerp - a literalfrom - a reason explaining why p should be satisfied.
public void analyze(Constr confl,
Pair results)
throws TimeoutException
TimeoutException - if the timeout is reached during conflict analysis.
public IVecInt analyzeFinalConflictInTermsOfAssumptions(Constr confl,
IVecInt assumps,
int conflictingLiteral)
confl - the last conflict of the search, occuring at root level.assumps - the set of assumption literalsconflictingLiteral - the literal detected conflicting while propagating
assumptions.
public void setSimplifier(SimplificationType simp)
ICDCL
setSimplifier in interface ICDCL<D extends DataStructureFactory>simp - a simplification type.public void setSimplifier(ISimplifier simp)
ICDCL
setSimplifier in interface ICDCL<D extends DataStructureFactory>public ISimplifier getSimplifier()
getSimplifier in interface ICDCL<D extends DataStructureFactory>protected void undoOne()
public void claBumpActivity(Constr confl)
confl - a constraintpublic void varBumpActivity(int p)
VarActivityListener
p - a literal (v<<1 or v<<1^1)public Constr propagate()
public boolean assume(int p)
protected void cancelUntil(int level)
level - protected void analyzeAtRootLevel(Constr conflict)
public int[] primeImplicant()
IProblem
primeImplicant in interface IProblempublic boolean primeImplicant(int p)
IProblemIProblem.primeImplicant() method.
primeImplicant in interface IProblemp - a literal in Dimacs format
IProblem.primeImplicant()public boolean model(int var)
IProblem
model in interface IProblemvar - the variable id in Dimacs format
IProblem.model()public void clearLearntClauses()
ISolver
clearLearntClauses in interface ISolverprotected void reduceDB()
protected void sortOnActivity()
learnts - protected void decayActivities()
public boolean isSatisfiable()
throws TimeoutException
IProblem
isSatisfiable in interface IProblemTimeoutException
public boolean isSatisfiable(boolean global)
throws TimeoutException
IProblem
isSatisfiable in interface IProblemglobal - whether that call is part of a global process (i.e.
optimization) or not. if (global), the timeout will not be
reset between each call.
TimeoutException
public boolean isSatisfiable(IVecInt assumps)
throws TimeoutException
IProblem
isSatisfiable in interface IProblemassumps - a set of literals (represented by usual non null integers in
Dimacs format).
TimeoutExceptionpublic final LearnedConstraintsDeletionStrategy fixedSize(int maxsize)
public void setLearnedConstraintsDeletionStrategy(LearnedConstraintsDeletionStrategy lcds)
setLearnedConstraintsDeletionStrategy in interface ICDCL<D extends DataStructureFactory>
public boolean isSatisfiable(IVecInt assumps,
boolean global)
throws TimeoutException
IProblem
isSatisfiable in interface IProblemassumps - a set of literals (represented by usual non null integers in
Dimacs format).global - whether that call is part of a global process (i.e.
optimization) or not. if (global), the timeout will not be
reset between each call.
TimeoutException
public void printInfos(PrintWriter out,
String prefix)
IProblem
printInfos in interface IProblemout - the place to print the informationprefix - the prefix to put in front of each line
public void printLearntClausesInfos(PrintWriter out,
String prefix)
public SolverStats getStats()
protected void initStats(SolverStats myStats)
myStats - public IOrder getOrder()
getOrder in interface ICDCL<D extends DataStructureFactory>public void setOrder(IOrder h)
setOrder in interface ICDCL<D extends DataStructureFactory>public ILits getVocabulary()
public void reset()
ISolver
reset in interface ISolverpublic int nVars()
ISolverService
nVars in interface IProblemnVars in interface ISolverServiceIProblem.newVar(int)protected IConstr addConstr(Constr constr)
constr - a constraint implementing the Constr interface.
public DataStructureFactory getDSFactory()
public IVecInt getOutLearnt()
public IConstr getIthConstr(int i)
i - the constraint number (begins at 0)
public void printStat(PrintStream out,
String prefix)
ISolver
printStat in interface ISolverprefix - the prefix to put in front of each lineISolver.printStat(PrintWriter, String)
public void printStat(PrintWriter out,
String prefix)
ISolver
printStat in interface ISolverprefix - the prefix to put in front of each linepublic String toString(String prefix)
ISolver
toString in interface ISolverprefix - the prefix to use on each line.
public String toString()
toString in class Objectpublic int getTimeout()
ISolver
getTimeout in interface ISolverpublic long getTimeoutMs()
ISolver
getTimeoutMs in interface ISolverpublic void setExpectedNumberOfClauses(int nb)
ISolverp cnf line is
read in dimacs formatted input file.
Note that this method is supposed to be called AFTER a call to
newVar(int)
setExpectedNumberOfClauses in interface ISolvernb - the expected number of clauses.IProblem.newVar(int)public Map<String,Number> getStat()
ISolver
getStat in interface ISolver
public int[] findModel()
throws TimeoutException
IProblem
if (isSatisfiable()) {
return model();
}
return null;
findModel in interface IProblemnull if no model is found
TimeoutException - if a model cannot be found within the given timeout.
public int[] findModel(IVecInt assumps)
throws TimeoutException
IProblem
if (isSatisfiable(assumpt)) {
return model();
}
return null;
findModel in interface IProblemnull if no model is found
TimeoutException - if a model cannot be found within the given timeout.public boolean isDBSimplificationAllowed()
ISolver
isDBSimplificationAllowed in interface ISolverpublic void setDBSimplificationAllowed(boolean status)
ISolver
setDBSimplificationAllowed in interface ISolverpublic int nextFreeVarId(boolean reserve)
ISolverISolver.realNumberOfVariables() method.
nextFreeVarId in interface ISolverreserve - 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.
ISolver.realNumberOfVariables()
public IConstr addBlockingClause(IVecInt literals)
throws ContradictionException
ISolver
addBlockingClause in interface ISolverContradictionExceptionpublic void unset(int p)
UnitPropagationListener
unset in interface UnitPropagationListenerpublic void setLogPrefix(String prefix)
ISolver
setLogPrefix in interface ISolverprefix - the prefix to be in front of each line of textpublic String getLogPrefix()
getLogPrefix in interface ISolverpublic IVecInt unsatExplanation()
ISolver
unsatExplanation in interface ISolverIProblem.isSatisfiable(IVecInt),
IProblem.isSatisfiable(IVecInt, boolean)public int[] modelWithInternalVariables()
ISolver
modelWithInternalVariables in interface ISolverIProblem.model(),
ModelIteratorpublic int realNumberOfVariables()
ISolverISolver.nextFreeVarId(boolean) method.
realNumberOfVariables in interface ISolverISolver.nextFreeVarId(boolean)public void stop()
ISolverService
stop in interface ISolverServicepublic void backtrack(int[] reason)
ISolverService
backtrack in interface ISolverServicereason - a set of literals, in Dimacs format, currently falsified, i.e.
for (int l : reason) assert truthValue(l) == Lbool.FALSEpublic Lbool truthValue(int literal)
ISolverService
truthValue in interface ISolverServiceliteral - a Dimacs literal, i.e. a non-zero integer.
public int currentDecisionLevel()
ISolverService
currentDecisionLevel in interface ISolverServicepublic int[] getLiteralsPropagatedAt(int decisionLevel)
ISolverService
getLiteralsPropagatedAt in interface ISolverServicedecisionLevel - a decision level between 0 and #currentDecisionLevel()public void suggestNextLiteralToBranchOn(int l)
ISolverService
suggestNextLiteralToBranchOn in interface ISolverServicel - a literal in Dimacs format.protected boolean isNeedToReduceDB()
public void setNeedToReduceDB(boolean needToReduceDB)
setNeedToReduceDB in interface ICDCL<D extends DataStructureFactory>public void setLogger(ICDCLLogger out)
setLogger in interface ICDCL<D extends DataStructureFactory>public ICDCLLogger getLogger()
getLogger in interface ICDCL<D extends DataStructureFactory>public double[] getVariableHeuristics()
ISolverService
getVariableHeuristics in interface ISolverServicepublic IVec<Constr> getLearnedConstraints()
ISolverService
getLearnedConstraints in interface ISolverService
public void setLearnedConstraintsDeletionStrategy(ConflictTimer timer,
LearnedConstraintsEvaluationType evaluation)
setLearnedConstraintsDeletionStrategy in interface ICDCL<D extends DataStructureFactory>timer - when to apply constraints cleanup.evaluation - the strategy used to evaluate learned clauses.public void setLearnedConstraintsDeletionStrategy(LearnedConstraintsEvaluationType evaluation)
setLearnedConstraintsDeletionStrategy in interface ICDCL<D extends DataStructureFactory>evaluation - the strategy used to evaluate learned clauses.public boolean isSolverKeptHot()
ISolver
isSolverKeptHot in interface ISolverpublic void setKeepSolverHot(boolean keepHot)
ISolver
setKeepSolverHot in interface ISolverkeepHot - true to keep the heuristics values across calls, false either.public void addClause(int[] literals)
ISolverService
addClause in interface ISolverServiceliterals - a set of literals in Dimacs format.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||