|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.sat4j.tools.AbstractOutputSolver
org.sat4j.tools.DimacsStringSolver
org.sat4j.pb.UserFriendlyPBStringSolver<T>
public class UserFriendlyPBStringSolver<T>
Solver to display SAT instances using domain objects names instead of Dimacs numbers.
| Field Summary |
|---|
| Fields inherited from class org.sat4j.tools.AbstractOutputSolver |
|---|
firstConstr, fixedNbClauses, nbclauses, nbvars |
| Constructor Summary | |
|---|---|
UserFriendlyPBStringSolver()
|
|
UserFriendlyPBStringSolver(int initSize)
|
|
| Method Summary | |
|---|---|
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 |
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" |
String |
getExplanation()
|
ObjectiveFunction |
getObjectiveFunction()
Retrieve the objective function from the solver. |
int |
newVar(int howmany)
|
void |
setExpectedNumberOfClauses(int nb)
|
void |
setListOfVariablesForExplanation(IVecInt listOfVariables)
|
void |
setMapping(Map<Integer,T> mapping)
|
void |
setObjectiveFunction(ObjectiveFunction obj)
Provide an objective function to the solver. |
String |
toString()
|
String |
toString(String prefix)
|
| Methods inherited from class org.sat4j.tools.DimacsStringSolver |
|---|
addExactly, getOut, modelWithInternalVariables, nConstraints, newVar, nextFreeVarId, nVars, realNumberOfVariables, registerLiteral, reset, setNbVars |
| 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, addBlockingClause, addExactly, clearLearntClauses, expireTimeout, getLogPrefix, getSearchListener, getStat, getTimeout, getTimeoutMs, isDBSimplificationAllowed, isVerbose, modelWithInternalVariables, newVar, nextFreeVarId, printStat, printStat, realNumberOfVariables, registerLiteral, removeConstr, removeSubsumedConstr, reset, setDBSimplificationAllowed, setLogPrefix, setSearchListener, setTimeout, setTimeoutMs, setTimeoutOnConflicts, setVerbose, unsatExplanation |
| Methods inherited from interface org.sat4j.specs.IProblem |
|---|
findModel, findModel, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, model, model, nConstraints, nVars, primeImplicant, printInfos |
| Constructor Detail |
|---|
public UserFriendlyPBStringSolver()
public UserFriendlyPBStringSolver(int initSize)
initSize - | Method Detail |
|---|
public void setMapping(Map<Integer,T> mapping)
public IConstr addPseudoBoolean(IVecInt lits,
IVec<BigInteger> coeffs,
boolean moreThan,
BigInteger d)
throws ContradictionException
IPBSolver
addPseudoBoolean 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 constraint
ContradictionException - iff the vector of literals is empty or if the constraint is
falsified after unit propagationISolver.removeConstr(IConstr)public void setObjectiveFunction(ObjectiveFunction obj)
IPBSolver
setObjectiveFunction in interface IPBSolverobj - the objective function
public IConstr addAtLeast(IVecInt literals,
int degree)
throws ContradictionException
addAtLeast in interface ISolveraddAtLeast in class DimacsStringSolverContradictionException
public IConstr addAtMost(IVecInt literals,
int degree)
throws ContradictionException
addAtMost in interface ISolveraddAtMost in class DimacsStringSolverContradictionException
public IConstr addClause(IVecInt literals)
throws ContradictionException
addClause in interface ISolveraddClause in class DimacsStringSolverContradictionExceptionpublic String getExplanation()
public void setListOfVariablesForExplanation(IVecInt listOfVariables)
public String toString()
toString in class DimacsStringSolverpublic String toString(String prefix)
toString in interface ISolvertoString in class DimacsStringSolverpublic int newVar(int howmany)
newVar in interface IProblemnewVar in class DimacsStringSolverpublic void setExpectedNumberOfClauses(int nb)
setExpectedNumberOfClauses in interface ISolversetExpectedNumberOfClauses in class DimacsStringSolverpublic ObjectiveFunction getObjectiveFunction()
IPBSolver
getObjectiveFunction in interface IPBSolver
public IConstr addAtMost(IVecInt literals,
IVecInt coeffs,
int degree)
throws ContradictionException
IPBSolver
addAtMost 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 constraint
ContradictionException - iff the constraint is found trivially unsat.ISolver.removeConstr(IConstr)
public IConstr addAtMost(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger degree)
throws ContradictionException
IPBSolver
addAtMost 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 constraint
ContradictionException - iff the constraint is found trivially unsat.ISolver.removeConstr(IConstr)
public IConstr addAtLeast(IVecInt literals,
IVecInt coeffs,
int degree)
throws ContradictionException
IPBSolver
addAtLeast 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 constraint
ContradictionException - iff the constraint is found trivially unsat.ISolver.removeConstr(IConstr)
public IConstr addAtLeast(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger degree)
throws ContradictionException
IPBSolver
addAtLeast 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 constraint
ContradictionException - iff the constraint is found trivially unsat.ISolver.removeConstr(IConstr)
public IConstr addExactly(IVecInt literals,
IVecInt coeffs,
int weight)
throws ContradictionException
IPBSolver
addExactly 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 satisfied
ContradictionException - iff the constraint is trivially unsatisfiable.
public IConstr addExactly(IVecInt literals,
IVec<BigInteger> coeffs,
BigInteger weight)
throws ContradictionException
IPBSolver
addExactly 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 satisfied
ContradictionException - iff the constraint is trivially unsatisfiable.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||