|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.sat4j.minisat.core.Solver<PBDataStructureFactory>
org.sat4j.pb.core.PBSolver
public abstract class PBSolver
| Field Summary | |
|---|---|
protected PBSolverStats |
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 | |
|---|---|
PBSolver(LearningStrategy<PBDataStructureFactory> learner,
PBDataStructureFactory dsf,
IOrder order,
RestartStrategy restarter)
|
|
PBSolver(LearningStrategy<PBDataStructureFactory> learner,
PBDataStructureFactory dsf,
SearchParams params,
IOrder order,
RestartStrategy restarter)
|
|
| Method Summary | |
|---|---|
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 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" |
ObjectiveFunction |
getObjectiveFunction()
Retrieve the objective function from the solver. |
void |
setObjectiveFunction(ObjectiveFunction obj)
Provide an objective function to the solver. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.sat4j.specs.IProblem |
|---|
findModel, findModel, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, model, model, nConstraints, newVar, nVars, primeImplicant, printInfos |
| Field Detail |
|---|
protected PBSolverStats stats
| Constructor Detail |
|---|
public PBSolver(LearningStrategy<PBDataStructureFactory> learner,
PBDataStructureFactory dsf,
IOrder order,
RestartStrategy restarter)
public PBSolver(LearningStrategy<PBDataStructureFactory> learner,
PBDataStructureFactory dsf,
SearchParams params,
IOrder order,
RestartStrategy restarter)
| Method Detail |
|---|
public IConstr addPseudoBoolean(IVecInt literals,
IVec<BigInteger> coeffs,
boolean moreThan,
BigInteger degree)
throws ContradictionException
IPBSolver
addPseudoBoolean 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.moreThan - true if it is a constraint >= degree, false if it is a
constraint <= degreedegree - 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 functionpublic 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 | |||||||||