Class Demon
- java.lang.Object
-
- com.google.ortools.constraintsolver.BaseObject
-
- com.google.ortools.constraintsolver.Demon
-
public class Demon extends BaseObject
A Demon is the base element of a propagation queue. It is the main
object responsible for implementing the actual propagation
of the constraint and pruning the inconsistent values in the domains
of the variables. The main concept is that demons are listeners that are
attached to the variables and listen to their modifications.
There are two methods:
- Run() is the actual method called when the demon is processed.
- priority() returns its priority. Standard priorities are slow, normal
or fast. "immediate" is reserved for variables and is treated separately.
-
-
Field Summary
-
Fields inherited from class com.google.ortools.constraintsolver.BaseObject
swigCMemOwn
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedDemon(long cPtr, boolean cMemoryOwn)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddelete()voiddesinhibit(Solver s)This method un-inhibits the demon that was previously inhibited.protected voidfinalize()protected static longgetCPtr(Demon obj)voidinhibit(Solver s)This method inhibits the demon in the search tree below the
current position.intpriority()This method returns the priority of the demon.voidrun(Solver s)This is the main callback of the demon.protected static longswigRelease(Demon obj)java.lang.StringtoString()-
Methods inherited from class com.google.ortools.constraintsolver.BaseObject
getCPtr, swigRelease
-
-
-
-
Method Detail
-
getCPtr
protected static long getCPtr(Demon obj)
-
swigRelease
protected static long swigRelease(Demon obj)
-
finalize
protected void finalize()
- Overrides:
finalizein classBaseObject
-
delete
public void delete()
- Overrides:
deletein classBaseObject
-
run
public void run(Solver s)
This is the main callback of the demon.
-
priority
public int priority()
This method returns the priority of the demon. Usually a demon is
fast, slow or normal. Immediate demons are reserved for internal
use to maintain variables.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classBaseObject
-
inhibit
public void inhibit(Solver s)
This method inhibits the demon in the search tree below the
current position.
-
desinhibit
public void desinhibit(Solver s)
This method un-inhibits the demon that was previously inhibited.
-
-