jopt.csp.spi.arcalgorithm.graph.arc.hyper
Class HyperNumMemberOfArrayArc

java.lang.Object
  extended byjopt.csp.spi.arcalgorithm.graph.arc.AbstractArc
      extended byjopt.csp.spi.arcalgorithm.graph.arc.hyper.HyperArc
          extended byjopt.csp.spi.arcalgorithm.graph.arc.hyper.HyperNumMemberOfArrayArc
All Implemented Interfaces:
Arc, NumArc, NumConstants

public class HyperNumMemberOfArrayArc
extends HyperArc
implements NumArc

Generic arc that constraints a numeric variable to be a member of an array

Version:
$Revision $
Author:
Nick Coleman

Field Summary
 
Fields inherited from interface jopt.csp.spi.arcalgorithm.graph.arc.Arc
BINARY, GENERIC, HYPER, NODE, SCHEDULE
 
Fields inherited from interface jopt.csp.spi.util.NumConstants
ADD, DIVIDE, DIVIDE_BY, DIVIDE_BY_CEIL, DIVIDE_BY_FLOOR, DIVIDE_CEIL, DIVIDE_FLOOR, DOUBLE, DOUBLE_NEG_INF, DOUBLE_POS_INF, DOUBLE_ZERO, EQ, FLOAT, FLOAT_NEG_INF, FLOAT_POS_INF, FLOAT_ZERO, GEQ, GT, HALF_PI, INTEGER, INTEGER_MAX, INTEGER_MIN, INTEGER_ZERO, LEQ, LONG, LONG_MAX, LONG_MIN, LONG_ZERO, LT, MULTIPLY, NEQ, ONE_AND_HALF_PI, PI, RANGE, SUBTRACT, SUBTRACT_FROM, TWO_PI
 
Constructor Summary
HyperNumMemberOfArrayArc(NumNode[] sources, NumNode expr)
           
 
Method Summary
 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
 
Methods inherited from class jopt.csp.spi.arcalgorithm.graph.arc.hyper.HyperArc
getArcType, getComplexity, getSourceDependencies, getSourceNodes, getTargetNode
 
Methods inherited from class jopt.csp.spi.arcalgorithm.graph.arc.AbstractArc
setAlgorithmStrength, setUseDomainDeltas
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface jopt.csp.spi.arcalgorithm.graph.arc.Arc
getArcType, getComplexity, setAlgorithmStrength, setUseDomainDeltas
 

Constructor Detail

HyperNumMemberOfArrayArc

public HyperNumMemberOfArrayArc(NumNode[] sources,
                                NumNode expr)
Method Detail

propagate

public void propagate(Node src)
               throws jopt.csp.variable.PropagationFailureException
Description copied from interface: Arc
Attempts to reduce values in target node domain based on values in given source node

Specified by:
propagate in interface Arc
Parameters:
src - Source node that caused propagation to occur
Throws:
jopt.csp.variable.PropagationFailureException - If domain of target node becomes empty

propagate

public void propagate()
               throws jopt.csp.variable.PropagationFailureException
Description copied from interface: Arc
Attempts to reduce values in target node domain based on values in all source nodes

Specified by:
propagate in interface Arc
Throws:
jopt.csp.variable.PropagationFailureException - If domain of target node becomes empty