public class GroupPBSelectorSolver extends GroupClauseSelectorSolver<IPBSolver> implements IGroupPBSolver
| Constructor and Description |
|---|
GroupPBSelectorSolver(IPBSolver solver) |
| Modifier and Type | Method and Description |
|---|---|
IConstr |
addAtLeast(IVecInt literals,
int degree,
int groupid) |
IConstr |
addAtLeast(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger degree)
Create a pseudo-boolean constraint of the type "at least".
|
IConstr |
addAtLeast(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger degree,
int groupId) |
IConstr |
addAtLeast(IVecInt literals,
IVecInt coeffs,
int degree)
Create a pseudo-boolean constraint of the type "at least".
|
IConstr |
addAtLeast(IVecInt literals,
IVecInt coeffs,
int degree,
int groupId) |
IConstr |
addAtMost(IVecInt literals,
int degree,
int groupid) |
IConstr |
addAtMost(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger degree)
Create a pseudo boolean constraint of the type "at most".
|
IConstr |
addAtMost(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger degree,
int groupdId) |
IConstr |
addAtMost(IVecInt literals,
IVecInt coeffs,
int degree)
Create a pseudo boolean constraint of the type "at most".
|
IConstr |
addAtMost(IVecInt literals,
IVecInt coeffs,
int degree,
int groupdId) |
IConstr |
addExactly(IVecInt literals,
int n,
int groupid) |
IConstr |
addExactly(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger weight)
Create a pseudo-boolean constraint of the type "subset sum".
|
IConstr |
addExactly(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger weight,
int groupId) |
IConstr |
addExactly(IVecInt literals,
IVecInt coeffs,
int weight)
Create a pseudo-boolean constraint of the type "subset sum".
|
IConstr |
addExactly(IVecInt literals,
IVecInt coeffs,
int weight,
int groupId) |
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.
|
addClause, addControlableClause, addNonControlableClause, getAddedVars, getGroupVar, getVarToHighLevel, model, unsatExplanationcreateNewVar, discardLastestVar, externalState, internalState, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiableaddAllClauses, addAtLeast, addAtMost, addBlockingClause, addClause, addConstr, addExactly, addParity, clearDecorated, clearLearntClauses, createBlockingClauseForCurrentModel, decorated, discardCurrentModel, expireTimeout, findModel, findModel, getLogPrefix, getOriginInModel, getSearchListener, getSolvingEngine, getStat, getTimeout, getTimeoutMs, isDBSimplificationAllowed, isSolverKeptHot, isVerbose, model, modelWithInternalVariables, nConstraints, newVar, newVar, nextFreeVarId, nVars, primeImplicant, primeImplicant, printInfos, printInfos, printStat, printStat, printStat, realNumberOfVariables, registerLiteral, removeConstr, removeSubsumedConstr, reset, setDBSimplificationAllowed, setDecorated, setExpectedNumberOfClauses, setKeepSolverHot, setLogPrefix, setSearchListener, setTimeout, setTimeoutMs, setTimeoutOnConflicts, setUnitClauseConsumer, setUnitClauseProvider, setVerbose, toString, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddClause, getAddedVarsaddAllClauses, addAtLeast, addAtMost, addBlockingClause, addClause, addConstr, addExactly, 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, toString, unsatExplanationfindModel, findModel, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, model, nConstraints, newVar, nVars, primeImplicant, primeImplicant, printInfos, printInfosmodelpublic GroupPBSelectorSolver(IPBSolver solver)
public IConstr addPseudoBoolean(IVecInt lits, IVec<BigInteger> coeffs, boolean moreThan, BigInteger d) throws ContradictionException
IPBSolveraddPseudoBoolean in interface IPBSolverlits - 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, IVec<BigInteger> coeffs, BigInteger degree) throws ContradictionException
IPBSolveraddAtMost in interface IPBSolverliterals - 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, IVecInt coeffs, int degree) throws ContradictionException
IPBSolveraddAtMost in interface IGroupPBSolveraddAtMost in interface IPBSolverliterals - 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, IVecInt coeffs, int degree) throws ContradictionException
IPBSolveraddAtLeast in interface IPBSolverliterals - 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 IPBSolverliterals - 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 IPBSolverliterals - 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 addExactly(IVecInt literals, IVec<BigInteger> coeffs, BigInteger weight) throws ContradictionException
IPBSolveraddExactly in interface IPBSolverliterals - 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 setObjectiveFunction(ObjectiveFunction obj)
IPBSolversetObjectiveFunction in interface IPBSolverobj - the objective functionpublic ObjectiveFunction getObjectiveFunction()
IPBSolvergetObjectiveFunction in interface IPBSolverpublic IConstr addAtMost(IVecInt literals, int degree, int groupid) throws ContradictionException
addAtMost in interface IGroupPBSolverContradictionExceptionpublic IConstr addAtLeast(IVecInt literals, int degree, int groupid) throws ContradictionException
addAtLeast in interface IGroupPBSolverContradictionExceptionpublic IConstr addExactly(IVecInt literals, int n, int groupid) throws ContradictionException
addExactly in interface IGroupPBSolverContradictionExceptionpublic IConstr addAtMost(IVecInt literals, IVec<BigInteger> coeffs, BigInteger degree, int groupdId) throws ContradictionException
addAtMost in interface IGroupPBSolverContradictionExceptionpublic IConstr addAtMost(IVecInt literals, IVecInt coeffs, int degree, int groupdId) throws ContradictionException
addAtMost in interface IGroupPBSolverContradictionExceptionpublic IConstr addAtLeast(IVecInt literals, IVecInt coeffs, int degree, int groupId) throws ContradictionException
addAtLeast in interface IGroupPBSolverContradictionExceptionpublic IConstr addAtLeast(IVecInt literals, IVec<BigInteger> coeffs, BigInteger degree, int groupId) throws ContradictionException
addAtLeast in interface IGroupPBSolverContradictionExceptionpublic IConstr addExactly(IVecInt literals, IVecInt coeffs, int weight, int groupId) throws ContradictionException
addExactly in interface IGroupPBSolverContradictionExceptionpublic IConstr addExactly(IVecInt literals, IVec<BigInteger> coeffs, BigInteger weight, int groupId) throws ContradictionException
addExactly in interface IGroupPBSolverContradictionExceptionCopyright © 2020 Centre de Recherche en Informatique de Lens (CRIL). All rights reserved.