org.sat4j.pb.core
Class PBSolverWithImpliedClause

java.lang.Object
  extended by org.sat4j.minisat.core.Solver<PBDataStructureFactory>
      extended by org.sat4j.pb.core.PBSolver
          extended by org.sat4j.pb.core.PBSolverCP
              extended by org.sat4j.pb.core.PBSolverWithImpliedClause
All Implemented Interfaces:
Serializable, Learner, UnitPropagationListener, IPBSolver, IProblem, ISolver

public class PBSolverWithImpliedClause
extends PBSolverCP

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.sat4j.pb.core.PBSolver
stats
 
Fields inherited from class org.sat4j.minisat.core.Solver
dsfactory, EXPENSIVE_SIMPLIFICATION, EXPENSIVE_SIMPLIFICATION_WLONLY, glucose, memory_based, NO_SIMPLIFICATION, rootLevel, SIMPLE_SIMPLIFICATION, trail, trailLim, undertimeout, voc
 
Constructor Summary
PBSolverWithImpliedClause(LearningStrategy<PBDataStructureFactory> learner, PBDataStructureFactory dsf, IOrder order)
           
 
Method Summary
 IConstr addPseudoBoolean(IVecInt literals, IVec<BigInteger> coeffs, boolean moreThan, BigInteger degree)
          Create a Pseudo-Boolean constraint of the type "at least n or at most n of those literals must be satisfied"
 String toString(String prefix)
           
 
Methods inherited from class org.sat4j.pb.core.PBSolverCP
analyze, analyzeCP, updateNumberOfReducedLearnedConstraints, updateNumberOfReductions
 
Methods inherited from class org.sat4j.pb.core.PBSolver
addAtLeast, addAtLeast, addAtMost, addAtMost, addExactly, addExactly, getObjectiveFunction, setObjectiveFunction
 
Methods inherited from class org.sat4j.minisat.core.Solver
addAllClauses, addAtLeast, addAtMost, addBlockingClause, addClause, addConstr, addExactly, analyzeAtRootLevel, analyzeFinalConflictInTermsOfAssumptions, assume, cancelUntil, claBumpActivity, clearLearntClauses, decayActivities, decisionLevel, dimacs2internal, enqueue, enqueue, expireTimeout, findModel, findModel, fixedSize, getDSFactory, getIthConstr, getLogPrefix, getOrder, getOutLearnt, getSearchListener, getStat, getStats, getTimeout, getTimeoutMs, getVocabulary, initStats, isDBSimplificationAllowed, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, isVerbose, learn, model, model, modelWithInternalVariables, nAssigns, nConstraints, newVar, newVar, nextFreeVarId, nVars, primeImplicant, printInfos, printLearntClausesInfos, printStat, printStat, propagate, realNumberOfVariables, reduceDB, registerLiteral, removeConstr, removeSubsumedConstr, reset, setDataStructureFactory, setDBSimplificationAllowed, setExpectedNumberOfClauses, setLearnedConstraintsDeletionStrategy, setLearner, setLogPrefix, setOrder, setRestartStrategy, setSearchListener, setSearchParams, setSimplifier, setSimplifier, setTimeout, setTimeoutMs, setTimeoutOnConflicts, setVerbose, simplifyDB, toString, undoOne, unsatExplanation, unset, varBumpActivity
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.sat4j.specs.ISolver
addAllClauses, addAtLeast, addAtMost, addBlockingClause, addClause, addExactly, clearLearntClauses, expireTimeout, getLogPrefix, getSearchListener, getStat, getTimeout, getTimeoutMs, isDBSimplificationAllowed, isVerbose, modelWithInternalVariables, newVar, nextFreeVarId, printStat, printStat, realNumberOfVariables, registerLiteral, removeConstr, removeSubsumedConstr, reset, setDBSimplificationAllowed, setExpectedNumberOfClauses, setLogPrefix, setSearchListener, setTimeout, setTimeoutMs, setTimeoutOnConflicts, setVerbose, unsatExplanation
 
Methods inherited from interface org.sat4j.specs.IProblem
findModel, findModel, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, model, model, nConstraints, newVar, nVars, primeImplicant, printInfos
 

Constructor Detail

PBSolverWithImpliedClause

public PBSolverWithImpliedClause(LearningStrategy<PBDataStructureFactory> learner,
                                 PBDataStructureFactory dsf,
                                 IOrder order)
Method Detail

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 or at most n of those literals must be satisfied"

Specified by:
addPseudoBoolean in interface IPBSolver
Overrides:
addPseudoBoolean in class PBSolver
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 >= degree, false if it is a constraint <= degree
degree - 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)

toString

public String toString(String prefix)
Specified by:
toString in interface ISolver
Overrides:
toString in class PBSolverCP


Copyright © 2011 Centre de Recherche en Informatique de Lens (CRIL). All Rights Reserved.