|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.sat4j.tools.SolverDecorator<IPBSolver>
org.sat4j.pb.PBSolverDecorator
org.sat4j.pb.PseudoOptDecorator
public class PseudoOptDecorator
A decorator that computes minimal pseudo boolean models.
| Constructor Summary | |
|---|---|
PseudoOptDecorator(IPBSolver solver)
|
|
| Method Summary | |
|---|---|
boolean |
admitABetterSolution()
Look for a solution of the optimization problem. |
boolean |
admitABetterSolution(IVecInt assumps)
Look for a solution of the optimization problem when some literals are satisfied. |
Number |
calculateObjective()
Compute the value of the objective function for the current solution. |
void |
discard()
Discard the current solution in the optimization problem. |
void |
discardCurrentSolution()
Discard the current solution in the optimization problem. |
void |
forceObjectiveValueTo(Number forcedValue)
Force the value of the objective function. |
Number |
getObjectiveValue()
Read only access to the value of the objective function for the current solution. |
boolean |
hasNoObjectiveFunction()
If the optimization problem has no objective function, then it is a simple decision problem. |
boolean |
isSatisfiable()
Check the satisfiability of the set of constraints contained inside the solver. |
boolean |
isSatisfiable(boolean global)
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. |
boolean |
isSatisfiable(IVecInt assumps,
boolean global)
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. |
boolean |
nonOptimalMeansSatisfiable()
A suboptimal solution has different meaning depending of the optimization problem considered. |
void |
reset()
Clean up the internal state of the solver. |
void |
setObjectiveFunction(ObjectiveFunction objf)
|
String |
toString(String prefix)
Display a textual representation of the solver configuration. |
| Methods inherited from class org.sat4j.pb.PBSolverDecorator |
|---|
addPseudoBoolean, getObjectiveFunction |
| 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, nConstraints, nVars, printInfos |
| Methods inherited from interface org.sat4j.specs.ISolver |
|---|
addAllClauses, addAtLeast, addAtMost, addBlockingClause, addClause, clearLearntClauses, expireTimeout, getLogPrefix, getSearchListener, getStat, getTimeout, getTimeoutMs, isDBSimplificationAllowed, isVerbose, newVar, newVar, nextFreeVarId, printStat, printStat, removeConstr, removeSubsumedConstr, setDBSimplificationAllowed, setExpectedNumberOfClauses, setLogPrefix, setSearchListener, setTimeout, setTimeoutMs, setTimeoutOnConflicts, setVerbose, unsatExplanation |
| Constructor Detail |
|---|
public PseudoOptDecorator(IPBSolver solver)
| Method Detail |
|---|
public boolean isSatisfiable()
throws TimeoutException
IProblem
isSatisfiable in interface IProblemisSatisfiable in class SolverDecorator<IPBSolver>TimeoutException
public boolean isSatisfiable(boolean global)
throws TimeoutException
IProblem
isSatisfiable in interface IProblemisSatisfiable in class SolverDecorator<IPBSolver>global - whether that call is part of a global process (i.e.
optimization) or not. if (global), the timeout will not be
reset between each call.
TimeoutException
public boolean isSatisfiable(IVecInt assumps,
boolean global)
throws TimeoutException
IProblem
isSatisfiable in interface IProblemisSatisfiable in class SolverDecorator<IPBSolver>assumps - a set of literals (represented by usual non null integers
in Dimacs format).global - whether that call is part of a global process (i.e.
optimization) or not. if (global), the timeout will not be
reset between each call.
TimeoutException
public boolean isSatisfiable(IVecInt assumps)
throws TimeoutException
IProblem
isSatisfiable in interface IProblemisSatisfiable in class SolverDecorator<IPBSolver>assumps - a set of literals (represented by usual non null integers
in Dimacs format).
TimeoutExceptionpublic void setObjectiveFunction(ObjectiveFunction objf)
setObjectiveFunction in interface IPBSolversetObjectiveFunction in class PBSolverDecorator
public boolean admitABetterSolution()
throws TimeoutException
IOptimizationProblem
admitABetterSolution in interface IOptimizationProblemTimeoutException - if the solver cannot answer in reasonable time.ISolver.setTimeout(int)
public boolean admitABetterSolution(IVecInt assumps)
throws TimeoutException
IOptimizationProblem
admitABetterSolution in interface IOptimizationProblemassumps - a set of literals in Dimacs format.
TimeoutException - if the solver cannot answer in reasonable time.ISolver.setTimeout(int)public boolean hasNoObjectiveFunction()
IOptimizationProblem
hasNoObjectiveFunction in interface IOptimizationProblempublic boolean nonOptimalMeansSatisfiable()
IOptimizationProblem
nonOptimalMeansSatisfiable in interface IOptimizationProblempublic Number calculateObjective()
IOptimizationProblem
calculateObjective in interface IOptimizationProblemIOptimizationProblem.getObjectiveValue()
public void discardCurrentSolution()
throws ContradictionException
IOptimizationProblem
discardCurrentSolution in interface IOptimizationProblemContradictionException - if a trivial inconsistency is detected.public void reset()
ISolver
reset in interface ISolverreset in class SolverDecorator<IPBSolver>public int[] model()
IProblem
model in interface IProblemmodel in class SolverDecorator<IPBSolver>IProblem.isSatisfiable(),
IProblem.isSatisfiable(IVecInt)public boolean model(int var)
IProblem
model in interface IProblemmodel in class SolverDecorator<IPBSolver>var - the variable id in Dimacs format
IProblem.model()public String toString(String prefix)
ISolver
toString in interface ISolvertoString in class SolverDecorator<IPBSolver>prefix - the prefix to use on each line.
public Number getObjectiveValue()
IOptimizationProblem
getObjectiveValue in interface IOptimizationProblem
public void discard()
throws ContradictionException
IOptimizationProblem
discard in interface IOptimizationProblemContradictionException - if a trivial inconsistency is detected.IOptimizationProblem.discardCurrentSolution()
public void forceObjectiveValueTo(Number forcedValue)
throws ContradictionException
IOptimizationProblem
forceObjectiveValueTo in interface IOptimizationProblemContradictionException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||