public interface IPropagationEngine
Modifier and Type | Interface and Description |
---|---|
static class |
IPropagationEngine.Trace |
Modifier and Type | Method and Description |
---|---|
default void |
clear()
Clear internal structures
|
default void |
delayedPropagation(Propagator propagator,
PropagatorEventType type)
Exeucte a delayed propagator
|
default void |
desactivatePropagator(Propagator propagator)
Set the propagator as inactivated within the propagation engine
|
default void |
dynamicAddition(boolean permanent,
Propagator... ps)
Add a constraint to the propagation engine
|
default void |
dynamicDeletion(Propagator... ps)
Delete the list of propagators in input from the engine
|
default void |
fails(ICause cause,
Variable variable,
String message)
Deprecated.
replaced by
Solver.throwsException(ICause, Variable, String) |
default void |
flush()
Flush
this , ie. remove every pending events |
default ContradictionException |
getContradictionException()
Deprecated.
replaced by
Solver.getContradictionException() ()} |
default void |
initialize()
Build up internal structure, if not yet done, in order to allow propagation.
|
default boolean |
isInitialized()
Is the engine initialized?
|
default void |
onPropagatorExecution(Propagator propagator)
Action to do when a propagator is executed
|
default void |
onVariableUpdate(Variable variable,
IEventType type,
ICause cause)
Take into account the modification of a variable
|
default void |
propagate()
Launch the proapagation, ie, active propagators if necessary, then reach a fix point
|
default void |
propagateOnBacktrack(Propagator p)
State that the propagator needs to be propagated (coarse event) on backtrack.
|
default void |
updateInvolvedVariables(Propagator p)
Update the scope of variable of a propagator (addition or deletion are allowed -- p.vars are scanned)
|
default void initialize() throws SolverException
SolverException
- if a constraint is declared more than once in this propagation enginedefault boolean isInitialized()
default void propagate() throws ContradictionException
ContradictionException
- if a contradiction occurrsdefault void flush()
this
, ie. remove every pending events@Deprecated default void fails(ICause cause, Variable variable, String message) throws ContradictionException
Solver.throwsException(ICause, Variable, String)
ContradictionException
@Deprecated default ContradictionException getContradictionException()
Solver.getContradictionException()
()}default void clear()
default void onVariableUpdate(Variable variable, IEventType type, ICause cause)
variable
- modified variabletype
- type of modification eventcause
- origin of the modificationdefault void delayedPropagation(Propagator propagator, PropagatorEventType type) throws ContradictionException
propagator
- propagator to executetype
- type of event to executeContradictionException
- if a failure is encountereddefault void onPropagatorExecution(Propagator propagator)
propagator
- propagator to executedefault void desactivatePropagator(Propagator propagator)
propagator
- propagator to desactivatedefault void dynamicAddition(boolean permanent, Propagator... ps) throws SolverException
permanent
- does the constraint is permanently addedps
- propagators to add
* @throws SolverException if a constraint is declared more than once in this propagation engineSolverException
default void updateInvolvedVariables(Propagator p)
p
- a propagatordefault void propagateOnBacktrack(Propagator p)
p
- a propagatordefault void dynamicDeletion(Propagator... ps)
ps
- a list of propagatorsCopyright © 2017. All rights reserved.