public class LoggingOptimizationProverEnvironment extends Object implements OptimizationProverEnvironment
OptimizationProverEnvironment.OptStatus| Constructor and Description |
|---|
LoggingOptimizationProverEnvironment(LogManager logger,
OptimizationProverEnvironment oe) |
| Modifier and Type | Method and Description |
|---|---|
Void |
addConstraint(BooleanFormula constraint)
Add constraint to the context.
|
OptimizationProverEnvironment.OptStatus |
check()
Optimize the objective function subject to the previously
imposed constraints.
|
void |
close()
Closes the prover environment.
|
Model |
getModel()
Get a satisfying assignment.
|
boolean |
isUnsat()
Check whether the conjunction of all formulas on the stack is unsatisfiable.
|
Optional<Rational> |
lower(int handle,
Rational epsilon) |
int |
maximize(Formula objective)
Add the maximization
objective. |
int |
minimize(Formula objective)
Add minimization
objective. |
void |
pop()
Remove one formula from the environment stack.
|
void |
push()
Create backtracking point.
|
Void |
push(BooleanFormula f)
Push a backtracking point and
add a formula to the environment stack, asserting it.
|
Optional<Rational> |
upper(int handle,
Rational epsilon) |
public LoggingOptimizationProverEnvironment(LogManager logger, OptimizationProverEnvironment oe)
public Void addConstraint(BooleanFormula constraint)
BasicProverEnvironmentaddConstraint in interface BasicProverEnvironment<Void>public int maximize(Formula objective)
OptimizationProverEnvironmentobjective.
Note: push/pop may be used for switching objectivesmaximize in interface OptimizationProverEnvironmentpublic int minimize(Formula objective)
OptimizationProverEnvironmentobjective.
Note: push/pop may be used for switching objectivesminimize in interface OptimizationProverEnvironmentpublic OptimizationProverEnvironment.OptStatus check() throws InterruptedException, SolverException
OptimizationProverEnvironmentcheck in interface OptimizationProverEnvironmentInterruptedExceptionSolverExceptionpublic void push()
BasicProverEnvironmentpush in interface BasicProverEnvironment<Void>public boolean isUnsat()
throws SolverException,
InterruptedException
BasicProverEnvironmentisUnsat in interface BasicProverEnvironment<Void>SolverExceptionInterruptedException@Nullable public Void push(BooleanFormula f)
BasicProverEnvironmentpush in interface BasicProverEnvironment<Void>public void pop()
BasicProverEnvironmentpop in interface BasicProverEnvironment<Void>public Optional<Rational> upper(int handle, Rational epsilon)
upper in interface OptimizationProverEnvironmentepsilon - Value to substitute for the epsilon.public Optional<Rational> lower(int handle, Rational epsilon)
lower in interface OptimizationProverEnvironmentepsilon - Value to substitute for the epsilon.public Model getModel() throws SolverException
BasicProverEnvironmentBasicProverEnvironment.isUnsat() call
that returned false.getModel in interface BasicProverEnvironment<Void>SolverExceptionpublic void close()
BasicProverEnvironmentclose in interface AutoCloseableclose in interface BasicProverEnvironment<Void>