| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface IPBSolver
A solver able to deal with pseudo boolean constraints.
| 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 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.  | 
| Methods inherited from interface org.sat4j.specs.IProblem | 
|---|
findModel, findModel, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, model, model, nConstraints, newVar, nVars, primeImplicant, printInfos | 
| Method Detail | 
|---|
IConstr 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 constraint
ContradictionException - 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 constraint
ContradictionException - 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 constraint
ContradictionException - 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 constraint
ContradictionException - 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 constraint
ContradictionException - 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 satisfied
ContradictionException - 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 satisfied
ContradictionException - iff the constraint is trivially unsatisfiable.void setObjectiveFunction(ObjectiveFunction obj)
obj - the objective functionObjectiveFunction getObjectiveFunction()
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||