jopt.csp.spi.arcalgorithm.graph.arc
Interface Arc
- All Known Subinterfaces:
- NumArc, SetArc
- All Known Implementing Classes:
- AbstractArc, BinaryNumArc, BinaryNumRelationArc, BinarySetArc, BinarySetMemberOfSetReflexArc, GenericBoolAndArc, GenericBoolAndReflexArc, GenericBoolConstTargetAndArc, GenericBoolConstTargetOrArc, GenericBoolConstTargetXImpliesArc, GenericBoolConstTargetXorArc, GenericBoolConstTargetYImpliesArc, GenericBoolEqTwoVarArc, GenericBoolOrArc, GenericBoolOrReflexArc, GenericBoolXorArc, GenericNumAbsArc, GenericNumAbsReflectArc, GenericNumAllDiffArc, GenericNumAllSameArc, GenericNumArc, GenericNumBetweenArc, GenericNumDiffArc, GenericNumMemberOfArrayReflexArc, GenericNumNotBetweenArc, GenericNumNotMemberOfArrayReflexArc, GenericNumProdArc, GenericNumProdReflexArc, GenericNumQuotAlternateArc, GenericNumQuotArc, GenericNumQuotReflexArc, GenericNumRangeArc, GenericNumRelationArc, GenericNumSquareArc, GenericNumSquareReflexArc, GenericNumSumArc, GenericNumSummationArc, GenericNumSummationReflexArc, GenericNumTrigArc, GenericSetArc, GlobalCardinalityArc, GlobalCardinalityCountArc, GlobalCountCardinalityArc, HyperNumMemberOfArrayArc, HyperNumNotMemberOfArrayArc, HyperSetArc, NodeNumAbsArc, NodeNumArc, NodeSetArc, TernaryNumArc, TernaryNumRangeArc
- public interface Arc
Field Summary |
static int |
BINARY
An arc directed from an individual source node to a different individual target node. |
static int |
GENERIC
An arc that can have several source and several target nodes. |
static int |
HYPER
An arc that might have more than one source node but only a single target node. |
static int |
NODE
A node arc is a circular arc pointing back at itself; a single node is both the
source and the target of this arc. |
static int |
SCHEDULE
An arc related to the js module: a scheduler arc. |
Method Summary |
int |
getArcType()
Returns value indicating type of Arc |
int |
getComplexity()
Returns a value representing the complexity of the arc |
void |
propagate()
Attempts to reduce values in target node domain based on values
in all source nodes |
void |
propagate(Node src)
Attempts to reduce values in target node domain based on values
in given source node |
void |
setAlgorithmStrength(int strength)
Sets the strength of the algorithm that is propagating the arc. |
void |
setUseDomainDeltas(boolean useDeltas)
Sets a flag indicating if the algorithm wants domain delta's to be
consulted when arc is propagating. |
NODE
public static final int NODE
- A node arc is a circular arc pointing back at itself; a single node is both the
source and the target of this arc.
Such arcs only need to be tested for consistency at the first propagation event
because subsequent domain reductions will not cause them to become internally
inconsistent.
- See Also:
- Constant Field Values
BINARY
public static final int BINARY
- An arc directed from an individual source node to a different individual target node.
- See Also:
- Constant Field Values
HYPER
public static final int HYPER
- An arc that might have more than one source node but only a single target node.
- See Also:
- Constant Field Values
GENERIC
public static final int GENERIC
- An arc that can have several source and several target nodes.
- See Also:
- Constant Field Values
SCHEDULE
public static final int SCHEDULE
- An arc related to the js module: a scheduler arc.
- See Also:
- Constant Field Values
getArcType
public int getArcType()
- Returns value indicating type of Arc
setAlgorithmStrength
public void setAlgorithmStrength(int strength)
- Sets the strength of the algorithm that is propagating the arc. This
may affect how much filtering (domain reduction) occurs by the constraint.
setUseDomainDeltas
public void setUseDomainDeltas(boolean useDeltas)
- Sets a flag indicating if the algorithm wants domain delta's to be
consulted when arc is propagating. The default value for this
flag is true.
propagate
public void propagate()
throws jopt.csp.variable.PropagationFailureException
- Attempts to reduce values in target node domain based on values
in all source nodes
- Throws:
jopt.csp.variable.PropagationFailureException
- If domain of target node becomes empty
propagate
public void propagate(Node src)
throws jopt.csp.variable.PropagationFailureException
- Attempts to reduce values in target node domain based on values
in given source node
- Parameters:
src
- Source node that caused propagation to occur
- Throws:
jopt.csp.variable.PropagationFailureException
- If domain of target node becomes empty
getComplexity
public int getComplexity()
- Returns a value representing the complexity of the arc