public class InprocCardConstrLearningSolver extends PBSolverCP
objectiveFunctionBased, pbStatsactivity_based, activity_based_low_memory, age_based, constrs, decisions, dsfactory, EXPENSIVE_SIMPLIFICATION, EXPENSIVE_SIMPLIFICATION_WLONLY, implied, lbd_based, learnts, NO_SIMPLIFICATION, out, prime, qhead, rootLevel, sharedConflict, SIMPLE_SIMPLIFICATION, size_based, slistener, trail, trailLim, undertimeout, voc| Modifier and Type | Method and Description |
|---|---|
void |
addAllClauses(IVec<IVecInt> clauses) |
IConstr |
addAtLeast(IVecInt literals,
int degree) |
IConstr |
addAtLeast(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger degree)
Create a pseudo-boolean constraint of the type "at least".
|
IConstr |
addAtLeast(IVecInt literals,
IVecInt coeffs,
int degree)
Create a pseudo-boolean constraint of the type "at least".
|
IConstr |
addAtMost(IVecInt literals,
int degree) |
IConstr |
addAtMost(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger degree)
Create a pseudo boolean constraint of the type "at most".
|
IConstr |
addAtMost(IVecInt literals,
IVecInt coeffs,
int degree)
Create a pseudo boolean constraint of the type "at most".
|
IConstr |
addClause(IVecInt literals) |
IConstr |
addConstr(Constr constr) |
IConstr |
addExactly(IVecInt literals,
int n) |
IConstr |
addExactly(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger weight)
Create a pseudo-boolean constraint of the type "subset sum".
|
IConstr |
addExactly(IVecInt literals,
IVecInt coeffs,
int weight)
Create a pseudo-boolean constraint of the type "subset sum".
|
IConstr |
addPseudoBoolean(IVecInt lits,
IVec<BigInteger> coeffs,
boolean moreThan,
BigInteger d)
Create a Pseudo-Boolean constraint of the type "at least n or at most n
of those literals must be satisfied"
|
void |
analyzeCP(Constr myconfl,
Pair results) |
void |
cardDetectionAnalyzeCP(Constr myconfl,
Pair results) |
void |
claBumpActivity(Constr arg0) |
protected void |
handleConflict(IConstr confl) |
void |
setDetectCardFromAllConstraintsInCflAnalysis(boolean value) |
analyze, chooseConflict, getConflictFactory, getPostprocess, getWeakeningStrategy, isNoRemove, isSkipAllow, postBumpActivity, setAutoDivisionStrategy, setBumper, setBumpStrategy, setConflictFactory, setNoRemove, setPostprocess, setPreprocess, setSkipAllow, setWeakeningStrategy, toString, updateNumberOfReducedLearnedConstraints, updateNumberOfReductions, varBumpActivityaddAtMostOnTheFly, addAtMostOnTheFly, getObjectiveFunction, primeImplicant, setObjectiveFunctionaddAtMostOnTheFly, addBlockingClause, addClauseOnTheFly, addParity, analyzeAtRootLevel, analyzeFinalConflictInTermsOfAssumptions, assume, backtrack, cancelUntil, cancelUntilTrailLevel, claBumpActivity, clearLearntClauses, createBlockingClauseForCurrentModel, currentDecisionLevel, decayActivities, decisionLevel, dimacs2internal, discardCurrentModel, enqueue, enqueue, expireTimeout, findModel, findModel, fixedSize, fromLastDecisionLevel, getActivityComparator, getDSFactory, getIthConstr, getLearnedConstraints, getLearnedConstraintsDeletionStrategy, getLiteralsPropagatedAt, getLogger, getLogPrefix, getOrder, getOriginInModel, getOutLearnt, getPropagationLevel, getRestartStrategy, getSearchListener, getSearchParams, getSimplifier, getSolvingEngine, getStat, getStats, getTimeout, getTimeoutMs, getVariableHeuristics, getVocabulary, initStats, isDBSimplificationAllowed, isNeedToReduceDB, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, isSolverKeptHot, isVerbose, learn, model, model, modelWithInternalVariables, nAssigns, nConstraints, newVar, newVar, nextFreeVarId, nVars, primeImplicant, printInfos, printInfos, printLearntClausesInfos, printStat, printStat, printStat, propagate, realNumberOfVariables, reduceDB, registerLiteral, removeConstr, removeSubsumedConstr, reset, setDataStructureFactory, setDBSimplificationAllowed, setExpectedNumberOfClauses, setKeepSolverHot, setLearnedConstraintsDeletionStrategy, setLearnedConstraintsDeletionStrategy, setLearnedConstraintsDeletionStrategy, setLearner, setLearningStrategy, setLogger, setLogPrefix, setNeedToReduceDB, setOrder, setRestartStrategy, setSearchListener, setSearchParams, setSimplifier, setSimplifier, setTimeout, setTimeoutMs, setTimeoutOnConflicts, setUnitClauseConsumer, setUnitClauseProvider, setVerbose, simplifyDB, stop, suggestNextLiteralToBranchOn, toString, truthValue, undoOne, unsatExplanation, unset, varBumpActivityclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetLogger, getOrder, getRestartStrategy, getSearchParams, getSimplifier, getStats, setDataStructureFactory, setLearnedConstraintsDeletionStrategy, setLearnedConstraintsDeletionStrategy, setLearnedConstraintsDeletionStrategy, setLearner, setLearningStrategy, setLogger, setNeedToReduceDB, setOrder, setRestartStrategy, setSearchParams, setSimplifier, setSimplifieraddBlockingClause, addParity, clearLearntClauses, createBlockingClauseForCurrentModel, discardCurrentModel, expireTimeout, getLogPrefix, getOriginInModel, getSearchListener, getSolvingEngine, getStat, getTimeout, getTimeoutMs, isDBSimplificationAllowed, isSolverKeptHot, isVerbose, modelWithInternalVariables, newVar, nextFreeVarId, printStat, printStat, printStat, realNumberOfVariables, registerLiteral, removeConstr, removeSubsumedConstr, reset, setDBSimplificationAllowed, setExpectedNumberOfClauses, setKeepSolverHot, setLogPrefix, setSearchListener, setTimeout, setTimeoutMs, setTimeoutOnConflicts, setUnitClauseConsumer, setUnitClauseProvider, setVerbose, unsatExplanationfindModel, findModel, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, model, nConstraints, newVar, nVars, primeImplicant, printInfos, printInfosmodelenqueue, enqueue, getPropagationLevel, unsetvarBumpActivityaddAtMostOnTheFly, addClauseOnTheFly, backtrack, createBlockingClauseForCurrentModel, currentDecisionLevel, getLearnedConstraints, getLiteralsPropagatedAt, getLogPrefix, getVariableHeuristics, nVars, removeSubsumedConstr, stop, suggestNextLiteralToBranchOn, truthValuepublic InprocCardConstrLearningSolver(LearningStrategy<PBDataStructureFactory> learner, PBDataStructureFactory dsf, IOrder order, boolean noRemove, SkipStrategy skipAllow)
public InprocCardConstrLearningSolver(LearningStrategy<PBDataStructureFactory> learner, PBDataStructureFactory dsf, IOrder order)
public InprocCardConstrLearningSolver(LearningStrategy<PBDataStructureFactory> learner, PBDataStructureFactory dsf, SearchParams params, IOrder order, boolean noRemove, SkipStrategy skipAllow)
public InprocCardConstrLearningSolver(LearningStrategy<PBDataStructureFactory> learner, PBDataStructureFactory dsf, SearchParams params, IOrder order, RestartStrategy restarter, boolean noRemove, SkipStrategy skipAllow)
public InprocCardConstrLearningSolver(LearningStrategy<PBDataStructureFactory> learner, PBDataStructureFactory dsf, SearchParams params, IOrder order, RestartStrategy restarter)
public InprocCardConstrLearningSolver(LearningStrategy<PBDataStructureFactory> learner, PBDataStructureFactory dsf, SearchParams params, IOrder order)
public void setDetectCardFromAllConstraintsInCflAnalysis(boolean value)
protected void handleConflict(IConstr confl)
public void analyzeCP(Constr myconfl, Pair results) throws TimeoutException
analyzeCP in class PBSolverCPTimeoutExceptionpublic void cardDetectionAnalyzeCP(Constr myconfl, Pair results) throws TimeoutException
TimeoutExceptionpublic IConstr addPseudoBoolean(IVecInt lits, IVec<BigInteger> coeffs, boolean moreThan, BigInteger d) throws ContradictionException
IPBSolveraddPseudoBoolean in interface IPBSolveraddPseudoBoolean in class PBSolverlits - a set of literals. The vector can be reused since the solver
is not supposed to keep a reference to that vector.coeffs - the coefficients of the literals. The vector can be reused
since the solver is not supposed to keep a reference to that
vector.moreThan - true if it is a constraint >= degree, false if it is a
constraint <= degreed - the degree of the cardinality constraintContradictionException - iff the vector of literals is empty or if the constraint is
falsified after unit propagationISolver.removeConstr(IConstr)public IConstr addAtMost(IVecInt literals, IVecInt coeffs, int degree) throws ContradictionException
IPBSolveraddAtMost in interface IPBSolveraddAtMost in class PBSolverliterals - a set of literals The vector can be reused since the solver is
not supposed to keep a reference to that vector.coeffs - the coefficients of the literals. The vector can be reused
since the solver is not supposed to keep a reference to that
vector.degree - the degree of the pseudo-boolean constraintContradictionException - iff the constraint is found trivially unsat.ISolver.removeConstr(IConstr)public IConstr addAtMost(IVecInt literals, IVec<BigInteger> coeffs, BigInteger degree) throws ContradictionException
IPBSolveraddAtMost in interface IPBSolveraddAtMost in class PBSolverliterals - a set of literals The vector can be reused since the solver is
not supposed to keep a reference to that vector.coeffs - the coefficients of the literals. The vector can be reused
since the solver is not supposed to keep a reference to that
vector.degree - the degree of the pseudo-boolean constraintContradictionException - iff the constraint is found trivially unsat.ISolver.removeConstr(IConstr)public IConstr addClause(IVecInt literals) throws ContradictionException
addClause in interface ISolveraddClause in class Solver<PBDataStructureFactory>ContradictionExceptionpublic IConstr addAtLeast(IVecInt literals, IVecInt coeffs, int degree) throws ContradictionException
IPBSolveraddAtLeast in interface IPBSolveraddAtLeast in class PBSolverliterals - a set of literals. The vector can be reused since the solver
is not supposed to keep a reference to that vector.coeffs - the coefficients of the literals. The vector can be reused
since the solver is not supposed to keep a reference to that
vector.degree - the degree of the pseudo-boolean constraintContradictionException - iff the constraint is found trivially unsat.ISolver.removeConstr(IConstr)public IConstr addAtLeast(IVecInt literals, IVec<BigInteger> coeffs, BigInteger degree) throws ContradictionException
IPBSolveraddAtLeast in interface IPBSolveraddAtLeast in class PBSolverliterals - a set of literals. The vector can be reused since the solver
is not supposed to keep a reference to that vector.coeffs - the coefficients of the literals. The vector can be reused
since the solver is not supposed to keep a reference to that
vector.degree - the degree of the pseudo-boolean constraintContradictionException - iff the constraint is found trivially unsat.ISolver.removeConstr(IConstr)public IConstr addExactly(IVecInt literals, IVecInt coeffs, int weight) throws ContradictionException
IPBSolveraddExactly in interface IPBSolveraddExactly in class PBSolverliterals - a set of literals. The vector can be reused since the solver
is not supposed to keep a reference to that vector.coeffs - the coefficients of the literals. The vector can be reused
since the solver is not supposed to keep a reference to that
vector.weight - the number of literals that must be satisfiedContradictionException - iff the constraint is trivially unsatisfiable.public void addAllClauses(IVec<IVecInt> clauses) throws ContradictionException
addAllClauses in interface ISolveraddAllClauses in class Solver<PBDataStructureFactory>ContradictionExceptionpublic IConstr addExactly(IVecInt literals, IVec<BigInteger> coeffs, BigInteger weight) throws ContradictionException
IPBSolveraddExactly in interface IPBSolveraddExactly in class PBSolverliterals - a set of literals. The vector can be reused since the solver
is not supposed to keep a reference to that vector.coeffs - the coefficients of the literals. The vector can be reused
since the solver is not supposed to keep a reference to that
vector.weight - the number of literals that must be satisfiedContradictionException - iff the constraint is trivially unsatisfiable.public IConstr addAtMost(IVecInt literals, int degree) throws ContradictionException
addAtMost in interface ISolveraddAtMost in class Solver<PBDataStructureFactory>ContradictionExceptionpublic IConstr addAtLeast(IVecInt literals, int degree) throws ContradictionException
addAtLeast in interface ISolveraddAtLeast in class Solver<PBDataStructureFactory>ContradictionExceptionpublic IConstr addExactly(IVecInt literals, int n) throws ContradictionException
addExactly in interface ISolveraddExactly in class Solver<PBDataStructureFactory>ContradictionExceptionpublic IConstr addConstr(Constr constr)
addConstr in interface ISolveraddConstr in class Solver<PBDataStructureFactory>public void claBumpActivity(Constr arg0)
Copyright © 2020 Centre de Recherche en Informatique de Lens (CRIL). All rights reserved.