public interface IPBSolver extends ISolver
| Modifier and Type | Method and Description | 
|---|---|
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,
         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 | 
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" 
 | 
ObjectiveFunction | 
getObjectiveFunction()
Retrieve the objective function from the solver. 
 | 
void | 
setObjectiveFunction(ObjectiveFunction obj)
Provide an objective function to the solver. 
 | 
addAllClauses, addAtLeast, addAtMost, addBlockingClause, addClause, addExactly, clearLearntClauses, expireTimeout, getLogPrefix, 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, setUnitClauseProvider, setVerbose, toString, unsatExplanationfindModel, findModel, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, model, nConstraints, newVar, nVars, primeImplicant, primeImplicant, printInfos, printInfosmodelIConstr addPseudoBoolean(IVecInt lits, IVec<BigInteger> coeffs, boolean moreThan, BigInteger d) throws ContradictionException
lits - 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)IConstr addAtMost(IVecInt literals, IVecInt coeffs, 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.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)IConstr addAtMost(IVecInt literals, IVec<BigInteger> coeffs, BigInteger 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.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)IConstr addAtLeast(IVecInt literals, IVecInt coeffs, 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.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)IConstr addAtLeast(IVecInt literals, IVec<BigInteger> coeffs, BigInteger 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.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)IConstr addExactly(IVecInt literals, IVecInt coeffs, int weight) 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.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.IConstr addExactly(IVecInt literals, IVec<BigInteger> coeffs, BigInteger weight) 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.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.void setObjectiveFunction(ObjectiveFunction obj)
obj - the objective functionObjectiveFunction getObjectiveFunction()
Copyright © 2013 Centre de Recherche en Informatique de Lens (CRIL). All Rights Reserved.