|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.sat4j.tools.SolverDecorator<T>
org.sat4j.tools.LexicoDecorator<IPBSolver>
org.sat4j.pb.tools.LexicoDecoratorPB
public class LexicoDecoratorPB
| Field Summary |
|---|
| Fields inherited from class org.sat4j.tools.LexicoDecorator |
|---|
criteria, currentCriterion, prevboolmodel, prevfullmodel |
| Constructor Summary | |
|---|---|
LexicoDecoratorPB(IPBSolver solver)
|
|
| 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". |
void |
addCriterion(IVecInt literals)
|
void |
addCriterion(IVecInt literals,
IVec<BigInteger> coefs)
|
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" |
boolean |
admitABetterSolution(IVecInt assumps)
|
protected IConstr |
discardSolutionsForOptimizing()
|
protected Number |
evaluate()
|
protected void |
fixCriterionValue()
|
ObjectiveFunction |
getObjectiveFunction()
Retrieve the objective function from the solver. |
protected int |
numberOfCriteria()
|
void |
setObjectiveFunction(ObjectiveFunction obj)
Provide an objective function to the solver. |
| Methods inherited from class org.sat4j.tools.LexicoDecorator |
|---|
admitABetterSolution, calculateObjective, discard, discardCurrentSolution, forceObjectiveValueTo, getObjectiveValue, hasNoObjectiveFunction, isOptimal, model, model, nonOptimalMeansSatisfiable |
| 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 |
| Constructor Detail |
|---|
public LexicoDecoratorPB(IPBSolver solver)
| Method Detail |
|---|
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 functionpublic ObjectiveFunction getObjectiveFunction()
IPBSolver
getObjectiveFunction in interface IPBSolver
public boolean admitABetterSolution(IVecInt assumps)
throws TimeoutException
admitABetterSolution in interface IOptimizationProblemadmitABetterSolution in class LexicoDecorator<IPBSolver>TimeoutExceptionpublic void addCriterion(IVecInt literals)
addCriterion in class LexicoDecorator<IPBSolver>
public void addCriterion(IVecInt literals,
IVec<BigInteger> coefs)
protected Number evaluate()
evaluate in class LexicoDecorator<IPBSolver>
protected void fixCriterionValue()
throws ContradictionException
fixCriterionValue in class LexicoDecorator<IPBSolver>ContradictionException
protected IConstr discardSolutionsForOptimizing()
throws ContradictionException
discardSolutionsForOptimizing in class LexicoDecorator<IPBSolver>ContradictionExceptionprotected int numberOfCriteria()
numberOfCriteria in class LexicoDecorator<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 | |||||||||