| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.sat4j.tools.DimacsOutputSolver
public class DimacsOutputSolver
Solver used to display in a writer the CNF instance in Dimacs format. That solver is useful to produce CNF files to be used by third party solvers.
| Constructor Summary | |
|---|---|
| DimacsOutputSolver() | |
| DimacsOutputSolver(java.io.PrintWriter pw) | |
| Method Summary | |
|---|---|
|  void | addAllClauses(IVec<IVecInt> clauses)Create clauses from a set of set of literals. | 
|  IConstr | addAtLeast(IVecInt literals,
           int degree)Create a cardinality constraint of the type "at least n of those literals must be satisfied" | 
|  IConstr | addAtMost(IVecInt literals,
          int degree)Create a cardinality constraint of the type "at most n of those literals must be satisfied" | 
|  IConstr | addClause(IVecInt literals)Create a clause from a set of literals The literals are represented by non null integers such that opposite literals a represented by opposite values. | 
|  IConstr | addPseudoBoolean(IVecInt lits,
                 IVec<java.math.BigInteger> coeffs,
                 boolean moreThan,
                 java.math.BigInteger d)Create a Pseudo-Boolean constraint of the type "at least n of those literals must be satisfied" | 
|  void | clearLearntClauses() | 
|  int[] | findModel()Look for a model satisfying all the clauses available in the problem. | 
|  int[] | findModel(IVecInt assumps)Look for a model satisfying all the clauses available in the problem. | 
|  java.util.Map<java.lang.String,java.lang.Number> | getStat()To obtain a map of the available statistics from the solver. | 
|  int | getTimeout()Useful to check the internal timeout of the solver. | 
|  boolean | isSatisfiable()Check the satisfiability of the set of constraints contained inside the solver. | 
|  boolean | isSatisfiable(IVecInt assumps)Check the satisfiability of the set of constraints contained inside the solver. | 
|  int[] | model()Provide a model (if any) for a satisfiable formula. | 
|  boolean | model(int var)Provide the truth value of a specific variable in the model. | 
|  int | nConstraints()To know the number of constraints currently available in the solver. | 
|  int | newVar()Create a new variable in the solver (and thus in the vocabulary). | 
|  int | newVar(int howmany)Create howmanyvariables in the solver (and thus in the
 vocabulary). | 
|  int | nVars()To know the number of variables used in the solver. | 
|  void | printStat(java.io.PrintStream out,
          java.lang.String prefix)Display statistics to the given output stream Please use writers instead of stream. | 
|  void | printStat(java.io.PrintWriter out,
          java.lang.String prefix)Display statistics to the given output writer | 
|  boolean | removeConstr(IConstr c)Remove a constraint returned by one of the add method from the solver. | 
|  void | reset()Clean up the internal state of the solver. | 
|  void | setExpectedNumberOfClauses(int nb)To inform the solver of the expected number of clauses to read. | 
|  void | setTimeout(int t)To set the internal timeout of the solver. | 
|  void | setTimeoutMs(long t)To set the internal timeout of the solver. | 
|  java.lang.String | toString(java.lang.String prefix)Display a textual representation of the solver configuration. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public DimacsOutputSolver()
public DimacsOutputSolver(java.io.PrintWriter pw)
| Method Detail | 
|---|
public int newVar()
ISolver
newVar in interface ISolverpublic int newVar(int howmany)
ISolverhowmany variables in the solver (and thus in the
 vocabulary).
newVar in interface ISolverhowmany - number of variables to create
public void setExpectedNumberOfClauses(int nb)
ISolverp cnf line is
 read in dimacs formatted input file.
setExpectedNumberOfClauses in interface ISolvernb - the expected number of clauses.
public IConstr addClause(IVecInt literals)
                  throws ContradictionException
ISolver
addClause in interface ISolverliterals - a set of literals
ContradictionException - iff the vector of literals is empty or if it contains only
             falsified literals after unit propagationISolver.removeConstr(IConstr)public boolean removeConstr(IConstr c)
ISolver
removeConstr in interface ISolverc - a constraint returned by one of the add method.
public void addAllClauses(IVec<IVecInt> clauses)
                   throws ContradictionException
ISolver
addAllClauses in interface ISolverclauses - a vector of set (VecInt) of literals in the dimacs format. The
            vector can be reused since the solver is not supposed to keep
            a reference to that vector.
ContradictionException - iff the vector of literals is empty or if it contains only
             falsified literals after unit propagationISolver.addClause(IVecInt)
public IConstr addAtMost(IVecInt literals,
                         int degree)
                  throws ContradictionException
ISolver
addAtMost in interface ISolverliterals - a set of literals The vector can be reused since the solver is
            not supposed to keep a reference to that vector.degree - the degree of the cardinality constraint
ContradictionException - iff the vector of literals is empty or if it contains more
             than degree satisfied literals after unit propagationISolver.removeConstr(IConstr)
public IConstr addAtLeast(IVecInt literals,
                          int degree)
                   throws ContradictionException
ISolver
addAtLeast in interface ISolverliterals - a set of literals. The vector can be reused since the solver
            is not supposed to keep a reference to that vector.degree - the degree of the cardinality constraint
ContradictionException - iff the vector of literals is empty or if degree literals are
             not remaining unfalsified after unit propagationISolver.removeConstr(IConstr)
public IConstr addPseudoBoolean(IVecInt lits,
                                IVec<java.math.BigInteger> coeffs,
                                boolean moreThan,
                                java.math.BigInteger d)
                         throws ContradictionException
ISolver
addPseudoBoolean in interface ISolverlits - 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 >= 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 setTimeout(int t)
ISolver
setTimeout in interface ISolvert - the timeout (in s)public void setTimeoutMs(long t)
ISolver
setTimeoutMs in interface ISolvert - the timeout (in milliseconds)public int getTimeout()
ISolver
getTimeout in interface ISolverpublic void reset()
ISolver
reset in interface ISolver
public void printStat(java.io.PrintStream out,
                      java.lang.String prefix)
ISolver
printStat in interface ISolverprefix - the prefix to put in front of each lineISolver.printStat(PrintWriter, String)
public void printStat(java.io.PrintWriter out,
                      java.lang.String prefix)
ISolver
printStat in interface ISolverprefix - the prefix to put in front of each linepublic java.util.Map<java.lang.String,java.lang.Number> getStat()
ISolver
getStat in interface ISolverpublic java.lang.String toString(java.lang.String prefix)
ISolver
toString in interface ISolverprefix - the prefix to use on each line.
public void clearLearntClauses()
clearLearntClauses in interface ISolverpublic int[] model()
IProblem
model in interface IProblemIProblem.isSatisfiable(), 
IProblem.isSatisfiable(IVecInt)public boolean model(int var)
IProblem
model in interface IProblemvar - the variable id in Dimacs format
IProblem.model()
public boolean isSatisfiable()
                      throws TimeoutException
IProblem
isSatisfiable in interface IProblemTimeoutException
public boolean isSatisfiable(IVecInt assumps)
                      throws TimeoutException
IProblem
isSatisfiable in interface IProblemassumps - a set of literals (represented by usual non null integers in
            Dimacs format).
TimeoutException
public int[] findModel()
                throws TimeoutException
IProblem
     if (isSatisfiable()) {
     return model();
     }
     return null; 
     
findModel in interface IProblemnull if no model is found
TimeoutException - if a model cannot be found within the given timeout.
public int[] findModel(IVecInt assumps)
                throws TimeoutException
IProblem
     if (isSatisfiable(assumpt)) {
     return model();
     }
     return null; 
     
findModel in interface IProblemnull if no model is found
TimeoutException - if a model cannot be found within the given timeout.public int nConstraints()
IProblem
nConstraints in interface IProblempublic int nVars()
IProblem
nVars in interface IProblem| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||