org.sat4j.pb.core
Class PBSolver
java.lang.Object
org.sat4j.minisat.core.Solver<PBDataStructureFactory>
org.sat4j.pb.core.PBSolver
- All Implemented Interfaces:
- Serializable, Learner, UnitPropagationListener, IPBSolver, IProblem, ISolver
- Direct Known Subclasses:
- PBSolverCP, PBSolverResolution
public abstract class PBSolver
- extends Solver<PBDataStructureFactory>
- implements IPBSolver
- See Also:
- Serialized Form
Fields inherited from class org.sat4j.minisat.core.Solver |
analyzer, dsfactory, EXPENSIVE_SIMPLIFICATION, glucose, memory_based, NO_SIMPLIFICATION, rootLevel, SIMPLE_SIMPLIFICATION, trail, trailLim, voc |
Methods inherited from class org.sat4j.minisat.core.Solver |
addAllClauses, addAtLeast, addAtMost, addBlockingClause, addClause, addConstr, analyze, analyzeAtRootLevel, analyzeFinalConflictInTermsOfAssumptions, assume, cancelUntil, claBumpActivity, clearLearntClauses, decayActivities, decisionLevel, dimacs2internal, enqueue, enqueue, expireTimeout, findModel, findModel, getDSFactory, getIthConstr, getLogPrefix, getOrder, getOutLearnt, getSearchListener, getStat, getStats, getTimeout, getTimeoutMs, getVocabulary, initStats, isDBSimplificationAllowed, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, isVerbose, learn, model, model, nAssigns, nConstraints, newVar, newVar, nextFreeVarId, nVars, printInfos, printLearntClausesInfos, printStat, printStat, propagate, reduceDB, removeConstr, removeSubsumedConstr, reset, setDataStructureFactory, setDBSimplificationAllowed, setExpectedNumberOfClauses, setLearnedConstraintsDeletionStrategy, setLearner, setLogPrefix, setOrder, setRestartStrategy, setSearchListener, setSearchParams, setSimplifier, setSimplifier, setTimeout, setTimeoutMs, setTimeoutOnConflicts, setVerbose, simplifyDB, toString, toString, undoOne, unsatExplanation, unset, varBumpActivity |
Methods inherited from interface org.sat4j.specs.ISolver |
addAllClauses, addAtLeast, addAtMost, addBlockingClause, addClause, clearLearntClauses, expireTimeout, getLogPrefix, getSearchListener, getStat, getTimeout, getTimeoutMs, isDBSimplificationAllowed, isVerbose, newVar, newVar, nextFreeVarId, printStat, printStat, removeConstr, removeSubsumedConstr, reset, setDBSimplificationAllowed, setExpectedNumberOfClauses, setLogPrefix, setSearchListener, setTimeout, setTimeoutMs, setTimeoutOnConflicts, setVerbose, toString, unsatExplanation |
Methods inherited from interface org.sat4j.specs.IProblem |
findModel, findModel, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, model, model, nConstraints, nVars, printInfos |
stats
protected PBSolverStats stats
PBSolver
public PBSolver(AssertingClauseGenerator acg,
LearningStrategy<PBDataStructureFactory> learner,
PBDataStructureFactory dsf,
IOrder order,
RestartStrategy restarter)
PBSolver
public PBSolver(AssertingClauseGenerator acg,
LearningStrategy<PBDataStructureFactory> learner,
PBDataStructureFactory dsf,
SearchParams params,
IOrder order,
RestartStrategy restarter)
addPseudoBoolean
public IConstr addPseudoBoolean(IVecInt literals,
IVec<BigInteger> coeffs,
boolean moreThan,
BigInteger degree)
throws ContradictionException
- Description copied from interface:
IPBSolver
- Create a Pseudo-Boolean constraint of the type "at least n of those
literals must be satisfied"
- Specified by:
addPseudoBoolean
in interface IPBSolver
- Parameters:
literals
- 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 >= degreedegree
- the degree of the cardinality constraint
- Returns:
- a reference to the constraint added in the solver, to use in
removeConstr().
- Throws:
ContradictionException
- iff the vector of literals is empty or if the constraint is
falsified after unit propagation- See Also:
ISolver.removeConstr(IConstr)
setObjectiveFunction
public void setObjectiveFunction(ObjectiveFunction obj)
- Specified by:
setObjectiveFunction
in interface IPBSolver
getObjectiveFunction
public ObjectiveFunction getObjectiveFunction()
- Specified by:
getObjectiveFunction
in interface IPBSolver
Copyright © 2010 Centre de Recherche en Informatique de Lens (CRIL). All Rights Reserved.