public class PseudoOptDecorator extends PBSolverDecorator implements IOptimizationProblem
| Constructor and Description | 
|---|
PseudoOptDecorator(IPBSolver solver)
Create a PB decorator for which a non optimal solution means that the
 problem is satisfiable. 
 | 
PseudoOptDecorator(IPBSolver solver,
                  boolean nonOptimalMeansSatisfiable)
Create a PB decorator with a specific semantic of non optimal solution. 
 | 
PseudoOptDecorator(IPBSolver solver,
                  boolean nonOptimalMeansSatisfiable,
                  boolean useAnImplicantForEvaluation)
Create a PB decorator with a specific semantic of non optimal solution. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
admitABetterSolution()  | 
boolean | 
admitABetterSolution(IVecInt assumps)  | 
Number | 
calculateObjective()  | 
void | 
discard()  | 
void | 
discardCurrentSolution()  | 
void | 
forceObjectiveValueTo(Number forcedValue)  | 
Number | 
getObjectiveValue()  | 
boolean | 
hasNoObjectiveFunction()  | 
boolean | 
isOptimal()  | 
boolean | 
isSatisfiable()  | 
boolean | 
isSatisfiable(boolean global)  | 
boolean | 
isSatisfiable(IVecInt assumps)  | 
boolean | 
isSatisfiable(IVecInt assumps,
             boolean global)  | 
int[] | 
model()  | 
boolean | 
model(int var)  | 
int[] | 
modelWithInternalVariables()  | 
boolean | 
nonOptimalMeansSatisfiable()  | 
void | 
reset()  | 
void | 
setObjectiveFunction(ObjectiveFunction objf)
Provide an objective function to the solver. 
 | 
void | 
setTimeout(int t)  | 
void | 
setTimeoutForFindingBetterSolution(int seconds)  | 
String | 
toString(String prefix)  | 
addAtLeast, addAtLeast, addAtMost, addAtMost, addExactly, addExactly, addPseudoBoolean, getObjectiveFunctionaddAllClauses, addAtLeast, addAtMost, addBlockingClause, addClause, addExactly, clearDecorated, clearLearntClauses, decorated, expireTimeout, findModel, findModel, getLogPrefix, getSearchListener, getSolvingEngine, getStat, getTimeout, getTimeoutMs, isDBSimplificationAllowed, isSolverKeptHot, isVerbose, nConstraints, newVar, newVar, nextFreeVarId, nVars, primeImplicant, primeImplicant, printInfos, printInfos, printStat, printStat, printStat, realNumberOfVariables, registerLiteral, removeConstr, removeSubsumedConstr, setDBSimplificationAllowed, setExpectedNumberOfClauses, setKeepSolverHot, setLogPrefix, setSearchListener, setTimeoutMs, setTimeoutOnConflicts, setUnitClauseProvider, setVerbose, toString, unsatExplanationclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitfindModel, findModel, nConstraints, newVar, nVars, primeImplicant, primeImplicant, printInfos, printInfosaddAllClauses, addAtLeast, addAtMost, addBlockingClause, addClause, addExactly, clearLearntClauses, expireTimeout, getLogPrefix, getSearchListener, getSolvingEngine, getStat, getTimeout, getTimeoutMs, isDBSimplificationAllowed, isSolverKeptHot, isVerbose, newVar, nextFreeVarId, printStat, printStat, printStat, realNumberOfVariables, registerLiteral, removeConstr, removeSubsumedConstr, setDBSimplificationAllowed, setExpectedNumberOfClauses, setKeepSolverHot, setLogPrefix, setSearchListener, setTimeoutMs, setTimeoutOnConflicts, setUnitClauseProvider, setVerbose, unsatExplanationpublic PseudoOptDecorator(IPBSolver solver)
solver - a PB solver.public PseudoOptDecorator(IPBSolver solver, boolean nonOptimalMeansSatisfiable)
solver - a PB solvernonOptimalMeansSatisfiable - true if a suboptimal solution means that the problem is
            satisfiable (e.g. as in the PB competition), else false (e.g.
            as in the MAXSAT competition).public PseudoOptDecorator(IPBSolver solver, boolean nonOptimalMeansSatisfiable, boolean useAnImplicantForEvaluation)
solver - a PB solvernonOptimalMeansSatisfiable - true if a suboptimal solution means that the problem is
            satisfiable (e.g. as in the PB competition), else false (e.g.
            as in the MAXSAT competition).useAnImplicantForEvaluation - uses an implicant (a prime implicant computed using
            SolverDecorator.primeImplicant()) instead of a plain model to
            evaluate the objective function.public boolean isSatisfiable()
                      throws TimeoutException
isSatisfiable in interface IProblemisSatisfiable in class SolverDecorator<IPBSolver>TimeoutExceptionpublic boolean isSatisfiable(boolean global)
                      throws TimeoutException
isSatisfiable in interface IProblemisSatisfiable in class SolverDecorator<IPBSolver>TimeoutExceptionpublic boolean isSatisfiable(IVecInt assumps, boolean global) throws TimeoutException
isSatisfiable in interface IProblemisSatisfiable in class SolverDecorator<IPBSolver>TimeoutExceptionpublic boolean isSatisfiable(IVecInt assumps) throws TimeoutException
isSatisfiable in interface IProblemisSatisfiable in class SolverDecorator<IPBSolver>TimeoutExceptionpublic void setObjectiveFunction(ObjectiveFunction objf)
IPBSolversetObjectiveFunction in interface IPBSolversetObjectiveFunction in class PBSolverDecoratorobjf - the objective functionpublic boolean admitABetterSolution()
                             throws TimeoutException
admitABetterSolution in interface IOptimizationProblemTimeoutExceptionpublic boolean admitABetterSolution(IVecInt assumps) throws TimeoutException
admitABetterSolution in interface IOptimizationProblemTimeoutExceptionpublic boolean hasNoObjectiveFunction()
hasNoObjectiveFunction in interface IOptimizationProblempublic boolean nonOptimalMeansSatisfiable()
nonOptimalMeansSatisfiable in interface IOptimizationProblempublic Number calculateObjective()
calculateObjective in interface IOptimizationProblempublic void discardCurrentSolution()
                            throws ContradictionException
discardCurrentSolution in interface IOptimizationProblemContradictionExceptionpublic void reset()
reset in interface ISolverreset in class SolverDecorator<IPBSolver>public int[] model()
model in interface IProblemmodel in class SolverDecorator<IPBSolver>public boolean model(int var)
model in interface RandomAccessModelmodel in class SolverDecorator<IPBSolver>public String toString(String prefix)
toString in interface ISolvertoString in class SolverDecorator<IPBSolver>public Number getObjectiveValue()
getObjectiveValue in interface IOptimizationProblempublic void discard()
             throws ContradictionException
discard in interface IOptimizationProblemContradictionExceptionpublic void forceObjectiveValueTo(Number forcedValue) throws ContradictionException
forceObjectiveValueTo in interface IOptimizationProblemContradictionExceptionpublic boolean isOptimal()
isOptimal in interface IOptimizationProblempublic int[] modelWithInternalVariables()
modelWithInternalVariables in interface ISolvermodelWithInternalVariables in class SolverDecorator<IPBSolver>public void setTimeoutForFindingBetterSolution(int seconds)
setTimeoutForFindingBetterSolution in interface IOptimizationProblempublic void setTimeout(int t)
setTimeout in interface ISolversetTimeout in class SolverDecorator<IPBSolver>Copyright © 2013 Centre de Recherche en Informatique de Lens (CRIL). All Rights Reserved.