Package org.jacop.constraints.netflow
Class DomainStructure
- java.lang.Object
-
- org.jacop.constraints.netflow.DomainStructure
-
- All Implemented Interfaces:
VarHandler
public class DomainStructure extends java.lang.Object implements VarHandler
A domain based structure variable.Arcs can be associated to sub-domains of the structure variable. The state of the arc is said to be active if the variable takes a value from its sub-domain and it is inactive otherwise.
- Version:
- 4.7
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DomainStructure.Behavior
-
Field Summary
Fields Modifier and Type Field Description Arc[]
arcs
DomainStructure.Behavior
behavior
IntDomain[]
domains
int
notGrounded
IntVar
variable
-
Constructor Summary
Constructors Constructor Description DomainStructure(IntVar variable, java.util.List<Domain> domList, java.util.List<Arc> arcList)
Creates an S-variableDomainStructure(IntVar variable, IntDomain[] domains, Arc[] arcs)
DomainStructure(IntVar variable, IntDomain[] domains, Arc[] arcs, DomainStructure.Behavior behavior)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getPruningEvent(Var var)
Retrieves the consistency pruning event of a handler variable that causes the handler to be reevaluated.private void
groundArc(int arcID, boolean active, MutableNetwork network)
boolean
isGrounded(int arcID)
java.util.List<IntVar>
listVariables()
void
processEvent(IntVar variable, MutableNetwork network)
Informs the handler that one of its variable has changed and asks the handler to update the state of the network accordingly.private void
swap(int i, int j)
void
ungroundArc(int arcID)
-
-
-
Field Detail
-
variable
public final IntVar variable
-
arcs
public final Arc[] arcs
-
domains
public final IntDomain[] domains
-
behavior
public final DomainStructure.Behavior behavior
-
notGrounded
public int notGrounded
-
-
Constructor Detail
-
DomainStructure
public DomainStructure(IntVar variable, java.util.List<Domain> domList, java.util.List<Arc> arcList)
Creates an S-variable- Parameters:
variable
- variable to create fordomList
- list of domainsarcList
- list of arcs
-
DomainStructure
public DomainStructure(IntVar variable, IntDomain[] domains, Arc[] arcs, DomainStructure.Behavior behavior)
-
-
Method Detail
-
processEvent
public void processEvent(IntVar variable, MutableNetwork network)
Description copied from interface:VarHandler
Informs the handler that one of its variable has changed and asks the handler to update the state of the network accordingly.- Specified by:
processEvent
in interfaceVarHandler
- Parameters:
variable
- the variable that changednetwork
- the network
-
groundArc
private void groundArc(int arcID, boolean active, MutableNetwork network)
-
swap
private void swap(int i, int j)
-
ungroundArc
public void ungroundArc(int arcID)
-
listVariables
public java.util.List<IntVar> listVariables()
- Specified by:
listVariables
in interfaceVarHandler
- Returns:
- the list of variables handled by this handler
-
isGrounded
public boolean isGrounded(int arcID)
-
getPruningEvent
public int getPruningEvent(Var var)
Description copied from interface:VarHandler
Retrieves the consistency pruning event of a handler variable that causes the handler to be reevaluated. For instance, X- and W-variables will listen to BOUND events while S-variables typically consider ANY events.- Specified by:
getPruningEvent
in interfaceVarHandler
- Parameters:
var
- a handler variable- Returns:
- the pruning event which causes reevaluation of the handler
-
-